      [x-cloak] { display: none !important; }

      html, body {
        overflow-x: hidden;
        max-width: 100%;
      }

      :root {
          --mobile-header-theme: #022b3a;
          --mobile-header-overlay: rgba(2, 6, 23, 0.3);
          --mobile-sticky-theme: #030014;
          --mobile-sticky-overlay: rgba(3, 0, 20, 0.72);
          --mobile-navopen-overlay: rgba(3, 0, 20, 0.9);
          --analysis-shell-bg: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
          --analysis-shell-border: 0.5px solid rgba(255,255,255,0.18);
          --analysis-shell-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 0 30px rgba(200, 200, 200, 0.10), inset 0 1px 0 rgba(255,255,255,0.1);
          --analysis-shell-blur: blur(12px);
        }

        body {
          background-color: #020617;
          --run-accent-rgb: 46, 209, 244;
          --run-accent-solid: #2ED1F4;
          transition: background-color 0.6s ease;
        }

        body::before {
          content: '';
          position: fixed;
          top: 0;
          left: 0;
          right: 0;
          height: env(safe-area-inset-top, 0px);
          background: #020617;
          border-bottom: 1px solid transparent;
          pointer-events: none;
          z-index: 9998;
          transition: border-color 0.2s ease;
        }

        @media (max-width: 1023px) {
          html[data-mobile-header-hidden="true"] body::before {
            border-bottom-color: rgba(255,255,255,0.12);
          }
        }

        header { isolation: isolate; overflow: visible; }
        header > * { position: relative; z-index: 1; }

        @media (max-width: 640px) {
          #headerCompletionDropdown {
            position: fixed !important;
            top: 70px !important;
            left: 50% !important;
            right: auto !important;
            transform: translateX(-50%) !important;
            min-width: 90vw !important;
            max-width: 340px !important;
            margin-top: 0 !important;
          }
        }

        @media (min-width: 641px) {
          #headerCompletionWidget {
            position: relative;
          }

          #headerCompletionDropdown {
            position: absolute !important;
            top: calc(100% + 10px) !important;
            left: 50% !important;
            right: auto !important;
            transform: translateX(-50%) !important;
          }
        }

        @media (max-width: 1023px) {
          header {
            background: var(--mobile-header-overlay) !important;
            backdrop-filter: blur(8px) !important;
            -webkit-backdrop-filter: blur(8px) !important;
            padding-top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
            padding-bottom: 0.75rem !important;
          }
          header[data-sticky="true"],
          header[data-nav-open="true"] {
            background: var(--mobile-sticky-overlay) !important;
            backdrop-filter: blur(10px) !important;
            -webkit-backdrop-filter: blur(10px) !important;
            padding-bottom: 0 !important;
          }
        }

        header[data-nav-open="true"] {
          background: var(--mobile-navopen-overlay) !important;
          backdrop-filter: blur(10px) !important;
          -webkit-backdrop-filter: blur(10px) !important;
          box-shadow: 0 6px 18px rgba(0,0,0,0.35) !important;
        }

        button, [type="button"], [type="submit"], .btn, [role="button"],
        input[type="checkbox"], input[type="radio"], select { cursor: pointer; }

        .page-title,
        .stc-page-title {
          font-size: clamp(1.6rem, 5vw, 2.4rem) !important;
          font-weight: 800;
          color: #fff;
          margin: 0;
          padding-bottom: 12px !important;
          position: relative !important;
          display: inline-block !important;
          line-height: 1.15;
        }
        .page-title::after,
        .stc-page-title::after {
          content: '';
          position: absolute;
          left: 0;
          bottom: 0;
          width: 130% !important;
          height: 2px;
          background: linear-gradient(90deg, #2ed1f4 0%, #2ed1f4 60%, transparent 100%) !important;
          opacity: 1 !important;
          transform: none !important;
          animation: none !important;
          box-shadow: 0 0 8px rgba(46, 209, 244, 0.4) !important;
        }
        @keyframes fadeInUp {
          from { opacity: 0; transform: translateY(12px); }
          to { opacity: 1; transform: translateY(0); }
        }
        .fade-in-up { animation: fadeInUp 0.6s ease-out forwards; opacity: 0; }
        /* --- Source switcher (shared styles in dashboard-embed.css) --- */
        .stc-section-card {
          background: var(--analysis-shell-bg);
          backdrop-filter: var(--analysis-shell-blur);
          border: var(--analysis-shell-border);
          box-shadow: var(--analysis-shell-shadow);
          border-radius: 1.5rem;
          padding: clamp(1.5rem, 2.3vw, 2.25rem);
          margin-bottom: 1.5rem;
          position: relative;
          overflow: visible;
        }
        #ownedShoesOverviewSection {
          --stc-section-accent-rgb: 46, 209, 244;
          z-index: 20;
        }
        @keyframes profileSectionSkeletonSweep {
          from { background-position: -60% 0; }
          to { background-position: 160% 0; }
        }
        /* Cached-Rotation skeleton: the same layout classes as the content, so it takes the same
           space at every width. Colours go neutral and every data value becomes a gray block. */
        #ownedShoesOverviewSkeleton {
          display: none;
          position: relative;
          --shoes-accent-rgb: 148, 163, 184;
          --shoes-card-accent-rgb: 148, 163, 184;
          pointer-events: none;
          user-select: none;
        }
        #ownedShoesOverviewSection[data-rotation-cache-state="loading"] #ownedShoesOverviewRevealContent {
          display: none;
        }
        #ownedShoesOverviewSection[data-rotation-cache-state="loading"] #ownedShoesOverviewSkeleton {
          display: block;
        }
        #ownedShoesOverviewSkeleton::after {
          content: '';
          position: absolute;
          inset: 0;
          z-index: 3;
          background: linear-gradient(90deg, transparent, rgba(46,209,244,0.1), transparent) no-repeat;
          background-size: 40% 100%;
          background-position: -60% 0;
          pointer-events: none;
          animation: profileSectionSkeletonSweep 1.2s ease-in-out infinite;
        }
        #ownedShoesOverviewSkeleton .shoes-best-card::before { opacity: 0.2; }
        #ownedShoesOverviewSkeleton .shoes-best-label,
        #ownedShoesOverviewSkeleton .shoes-best-head small { color: rgba(226,232,240,0.42); }
        #ownedShoesOverviewSkeleton .owned-shoe-media { background: rgba(255,255,255,0.045); border-color: rgba(255,255,255,0.08); box-shadow: none; }
        #ownedShoesOverviewSkeleton .bio-period-select,
        #ownedShoesOverviewSkeleton .owned-overview-confidence-pill,
        #ownedShoesOverviewSkeleton .owned-overview-shoe-filter-trigger,
        #ownedShoesOverviewSkeleton .owned-overview-heart-rate-mode,
        #ownedShoesOverviewSkeleton .shoes-value-mode-btn,
        #ownedShoesOverviewSkeleton .shoes-other-compare,
        #ownedShoesOverviewSkeleton .shoes-metric-tab {
          color: transparent !important;
          background: rgba(255,255,255,0.07) !important;
          border-color: transparent !important;
          box-shadow: none !important;
        }
        #ownedShoesOverviewSkeleton .shoes-metric-tab::before,
        #ownedShoesOverviewSkeleton .shoes-metric-tab::after,
        #ownedShoesOverviewSkeleton .bio-select-shell::after,
        #ownedShoesOverviewSkeleton .owned-overview-shoe-filter-chevron,
        #ownedShoesOverviewSkeleton .bio-mobile-control-chevron { opacity: 0; }
        #ownedShoesOverviewSkeleton .owned-shoe-distance-slider { opacity: 0.35; --slider-color: rgb(148, 163, 184); }
        #ownedShoesOverviewSkeleton .owned-shoe-distance-value { --distance-color: rgb(148, 163, 184); }
        /* The run count is bold in the content ([data-owned-run-count]), so it wraps at the same width. */
        #ownedShoesOverviewSkeleton .owned-shoe-distance-scale > span:nth-child(2) { font-weight: 700; }
        #ownedShoesOverviewSkeleton .owned-overview-status-value { color: transparent; }
        #ownedShoesOverviewSkeleton .bio-mobile-control-summary { color: transparent; }
        /* On phones the image boxes size to their image, which an empty box does not have: hold
           the widths the content has while its images are still loading. */
        @media (max-width: 640px) {
          #ownedShoesOverviewSkeleton .owned-shoe-media--best { width: 38px; }
          #ownedShoesOverviewSkeleton .owned-shoe-media--other { width: 58px; }
        }
        #ownedShoesOverviewSkeleton .shoes-chart-title,
        #ownedShoesOverviewSkeleton .shoes-row-title { color: rgba(248,250,252,0.72) !important; }
        @media (prefers-reduced-motion: reduce) {
          #ownedShoesOverviewSkeleton::after { animation: none; }
        }
        /* Gray-block primitives. A text placeholder keeps its element's real line box: the text is
           kept (transparent), so each line of the gray bar sits where the real line will. */
        .shoes-skel-text {
          color: transparent !important;
          background: rgba(255,255,255,0.08);
          border-radius: 6px;
          -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
          text-shadow: none !important;
        }
        .shoes-skel-block {
          display: block;
          width: 100%;
          height: 100%;
          border-radius: 8px;
          background: rgba(255,255,255,0.08);
        }
        .shoes-skel-icon {
          display: inline-block;
          width: 14px;
          height: 14px;
          border-radius: 50%;
          background: rgba(255,255,255,0.08);
        }
        /* The help triggers they stand in for are 28px tap targets around a 22px icon. */
        .shoes-inline-tooltip > .shoes-skel-icon { width: 22px; height: 22px; margin: 3px; }
        #ownedShoesOverviewSkeleton .owned-shoe-heart-rate-info-wrap { display: flex; }
        .owned-shoe-heart-rate-info-wrap .shoes-skel-icon { width: 16px; height: 16px; }
        .shoes-skel-spark {
          display: block;
          width: min(96px, 60%);
          height: 100%;
          border-radius: 6px;
          background: rgba(255,255,255,0.06);
        }
        .shoes-sr-only {
          position: absolute;
          width: 1px;
          height: 1px;
          padding: 0;
          margin: -1px;
          overflow: hidden;
          clip: rect(0, 0, 0, 0);
          white-space: nowrap;
          border: 0;
        }
        #ownedShoesOverviewSection.owned-shoe-filter-open {
          z-index: 2600;
        }
        #ownedShoesOverviewSection.owned-shoe-filter-open #ownedShoesOverviewControls {
          z-index: 2602;
        }
        #ownedShoesOverviewSection.owned-shoe-filter-open #ownedShoesOverviewGrid,
        #ownedShoesOverviewSection.owned-shoe-filter-open #ownedShoesOverviewFootnote {
          position: relative;
          z-index: 1;
        }
        #shoesSection,
        #shoeDetailSection {
          --stc-section-accent-rgb: 46, 209, 244;
          background:
            radial-gradient(circle at 50% 0%, rgba(var(--stc-section-accent-rgb), 0.16) 0%, rgba(var(--stc-section-accent-rgb), 0.05) 28%, transparent 70%),
            linear-gradient(145deg, rgba(var(--stc-section-accent-rgb), 0.12), rgba(13, 16, 31, 0.88) 42%, rgba(7, 11, 23, 0.96) 100%);
          border: 1px solid rgba(var(--stc-section-accent-rgb), 0.16);
          backdrop-filter: none;
          -webkit-backdrop-filter: none;
          box-shadow:
            0 20px 54px rgba(0, 0, 0, 0.36),
            inset 0 1px 0 rgba(255,255,255,0.04),
            0 0 0 1px rgba(var(--stc-section-accent-rgb), 0.04);
        }
        #shoesSection,
        #shoeDetailSection {
          --stc-section-accent-rgb: var(--stc-purpose-accent-rgb, 46, 209, 244);
        }
        #ownedShoesOverviewSection .analysis-section-kicker,
        #shoesSection .analysis-section-kicker,
        #shoeDetailSection .analysis-section-kicker {
          color: rgba(var(--stc-section-accent-rgb), 0.88);
        }
        #ownedShoesOverviewSection .section-header-icon,
        #ownedShoesOverviewSection .stc-section-heading svg,
        #shoesSection .section-header-icon,
        #shoesSection .stc-section-heading svg,
        #shoeDetailSection .section-header-icon,
        #shoeDetailSection .stc-section-heading svg {
          color: rgba(var(--stc-section-accent-rgb), 0.96);
          filter: drop-shadow(0 0 5px rgba(var(--stc-section-accent-rgb), 0.24));
        }
        #ownedShoesOverviewSection .analysis-shell-divider,
        #shoesSection .analysis-shell-divider,
        #shoeDetailSection .analysis-shell-divider,
        #ownedShoesOverviewSection .stc-shell-divider,
        #shoesSection .stc-shell-divider,
        #shoeDetailSection .stc-shell-divider {
          background: linear-gradient(90deg, rgba(var(--stc-section-accent-rgb), 0.42) 0%, rgba(var(--stc-section-accent-rgb), 0.2) 50%, transparent 100%);
        }
        @media (max-width: 640px) {
          .stc-section-card {
            width: calc(100% + 1rem);
            margin-left: -0.5rem;
            margin-right: -0.5rem;
            border-radius: 22px;
            padding: 1.15rem 0.95rem;
          }

          .page-header {
            padding-top: 0 !important;
            margin-bottom: 1.12rem !important;
          }

          .page-title,
          .stc-page-title {
            max-width: 100%;
            padding-bottom: 0.66rem !important;
            font-size: clamp(1.72rem, 7.2vw, 1.98rem) !important;
            line-height: 1.02 !important;
            letter-spacing: -0.045em !important;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
          }

          .analysis-header-meta > p {
            margin-top: 0.48rem !important;
            max-width: 17.5rem !important;
            font-size: 0.88rem !important;
            line-height: 1.42 !important;
            letter-spacing: -0.01em;
            color: rgba(255,255,255,0.58) !important;
          }
        }

      /* --- Section title / divider ----------------- */
      .section-header-icon {
        color: #22d3ee;
        filter: drop-shadow(0 0 4px rgba(34, 211, 238, 0.3));
      }
      .stc-section-intro {
        margin-bottom: 1.4rem;
      }
      .analysis-section-kicker {
        margin: 0 0 0.35rem;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgba(34, 211, 238, 0.82);
      }
      .stc-section-heading {
        color: #ffffff;
        font-size: clamp(1.05rem, 1.7vw, 1.25rem);
        font-weight: 600;
        line-height: 1.2;
        margin: 0 0 0.55rem;
        display: flex;
        align-items: center;
        gap: 0.75rem;
      }
      .stc-section-heading svg {
        flex-shrink: 0;
      }
      .stc-shell-divider,
      .analysis-shell-divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, rgba(34, 211, 238, 0.4) 0%, rgba(34, 211, 238, 0.2) 50%, transparent 100%);
        margin-bottom: 0.8rem;
      }
      .analysis-section-subtitle {
        color: rgba(255,255,255,0.58);
        font-size: 0.88rem;
        line-height: 1.5;
        margin: 0;
      }
      .section-tooltip {
        position: absolute;
        left: 0;
        top: 100%;
        margin-top: 12px;
        min-width: 280px;
        max-width: 400px;
        padding: 16px;
        border-radius: 16px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.35s cubic-bezier(0.25, 0.1, 0.25, 1),
                    transform 0.35s cubic-bezier(0.25, 0.1, 0.25, 1),
                    visibility 0.35s;
        transform: translateY(10px);
        pointer-events: none;
        background: linear-gradient(to bottom right, rgba(17, 24, 39, 0.95), rgba(31, 41, 55, 0.95));
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow:
          0 0 30px rgba(34, 211, 238, 0.15),
          0 8px 32px rgba(0, 0, 0, 0.4),
          inset 0 1px 0 rgba(255, 255, 255, 0.05);
        z-index: 999999 !important;
      }
      .section-tooltip-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(2, 6, 23, 0.42);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.35s cubic-bezier(0.25, 0.1, 0.25, 1), visibility 0.35s;
        z-index: 2147483646;
      }
      .section-tooltip-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
      }
      .section-tooltip::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: 16px;
        background: linear-gradient(to right, rgba(0, 229, 255, 0.1), rgba(0, 229, 255, 0.05));
        filter: blur(20px);
        opacity: 0.5;
        pointer-events: none;
        z-index: -1;
      }
      .section-tooltip::after {
        content: '';
        position: absolute;
        top: -6px;
        left: 20px;
        width: 12px;
        height: 12px;
        background: linear-gradient(135deg, rgba(17, 24, 39, 0.95), rgba(31, 41, 55, 0.95));
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        border-left: 1px solid rgba(255, 255, 255, 0.1);
        transform: rotate(45deg);
      }
      .section-tooltip-trigger {
        position: relative;
        display: inline-flex;
        align-items: center;
        cursor: pointer;
      }
      .section-tooltip-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: 0;
        padding: 0;
        margin: 0;
        line-height: 1;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
      }
      .section-tooltip-trigger svg {
        color: #2ed1f4;
        transition: all 0.3s ease;
        pointer-events: auto;
        filter: drop-shadow(0 0 4px rgba(46, 209, 244, 0.3));
      }
      .section-tooltip-trigger:hover svg,
      .section-tooltip-btn:focus-visible svg,
      .section-tooltip-trigger.tooltip-active svg {
        transform: scale(1.15);
        filter: drop-shadow(0 0 8px rgba(46, 209, 244, 0.5));
      }
      .section-tooltip-btn:focus-visible {
        outline: none;
      }
      @media (min-width: 640px) {
        .section-tooltip-trigger:hover .section-tooltip {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
          transform: translateY(0);
        }
      }
      .section-tooltip-trigger.tooltip-active .section-tooltip,
      .section-tooltip.tooltip-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
      }
      @media (max-width: 640px) {
        .section-tooltip {
          position: fixed !important;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%) !important;
          margin: 0 !important;
          max-width: min(92vw, 420px) !important;
          max-height: 70vh;
          overflow-y: auto;
          z-index: 2147483647 !important;
          transition: opacity 0.18s ease, visibility 0.18s ease !important;
        }
        .section-tooltip::after {
          display: none;
        }
      }
      .stc-shell-head {
        display: flex;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
      }
      /* One row per group, read like a form: the question on the left ("Which runs count", with
         what it does to the score under it), its controls in three columns that line up from row to
         row. The groups used to sit side by side, but the later .bio-cg-wrap rule (168px auto-fit
         columns) out-ranked that grid, so all three were squeezed into the left half of the panel
         and the selects were cut to "All ef" / "All di". The grid now lives on that same selector. */
      .owned-overview-controls.bio-cg-wrap {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        align-items: stretch;
        padding: 2px 20px 14px;
      }
      .shoes-filter-group {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        align-items: center;
        gap: 10px 24px;
        min-width: 0;
        padding: 14px 0;
        border-bottom: 1px solid rgba(255,255,255,0.06);
      }
      .shoes-filter-group-title {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin: 0;
        font-size: 0.64rem;
        font-weight: 800;
        line-height: 1.3;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: rgba(141,245,255,0.88);
      }
      .shoes-filter-group-title span {
        font-size: 0.7rem;
        font-weight: 500;
        letter-spacing: 0.01em;
        text-transform: none;
        color: rgba(226,232,240,0.58);
      }
      /* The same three columns in every group, so Effort, Shoes shown and Metric view share a left
         edge. Controls align on their bottom edge; every label row is the same height. */
      .shoes-filter-fields {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1.4fr);
        gap: 12px 16px;
        align-items: end;
        min-width: 0;
      }
      .shoes-filter-result {
        margin: 0;
        padding-top: 12px;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.01em;
        color: rgba(226,232,240,0.58);
      }
      /* Narrower screens: the question goes above its controls and the columns get the full width. */
      @media (max-width: 1099px) {
        .shoes-filter-group { grid-template-columns: minmax(0, 1fr); }
        .shoes-filter-group-title {
          flex-direction: row;
          flex-wrap: wrap;
          align-items: baseline;
          gap: 2px 10px;
        }
      }
      /* Tablets: two columns; the confidence pills take a row of their own so they never wrap. */
      @media (min-width: 761px) and (max-width: 899px) {
        .shoes-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .shoes-filter-col--wide { grid-column: 1 / -1; }
      }
      .owned-overview-filter-group {
        text-align: left;
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
      }
      .owned-overview-filter-label {
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
      }
      .owned-overview-filter-pills {
        display: flex;
        gap: 4px;
        justify-content: flex-end;
      }
      .owned-overview-pill {
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.03);
        color: rgba(255,255,255,0.42);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        padding: 4px 10px;
        border-radius: 999px;
        cursor: pointer;
        transition: all 0.18s ease;
        font-family: inherit;
      }
      .owned-overview-pill:hover {
        border-color: rgba(255,255,255,0.18);
        color: rgba(255,255,255,0.74);
        background: rgba(255,255,255,0.05);
      }
      .owned-overview-pill.active {
        background: rgba(46,209,244,0.12);
        border-color: rgba(46,209,244,0.34);
        color: #2ed1f4;
        box-shadow: 0 0 0 1px rgba(46,209,244,0.08);
      }
      .owned-overview-pill[data-owned-overview-pace].active {
        background: rgba(168,85,247,0.12);
        border-color: rgba(168,85,247,0.34);
        color: #c084fc;
      }
      @media (max-width: 760px) {
        .owned-overview-controls {
          width: 100%;
          align-items: stretch;
        }
        #ownedShoesOverviewSection .analysis-section-subtitle {
          display: none;
        }
        .owned-overview-filter-group {
          justify-content: flex-start;
        }
        .owned-overview-filter-pills {
          justify-content: flex-start;
        }
      }

      /* --- Shoes grid ------------------------------ */
      .stc-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
      }
      @media (max-width: 900px) { .stc-grid { grid-template-columns: repeat(2, 1fr); } }
      @media (max-width: 540px) { .stc-grid { grid-template-columns: 1fr; } }

      /* --- Shoe card ------------------------------- */
      .shoe-tracker-card {
        --stc-accent-rgb: 46, 209, 244;
        position: relative;
        isolation: isolate;
        min-height: 100%;
        border-radius: 1.25rem;
        padding: 1rem;
        border: 1px solid rgba(255,255,255,0.08);
        background: linear-gradient(180deg, rgba(10, 14, 28, 0.92), rgba(5, 8, 18, 0.98));
        cursor: pointer;
        transition: border-color 0.62s ease, box-shadow 0.82s ease, transform 0.34s ease, background 0.82s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.9rem;
        text-align: center;
        overflow: hidden;
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255,255,255,0.04);
      }
      .shoe-tracker-card[data-purpose="daily"] { --stc-accent-rgb: 59, 130, 246; }
      .shoe-tracker-card[data-purpose="tempo"] { --stc-accent-rgb: 249, 115, 22; }
      .shoe-tracker-card[data-purpose="race"] { --stc-accent-rgb: 239, 68, 68; }
      .shoe-tracker-card::before {
        content: '';
        position: absolute;
        left: 10%;
        right: 10%;
        bottom: -12%;
        height: 140px;
        background: radial-gradient(circle at 50% 0%, rgba(var(--stc-accent-rgb), 0.11) 0%, transparent 72%);
        filter: blur(22px);
        opacity: 0.58;
        transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
        pointer-events: none;
        z-index: 0;
      }
      .shoe-tracker-card::after {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: linear-gradient(180deg, rgba(255,255,255,0.035), transparent 34%);
        pointer-events: none;
        z-index: 0;
      }
      .shoe-tracker-card:hover {
        border-color: rgba(255,255,255,0.14);
        box-shadow: 0 20px 38px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.06), 0 0 0 1px rgba(var(--stc-accent-rgb), 0.06);
        transform: translateY(-2px);
      }
      .shoe-tracker-card.stc-selected {
        border-color: rgba(var(--stc-accent-rgb), 0.42) !important;
        box-shadow: 0 0 0 1px rgba(var(--stc-accent-rgb), 0.16), 0 20px 40px rgba(0,0,0,0.36), 0 0 26px rgba(var(--stc-accent-rgb), 0.16) !important;
        transform: translateY(-2px);
      }
      .shoe-tracker-card.stc-selected::before,
      .shoe-tracker-card:hover::before {
        opacity: 0.88;
        transform: translateY(-4px);
      }
      .shoe-tracker-card > * {
        position: relative;
        z-index: 2;
      }
      .shoe-tracker-card-blur {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        overflow: hidden;
        border-radius: inherit;
        pointer-events: none;
        z-index: 0;
      }
      .shoe-tracker-card-blur img {
        width: 100%;
        max-width: none;
        height: 180%;
        opacity: 0.4;
        object-fit: cover;
        object-position: center bottom;
        pointer-events: none;
        display: block;
        filter: blur(32px) saturate(1.45) brightness(1.07);
        transform: translateY(22%) scale(1.22);
        mix-blend-mode: screen;
        transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), filter 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      }
      .shoe-tracker-card:hover .shoe-tracker-card-blur img,
      .shoe-tracker-card.stc-selected .shoe-tracker-card-blur img {
        opacity: 0.82;
        filter: blur(34px) saturate(1.55) brightness(1.12);
        transform: translateY(20%) scale(1.24);
      }
      .stc-card-top {
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
        padding-left: 2.25rem;
      }
      .stc-card-check {
        position: absolute;
        top: 14px;
        left: 14px;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.08);
        color: transparent;
        transition: background 0.26s ease, border-color 0.26s ease, color 0.26s ease, box-shadow 0.26s ease;
      }
      .shoe-tracker-card.stc-selected .stc-card-check {
        background: linear-gradient(135deg, rgba(var(--stc-accent-rgb), 0.96), rgba(var(--stc-accent-rgb), 0.78));
        border-color: rgba(var(--stc-accent-rgb), 0.4);
        color: #fff;
        box-shadow: 0 6px 20px rgba(var(--stc-accent-rgb), 0.28);
      }
      .stc-img-wrap {
        width: clamp(132px, 24vw, 170px);
        height: 92px;
        border-radius: 0;
        overflow: visible;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .stc-img-wrap img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: drop-shadow(0 10px 18px rgba(0,0,0,0.26));
      }
      /* Match Dashboard while the shared shoe-image processor removes the background. */
      .stc-img-wrap,
      .shoe-detail-img-wrap,
      .owned-shoe-media {
        position: relative;
      }
      .stc-img-wrap img,
      .shoe-detail-img-wrap img,
      .owned-shoe-media img {
        opacity: 1;
        transition: opacity 180ms ease;
      }
      .stc-img-wrap img.is-loading,
      .stc-img-wrap img.is-failed,
      .shoe-detail-img-wrap img.is-loading,
      .shoe-detail-img-wrap img.is-failed,
      .owned-shoe-media img.is-loading,
      .owned-shoe-media img.is-failed {
        opacity: 0;
      }
      .stc-img-wrap[data-image-state="loading"]::before,
      .shoe-detail-img-wrap[data-image-state="loading"]::before,
      .owned-shoe-media[data-image-state="loading"]::before {
        content: '';
        position: absolute;
        width: 34px;
        height: 5px;
        border-radius: 999px;
        background: linear-gradient(90deg, rgba(46,209,244,0.16), rgba(46,209,244,0.8), rgba(46,209,244,0.16));
        box-shadow: 0 0 14px rgba(46,209,244,0.22);
        animation: shoesImageLoadPulse 900ms ease-in-out infinite;
      }
      @keyframes shoesImageLoadPulse {
        0%, 100% { opacity: 0.32; transform: scaleX(0.78); }
        50% { opacity: 0.95; transform: scaleX(1); }
      }
      @media (prefers-reduced-motion: reduce) {
        .stc-img-wrap[data-image-state="loading"]::before,
        .shoe-detail-img-wrap[data-image-state="loading"]::before,
        .owned-shoe-media[data-image-state="loading"]::before {
          animation: none;
          opacity: 0.72;
        }
      }
      .stc-img-placeholder {
        width: 100%; height: 100%;
        display: flex; align-items: center; justify-content: center;
        color: rgba(255,255,255,0.22);
      }
      .stc-info {
        width: 100%;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.4rem;
      }
      .stc-name {
        color: #fff;
        font-weight: 600;
        font-size: 0.98rem;
        line-height: 1.24;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
      }
      .stc-meta {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        flex-wrap: wrap;
      }
      .stc-distance-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.1);
        background: rgba(255,255,255,0.05);
        color: rgba(255,255,255,0.68);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.02em;
      }
      .stc-purpose-tag {
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 0.32rem 0.7rem;
        border-radius: 999px;
        background: rgba(255,255,255,0.08);
        color: rgba(255,255,255,0.7);
        border: 1px solid rgba(255,255,255,0.08);
      }
      .stc-purpose-tag.daily  { background: rgba(59,130,246,0.16); color: #93c5fd; }
      .stc-purpose-tag.tempo  { background: rgba(252,76,2,0.16);   color: #ffb089; }
      .stc-purpose-tag.race   { background: rgba(239,68,68,0.16);   color: #fca5a5; }
      .stc-purpose-tag.default { color: rgba(255,255,255,0.58); }
      .stc-health-chip {
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 0.36rem 0.72rem;
        border-radius: 999px;
        display: inline-flex; align-items: center; gap: 4px;
        white-space: nowrap;
      }
      .stc-health-chip.green   { background: rgba(1,195,168,0.12); color: #7cf1dd; border: 1px solid rgba(1,195,168,0.28); }
      .stc-health-chip.orange  { background: rgba(251,191,36,0.12);  color: #fbbf24; border: 1px solid rgba(251,191,36,0.28);  }
      .stc-health-chip.red     { background: rgba(251,113,133,0.12); color: #fb7185; border: 1px solid rgba(251,113,133,0.28); }
      .stc-health-chip.unknown { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.38); border: 1px solid rgba(255,255,255,0.1); }
      .stc-card-caption {
        font-size: 0.7rem;
        line-height: 1.45;
        color: rgba(255,255,255,0.44);
      }

      /* --- Selected shoe detail row ---------------- */
      .shoe-detail-row {
        position: relative;
        display: flex; align-items: flex-start; gap: 20px; margin-bottom: 20px; flex-wrap: wrap;
        padding: 1.25rem;
        border-radius: 1.25rem;
        border: 1px solid rgba(255,255,255,0.08);
        background: linear-gradient(180deg, rgba(10, 14, 28, 0.92), rgba(5, 8, 18, 0.98));
        box-shadow: 0 16px 30px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.04);
        overflow: hidden;
      }
      .shoe-detail-row::before {
        content: '';
        position: absolute;
        left: 12%;
        right: 12%;
        bottom: -18%;
        height: 140px;
        background: radial-gradient(circle at 50% 0%, rgba(46, 209, 244, 0.12) 0%, transparent 72%);
        filter: blur(22px);
        pointer-events: none;
      }
      .shoe-detail-img-wrap {
        width: 80px; height: 80px; border-radius: 14px; overflow: hidden;
        background: rgba(255,255,255,0.06); flex-shrink: 0;
        display: flex; align-items: center; justify-content: center;
      }
      .shoe-detail-img-wrap img { width: 100%; height: 100%; object-fit: contain; }
      .shoe-detail-img-placeholder {
        width: 100%; height: 100%;
        display: flex; align-items: center; justify-content: center;
        color: rgba(255,255,255,0.22);
      }
      .shoe-detail-info { flex: 1; min-width: 200px; }
      .shoe-detail-name { color: #fff; font-size: 1.15rem; font-weight: 700; margin-bottom: 10px; }
      .shoe-detail-chips { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
      .shoe-detail-chip {
        display: inline-flex; align-items: center; gap: 6px;
        padding: 5px 12px; border-radius: 999px;
        font-size: 0.76rem; font-weight: 600;
        background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
        color: rgba(255,255,255,0.7);
      }
      .shoe-detail-chip.health.green   { background: rgba(110,231,183,0.12); color: #6ee7b7; border-color: rgba(110,231,183,0.28); }
      .shoe-detail-chip.health.orange  { background: rgba(251,191,36,0.12);  color: #fbbf24; border-color: rgba(251,191,36,0.28);  }
      .shoe-detail-chip.health.red     { background: rgba(251,113,133,0.12); color: #fb7185; border-color: rgba(251,113,133,0.28); }
      .shoe-detail-chip.health.unknown { color: rgba(255,255,255,0.4); }

      /* --- Chart cards ----------------------------- */
      .chart-cards-grid { display: flex; flex-direction: column; gap: 16px; }

      .chart-card {
        background: var(--analysis-shell-bg);
        border: var(--analysis-shell-border);
        border-radius: 1.35rem;
        padding: clamp(1rem, 1.8vw, 1.5rem);
        backdrop-filter: var(--analysis-shell-blur);
        -webkit-backdrop-filter: var(--analysis-shell-blur);
        box-shadow: var(--analysis-shell-shadow);
      }
      .chart-card-header {
        display: flex; align-items: flex-start; justify-content: space-between;
        gap: 12px; margin-bottom: 16px; flex-wrap: wrap;
      }
      .chart-card-title-row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
      .chart-card-title { color: #fff; font-size: 0.95rem; font-weight: 700; }
      .chart-unit-badge {
        font-size: 0.62rem; font-weight: 700; padding: 2px 7px; border-radius: 6px;
        background: rgba(46,209,244,0.1); border: 1px solid rgba(46,209,244,0.22);
        color: #2ed1f4; letter-spacing: 0.04em; line-height: 1.6;
      }
      .chart-card-desc {
        color: rgba(255,255,255,0.4); font-size: 0.78rem; line-height: 1.4; max-width: 440px;
      }
      .chart-header-right {
        display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex-shrink: 0; padding-top: 2px;
      }
      .chart-worse-chip {
        font-size: 0.62rem; font-weight: 700; padding: 3px 9px; border-radius: 6px;
        background: rgba(251,113,133,0.1); border: 1px solid rgba(251,113,133,0.22);
        color: #fb7185; letter-spacing: 0.04em; white-space: nowrap;
      }
      .chart-worse-chip.down {
        background: rgba(110,231,183,0.1); border-color: rgba(110,231,183,0.22); color: #6ee7b7;
      }
      /* Raw toggle - see .rii-toggle in dashboard-embed.css */
      .chart-raw-toggle-wrap {
        display: flex; align-items: center; gap: 8px;
        color: rgba(255,255,255,0.48); font-size: 0.78rem; font-weight: 500;
        white-space: nowrap; user-select: none;
      }
      .chart-wrap { position: relative; height: 220px; }
      .chart-legend {
        display: flex; gap: 16px; margin-top: 12px; flex-wrap: wrap; padding-left: 2px;
      }
      .chart-legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.72rem; color: rgba(255,255,255,0.44); }
      .chart-legend-line { width: 18px; height: 2px; border-radius: 1px; }
      .chart-legend-dot  { width: 8px; height: 8px; border-radius: 50%; }

      .chart-metric-tabs {
        display: flex; gap: 4px; margin-bottom: 10px; flex-wrap: wrap;
      }
      .chart-metric-tab {
        display: inline-flex; align-items: center; gap: 5px;
        padding: 6px 14px; border-radius: 10px;
        background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
        color: rgba(255,255,255,0.5); font-size: 0.82rem; font-weight: 600;
        cursor: pointer; transition: all 0.2s ease;
        font-family: inherit;
      }
      .chart-metric-tab:hover {
        background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.7);
      }
      .chart-metric-tab.active {
        background: rgba(46,209,244,0.1); border-color: rgba(46,209,244,0.3);
        color: #2ed1f4;
      }
      .chart-metric-tab .chart-unit-badge {
        font-size: 0.58rem; padding: 1px 5px;
      }

      /* Time period filter pills */
      .chart-period-pills {
        display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap;
      }
      .chart-period-pill {
        padding: 3px 10px; border-radius: 20px;
        border: 1px solid rgba(255,255,255,0.12); background: transparent;
        color: rgba(255,255,255,0.4); font-size: 0.7rem; font-weight: 600;
        cursor: pointer; transition: all 0.15s; font-family: inherit; letter-spacing: 0.02em;
      }
      .chart-period-pill:hover {
        background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.65);
      }
      .chart-period-pill.active {
        background: rgba(46,209,244,0.12); border-color: rgba(46,209,244,0.4); color: #2ed1f4;
      }
      /* Pace filter pills */
      .chart-pace-pills {
        display: flex; gap: 4px; margin-top: 4px; flex-wrap: wrap;
      }
      .chart-pace-pill {
        padding: 2px 8px; border-radius: 20px;
        border: 1px solid rgba(255,255,255,0.1); background: transparent;
        color: rgba(255,255,255,0.35); font-size: 0.65rem; font-weight: 600;
        cursor: pointer; transition: all 0.15s; font-family: inherit; letter-spacing: 0.02em;
      }
      .chart-pace-pill:hover {
        background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.6);
      }
      .chart-pace-pill.active {
        background: rgba(168,85,247,0.12); border-color: rgba(168,85,247,0.4); color: #a855f7;
      }
      @media (max-width: 640px) {
        .chart-pace-pills { gap: 3px; }
        .chart-pace-pill { font-size: 0.6rem; padding: 2px 6px; }
      }
      /* % change stat badge */
      .chart-change-stat {
        font-size: 0.75rem; font-weight: 700; letter-spacing: 0.03em;
        padding: 3px 10px; border-radius: 20px; white-space: nowrap;
        background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.4);
      }
      .chart-change-stat.worse  { color: #f87171; background: rgba(248,113,113,0.1); }
      .chart-change-stat.better { color: #4ade80; background: rgba(74,222,128,0.1); }
      .chart-ref-note {
        font-size: 0.7rem; color: rgba(46,209,244,0.6); font-weight: 500;
        padding: 4px 0 2px 2px; letter-spacing: 0.02em;
      }

      /* --- VO Inspector -------------------------- */
      .vo-inspector-nav { display: flex; align-items: center; gap: 6px; }
      .vo-nav-btn {
        background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
        color: rgba(255,255,255,0.7); border-radius: 8px; padding: 4px 10px; cursor: pointer;
        font-size: 0.8rem; font-weight: 600; transition: all 0.15s;
      }
      .vo-nav-btn:hover:not(:disabled) { background: rgba(168,85,247,0.15); border-color: rgba(168,85,247,0.35); color: #c084fc; }
      .vo-nav-btn:disabled { opacity: 0.3; cursor: default; }
      .vo-nav-counter { font-size: 0.78rem; color: rgba(255,255,255,0.5); font-weight: 600; min-width: 50px; text-align: center; }
      .vo-inspector-summary {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 8px; margin-bottom: 12px;
      }
      .vo-stat-chip {
        background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
        border-radius: 10px; padding: 8px 10px; text-align: center;
      }
      .vo-stat-label { font-size: 0.65rem; color: rgba(255,255,255,0.4); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 2px; }
      .vo-stat-value { font-size: 0.95rem; color: rgba(255,255,255,0.85); font-weight: 700; }
      .vo-chart-wrap { position: relative; height: 220px; }
      @media (max-width: 640px) {
        .vo-inspector-summary { grid-template-columns: repeat(2, 1fr); }
        .vo-chart-wrap { height: 180px; }
      }

      /* --- Empty / loading states ------------------ */
      .empty-state-card {
        display: flex; flex-direction: column; align-items: center; justify-content: center;
        text-align: center; padding: 48px 24px;
        background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
        border-radius: 20px;
      }
      #shoesInitialLoading {
        display: block;
        margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
        padding: clamp(1.5rem, 3vw, 2.5rem);
        border-radius: 24px;
        background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
        backdrop-filter: blur(12px);
        border: 0.5px solid rgba(255,255,255,0.18);
        box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 0 30px rgba(200,200,200,0.10), inset 0 1px 0 rgba(255,255,255,0.1);
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
      }
      #shoesInitialLoading.hidden {
        opacity: 0;
        transform: translateY(6px);
        pointer-events: none;
      }
      .shoes-loading-head {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
      }
      .shoes-loading-title {
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
        margin: 0;
        color: #fff;
        font-size: clamp(1rem, 1.35vw, 1.1rem);
        font-weight: 600;
        letter-spacing: -0.01em;
      }
      #shoesInitialLoading .shoes-loading-title {
        color: #ffffff !important;
      }
      .shoes-loading-title svg {
        width: 20px;
        height: 20px;
        color: #22d3ee;
        flex: 0 0 auto;
      }
      .shoes-loading-divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, rgba(34, 211, 238, 0.4) 0%, rgba(34, 211, 238, 0.2) 50%, transparent 100%);
      }
      .shoes-loading-overlay {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: clamp(220px, 34vw, 280px);
        padding-top: clamp(0.75rem, 1.8vw, 1.5rem);
      }
      .shoes-logo-spinner-wrap {
        position: relative;
        width: clamp(104px, 11vw, 120px);
        height: clamp(104px, 11vw, 120px);
        margin: 0 auto 1rem;
        overflow: visible;
      }
      .shoes-logo-spinner-wrap img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: clamp(28px, 3vw, 32px);
        z-index: 10;
        filter: drop-shadow(0 0 16px rgba(34, 211, 238, 0.5));
      }
      .shoes-logo-glow {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: clamp(72px, 8vw, 80px);
        height: clamp(72px, 8vw, 80px);
        background: radial-gradient(circle, rgba(34, 211, 238, 0.18) 0%, transparent 70%);
        border-radius: 50%;
      }
      @keyframes shoesRipplePulse {
        0%, 100% { transform: translate(-50%, -50%) scale(0.96); opacity: 0.5; }
        50% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
      }
      @keyframes shoesRippleGlow {
        0%, 100% { box-shadow: 0 0 4px 0 rgba(34, 211, 238, 0.10), inset 0 0 2px rgba(34, 211, 238, 0.03); }
        50% { box-shadow: 0 0 14px 4px rgba(34, 211, 238, 0.45), inset 0 0 8px rgba(34, 211, 238, 0.10); }
      }
      .shoes-ripple-ring {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        border: 1.5px solid rgba(34, 211, 238, 0.70);
        background: transparent;
        animation: shoesRipplePulse 4s ease-in-out infinite, shoesRippleGlow 4s ease-in-out infinite;
        animation-fill-mode: backwards;
        pointer-events: none;
        z-index: 0;
      }
      .shoes-ripple-ring:nth-of-type(1) {
        width: clamp(90px, 9vw, 104px);
        height: clamp(90px, 9vw, 104px);
        animation-delay: 0s;
      }
      .shoes-ripple-ring:nth-of-type(2) {
        width: clamp(118px, 12vw, 136px);
        height: clamp(118px, 12vw, 136px);
        animation-delay: 0.6s;
        border-color: rgba(34, 211, 238, 0.40);
      }
      .shoes-loading-text {
        color: #fff;
        font-weight: 600;
        font-size: 15px;
        letter-spacing: -0.01em;
        text-align: center;
        margin-top: 8px;
      }
      @keyframes uiSpin {
        to { transform: rotate(360deg); }
      }
      .shoes-spinner {
        display: flex; align-items: center; justify-content: center; gap: 12px; padding: 40px;
        color: rgba(255,255,255,0.5);
      }
      .shoes-spinner-icon {
        width: 22px; height: 22px; border-radius: 50%;
        border: 2px solid rgba(46,209,244,0.25); border-top-color: #2ed1f4;
        animation: uiSpin 0.8s linear infinite;
      }
      .shoes-error-msg {
        display: flex; align-items: center; gap: 10px; padding: 16px 20px;
        background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.22);
        border-radius: 14px; color: #f87171; font-size: 0.875rem; margin-bottom: 16px;
      }
      @media (max-width: 640px) {
        #shoesInitialLoading {
          padding: 1.35rem;
        }
        .shoes-loading-overlay {
          min-height: 232px;
          padding-top: 0.6rem;
        }
        .shoes-loading-title {
          font-size: 1rem;
          gap: 0.6rem;
        }
        .shoes-loading-title svg {
          width: 18px;
          height: 18px;
        }
        .shoes-loading-text {
          font-size: 14px;
        }
      }
      /* --- Owned shoes ranking section ------- */
      .owned-shoes-grid {
        display: flex;
        flex-direction: column;
        gap: 14px;
      }
      .owned-shoe-card {
        position: relative;
        border-radius: 1.5rem;
        padding: 0.75rem;
        overflow: hidden;
        border: 0.5px solid rgba(255,255,255,0.18);
        background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
        box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 0 30px rgba(200,200,200,0.10), inset 0 1px 0 rgba(255,255,255,0.1);
      }
      .owned-shoe-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 8px;
      }
      .owned-shoe-card-title {
        margin: 0;
        font-size: clamp(1rem, 0.96rem + 0.22vw, 1.08rem);
        font-weight: 700;
        color: #fff;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .owned-shoe-card-title-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        color: rgb(var(--owned-accent-rgb));
        flex-shrink: 0;
      }
      .owned-shoe-card-meta {
        font-size: 0.74rem;
        color: rgba(255,255,255,0.54);
      }
      .owned-race-distance-controls {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
        flex-wrap: wrap;
        margin-left: auto;
      }
      .owned-race-distance-controls--mobile {
        display: none;
      }
      .owned-race-distance-pill {
        position: relative;
        isolation: isolate;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        padding: 5px 10px;
        border-radius: 999px;
        border: 1px solid transparent;
        background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
        box-shadow: inset 0 -6px 15px rgba(148, 163, 184, 0.12), inset 0 6px 15px rgba(255, 255, 255, 0.06);
        color: rgba(255,255,255,0.58);
        font-family: inherit;
        font-size: clamp(0.58rem, 0.53rem + 0.2vw, 0.66rem);
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1;
        text-shadow: none;
        white-space: nowrap;
        transition: box-shadow 0.22s ease, color 0.22s ease;
      }
      .owned-race-distance-pill::before,
      .owned-race-distance-pill::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        padding: 1px;
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
        transition: opacity 0.24s ease;
      }
      .owned-race-distance-pill::before {
        background: linear-gradient(90deg, rgba(148, 163, 184, 0.22) 0.01%, rgba(100, 116, 139, 0.26) 50.01%, rgba(148, 163, 184, 0.22) 100%);
        opacity: 1;
      }
      .owned-race-distance-pill::after {
        background: linear-gradient(90deg, rgba(255, 77, 109, 0.78) 0.01%, rgba(225, 29, 72, 0.84) 50.01%, rgba(244, 63, 94, 0.78) 100%);
        opacity: 0;
      }
      .owned-race-distance-pill:hover {
        box-shadow: inset 0 -6px 17px rgba(225, 29, 72, 0.24), inset 0 6px 17px rgba(255, 77, 109, 0.2);
        color: #fff;
      }
      .owned-race-distance-pill:hover::before {
        opacity: 0;
      }
      .owned-race-distance-pill:hover::after {
        opacity: 0.8;
      }
      .owned-race-distance-pill:focus-visible {
        outline: 2px solid rgba(225, 29, 72, 0.72);
        outline-offset: 2px;
      }
      .owned-race-distance-pill.is-active,
      .owned-race-distance-pill[aria-pressed="true"] {
        box-shadow: inset 0 -6px 17px rgba(225, 29, 72, 0.34), inset 0 6px 17px rgba(255, 77, 109, 0.28), 0 0 0 1px rgba(225, 29, 72, 0.12);
        color: #fff;
      }
      .owned-race-distance-pill.is-active::before,
      .owned-race-distance-pill[aria-pressed="true"]::before {
        opacity: 0;
      }
      .owned-race-distance-pill.is-active::after,
      .owned-race-distance-pill[aria-pressed="true"]::after {
        opacity: 1;
      }
      .owned-shoe-purpose-tag {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 4px 10px;
        border-radius: 999px;
        color: rgba(255,255,255,0.86);
        background: rgba(255,255,255,0.08);
      }
      .owned-shoe-card[data-purpose="daily"] .owned-shoe-purpose-tag { background: rgba(59,130,246,0.16); color: #93c5fd; }
      .owned-shoe-card[data-purpose="tempo"] .owned-shoe-purpose-tag { background: rgba(252,76,2,0.16); color: #ffb089; }
      .owned-shoe-card[data-purpose="race"]  .owned-shoe-purpose-tag { background: rgba(239,68,68,0.16);  color: #fca5a5; }
      .owned-shoe-target {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.72);
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
      }
      .owned-shoe-target strong { color: #fff; font-size: 1rem; }
      .owned-shoe-range {
        font-size: 0.68rem;
        padding: 3px 8px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.04);
        color: rgba(255,255,255,0.66);
      }
      .owned-shoe-range.great { border-color: rgba(167,139,250,0.35); color: #c4b5fd; }
      .owned-shoe-range.good  { border-color: rgba(52,211,153,0.3);   color: #86efac; }
      .owned-shoe-media {
        width: 56px; height: 38px; flex: 0 0 auto;
        border-radius: 0; overflow: hidden;
        display: flex; align-items: center; justify-content: center;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 3px;
      }
      .owned-shoe-media.sm { width: 50px; height: 36px; padding: 4px; border-radius: 0; }
      .owned-shoe-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
      .owned-shoe-section-summary {
        font-size: 0.68rem;
        color: rgba(255,255,255,0.52);
        line-height: 1.4;
        margin: 0 0 8px 0;
      }
      .owned-shoe-list { display: flex; flex-direction: column; gap: 6px; }
      .owned-shoe-row {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 12px;
        border-radius: 14px;
        background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.06);
        box-shadow: 0 6px 16px rgba(0,0,0,0.12), inset 0 0 16px -10px rgba(var(--owned-accent-rgb), 0.15), inset 0 1px 0 rgba(255,255,255,0.04);
        transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
      }
      .owned-shoe-row:hover,
      .owned-shoe-row:focus-within {
        border-color: rgba(255,255,255,0.14);
        background: rgba(255,255,255,0.05);
      }
      .owned-shoe-rank {
        font-size: 0.65rem; font-weight: 800; color: rgba(255,255,255,0.36);
        min-width: 20px; text-align: center; padding-top: 10px;
      }
      .owned-shoe-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
      .owned-shoe-row-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
      }
      .owned-shoe-row-name { font-size: 0.8rem; font-weight: 700; color: #fff; margin-bottom: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
      .owned-shoe-row-meta { display: flex; gap: 6px; flex-wrap: wrap; }
      .owned-shoe-row-meta span { font-size: 0.65rem; color: rgba(255,255,255,0.42); }
      .owned-shoe-row-note { font-size: 0.7rem; color: rgba(255,255,255,0.5); line-height: 1.45; }
      .owned-shoe-row-score { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
      .owned-shoe-tier {
        font-size: 0.6rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em;
        padding: 3px 8px; border-radius: 6px; white-space: nowrap;
      }
      .owned-shoe-tier.great { background: rgba(167,139,250,0.15); color: #c4b5fd; border: 1px solid rgba(167,139,250,0.3); }
      .owned-shoe-tier.good  { background: rgba(52,211,153,0.12);  color: #86efac; border: 1px solid rgba(52,211,153,0.25); }
      .owned-shoe-tier.not-ideal { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.42); border: 1px solid rgba(255,255,255,0.1); }
      .owned-shoe-match-pill {
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        padding: 4px 10px;
        border-radius: 8px;
        white-space: nowrap;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.05);
        color: rgba(255,255,255,0.64);
      }
      .owned-shoe-match-pill.great { background: rgba(167,139,250,0.15); color: #ddd6fe; border-color: rgba(167,139,250,0.34); }
      .owned-shoe-match-pill.good  { background: rgba(52,211,153,0.12); color: #a7f3d0; border-color: rgba(52,211,153,0.28); }
      .owned-shoe-match-pill.not-ideal { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.48); border-color: rgba(255,255,255,0.1); }
      .owned-shoe-metric-strip {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
      }
      .owned-shoe-metric-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px 9px;
        border-radius: 999px;
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        border: 1px solid rgba(255,255,255,0.1);
        background: rgba(255,255,255,0.05);
        color: rgba(255,255,255,0.66);
      }
      .owned-shoe-metric-pill.vr {
        background: rgba(46,209,244,0.1);
        border-color: rgba(46,209,244,0.24);
        color: #8fe8ff;
      }
      .owned-shoe-metric-pill.df {
        background: rgba(96,165,250,0.1);
        border-color: rgba(96,165,250,0.22);
        color: #bfdbfe;
      }
      .owned-shoe-metric-pill.drift {
        background: rgba(251,191,36,0.1);
        border-color: rgba(251,191,36,0.22);
        color: #fde68a;
      }
      .owned-shoe-metric-pill.muted {
        background: rgba(255,255,255,0.04);
        border-color: rgba(255,255,255,0.08);
        color: rgba(255,255,255,0.42);
      }
      .owned-shoe-metric-pill.better {
        box-shadow: 0 0 0 1px rgba(74,222,128,0.12);
      }
      .owned-shoe-metric-pill.worse {
        box-shadow: 0 0 0 1px rgba(248,113,113,0.12);
      }
      .owned-shoe-distance-block {
        display: flex;
        flex-direction: column;
        gap: 5px;
      }
      .owned-shoe-distance-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
      }
      .owned-shoe-distance-caption {
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.3);
      }
      .owned-shoe-distance-value {
        font-size: 0.7rem;
        color: rgba(255,255,255,0.58);
        white-space: nowrap;
      }
      .owned-shoe-distance-slider {
        --slider-fill: 0%;
        --slider-ghost-end: 0%;
        --slider-color: #10b981;
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 18px;
        background: transparent;
        cursor: pointer;
        margin: 0;
      }
      .owned-shoe-distance-slider::-webkit-slider-runnable-track {
        height: 6px;
        border-radius: 4px;
        border: none;
        background:
          linear-gradient(90deg, var(--slider-color), var(--slider-color)) left center / var(--slider-fill) 100% no-repeat,
          linear-gradient(90deg, rgba(255,255,255,0.075), rgba(255,255,255,0.075)) left center / var(--slider-ghost-end) 100% no-repeat,
          linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.05));
        box-shadow: none;
      }
      .owned-shoe-distance-slider::-moz-range-track {
        height: 6px;
        border-radius: 4px;
        border: none;
        background:
          linear-gradient(90deg, var(--slider-color), var(--slider-color)) left center / var(--slider-fill) 100% no-repeat,
          linear-gradient(90deg, rgba(255,255,255,0.075), rgba(255,255,255,0.075)) left center / var(--slider-ghost-end) 100% no-repeat,
          linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.05));
        box-shadow: none;
      }
      .owned-shoe-distance-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--slider-color);
        border: none;
        margin-top: -3px;
        box-shadow: 0 0 5px rgba(0,0,0,0.3);
      }
      .owned-shoe-distance-slider::-moz-range-thumb {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--slider-color);
        border: none;
        box-shadow: 0 0 5px rgba(0,0,0,0.3);
      }
      .owned-shoe-distance-scale {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        font-size: 0.62rem;
        color: rgba(255,255,255,0.34);
      }
      .owned-shoe-hover-reveal {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        font-size: 0.68rem;
        color: rgba(255,255,255,0.44);
        line-height: 1.45;
        transition: max-height 0.2s ease, opacity 0.2s ease, margin-top 0.2s ease;
      }
      .owned-shoe-row:hover .owned-shoe-hover-reveal,
      .owned-shoe-row:focus-within .owned-shoe-hover-reveal {
        max-height: 64px;
        opacity: 1;
      }
      .owned-shoe-footnote {
        margin-top: 14px; font-size: 0.8rem; color: rgba(255,255,255,0.52); line-height: 1.5;
        padding: 10px 14px; border-radius: 10px;
        background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
      }
      .owned-shoe-empty {
        font-size: 0.82rem; color: rgba(255,255,255,0.36); font-style: italic;
      }
      @media (max-width: 640px) {
        .owned-shoe-row {
          padding: 12px 10px;
          gap: 8px;
        }
        .owned-shoe-row-head {
          flex-direction: column;
          align-items: stretch;
        }
        .owned-shoe-row-score {
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          gap: 8px;
        }
        .owned-shoe-rank {
          padding-top: 8px;
        }
      }

      /* --- Owned Shoes Overview Refresh ----------------------------- */
      /* Layout (grid, gap, padding) is set with the filter groups near the top of this file. */
      .owned-overview-controls.bio-cg-wrap {
        width: 100%;
        margin: 1rem 0 1.5rem;
        border-radius: 10px;
        background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.07);
        position: relative;
        z-index: 20;
        overflow: visible;
      }
      .owned-overview-controls.bio-cg-wrap:has(.owned-overview-shoe-filter.is-open),
      .owned-overview-controls.bio-cg-wrap.owned-shoe-filter-open {
        z-index: 2602;
      }
      .owned-overview-controls .bio-cg-col {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        min-width: 0;
      }
      .owned-overview-controls .bio-select-shell {
        --bio-control-rgb: 46, 209, 244 !important;
        position: relative;
        width: 100%;
        min-width: 0;
        min-height: 38px;
        border-radius: 10px;
        background: rgba(10, 16, 30, 0.58);
        box-shadow: inset 0 0 0 1px rgba(var(--bio-control-rgb), 0.12);
        overflow: hidden;
        transition: background 0.22s ease, box-shadow 0.22s ease, transform 0.18s ease;
      }
      .owned-overview-controls .bio-select-shell::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        padding: 1px;
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(var(--bio-control-rgb), 0.3) 0%, rgba(var(--bio-control-rgb), 0.14) 100%);
      }
      .owned-overview-controls .bio-period-select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 100%;
        min-height: 38px;
        border-radius: 10px;
        border: none;
        background: transparent;
        color: rgba(255,255,255,0.82);
        font-size: 0.78rem;
        font-weight: 600;
        line-height: 1.2;
        padding: 8px 34px 8px 12px;
        /* A long shoe or pace name ends in an ellipsis instead of being cut mid-letter. */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        cursor: pointer;
        outline: none;
        transition: color 180ms ease;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.5)' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
      }
      .owned-overview-controls .bio-period-select option {
        background: #0c1020;
        color: #fff;
      }
      .owned-overview-controls .bio-period-select:hover {
        color: rgba(255,255,255,0.96);
      }
      .owned-overview-controls .bio-select-shell:hover {
        background: rgba(var(--bio-control-rgb), 0.07);
        box-shadow: inset 0 -5px 12px rgba(var(--bio-control-rgb), 0.22), inset 0 5px 12px rgba(var(--bio-control-rgb), 0.12);
        transform: translateY(-1px);
      }
      .owned-overview-controls .bio-period-select:focus,
      .owned-overview-controls .bio-period-select:focus-visible {
        color: rgba(255,255,255,0.98);
      }
      .owned-overview-controls .bio-select-shell:focus-within {
        background: rgba(var(--bio-control-rgb), 0.07);
        box-shadow: inset 0 -5px 12px rgba(var(--bio-control-rgb), 0.22), inset 0 5px 12px rgba(var(--bio-control-rgb), 0.12);
        transform: translateY(-1px);
      }
      /* Labels were 8.8px at 25% white: readable now, and every label row is 18px tall so the
         controls under them line up across a row (the help button overflows its row, not the grid). */
      .owned-overview-controls .bio-cg-label {
        display: block;
        font-size: 0.62rem;
        font-weight: 700;
        line-height: 18px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: rgba(226,232,240,0.62);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0;
      }
      .shoes-confidence-heading {
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .owned-overview-controls .shoes-confidence-heading {
        height: 18px;
        --help-tooltip-icon-size: 16px;
      }
      .owned-overview-controls .shoes-inline-tooltip > .shoes-skel-icon { width: 16px; height: 16px; margin: 6px; }
      /* Every control in the panel is 38px tall with the same text, so a row reads as one line. */
      /* The trigger now starts at the panel's first column, so its menu opens rightwards. */
      .owned-overview-controls .owned-overview-shoe-menu { left: 0; right: auto; }
      .owned-overview-controls .owned-overview-shoe-filter-trigger .owned-overview-status-value {
        font-size: 0.78rem;
        font-weight: 600;
        color: rgba(255,255,255,0.82);
      }
      .owned-overview-controls .owned-overview-heart-rate-modes {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        min-height: 38px;
        padding: 3px;
        border: 1px solid rgba(46,209,244,0.22);
        border-radius: 10px;
        background: rgba(10, 16, 30, 0.58);
      }
      .owned-overview-controls .owned-overview-heart-rate-mode {
        min-height: 30px;
        padding: 0 10px;
        border-radius: 7px;
        font-size: 0.72rem;
        font-weight: 700;
        white-space: nowrap;
      }
      .owned-overview-controls .owned-overview-heart-rate-mode:hover:not([aria-pressed="true"]) {
        color: rgba(248,250,252,0.9);
        background: rgba(255,255,255,0.05);
      }
      .owned-overview-controls .owned-overview-confidence-pills {
        gap: 6px;
        flex-wrap: wrap;
      }
      .owned-overview-controls .owned-overview-confidence-pill {
        font-size: 0.6rem;
        letter-spacing: 0.06em;
        padding: 6px 9px;
        border-radius: 8px;
        border-color: rgba(255,255,255,0.1);
        color: rgba(226,232,240,0.66);
      }
      /* --- Shoe Mobile Filter Toggle --- */
      .shoe-mobile-filter-stack {
        display: none;
      }
      .shoe-mobile-filter-stack .bio-mobile-control-row {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 11px 12px;
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 14px;
        background: linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
        box-shadow: 0 10px 24px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.06);
        color: #f8fafc;
        text-align: left;
        cursor: pointer;
        transition: border-color 0.22s ease, background 0.22s ease;
      }
      .shoe-mobile-filter-stack .bio-mobile-control-row:hover,
      .shoe-mobile-filter-stack .bio-mobile-control-row:focus-visible {
        border-color: rgba(148,163,184,0.3);
        background: linear-gradient(135deg, rgba(255,255,255,0.065), rgba(255,255,255,0.028));
        outline: none;
      }
      .shoe-mobile-filter-stack .bio-mobile-control-row.is-open {
        border-color: rgba(46,209,244,0.34);
        box-shadow: 0 16px 34px rgba(8, 47, 73, 0.26), inset 0 1px 0 rgba(255,255,255,0.1);
      }
      .shoe-mobile-filter-stack .bio-mobile-control-chip {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 62px;
        padding: 0.38rem 0.62rem;
        border-radius: 999px;
        border: 1px solid rgba(148,163,184,0.22);
        background: rgba(15, 23, 42, 0.52);
        color: rgba(255,255,255,0.82);
        font-size: 0.64rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        line-height: 1;
      }
      /* Two lines, not one cut-off line: the shoe count and confidence sit at the end of it. */
      .shoe-mobile-filter-stack .bio-mobile-control-summary {
        flex: 1 1 auto;
        min-width: 0;
        font-size: 0.74rem;
        line-height: 1.35;
        color: rgba(226,232,240,0.74);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
      }
      .shoe-mobile-filter-stack .bio-mobile-control-row.is-open .bio-mobile-control-summary {
        color: rgba(248,250,252,0.9);
      }
      .shoe-mobile-filter-stack .bio-mobile-control-chevron {
        flex: 0 0 auto;
        width: 10px;
        height: 10px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        color: rgba(226,232,240,0.62);
        transform: rotate(45deg);
        transition: transform 0.22s ease, color 0.22s ease;
      }
      .shoe-mobile-filter-stack .bio-mobile-control-row.is-open .bio-mobile-control-chevron {
        transform: rotate(225deg);
        color: rgba(248,250,252,0.88);
      }
      .owned-overview-status {
        min-height: 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2px;
      }
      .owned-overview-status-value {
        font-size: 0.82rem;
        font-weight: 600;
        color: rgba(255,255,255,0.84);
        white-space: nowrap;
      }
      .owned-overview-status-meta {
        font-size: 0.68rem;
        line-height: 1.4;
        color: rgba(255,255,255,0.42);
      }
      .owned-overview-status-meta--stacked {
        display: flex;
        flex-direction: column;
        gap: 1px;
      }
      .owned-overview-status-meta--stacked span {
        display: block;
        white-space: normal;
        overflow-wrap: anywhere;
      }
      .owned-overview-shoe-filter {
        position: relative;
        width: 100%;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .owned-overview-shoe-filter.is-open {
        z-index: 2603;
      }
      .owned-overview-shoe-filter > .owned-overview-status-meta {
        flex: 1 1 auto;
        min-width: 0;
        margin-top: 0;
      }
      /* It used to sit beside the run-count text, so it was sized to its label. That text is now
         the bar's result line, leaving the trigger alone in its cell: it matches the selects it is
         stacked with instead of ending 87px short of them. */
      .owned-overview-shoe-filter-trigger {
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 4px 12px;
        border: 1px solid rgba(46,209,244,0.22);
        border-radius: 10px;
        background: rgba(10, 16, 30, 0.58);
        color: inherit;
        text-align: left;
        box-shadow: inset 0 0 0 1px rgba(46,209,244,0.08);
        transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.18s ease;
      }
      .owned-overview-shoe-filter-trigger:hover,
      .owned-overview-shoe-filter-trigger:focus-visible,
      .owned-overview-shoe-filter.is-open .owned-overview-shoe-filter-trigger {
        outline: none;
        border-color: rgba(46,209,244,0.42);
        background: rgba(46,209,244,0.07);
        box-shadow: inset 0 -5px 12px rgba(46,209,244,0.18), inset 0 5px 12px rgba(46,209,244,0.08);
        transform: translateY(-1px);
      }
      .owned-overview-shoe-filter-chevron {
        flex: 0 0 auto;
        width: 7px;
        height: 7px;
        margin: -4px 1px 0 0;
        border-right: 1.5px solid rgba(255,255,255,0.52);
        border-bottom: 1.5px solid rgba(255,255,255,0.52);
        transform: rotate(45deg);
        transition: transform 0.2s ease, border-color 0.2s ease;
      }
      .owned-overview-shoe-filter.is-open .owned-overview-shoe-filter-chevron {
        transform: rotate(225deg);
        border-color: rgba(46,209,244,0.92);
      }
      .owned-overview-shoe-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        z-index: 2604;
        width: min(320px, calc(100vw - 48px));
        max-height: 320px;
        overflow: auto;
        padding: 10px;
        border-radius: 12px;
        border: 1px solid rgba(46,209,244,0.22);
        background: rgba(4, 10, 25, 0.98);
        box-shadow: 0 18px 44px rgba(2,6,23,0.54), 0 0 22px rgba(46,209,244,0.12), inset 0 1px 0 rgba(255,255,255,0.08);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
      }
      .owned-overview-shoe-menu[hidden] {
        display: none;
      }
      .owned-overview-shoe-menu-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 2px 2px 8px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        margin-bottom: 8px;
      }
      .owned-overview-shoe-menu-title {
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.5);
        white-space: nowrap;
      }
      .owned-overview-shoe-menu-actions {
        display: inline-flex;
        align-items: center;
        gap: 5px;
      }
      .owned-overview-shoe-menu-action {
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 7px;
        background: rgba(255,255,255,0.04);
        color: rgba(255,255,255,0.66);
        font-size: 0.56rem;
        font-weight: 700;
        padding: 4px 7px;
        transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
      }
      .owned-overview-shoe-menu-action:hover,
      .owned-overview-shoe-menu-action:focus-visible {
        outline: none;
        border-color: rgba(46,209,244,0.34);
        background: rgba(46,209,244,0.1);
        color: rgba(255,255,255,0.88);
      }
      .owned-overview-shoe-menu-list {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .owned-overview-shoe-option {
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-height: 34px;
        padding: 7px 8px;
        border-radius: 9px;
        border: 1px solid rgba(255,255,255,0.07);
        background: rgba(255,255,255,0.025);
        transition: border-color 0.18s ease, background 0.18s ease;
      }
      .owned-overview-shoe-option:hover,
      .owned-overview-shoe-option:focus-within {
        border-color: rgba(46,209,244,0.26);
        background: rgba(46,209,244,0.075);
      }
      .owned-overview-shoe-option input {
        width: 14px;
        height: 14px;
        margin: 0;
        accent-color: #2ed1f4;
      }
      .owned-overview-shoe-option-copy {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 1px;
      }
      .owned-overview-shoe-option-name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.72rem;
        font-weight: 650;
        color: rgba(255,255,255,0.86);
      }
      .owned-overview-shoe-option-purpose {
        font-size: 0.56rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.36);
      }
      .owned-overview-shoe-menu-empty {
        padding: 8px 2px 2px;
        font-size: 0.68rem;
        line-height: 1.4;
        color: rgba(255,255,255,0.42);
      }
      .owned-overview-confidence-pills {
        display: flex;
        align-items: center;
        gap: 4px;
        flex-wrap: wrap;
        min-height: 38px;
      }
      /* Loading pills are the real pills with placeholder counts, so they wrap like the loaded row. */
      .owned-overview-confidence-pills.is-loading .owned-overview-confidence-pill {
        color: transparent !important;
        background: rgba(255,255,255,0.07);
        border-color: transparent;
        box-shadow: none;
        cursor: default;
      }
      .owned-overview-confidence-loading {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        min-height: 32px;
        color: rgba(46, 209, 244, 0.86);
        animation: confidenceLoadingIn 0.22s ease both;
      }
      .owned-overview-confidence-spinner {
        width: 14px;
        height: 14px;
        border-radius: 50%;
        border: 1.5px solid rgba(46, 209, 244, 0.2);
        border-top-color: rgba(46, 209, 244, 0.98);
        border-right-color: rgba(46, 209, 244, 0.62);
        box-shadow: 0 0 12px rgba(46, 209, 244, 0.16);
        animation: confidenceSpin 0.82s linear infinite;
        flex-shrink: 0;
      }
      .owned-overview-confidence-loading-label {
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
      }
      .owned-overview-confidence-pill {
        font-size: 0.58rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        padding: 3px 9px;
        border-radius: 6px;
        cursor: pointer;
        border: 1px solid transparent;
        background: transparent;
        color: rgba(255,255,255,0.28);
        white-space: nowrap;
        transition: all 0.2s ease;
        user-select: none;
      }
      .owned-overview-confidence-pill:hover:not(.is-active) {
        background: rgba(255,255,255,0.06);
        color: rgba(255,255,255,0.65);
        border-color: rgba(255,255,255,0.12);
      }
      .owned-overview-confidence-pill.is-active,
      .owned-overview-confidence-pill.is-active.high-acc,
      .owned-overview-confidence-pill.is-active.med-acc,
      .owned-overview-confidence-pill.is-active.low-acc {
        color: #22d3ee;
        background: rgba(34,211,238,0.11);
        border-color: rgba(34,211,238,0.42);
        box-shadow: 0 0 10px rgba(34,211,238,0.16), inset 0 1px 0 rgba(34,211,238,0.14);
      }
      @keyframes confidenceSpin {
        to { transform: rotate(360deg); }
      }
      @keyframes confidenceLoadingIn {
        from { opacity: 0; transform: translateY(3px); }
        to { opacity: 1; transform: translateY(0); }
      }
      @media (prefers-reduced-motion: reduce) {
        .owned-overview-confidence-loading,
        .shoes-ripple-ring {
          animation: none;
        }
        .owned-overview-confidence-spinner {
          animation-duration: 1.6s;
        }
      }
      .owned-shoe-card {
        --owned-accent-rgb: 59, 130, 246;
        position: relative;
        isolation: isolate;
        min-width: 0;
        padding: 1.1rem 1.1rem 1rem;
        border-radius: 1.5rem;
        overflow: hidden;
        background: linear-gradient(180deg, rgba(3, 8, 26, 0.96), rgba(2, 6, 23, 0.99));
        border: 1px solid rgba(255,255,255,0.08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow:
          0 18px 36px rgba(0,0,0,0.28),
          inset 0 1px 0 rgba(255,255,255,0.04),
          0 0 0 1px rgba(var(--owned-accent-rgb), 0.05);
      }
      .owned-shoe-card::before {
        content: '';
        position: absolute;
        left: 10%;
        right: 10%;
        bottom: -12%;
        height: 140px;
        pointer-events: none;
        background: radial-gradient(circle at 50% 0%, rgba(var(--owned-accent-rgb), 0.12) 0%, rgba(var(--owned-accent-rgb), 0.04) 42%, transparent 72%);
        filter: blur(22px);
        opacity: 0.62;
        z-index: 0;
      }
      .owned-shoe-card > * {
        position: relative;
        z-index: 1;
      }
      .owned-shoe-card[data-purpose="daily"] {
        --owned-accent-rgb: 59, 130, 246;
      }
      .owned-shoe-card[data-purpose="tempo"] {
        --owned-accent-rgb: 252, 76, 2;
      }
      .owned-shoe-card[data-purpose="race"] {
        --owned-accent-rgb: 255, 77, 90;
      }
      .owned-shoe-card::after {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: linear-gradient(180deg, rgba(255,255,255,0.035), transparent 34%);
        pointer-events: none;
        z-index: 0;
      }
      .owned-shoe-head {
        margin-bottom: 8px;
      }
      .owned-shoe-section-divider {
        width: 100%;
        height: 1px;
        margin-bottom: 16px;
        background: linear-gradient(90deg, rgba(var(--owned-accent-rgb), 0.34), rgba(255,255,255,0.14) 48%, transparent);
      }
      .owned-shoe-card-meta,
      .owned-shoe-target,
      .owned-shoe-section-summary {
        display: none !important;
      }
      .owned-shoe-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
        gap: 10px;
        align-items: stretch;
      }
      /* --- Horizontal top layout wrapper --- */
      .owned-shoe-row-top {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 12px;
        width: 100%;
      }
      .owned-shoe-row-top-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        min-width: 0;
        flex: 1;
      }
      .owned-shoe-row {
        position: relative;
        padding: 0.85rem 0.85rem 0.95rem;
        display: grid;
        grid-template-rows: auto auto 1fr auto;
        /* rows: [top-area] [delta+divider] [metrics] [distance] */
        align-content: start;
        gap: 10px;
        text-align: left;
        border-radius: 14px;
        isolation: isolate;
        overflow: visible;
        border: 1px solid rgba(255,255,255,0.07);
        background: rgba(6, 12, 20, 0.85) !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow:
          0 6px 16px rgba(0,0,0,0.12),
          inset 0 0 16px -10px rgba(var(--owned-accent-rgb), 0.15),
          inset 0 1px 0 rgba(255,255,255,0.04);
        transition: box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      }
      .owned-shoe-row:hover,
      .owned-shoe-row:focus-within {
        z-index: 30;
      }
      .owned-shoe-row[data-purpose="daily"] { --owned-accent-rgb: 59, 130, 246; }
      .owned-shoe-row[data-purpose="tempo"] { --owned-accent-rgb: 252, 76, 2; }
      .owned-shoe-row[data-purpose="race"] { --owned-accent-rgb: 255, 77, 90; }
      .owned-shoe-row::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        pointer-events: none;
        background:
          linear-gradient(135deg, rgba(255,255,255,0.02), transparent 40%);
        opacity: 0.3;
        z-index: 0;
        transition: opacity 220ms ease;
      }
      .owned-shoe-card-blur {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        pointer-events: none !important;
        z-index: 0 !important;
        overflow: hidden !important;
        border-radius: inherit !important;
      }
      .owned-shoe-card-blur img {
        width: 100% !important;
        max-width: none !important;
        height: 180% !important;
        opacity: 0.14 !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        pointer-events: none !important;
        display: block !important;
        filter: blur(32px) saturate(1.3) brightness(1.02) !important;
        transform: translateY(22%) scale(1.22) !important;
        mix-blend-mode: screen !important;
        transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
      }
      .owned-shoe-row > :not(.owned-shoe-card-blur) {
        position: relative;
        z-index: 12;
      }
      .owned-shoe-rank,
      .owned-shoe-row-score,
      .owned-shoe-media,
      .owned-shoe-row-main,
      .owned-shoe-metric-bars,
      .owned-shoe-drift-block,
      .owned-shoe-distance-block {
        position: relative;
        z-index: 14;
      }
      .owned-shoe-row::after {
        content: '';
        position: absolute;
        left: 8%;
        right: 8%;
        bottom: 0;
        height: 1px;
        pointer-events: none;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
        z-index: 1;
        transition: background 220ms ease;
      }
      .owned-shoe-row:hover,
      .owned-shoe-row:focus-within {
        border-color: rgba(255,255,255,0.1);
        box-shadow:
          0 8px 24px rgba(0,0,0,0.18),
          inset 0 0 12px -10px rgba(var(--owned-accent-rgb), 0.1),
          inset 0 1px 0 rgba(255,255,255,0.05);
      }
      .owned-shoe-row:hover .owned-shoe-card-blur img,
      .owned-shoe-row:focus-within .owned-shoe-card-blur img {
        opacity: 0.26 !important;
      }
      .owned-shoe-rank {
        position: absolute;
        top: 14px;
        left: 14px;
        min-width: 28px;
        height: 28px;
        padding: 0 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.08);
        color: rgba(255,255,255,0.54);
        font-size: 0.72rem;
        font-weight: 800;
      }
      .owned-shoe-row-score {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px;
        max-width: 100%;
      }
      .owned-shoe-match-pills {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: center;
        gap: 0;
        width: 100%;
        max-width: 100%;
      }
      .owned-shoe-lpi-badge {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0.38rem;
        padding: 0.45rem 0.72rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(46, 209, 244, 0.22);
        box-shadow: none;
        line-height: 1;
        white-space: nowrap;
        max-width: 100%;
      }
      .owned-shoe-lpi-badge.great {
        background: linear-gradient(135deg, rgba(167, 139, 250, 0.12), rgba(139, 92, 246, 0.14));
        border-color: rgba(167, 139, 250, 0.28);
        box-shadow: none;
      }
      .owned-shoe-lpi-badge.good {
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(1, 195, 168, 0.14));
        border-color: rgba(1, 195, 168, 0.26);
        box-shadow: none;
      }
      .owned-shoe-lpi-badge.not-ideal {
        background: linear-gradient(135deg, rgba(251, 191, 36, 0.12), rgba(245, 158, 11, 0.14));
        border-color: rgba(251, 191, 36, 0.24);
        box-shadow: none;
      }
      .owned-shoe-lpi-badge-label {
        font-size: 0.68rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: rgba(255,255,255,0.96);
      }
      .owned-shoe-lpi-badge-value {
        font-size: 0.68rem;
        font-weight: 700;
        color: rgba(226,232,240,0.82);
      }
      .owned-shoe-tier-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        padding: 0 12px;
        border-radius: 999px;
        font-size: 0.66rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(248,250,252,0.92);
        white-space: nowrap;
      }
      .owned-shoe-tier-badge.great {
        background: linear-gradient(135deg, rgba(167, 139, 250, 0.82), rgba(139, 92, 246, 0.82));
        box-shadow: 0 2px 10px rgba(167, 139, 250, 0.18);
      }
      .owned-shoe-tier-badge.good {
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.82), rgba(1, 195, 168, 0.82));
        box-shadow: 0 2px 10px rgba(1, 195, 168, 0.15);
      }
      .owned-shoe-tier-badge.not-ideal {
        background: linear-gradient(135deg, rgba(251, 191, 36, 0.8), rgba(245, 158, 11, 0.8));
        box-shadow: 0 2px 10px rgba(251, 191, 36, 0.12);
      }
      .owned-shoe-match-pill {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .owned-shoe-media {
        width: 88px;
        height: 60px;
        margin-top: 0;
        padding: 5px;
        border-radius: 10px;
        background: linear-gradient(160deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
        border: 1px solid rgba(255,255,255,0.1);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .owned-shoe-media.has-image {
        border-color: rgba(var(--owned-accent-rgb), 0.35);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 0 8px rgba(var(--owned-accent-rgb), 0.08);
      }
      .owned-shoe-media-placeholder {
        width: min(44px, 100%);
        height: min(44px, 100%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        font-weight: 700;
        line-height: 1;
        color: rgba(255,255,255,0.25);
      }
      .owned-shoe-media.no-image {
        border-color: rgba(var(--owned-accent-rgb), 0.08);
        background: rgba(255,255,255,0.02);
        box-shadow: none;
      }
      /* No photo: a quiet shoe outline, not a "?" that reads like an error. The "?" stays in the
         markup for the fallback contract; only its look changes. */
      .owned-shoe-media .owned-shoe-media-placeholder {
        font-size: 0 !important;
        color: transparent !important;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32' fill='none' stroke='rgba(226,232,240,0.34)' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M5 25c0-5 1-10 3-13l6 2c3 1 6 0 8-3l2-4c6 4 12 9 20 11l11 3c3 1 5 3 5 6v1H5z'/%3E%3Cpath d='M5 28h55'/%3E%3Cpath d='M23 10l3 3M27 7l3 3'/%3E%3C/svg%3E") center / min(70%, 64px) auto no-repeat;
      }
      .owned-shoe-row-main {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
      }
      .owned-shoe-row-name {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.98rem;
        font-weight: 600;
        line-height: 1.22;
        min-height: calc(2 * 0.98rem * 1.22);
        margin-bottom: 0.1rem;
      }
      .owned-shoe-row-meta {
        justify-content: flex-start;
      }
      .owned-shoe-row-meta span {
        font-size: 0.68rem;
      }
      .owned-shoe-card-divider {
        width: 100%;
        height: 1px;
        margin: 6px 0 8px 0;
        background: linear-gradient(90deg, rgba(var(--owned-accent-rgb), 0.14), rgba(var(--owned-accent-rgb), 0.08), transparent);
        box-shadow: none;
      }
      .owned-shoe-media img {
        max-width: 80px;
        max-height: 52px;
        object-fit: contain;
        filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2));
      }
      .owned-shoe-media-placeholder {
        width: 100%;
        height: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.05rem;
        color: rgba(255,255,255,0.25);
        font-weight: 700;
      }
      .owned-shoe-metric-bars {
        --owned-metric-track-width: clamp(100px, 16vw, 200px);
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 5px;
        margin-top: 4px;
      }
      .owned-shoe-metric-group-title {
        font-size: 0.6rem;
        font-weight: 900;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.34);
          text-align: center;
      }
      .owned-shoe-drift-title {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.34);
        white-space: nowrap;
        flex-shrink: 0;
      }
      .owned-shoe-drift-block {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        margin-top: 2px;
        padding: 0;
        border-radius: 0;
        border: none;
        background: transparent;
        box-shadow: none;
      }
      .owned-shoe-drift-grid {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 6px;
      }
      .owned-shoe-drift-item {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        padding: 2px 8px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.07);
        background: rgba(255,255,255,0.03);
      }
      .owned-shoe-drift-item.best {
        border-color: rgba(1,195,168,0.22);
        background: rgba(1,195,168,0.08);
        box-shadow: none;
      }
      .owned-shoe-drift-item.moderate {
        border-color: rgba(252,76,2,0.2);
        background: rgba(252,76,2,0.07);
        box-shadow: none;
      }
      .owned-shoe-drift-item.worst {
        border-color: rgba(251,113,133,0.14);
        background: rgba(251,113,133,0.05);
        box-shadow: none;
      }
      .owned-shoe-drift-item.muted {
        border-color: rgba(255,255,255,0.07);
        background: rgba(255,255,255,0.03);
        box-shadow: none;
      }
      .owned-shoe-drift-label {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.44);
      }
      .owned-shoe-drift-value {
        font-size: 0.64rem;
        font-weight: 700;
        color: rgba(255,255,255,0.82);
        font-variant-numeric: tabular-nums;
      }
      .owned-shoe-drift-item.best .owned-shoe-drift-label,
      .owned-shoe-drift-item.best .owned-shoe-drift-value {
        color: rgba(124,241,221,0.96);
      }
      .owned-shoe-drift-item.moderate .owned-shoe-drift-label,
      .owned-shoe-drift-item.moderate .owned-shoe-drift-value {
        color: rgba(255,176,137,0.96);
      }
      .owned-shoe-drift-item.worst .owned-shoe-drift-label,
      .owned-shoe-drift-item.worst .owned-shoe-drift-value {
        color: rgba(253,164,175,0.96);
      }
      .owned-shoe-metric-bar-row {
        display: grid;
        grid-template-columns: 34px minmax(0, var(--owned-metric-track-width)) 44px 50px;
        gap: 6px;
        align-items: center;
        justify-content: center;
        padding: 1px 0;
      }
      .owned-shoe-metric-bar-row.muted .owned-shoe-metric-value {
        color: rgba(255,255,255,0.32);
      }
      .owned-shoe-metric-bar-row.muted .owned-shoe-metric-delta {
        color: rgba(255,255,255,0.28);
      }
      .owned-shoe-metric-label {
        font-size: 0.58rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.42);
      }
      .owned-shoe-metric-track {
        position: relative;
        height: 6px;
        border-radius: 4px;
        overflow: visible;
        background: rgba(255,255,255,0.06);
        border: none;
        box-shadow: none;
      }
      .owned-shoe-metric-fill {
        height: 100%;
        width: 0;
        border-radius: 4px;
        position: relative;
        overflow: visible;
        transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.35s ease, box-shadow 0.35s ease;
      }
      .owned-shoe-metric-fill.best {
        opacity: 1;
      }
      .owned-shoe-metric-fill.moderate {
        opacity: 0.85;
      }
      .owned-shoe-metric-fill.worst {
        opacity: 0.6;
      }
      .owned-shoe-metric-fill.muted {
        width: 0% !important;
        background: linear-gradient(90deg, rgba(255,255,255,0.12), rgba(255,255,255,0.06));
        box-shadow: none;
      }
      /* Metric bar colors now applied inline via JS threshold function */
      .owned-shoe-metric-value {
        display: block;
        width: 100%;
        text-align: left;
        font-size: 0.66rem;
        font-weight: 800;
        color: rgba(255,255,255,0.88);
        font-variant-numeric: tabular-nums;
        transition: color 0.35s ease;
      }
      .owned-shoe-metric-delta {
        display: block;
        width: 100%;
        min-width: 0;
        padding-left: 8px;
        border-left: 1px solid rgba(255,255,255,0.14);
        text-align: left;
        font-size: 0.6rem;
        font-weight: 800;
        color: rgba(255,255,255,0.36);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
      }
      .owned-shoe-metric-delta.better {
        color: #86efac;
      }
      .owned-shoe-metric-delta.worse {
        color: #fca5a5;
      }
      .owned-shoe-distance-block {
        width: min(100%, calc(var(--owned-metric-label-width, 34px) + var(--owned-metric-track-width) + var(--owned-metric-value-width, 44px) + var(--owned-metric-delta-width, 50px) + var(--owned-metric-row-gap, 6px) + var(--owned-metric-row-gap, 6px) + var(--owned-metric-row-gap, 6px)));
        margin-top: auto;
        margin-inline: auto;
        padding-top: 8px;
        border-top: 1px solid rgba(255,255,255,0.08);
      }
      .owned-shoe-distance-scale {
        font-size: 0.6rem;
        color: rgba(255,255,255,0.44);
      }
      .owned-shoe-hover-reveal {
        width: 100%;
        text-align: left;
        color: rgba(255,255,255,0.5);
        max-height: none !important;
        min-height: 2.8em;
        opacity: 1 !important;
        overflow: hidden;
      }
      .owned-shoe-row:hover .owned-shoe-hover-reveal,
      .owned-shoe-row:focus-within .owned-shoe-hover-reveal {
        max-height: none !important;
        opacity: 1 !important;
      }
      /* --- Efficiency pill --- *
      /* --- Coming-soon placeholder --- */
      .degradation-placeholder-stack {
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }
      .shoes-inner-placeholder {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        min-height: clamp(240px, 34vw, 300px);
        padding: clamp(1.75rem, 3vw, 2rem) clamp(1.1rem, 4vw, 1.75rem);
        border-radius: 1.25rem;
        border: 1px solid rgba(46, 209, 244, 0.12);
        background: linear-gradient(180deg, rgba(9, 14, 28, 0.84), rgba(5, 9, 18, 0.96));
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
        text-align: center;
        color: rgba(255,255,255,0.58);
      }
      .owned-overview-empty-state {
        width: 100%;
      }
      .shoes-inner-placeholder-copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.55rem;
        max-width: min(31rem, 100%);
      }
      /* Force-hide degradation sections replaced by Coming Soon */
      #shoesSection,
      #noShoeSelectedState,
      #shoeDetailSection {
        display: none !important;
      }
      .shoes-inner-placeholder-illustration {
        display: block;
        width: min(220px, 72vw);
        max-width: 100%;
        height: auto;
        opacity: 0.92;
        pointer-events: none;
        user-select: none;
      }
      .shoes-inner-placeholder-title {
        margin: 0;
        font-size: clamp(0.8rem, 0.73rem + 0.28vw, 0.9rem);
        font-weight: 700;
        letter-spacing: 0.08em;
        color: rgba(255,255,255,0.42);
        text-transform: lowercase;
      }
      .shoes-inner-placeholder-text {
        margin: 0;
        max-width: min(31rem, 100%);
        font-size: clamp(0.9rem, 0.84rem + 0.18vw, 0.96rem);
        line-height: 1.65;
        color: rgba(255,255,255,0.52);
      }
      @media (max-width: 640px) {
        .degradation-placeholder-stack {
          gap: 0.875rem;
        }
        .shoes-inner-placeholder {
          gap: 0.65rem;
          min-height: clamp(220px, 72vw, 280px);
          padding: 1.25rem;
        }
        .shoes-inner-placeholder-illustration {
          width: min(180px, 64vw);
        }
        .shoes-inner-placeholder-copy {
          max-width: 20rem;
        }
      }
      /* --- Mobile: owned shoe card content tighter --- */
      @media (max-width: 540px) {
        .owned-shoe-card {
          padding: 0.55rem 0.5rem;
        }
        #ownedShoesOverviewSection .owned-shoe-card {
          padding: 0.35rem 0 0;
          border: 0;
          border-radius: 0;
          overflow: visible;
          background: transparent;
          box-shadow: none;
          backdrop-filter: none;
          -webkit-backdrop-filter: none;
        }
        #ownedShoesOverviewSection .owned-shoe-card::before,
        #ownedShoesOverviewSection .owned-shoe-card::after {
          content: none;
        }
        #ownedShoesOverviewSection .owned-shoe-head {
          justify-content: center;
        }
        .owned-shoe-card-title {
          font-size: clamp(0.84rem, 0.8rem + 0.3vw, 0.9rem);
        }
        #ownedShoesOverviewSection .owned-shoe-card-title {
          justify-content: center;
          text-align: center;
        }
        #ownedShoesOverviewSection .owned-shoe-card-title-icon {
          display: none;
        }
        #ownedShoesOverviewSection .owned-shoe-section-divider {
          margin-bottom: 12px;
          background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.12) 22%, rgba(var(--owned-accent-rgb), 0.34) 50%, rgba(255,255,255,0.12) 78%, transparent 100%);
        }
        #ownedShoesOverviewSection .owned-shoe-empty {
          display: block;
          width: 100%;
          margin: 0 0 1.2rem;
          padding: 0.9rem 1rem;
          border-radius: 1rem;
          border: 1px solid rgba(255,255,255,0.08);
          background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
          box-shadow: 0 12px 28px rgba(2, 6, 23, 0.2), inset 0 1px 0 rgba(255,255,255,0.05);
          color: rgba(255,255,255,0.5);
          line-height: 1.45;
          text-align: center;
        }
        .owned-shoe-row {
          padding: 0.45rem 0.4rem 0.55rem;
          gap: 5px;
        }
        .owned-shoe-row-top {
          flex-direction: column;
          align-items: center;
          gap: 4px;
          text-align: center;
        }
        .owned-shoe-row-top-info {
          align-items: center;
        }
        .owned-shoe-row-name {
          font-size: 0.7rem;
          -webkit-line-clamp: 2;
          min-height: calc(2 * 0.7rem * 1.22);
          max-width: 100%;
        }
        .owned-shoe-media {
          width: 60px;
          height: 42px;
          margin-top: 0;
        }
        .owned-shoe-media img {
          max-width: 56px;
          max-height: 38px;
        }
        .owned-shoe-row-meta span {
          font-size: 0.54rem;
        }
        .owned-shoe-metric-bars {
          --owned-metric-track-width: clamp(60px, 18vw, 120px);
        }
        .owned-shoe-metric-bar-row {
          grid-template-columns: 26px minmax(0, var(--owned-metric-track-width)) 36px 42px;
          gap: 4px;
        }
        .owned-shoe-metric-label {
          font-size: 0.5rem;
        }
        .owned-shoe-metric-value {
          font-size: 0.56rem;
        }
        .owned-shoe-metric-delta {
          padding-left: 6px;
          font-size: 0.52rem;
        }
        .owned-shoe-drift-block {
          flex-wrap: wrap;
        }
        .owned-shoe-drift-value {
          font-size: 0.58rem;
        }
        .owned-shoe-distance-block {
          width: 100%;
        }
        .owned-shoe-lpi-badge {
          padding: 0.35rem 0.55rem;
          gap: 0.25rem;
        }
        .owned-shoe-lpi-badge-label,
        .owned-shoe-lpi-badge-value {
          font-size: 0.58rem;
        }
        .owned-shoe-rank {
          top: 8px;
          left: 8px;
          min-width: 22px;
          height: 22px;
          font-size: 0.62rem;
        }
        .owned-shoe-row-score {
          flex-wrap: wrap;
        }
      }
      @media (max-width: 760px) {
        .shoe-mobile-filter-stack {
          display: flex !important;
          flex-direction: column;
          gap: 8px;
          margin: 0 0 10px !important;
        }
        .owned-overview-controls.bio-cg-wrap {
          display: none !important;
          grid-template-columns: minmax(0, 1fr) !important;
          gap: 0 !important;
          margin-top: 0 !important;
          padding: 2px 14px 12px !important;
          border-radius: 16px !important;
        }
        .owned-overview-controls.bio-cg-wrap.bio-mobile-panel-open {
          display: grid !important;
        }
        .owned-overview-shoe-menu {
          position: absolute;
          top: calc(100% + 8px);
          left: 0;
          right: auto;
          width: 100%;
          max-height: 260px;
          margin-top: 0;
        }
        /* Phones: one control per line at full width, so pace and shoe names are never cut. */
        .shoes-filter-group {
          gap: 10px;
          padding: 12px 0 14px;
        }
        .shoes-filter-fields {
          grid-template-columns: minmax(0, 1fr);
          gap: 10px;
        }
        .owned-overview-controls .bio-cg-col {
          width: 100%;
          min-width: 0;
        }
        .owned-overview-controls .bio-select-shell {
          min-width: 0;
        }
        .owned-overview-controls .bio-period-select {
          font-size: 12.5px;
        }
        /* The four confidence pills share the line evenly instead of leaving a ragged gap. */
        .owned-overview-controls .owned-overview-confidence-pill {
          flex: 1 1 auto;
          text-align: center;
        }
      }
      /* Narrow phones: four pills do not fit on one line, so they form a 2 x 2 block, never 3 + 1. */
      @media (max-width: 374px) {
        .owned-overview-controls .owned-overview-confidence-pills {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      @media (max-width: 640px) {
        .owned-shoe-list {
          grid-template-columns: 1fr;
        }
        .owned-shoe-row-top {
          flex-direction: row;
          align-items: flex-start;
          gap: 6px;
          text-align: left;
        }
        .owned-shoe-row-top-info {
          align-items: flex-start;
        }
        .shoe-tracker-card {
          padding: 0.95rem;
        }
        .stc-img-wrap {
          width: min(100%, 150px);
        }
        .stc-card-top {
          align-items: center;
          flex-wrap: wrap;
          justify-content: center;
          padding-left: 0;
        }
        .owned-shoe-row {
          padding: 0.65rem 0.55rem 0.75rem;
        }
        .owned-shoe-row-score {
          justify-content: center;
          max-width: 100%;
          width: 100%;
        }
        .owned-race-distance-controls--desktop {
          display: none !important;
        }
        .owned-race-distance-controls--mobile {
          display: flex !important;
          width: 100%;
          justify-content: flex-start;
          gap: 6px;
          margin: 16px 0 28px;
          padding-top: 8px;
        }
        .owned-race-distance-pill {
          flex: 1 1 clamp(46px, 20vw, 74px);
          min-height: 32px;
          padding: 6px 8px;
        }
        .owned-shoe-media {
          margin-top: 0;
        }
      }

      /* Shoes page refinement overrides */
      .analysis-header-row {
        position: relative;
        display: block;
        margin-bottom: 4.1rem;
        z-index: 240;
        overflow: visible;
        isolation: isolate;
      }
      .analysis-header-row.analysis-header-row-menu-open {
        z-index: 2405;
      }
      .analysis-header-copy {
        min-width: 0;
        max-width: 100%;
      }
      .analysis-header-title-row {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
      }
      .analysis-header-beta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 4px 10px;
        border-radius: 999px;
        border: 1px solid rgba(46, 209, 244, 0.28);
        background: linear-gradient(180deg, rgba(46, 209, 244, 0.14), rgba(46, 209, 244, 0.06));
        box-shadow: 0 8px 22px rgba(9, 40, 54, 0.18);
        color: #7ee9ff;
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        line-height: 1;
        text-transform: uppercase;
      }
      .analysis-header-meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        column-gap: 0.9rem;
        margin-top: 0.625rem;
      }
      .analysis-header-meta > p {
        min-width: 0;
        margin: 0;
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.92rem;
        line-height: 1.48;
        max-width: 36rem;
      }
      .analysis-header-action {
        display: flex;
        align-items: center;
        justify-self: end;
        flex-shrink: 0;
        position: static;
        z-index: 241;
      }
      .profile-toggle-wrap {
        width: clamp(156px, 21vw, 176px);
        max-width: 100%;
      }
      .profile-toggle-wrap .rii-data-toggle {
        width: 100%;
      }
      @keyframes profileToggleChevronFloat {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(1.5px); }
      }
      .profile-toggle-wrap .rii-data-toggle-btn {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.45rem;
      }
      .profile-toggle-wrap .rii-data-toggle-btn .rii-data-toggle-logo-wrap {
        flex: 1 1 auto;
        min-width: 0;
        justify-content: center;
      }
      .profile-toggle-wrap #sourceToggleLogo[src*="stryd-logo"] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 34px;
        padding: 10px 10px;
        box-sizing: border-box;
        border-radius: 6px;
        background: #000;
        box-shadow: 0 0 8px rgba(0,0,0,0.6);
        display: block;
      }
      .profile-toggle-wrap .rii-data-toggle-logo {
        width: 100%;
        height: 34px;
        border: none;
        border-radius: 9px;
        padding: 0;
        background: transparent;
        box-shadow: none;
        object-fit: contain;
      }
      .profile-toggle-wrap .rii-data-toggle-menu {
        margin-top: 2px;
      }
      .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-menu {
        background: linear-gradient(180deg, rgba(6,10,18,0.97), rgba(2,4,10,0.98));
        border-color: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.22);
        box-shadow: 0 18px 48px rgba(0,0,0,0.5), 0 0 0 1px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.06), inset 0 1px 0 rgba(255,255,255,0.04);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
      }
      .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-item {
        background: rgba(255,255,255,0.03);
        border-color: rgba(255,255,255,0.06);
        position: relative;
      }
      .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-item:hover {
        background: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.06);
        border-color: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.18);
      }
      .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-item.is-active {
        background: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.05);
        border-color: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.32);
        box-shadow: 0 0 12px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.08), inset 0 0 12px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.04);
      }
      .profile-toggle-wrap .rii-data-toggle-item .rii-data-toggle-logo[src*="Garmin"] {
        border-radius: 6px;
        background: #000;
        padding: 4px 10px;
        box-shadow: 0 0 8px rgba(0,0,0,0.6);
      }
      .profile-toggle-wrap .rii-data-toggle-item {
        justify-content: center;
        min-height: 46px;
        padding: 5px 10px;
      }
      .profile-toggle-wrap .rii-data-toggle-chevron {
        width: 14px;
        height: 14px;
        color: rgba(255,255,255,0.78);
        flex-shrink: 0;
        transform-origin: center;
        transition: transform 0.24s ease, color 0.24s ease, background-color 0.24s ease, box-shadow 0.24s ease;
      }
      .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-chevron {
        transform: rotate(180deg) scale(1.03);
        color: rgba(255,255,255,0.96);
      }
      .profile-toggle-wrap .rii-data-toggle-item .rii-data-toggle-logo[src*="stryd-logo"] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 34px;
        padding: 10px 10px;
        box-sizing: border-box;
        border-radius: 6px;
        background: #000;
        box-shadow: 0 0 8px rgba(0,0,0,0.6);
        display: block;
      }
      .owned-shoes-grid {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        gap: 18px;
      }
      .owned-shoe-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        justify-content: stretch;
        gap: 12px;
        align-items: stretch;
      }
      .owned-shoe-list > * {
        min-width: 0;
      }
      @media (max-width: 1180px) {
        .owned-shoe-list {
          grid-template-columns: 1fr;
        }
      }
      .owned-shoe-row {
        min-height: 342px;
        min-width: 0;
        height: 100%;
        padding: 0.84rem 0.84rem 0.9rem;
        border-radius: 0.9rem;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        gap: 10px;
        align-content: start;
        background:
          radial-gradient(circle at 50% -10%, rgba(var(--owned-accent-rgb), 0.08) 0%, rgba(var(--owned-accent-rgb), 0.025) 34%, transparent 76%),
          linear-gradient(180deg, rgba(4, 10, 24, 0.965), rgba(1, 5, 14, 0.988)) !important;
        border: 1px solid rgba(var(--owned-accent-rgb), 0.15);
        box-shadow:
          0 14px 30px rgba(0,0,0,0.28),
          0 0 0 1px rgba(var(--owned-accent-rgb), 0.03),
          inset 0 0 0 1px rgba(255,255,255,0.03),
          inset 0 1px 0 rgba(255,255,255,0.06),
          inset 0 20px 34px rgba(255,255,255,0.012),
          inset 0 -22px 40px rgba(var(--owned-accent-rgb), 0.035);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        transition: transform 0.28s ease, border-color 0.34s ease, box-shadow 0.38s ease, background 0.38s ease;
      }
      .owned-shoe-row::before {
        inset: 0;
        border-radius: inherit;
        padding: 1px;
        background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(var(--owned-accent-rgb), 0.22) 100%);
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        opacity: 0.64;
        transition: opacity 0.34s ease, background 0.34s ease;
      }
      .owned-shoe-row::after {
        left: 8%;
        right: 8%;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(var(--owned-accent-rgb), 0.16), transparent);
        box-shadow: 0 0 8px rgba(var(--owned-accent-rgb), 0.05);
        transition: background 0.34s ease, box-shadow 0.34s ease;
      }
      .owned-shoe-card-blur {
        display: flex !important;
        visibility: visible !important;
        align-items: flex-end !important;
        justify-content: center !important;
        overflow: hidden !important;
        border-radius: inherit !important;
      }
      .owned-shoe-card-blur img {
        width: 100% !important;
        max-width: none !important;
        height: 180% !important;
        opacity: 0.11 !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        display: block !important;
        filter: blur(34px) saturate(1.2) brightness(1.02) !important;
        transform: translateY(20%) scale(1.2) !important;
        mix-blend-mode: screen !important;
        transition: opacity 0.42s ease, transform 0.42s ease, filter 0.42s ease !important;
      }
      .owned-shoe-row:hover,
      .owned-shoe-row:focus-within {
        transform: translateY(-2px);
        border-color: rgba(var(--owned-accent-rgb), 0.24);
        box-shadow:
          0 18px 34px rgba(0,0,0,0.34),
          0 0 18px rgba(var(--owned-accent-rgb), 0.08),
          0 0 0 1px rgba(var(--owned-accent-rgb), 0.05),
          inset 0 0 0 1px rgba(255,255,255,0.04),
          inset 0 1px 0 rgba(255,255,255,0.06),
          inset 0 26px 38px rgba(255,255,255,0.02),
          inset 0 -24px 42px rgba(var(--owned-accent-rgb), 0.05);
        background:
          radial-gradient(circle at 50% -8%, rgba(var(--owned-accent-rgb), 0.12) 0%, rgba(var(--owned-accent-rgb), 0.04) 36%, transparent 78%),
          linear-gradient(180deg, rgba(5, 11, 25, 0.97), rgba(1, 6, 15, 0.985)) !important;
      }
      .owned-shoe-row:hover::before,
      .owned-shoe-row:focus-within::before {
        background: linear-gradient(180deg, rgba(255,255,255,0.14) 0%, rgba(var(--owned-accent-rgb), 0.28) 100%);
        opacity: 0.76;
      }
      .owned-shoe-row:hover::after,
      .owned-shoe-row:focus-within::after {
        background: linear-gradient(90deg, transparent, rgba(var(--owned-accent-rgb), 0.22), transparent);
        box-shadow: 0 0 12px rgba(var(--owned-accent-rgb), 0.08);
      }
      .owned-shoe-row:hover .owned-shoe-card-blur img,
      .owned-shoe-row:focus-within .owned-shoe-card-blur img {
        opacity: 0.22 !important;
        filter: blur(36px) saturate(1.32) brightness(1.06) !important;
        transform: translateY(18%) scale(1.24) !important;
      }
      .owned-shoe-row.rank-shifted-up {
        box-shadow: 0 0 0 1px rgba(46,209,244,0.3), 0 0 16px rgba(46,209,244,0.12), 0 8px 22px rgba(0,0,0,0.16), inset 0 0 18px -10px rgba(46,209,244,0.14), inset 0 1px 0 rgba(255,255,255,0.05);
      }
      .owned-shoe-row.rank-shifted-down {
        box-shadow: 0 0 0 1px rgba(252,76,2,0.28), 0 0 16px rgba(252,76,2,0.12), 0 8px 22px rgba(0,0,0,0.16), inset 0 0 18px -10px rgba(252,76,2,0.14), inset 0 1px 0 rgba(255,255,255,0.05);
      }
      .owned-shoe-rank {
        display: none;
      }
      .owned-shoe-row-top {
        width: 100%;
        align-items: flex-start;
        gap: 0.72rem;
        padding-top: 0.08rem;
      }
      .owned-shoe-row-top > * {
        min-width: 0;
      }
      .owned-shoe-row-top-info {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        gap: 0.5rem;
        align-items: flex-start;
      }
      .owned-shoe-row-identity {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        gap: 0.18rem;
      }
      .owned-shoe-row-badge-slot {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        min-height: 0;
      }
      .owned-shoe-row-main {
        width: 100%;
        min-height: 0;
        gap: 8px;
      }
      .owned-shoe-row-name {
        width: 100%;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
          white-space: normal;
          overflow-wrap: anywhere;
        word-break: break-word;
        font-size: 0.96rem;
        font-weight: 650;
        line-height: 1.16;
        margin: 0;
      }
      .owned-shoe-card.owned-shoe-card-placeholder {
        min-height: 430px;
      }
      .owned-shoe-placeholder-lines {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 6px;
      }
      .owned-shoe-placeholder-line {
        height: 12px;
        border-radius: 8px;
        background: linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.12), rgba(255,255,255,0.05));
        background-size: 220% 100%;
        animation: ownedPlaceholderPulse 1.4s ease-in-out infinite;
      }
      .owned-shoe-placeholder-line.short {
        width: 62%;
      }
      .owned-shoe-placeholder-line.mid {
        width: 78%;
      }
      .owned-shoe-placeholder-line.full {
        width: 100%;
      }
      .owned-shoe-placeholder-card {
        margin-top: 12px;
        min-height: 342px;
        border-radius: 0.9rem;
        border: 1px solid rgba(255,255,255,0.08);
        background: linear-gradient(180deg, rgba(3, 10, 22, 0.96), rgba(1, 6, 15, 0.98));
        box-shadow: 0 8px 18px rgba(0,0,0,0.14), inset 0 0 0 1px rgba(255,255,255,0.03);
      }
      @keyframes ownedPlaceholderPulse {
        0% { background-position: 100% 0; opacity: 0.55; }
        50% { opacity: 0.85; }
        100% { background-position: -100% 0; opacity: 0.55; }
      }
        .owned-shoe-row-score {
          width: 100%;
          display: grid;
          grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
          align-items: stretch;
          gap: 8px;
          max-width: 100%;
        }
        .owned-shoe-summary-block {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          justify-content: flex-start;
          gap: 6px;
          min-width: 0;
          min-height: 58px;
          padding: 0.5rem 0.62rem 0.58rem;
          border-radius: 0.92rem;
          border: 1px solid rgba(255,255,255,0.08);
          background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
        }
        .owned-shoe-summary-block-match {
          border-color: rgba(255,255,255,0.07);
        }
        .owned-shoe-summary-label {
          font-size: 0.54rem;
          font-weight: 800;
          letter-spacing: 0.12em;
          text-transform: uppercase;
          color: rgba(226,232,240,0.46);
          line-height: 1;
          white-space: nowrap;
        }
        .owned-shoe-row-score-top {
          display: flex;
          align-items: center;
          gap: 6px;
          flex-wrap: wrap;
          max-width: 100%;
          width: 100%;
        }
        .owned-shoe-match-pills {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 0;
          min-height: 0;
          max-width: 100%;
          width: 100%;
        }
        .owned-shoe-match-tooltip-wrap {
          position: relative;
          display: inline-flex;
          align-items: center;
          max-width: 100%;
        }
        .owned-shoe-lpi-badge {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 0;
          min-height: 28px;
          padding: 0.42rem 0.72rem;
          border-radius: 999px;
          border: 1px solid rgba(46, 209, 244, 0.22);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
        }
        .owned-shoe-lpi-badge.great {
          background: linear-gradient(135deg, rgba(167, 139, 250, 0.18), rgba(139, 92, 246, 0.14));
          border-color: rgba(167, 139, 250, 0.34);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 8px 20px rgba(107,70,193,0.14);
        }
        .owned-shoe-lpi-badge.good {
          background: linear-gradient(135deg, rgba(1, 195, 168, 0.18), rgba(1, 195, 168, 0.12));
          border-color: rgba(1, 195, 168, 0.3);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 8px 20px rgba(1,195,168,0.12);
        }
        .owned-shoe-lpi-badge.not-ideal {
          background: linear-gradient(135deg, rgba(255, 183, 65, 0.18), rgba(245, 158, 11, 0.12));
          border-color: rgba(255, 183, 65, 0.28);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 8px 20px rgba(245,158,11,0.1);
        }
        .owned-shoe-lpi-badge-label {
          font-size: 0.72rem;
          font-weight: 700;
          letter-spacing: 0.01em;
          text-transform: none;
          color: rgba(248,250,252,0.92);
        }
        .owned-shoe-match-tooltip-wrap:focus-visible {
          outline: none;
        }
        .owned-shoe-lpi-hover {
          display: inline-flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          position: absolute;
          left: 50%;
          bottom: calc(100% + 9px);
          z-index: 12;
          min-height: auto;
          min-width: 148px;
          padding: 0.5rem 0.62rem;
          border-radius: 0.72rem;
          border: 1px solid rgba(46, 209, 244, 0.22);
          background: rgba(6, 12, 24, 0.96);
          color: rgba(248,250,252,0.92);
          font-size: 0.62rem;
          font-weight: 700;
          letter-spacing: 0.05em;
          white-space: nowrap;
          box-shadow: 0 12px 30px rgba(0,0,0,0.32);
          opacity: 0;
          visibility: hidden;
          pointer-events: none;
          transform: translate(-50%, 6px);
          transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
        }
        .owned-shoe-lpi-hover-title {
          color: rgba(248,250,252,0.96);
          font-size: 0.61rem;
          font-weight: 800;
          letter-spacing: 0.07em;
          text-transform: uppercase;
          margin-bottom: 0.22rem;
        }
        .owned-shoe-lpi-hover-row {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 0.75rem;
          width: 100%;
          color: rgba(226,232,240,0.68);
          font-size: 0.6rem;
          letter-spacing: 0.02em;
          line-height: 1.35;
          text-transform: none;
        }
        .owned-shoe-lpi-hover-row strong {
          color: #2ed1f4;
          font-size: 0.64rem;
          font-weight: 800;
        }
        .owned-shoe-lpi-hover::after {
          content: '';
          position: absolute;
          left: 50%;
          top: 100%;
          width: 10px;
          height: 10px;
          background: rgba(6, 12, 24, 0.96);
          border-right: 1px solid rgba(46, 209, 244, 0.22);
          border-bottom: 1px solid rgba(46, 209, 244, 0.22);
          transform: translate(-50%, -56%) rotate(45deg);
        }
        .owned-shoe-match-tooltip-wrap:hover .owned-shoe-lpi-hover,
        .owned-shoe-match-tooltip-wrap:focus-within .owned-shoe-lpi-hover {
          opacity: 1;
          visibility: visible;
          transform: translate(-50%, 0);
        }
        .owned-shoe-info-tooltip-wrap {
          position: relative;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          max-width: 100%;
        }
        .owned-shoe-info-tooltip-wrap:focus-visible {
          outline: 1px solid rgba(46, 209, 244, 0.42);
          outline-offset: 3px;
          border-radius: 999px;
        }
        .owned-shoe-info-tooltip-wrap.owned-shoe-metric-delta-wrap {
          display: block;
          width: 100%;
          min-width: 0;
        }
        .owned-shoe-info-tooltip {
          display: block;
          position: absolute;
          right: 0;
          bottom: calc(100% + 10px);
          z-index: 80;
          width: max-content;
          max-width: min(250px, calc(100vw - 48px));
          padding: 0.58rem 0.68rem;
          border-radius: 0.72rem;
          border: 1px solid rgba(46, 209, 244, 0.22);
          background: rgba(6, 12, 24, 0.97);
          color: rgba(248,250,252,0.9);
          text-align: left;
          white-space: normal;
          box-shadow: 0 14px 32px rgba(0,0,0,0.34);
          opacity: 0;
          visibility: hidden;
          pointer-events: none;
          transform: translateY(6px);
          transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
        }
        .owned-shoe-info-tooltip::after {
          content: '';
          position: absolute;
          right: 18px;
          top: 100%;
          width: 10px;
          height: 10px;
          background: rgba(6, 12, 24, 0.97);
          border-right: 1px solid rgba(46, 209, 244, 0.22);
          border-bottom: 1px solid rgba(46, 209, 244, 0.22);
          transform: translateY(-56%) rotate(45deg);
        }
        .owned-shoe-info-tooltip-title {
          display: block;
          margin-bottom: 0.22rem;
          color: rgba(141, 245, 255, 0.94);
          font-size: 0.61rem;
          font-weight: 800;
          letter-spacing: 0.06em;
          text-transform: uppercase;
          line-height: 1.1;
        }
        .owned-shoe-info-tooltip-body {
          display: block;
          color: rgba(226,232,240,0.82);
          font-size: 0.66rem;
          font-weight: 600;
          letter-spacing: 0.01em;
          line-height: 1.38;
        }
        .owned-shoe-info-tooltip-wrap:hover .owned-shoe-info-tooltip,
        .owned-shoe-info-tooltip-wrap:focus-within .owned-shoe-info-tooltip {
          opacity: 1;
          visibility: visible;
          transform: translateY(0);
        }
        @media (max-width: 640px) {
          .owned-shoe-info-tooltip {
            position: fixed !important;
            left: 50% !important;
            right: auto !important;
            top: 50% !important;
            bottom: auto !important;
            width: min(88vw, 360px) !important;
            max-width: min(88vw, 360px) !important;
            max-height: 68vh;
            overflow-y: auto;
            padding: 0.95rem 1rem;
            border-radius: 1rem;
            z-index: 2147483647 !important;
            transform: translate(-50%, calc(-50% + 10px)) !important;
            box-shadow:
              0 0 30px rgba(34, 211, 238, 0.15),
              0 18px 42px rgba(0,0,0,0.48),
              inset 0 1px 0 rgba(255,255,255,0.05);
          }
          .owned-shoe-info-tooltip::after {
            display: none;
          }
          .owned-shoe-info-tooltip-wrap:hover .owned-shoe-info-tooltip,
          .owned-shoe-info-tooltip-wrap:focus-within .owned-shoe-info-tooltip {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translate(-50%, calc(-50% + 10px)) !important;
          }
          .owned-shoe-info-tooltip-wrap.tooltip-active .owned-shoe-info-tooltip,
          .owned-shoe-info-tooltip.tooltip-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translate(-50%, -50%) !important;
          }
          .owned-shoe-info-tooltip-title {
            font-size: 0.72rem;
          }
          .owned-shoe-info-tooltip-body {
            font-size: 0.8rem;
            line-height: 1.45;
          }
        }
        #ownedShoesOverviewSection .owned-shoe-card {
          overflow: visible;
        }
        #ownedShoesOverviewSection .owned-shoe-card:hover,
        #ownedShoesOverviewSection .owned-shoe-card:focus-within {
          z-index: 90;
        }
        #ownedShoesOverviewSection .owned-shoe-info-tooltip,
        #ownedShoesOverviewSection .owned-shoe-lpi-hover {
          z-index: 1200;
        }
        .owned-shoe-media {
          width: 82px;
          height: 62px;
          margin-top: 0;
          padding: 0.26rem;
          border-radius: 0.85rem;
          background: linear-gradient(160deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
          border: 1px solid rgba(var(--owned-accent-rgb), 0.22);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 0 8px rgba(var(--owned-accent-rgb), 0.05);
        }
        .owned-shoe-media.has-image {
          border-width: 1px;
          border-color: rgba(var(--owned-accent-rgb), 0.36);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 0 8px rgba(var(--owned-accent-rgb), 0.1);
        }
        .owned-shoe-media.no-image {
          border-color: rgba(var(--owned-accent-rgb), 0.2);
        }
        .owned-shoe-media img {
          max-width: 126px;
          max-height: 56px;
          object-fit: contain;
          object-position: center;
          filter: drop-shadow(0 7px 14px rgba(0,0,0,0.24));
        }
        .owned-shoe-row-media-stack {
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 0.42rem;
          flex: 0 0 auto;
          width: 82px;
          min-width: 82px;
        }
        .owned-shoe-row-media-meta {
          width: 100%;
          justify-content: center;
          text-align: center;
        }
        .owned-shoe-row-media-meta span {
          display: block;
          width: 100%;
          text-align: center;
        }
        .owned-shoe-row-meta {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          gap: 8px;
          flex-wrap: wrap;
          min-height: 1rem;
        }
        .owned-shoe-row-meta span {
          font-size: 0.72rem;
          color: rgba(255,255,255,0.52);
          font-weight: 500;
          letter-spacing: 0.01em;
        }
        .owned-shoe-match-pro-pill {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 30px;
          min-width: 48px;
          padding: 0 8px;
          border-radius: 999px;
          border: 1px solid rgba(46, 209, 244, 0.28);
          background: rgba(46, 209, 244, 0.08);
          color: rgba(224, 247, 255, 0.9);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 0 14px rgba(46,209,244,0.08);
          line-height: 0;
          cursor: pointer;
          appearance: none;
          -webkit-appearance: none;
          font-family: inherit;
        }
        .owned-shoe-match-pro-pill:hover {
          border-color: rgba(46, 209, 244, 0.48);
          background: rgba(46, 209, 244, 0.12);
          box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 0 20px rgba(46,209,244,0.14);
        }
        .owned-shoe-match-placeholder {
          background: rgba(255,255,255,0.05);
          border-color: rgba(255,255,255,0.1);
          color: rgba(226,232,240,0.52);
          box-shadow: none;
        }
        .owned-shoe-pro-logo-pill img {
          display: block;
          height: 22px;
          width: auto;
          filter: drop-shadow(0 4px 8px rgba(0,0,0,0.32)) drop-shadow(0 0 8px rgba(46,209,244,0.18));
        }
        @keyframes ownedEfficiencySpin {
          to { transform: rotate(360deg); }
        }
      .owned-shoe-card-divider {
        width: 100%;
        margin: 4px 0 8px;
        background: rgba(var(--owned-accent-rgb), 0.15);
        box-shadow: 0 0 8px rgba(var(--owned-accent-rgb), 0.08);
      }
      #ownedShoesOverviewSection .stc-section-heading {
        color: #ffffff !important;
      }
      #ownedShoesOverviewSection .stc-section-heading .section-header-icon,
      #ownedShoesOverviewSection .stc-section-heading svg {
        color: #22d3ee !important;
      }
      #ownedShoesOverviewSection .section-tooltip-trigger {
        flex-shrink: 0;
      }
      #ownedShoesOverviewSection .analysis-section-subtitle {
        color: rgba(255,255,255,0.58) !important;
      }
      .owned-shoe-metric-bars {
        --owned-metric-track-width: clamp(100px, 16vw, 200px);
        --owned-metric-label-width: 30px;
        --owned-metric-value-width: 44px;
        --owned-metric-delta-width: 50px;
        --owned-metric-row-gap: 8px;
        width: 100%;
        gap: 5px;
        margin-top: 0;
      }
      .owned-shoe-metric-bar-row {
        width: min(100%, calc(var(--owned-metric-label-width) + var(--owned-metric-track-width) + var(--owned-metric-value-width) + var(--owned-metric-delta-width) + var(--owned-metric-row-gap) + var(--owned-metric-row-gap) + var(--owned-metric-row-gap)));
        grid-template-columns: var(--owned-metric-label-width) minmax(0, var(--owned-metric-track-width)) var(--owned-metric-value-width) var(--owned-metric-delta-width);
        gap: var(--owned-metric-row-gap);
        justify-content: center;
        --owned-bar-start: #33ddff;
        --owned-bar-end: #4f8cff;
        --owned-bar-glow: rgba(79, 140, 255, 0.34);
        margin-inline: auto;
      }
      .owned-shoe-metric-track {
        width: 100%;
        height: 0.42rem;
        padding: 1px;
        border-radius: 9999px;
        background: linear-gradient(180deg, rgba(165, 195, 227, 0.17), rgba(44, 60, 92, 0.24));
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(173, 196, 232, 0.08);
        overflow: hidden;
      }
      .owned-shoe-metric-fill {
        position: relative;
        height: 100%;
        width: 0%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--owned-bar-start), var(--owned-bar-end));
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 0 10px var(--owned-bar-glow);
        overflow: hidden;
      }
      .owned-shoe-metric-fill::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: -42%;
        width: 38%;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0));
        filter: blur(1px);
        opacity: 0.55;
      }
      .owned-shoe-metric-fill.muted {
        width: 0% !important;
        background: linear-gradient(90deg, rgba(255,255,255,0.14), rgba(255,255,255,0.06));
        box-shadow: none;
      }
      .owned-shoe-drift-block {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        margin-top: 2px;
        padding: 0;
        border: none;
        background: transparent;
        box-shadow: none;
      }
      .owned-shoe-drift-title {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: rgba(226,232,240,0.52);
        white-space: nowrap;
        flex-shrink: 0;
      }
      .owned-shoe-drift-grid {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
      }
      .owned-shoe-drift-item {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        padding: 2px 8px;
        border: 1px solid rgba(255,255,255,0.07);
        border-radius: 999px;
        background: rgba(255,255,255,0.03);
        box-shadow: none;
      }
      .owned-shoe-drift-item.best {
        color: #34d399;
        border-color: rgba(16,185,129,0.18);
        background: rgba(16,185,129,0.06);
      }
      .owned-shoe-drift-item.moderate {
        color: #fbbf24;
        border-color: rgba(251,191,36,0.14);
        background: rgba(251,191,36,0.05);
      }
      .owned-shoe-drift-item.worst {
        color: #ff8b9a;
        border-color: rgba(251,113,133,0.14);
        background: rgba(251,113,133,0.05);
      }
      .owned-shoe-drift-item.muted {
        color: rgba(255,255,255,0.46);
        border-color: rgba(255,255,255,0.07);
        background: rgba(255,255,255,0.03);
      }
      .owned-shoe-drift-label {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(226,232,240,0.56);
      }
      .owned-shoe-drift-value {
        font-size: 0.62rem;
        font-weight: 700;
        color: currentColor;
        font-variant-numeric: tabular-nums;
      }
      .owned-shoe-drift-delta {
        display: inline-flex;
        align-items: center;
        min-width: 32px;
        padding-left: 5px;
        border-left: 1px solid rgba(255,255,255,0.12);
        font-size: 0.58rem;
        font-weight: 800;
        color: rgba(255,255,255,0.38);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
      }
      .owned-shoe-drift-delta.better {
        color: #86efac;
      }
      .owned-shoe-drift-delta.worse {
        color: #fca5a5;
      }
      .owned-shoe-drift-delta.muted {
        color: rgba(255,255,255,0.32);
      }
      .owned-shoe-drift-item.best .owned-shoe-drift-label,
      .owned-shoe-drift-item.best .owned-shoe-drift-value {
        color: rgba(167,243,208,0.96);
      }
      .owned-shoe-drift-item.moderate .owned-shoe-drift-label,
      .owned-shoe-drift-item.moderate .owned-shoe-drift-value {
        color: rgba(253,230,138,0.96);
      }
      .owned-shoe-drift-item.worst .owned-shoe-drift-label,
      .owned-shoe-drift-item.worst .owned-shoe-drift-value {
        color: rgba(253,164,175,0.96);
      }
      .owned-shoe-distance-block {
        --owned-metric-track-width: clamp(100px, 16vw, 200px);
        --owned-metric-label-width: 30px;
        --owned-metric-value-width: 48px;
        --owned-metric-row-gap: 8px;
        width: min(100%, calc(var(--owned-metric-label-width) + var(--owned-metric-track-width) + var(--owned-metric-value-width) + var(--owned-metric-row-gap) + var(--owned-metric-row-gap)));
        margin-inline: auto;
        padding-top: 10px;
      }
      .owned-shoe-distance-scale {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        text-align: center;
        font-size: 0.58rem;
      }
      @media (max-width: 768px) {
        .analysis-header-row {
          margin-bottom: 1.7rem;
        }
        .analysis-header-copy {
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          align-items: start;
          column-gap: 0.55rem;
          row-gap: 0.48rem;
        }
        .analysis-header-title-row {
          grid-column: 1;
          grid-row: 1;
          min-width: 0;
          gap: 0.55rem;
        }
        .analysis-header-meta {
          display: contents;
        }
        .analysis-header-meta > p {
          grid-column: 1 / -1;
          grid-row: 2;
          margin-top: 0.48rem;
          width: 100%;
          max-width: none;
        }
        .analysis-header-action {
          grid-column: 2;
          grid-row: 1;
          justify-self: end;
          align-self: center;
        }
        html:not([data-run-it-native-shell="1"]) .analysis-header-row:has(#sourceSwitcher) .analysis-header-action {
          position: absolute !important;
          top: 3px !important;
          right: 0 !important;
          width: var(--rii-profile-toggle-width) !important;
          height: var(--rii-profile-toggle-height) !important;
          min-height: var(--rii-profile-toggle-height) !important;
          max-height: var(--rii-profile-toggle-height) !important;
          margin: 0 !important;
          display: flex !important;
          align-items: center !important;
          justify-content: flex-end !important;
          z-index: 242 !important;
        }
        html:not([data-run-it-native-shell="1"]) .analysis-header-row:has(#sourceSwitcher) .profile-toggle-wrap,
        html:not([data-run-it-native-shell="1"]) .analysis-header-row:has(#sourceSwitcher) .rii-data-toggle {
          height: var(--rii-profile-toggle-height) !important;
          min-height: var(--rii-profile-toggle-height) !important;
          max-height: var(--rii-profile-toggle-height) !important;
        }
        .profile-toggle-wrap {
          width: 108px;
        }
        .profile-toggle-wrap .rii-data-toggle-btn {
          min-height: 32px;
          border-radius: 9px;
          padding: 4px 7px 4px 5px;
        }
        .profile-toggle-wrap .rii-data-toggle-logo {
          height: 24px;
        }
        .profile-toggle-wrap #sourceToggleLogo[src*="stryd-logo"] {
          width: 100%;
          max-width: 100%;
          min-width: 0;
          height: 24px;
          padding: 6px 8px;
        }
        .profile-toggle-wrap .rii-data-toggle-chevron {
          width: 12px;
          height: 12px;
          padding: 2px;
          border-radius: 999px;
          color: rgba(255,255,255,0.92);
          background: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.14);
          box-shadow: inset 0 0 0 1px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.18), 0 0 14px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.16);
          animation: profileToggleChevronFloat 2.2s ease-in-out infinite;
        }
        .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-chevron {
          animation: none;
          transform: rotate(180deg) scale(1.06);
          background: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.2);
          box-shadow: inset 0 0 0 1px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.28), 0 0 16px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.2);
        }
        .profile-toggle-wrap .rii-data-toggle-item {
          min-height: 38px;
          padding: 4px 8px;
        }
        .profile-toggle-wrap .rii-data-toggle-item .rii-data-toggle-logo[src*="stryd-logo"] {
          width: 100%;
          max-width: 100%;
          min-width: 0;
          height: 24px;
          padding: 6px 8px;
          box-sizing: border-box;
        }
      }
      @media (max-width: 640px) {
        .analysis-header-row {
          margin-bottom: 1.28rem;
        }
        .analysis-header-copy {
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          align-items: start;
          column-gap: 0.55rem;
          row-gap: 0.48rem;
        }
        .analysis-header-title-row {
          grid-column: 1;
          grid-row: 1;
          gap: 0.55rem;
        }
        .analysis-header-title-row .page-title {
          min-width: 0;
          font-size: clamp(1.72rem, 7.2vw, 1.98rem) !important;
          line-height: 1.02 !important;
          letter-spacing: -0.045em !important;
        }
        .analysis-header-beta {
          padding: 3px 8px;
          font-size: 0.54rem;
        }
        .analysis-header-meta {
          display: contents;
        }
        .analysis-header-meta > p {
          grid-column: 1 / -1;
          grid-row: 2;
          margin-top: 0.48rem;
          width: 100%;
          max-width: none;
          font-size: 0.84rem;
          line-height: 1.42;
        }
        .analysis-header-action {
          grid-column: 2;
          grid-row: 1;
          justify-self: end;
          align-self: center;
        }
        .profile-toggle-wrap {
          width: 108px;
        }
        .profile-toggle-wrap .rii-data-toggle-btn {
          min-height: 32px;
          border-radius: 9px;
          padding: 4px 7px 4px 5px;
        }
        .profile-toggle-wrap .rii-data-toggle-logo {
          height: 24px;
        }
        .profile-toggle-wrap #sourceToggleLogo[src*="stryd-logo"] {
          width: 100%;
          max-width: 100%;
          min-width: 0;
          height: 24px;
          padding: 6px 8px;
        }
        .profile-toggle-wrap .rii-data-toggle-chevron {
          width: 12px;
          height: 12px;
          padding: 2px;
          border-radius: 999px;
          color: rgba(255,255,255,0.92);
          background: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.14);
          box-shadow: inset 0 0 0 1px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.18), 0 0 14px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.16);
          animation: profileToggleChevronFloat 2.2s ease-in-out infinite;
        }
        .profile-toggle-wrap .rii-data-toggle.rii-data-toggle-open .rii-data-toggle-chevron {
          animation: none;
          transform: rotate(180deg) scale(1.06);
          background: rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.2);
          box-shadow: inset 0 0 0 1px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.28), 0 0 16px rgba(var(--rii-toggle-accent-rgb, 46, 209, 244), 0.2);
        }
        .profile-toggle-wrap .rii-data-toggle-item {
          min-height: 38px;
          padding: 4px 8px;
        }
        .profile-toggle-wrap .rii-data-toggle-item .rii-data-toggle-logo[src*="stryd-logo"] {
          width: 100%;
          max-width: 100%;
          min-width: 0;
          height: 24px;
          padding: 6px 8px;
        }
        .owned-shoe-list {
          grid-template-columns: 1fr;
          gap: 8px;
        }
        .owned-shoe-row {
          min-height: 0;
          padding: 0.82rem 0.74rem 0.86rem;
        }
        .owned-shoe-distance-block {
          --owned-metric-track-width: clamp(96px, 32vw, 134px);
          --owned-metric-label-width: 26px;
          --owned-metric-value-width: 38px;
          --owned-metric-row-gap: 6px;
        }
        .owned-shoe-rank {
          top: 10px;
          left: 10px;
          min-width: 26px;
          height: 26px;
          font-size: 0.64rem;
        }
        .owned-shoe-row-badge-slot {
          min-height: 0;
        }
        .owned-shoe-row-top {
          flex-direction: row;
          align-items: flex-start;
          justify-content: flex-start;
          gap: 0.65rem;
          padding-top: 0;
          text-align: left;
        }
        .owned-shoe-row-media-stack {
          width: auto;
          min-width: 0;
           align-items: center;
          gap: 0.34rem;
        }
        .owned-shoe-row-media-meta {
           justify-content: center;
           text-align: center;
        }
        .owned-shoe-row-top-info {
          align-items: flex-start;
          text-align: left;
          gap: 0.42rem;
        }
        .owned-shoe-row-identity {
          gap: 0.16rem;
        }
        .owned-shoe-row-badge-slot {
          align-items: flex-start;
          justify-content: flex-start;
        }
        .owned-shoe-row-name {
          text-align: left;
          min-height: 0;
        }
        .owned-shoe-row-score {
          grid-template-columns: 1fr 1fr;
          justify-content: stretch;
          gap: 7px;
        }
        .owned-shoe-summary-block {
          min-height: 54px;
          padding: 0.42rem 0.5rem 0.48rem;
          border-radius: 0.82rem;
          gap: 5px;
        }
        .owned-shoe-summary-label {
          font-size: 0.48rem;
          letter-spacing: 0.11em;
        }
        .owned-shoe-match-pills {
          justify-content: center;
          width: 100%;
        }
        .owned-shoe-row-meta {
          justify-content: flex-start;
          width: 100%;
        }
        .owned-shoe-metric-bars {
          --owned-metric-track-width: clamp(96px, 32vw, 134px);
          --owned-metric-label-width: 26px;
          --owned-metric-value-width: 36px;
          --owned-metric-delta-width: 42px;
          --owned-metric-row-gap: 6px;
        }
        .owned-shoe-metric-bar-row {
          width: min(100%, calc(var(--owned-metric-label-width) + var(--owned-metric-track-width) + var(--owned-metric-value-width) + var(--owned-metric-delta-width) + var(--owned-metric-row-gap) + var(--owned-metric-row-gap) + var(--owned-metric-row-gap)));
          grid-template-columns: var(--owned-metric-label-width) minmax(0, var(--owned-metric-track-width)) var(--owned-metric-value-width) var(--owned-metric-delta-width);
          gap: var(--owned-metric-row-gap);
          justify-content: center;
        }
        .owned-shoe-distance-scale {
          font-size: 0.54rem;
          gap: 4px;
        }
      }

      /* Owned overview V2 layout overrides */
      .owned-shoe-row-v2 .owned-shoe-row-top {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.58rem;
        padding-top: 0.08rem;
      }
      .owned-shoe-row-v2 .owned-shoe-row-top-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.72rem;
        width: 100%;
        min-width: 0;
      }
      .owned-shoe-row-v2 .owned-shoe-row-badge-slot {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 28px;
      }
      .owned-shoe-row-v2 .owned-shoe-row-media-stack {
        width: 82px;
        min-width: 82px;
        align-items: center;
        justify-content: center;
        gap: 0.38rem;
      }
      .owned-shoe-row-v2 .owned-shoe-row-media-meta {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 0.96rem;
        text-align: center;
      }
      .owned-shoe-row-v2 .owned-shoe-row-media-meta span {
        width: 100%;
        text-align: center;
      }
      .owned-shoe-row-v2 .owned-shoe-row-top-info {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        flex: 1 1 auto;
        width: 100%;
        gap: 0.56rem;
        min-width: 0;
      }
      .owned-shoe-row-v2 .owned-shoe-row-identity {
        align-items: center;
        gap: 0.14rem;
        text-align: center;
      }
      .owned-shoe-row-v2 .owned-shoe-row-name {
        text-align: center;
      }
      .owned-shoe-row-v2 .owned-shoe-row-meta {
        justify-content: center;
        width: 100%;
      }
      .owned-shoe-row-v2 .owned-shoe-row-score {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        width: 100%;
      }
      .owned-shoe-row-v2 .owned-shoe-summary-block {
        align-items: center;
        text-align: center;
        width: 100%;
      }
      .owned-shoe-row-v2 .owned-shoe-summary-block-match {
        min-width: 0;
      }
      .owned-shoe-row-v2 .owned-shoe-row-score-top {
        flex-wrap: nowrap;
        justify-content: center;
        gap: 6px;
      }
      .owned-shoe-row-v2 .owned-shoe-match-tooltip-wrap {
        margin-inline: auto;
      }
      .owned-shoe-row-v2 .owned-shoe-row-score-top > .owned-shoe-info-tooltip-wrap {
        flex: 0 0 auto;
      }
      .owned-shoe-row-v2 .owned-shoe-drift-block {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-top: 4px;
        text-align: center;
      }
      .owned-shoe-row-v2 .owned-shoe-drift-title {
        text-align: center;
      }
      .owned-shoe-row-v2 .owned-shoe-drift-grid {
        justify-content: center;
        flex-wrap: wrap;
      }
      @media (max-width: 640px) {
        .owned-shoe-row-v2 .owned-shoe-row-top {
          gap: 0.5rem;
        }
        .owned-shoe-row-v2 .owned-shoe-row-top-content {
          align-items: center;
          gap: 0.56rem;
        }
        .owned-shoe-row-v2 .owned-shoe-row-badge-slot {
          min-height: 24px;
        }
        .owned-shoe-row-v2 .owned-shoe-row-media-stack {
          width: 72px;
          min-width: 72px;
          gap: 0.32rem;
        }
        .owned-shoe-row-v2 .owned-shoe-row-score {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 7px;
        }
        .owned-shoe-row-v2 .owned-shoe-row-score-top {
          gap: 5px;
        }
      }
      @media (hover: none), (pointer: coarse) {
        .owned-shoe-lpi-hover {
          opacity: 1;
          max-width: min(190px, calc(100vw - 32px));
          transform: translate(-50%, 0);
          padding: 0.45rem 0.56rem;
        }
      }

      /* Heart rate at pace: a full-width third score card below Match and Efficiency. */
      .owned-shoe-row-v2 .owned-shoe-summary-block-heart-rate {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 76px;
        padding: 0.58rem 0.7rem 0.62rem;
        border-color: rgba(255,255,255,0.09);
        background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
        align-items: stretch;
        gap: 0.38rem;
      }
      .owned-shoe-heart-rate-head,
      .owned-shoe-heart-rate-reading,
      .owned-shoe-heart-rate-footer {
        display: flex;
        align-items: center;
        min-width: 0;
      }
      .owned-shoe-heart-rate-head { justify-content: space-between; }
      .owned-shoe-heart-rate-reading { justify-content: center; gap: 0.38rem; }
      .owned-shoe-heart-rate-value {
        color: #e2e8f0;
        font-size: 1rem;
        font-weight: 800;
        letter-spacing: -0.04em;
        line-height: 1;
      }
      .owned-shoe-heart-rate-value.tone-favorable { color: #34d399; }
      .owned-shoe-heart-rate-value.tone-unfavorable { color: #fb7185; }
      .owned-shoe-heart-rate-value.tone-mixed { color: #fbbf24; }
      .owned-shoe-heart-rate-pace {
        color: rgba(226,232,240,0.56);
        font-size: 0.64rem;
        font-weight: 700;
      }
      .owned-shoe-heart-rate-footer {
        justify-content: space-between;
        gap: 0.5rem;
        color: rgba(226,232,240,0.46);
        font-size: 0.54rem;
        font-weight: 650;
        line-height: 1.2;
      }
      .owned-shoe-heart-rate-activity-link {
        color: rgba(103,232,249,0.82);
        font-size: 0.54rem;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
      }
      .owned-shoe-heart-rate-activity-link:hover,
      .owned-shoe-heart-rate-activity-link:focus-visible { color: #67e8f9; text-decoration: underline; }
      .owned-shoe-heart-rate-info-button {
        display: inline-flex;
        width: 16px;
        height: 16px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: help;
      }
      .owned-shoe-heart-rate-info-button img { width: 16px; height: 16px; opacity: 0.72; }
      .owned-overview-heart-rate-modes {
        display: inline-flex;
        min-height: 30px;
        padding: 2px;
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 999px;
        background: rgba(2,10,23,0.46);
      }
      .owned-overview-heart-rate-mode {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-height: 24px;
        padding: 0 8px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: rgba(226,232,240,0.62);
        font-size: 0.62rem;
        font-weight: 750;
        cursor: pointer;
      }
      .owned-overview-heart-rate-mode[aria-pressed="true"] { background: rgba(34,211,238,0.15); color: #dffbff; }
      .owned-overview-heart-rate-mode.is-locked { color: rgba(226,232,240,0.48); cursor: pointer; }
      .owned-overview-heart-rate-mode img { width: 11px; height: 11px; object-fit: contain; }
      .owned-overview-heart-rate-mode:disabled { cursor: not-allowed; opacity: 0.52; }
      /* --- Shoes page: glow, best-by-type, detail card, other shoes --- */
      /* Background glow. Mechanism ported from static/run-signature-page.css:36-92:
         three stacked tone layers, one data-variant write cross-fades them. */
      .shoes-glow {
        top: -400px;
        left: 0;
        right: 0;
        height: 1400px;
        overflow: visible;
      }
      .shoes-glow-tones {
        position: absolute;
        inset: 0;
        overflow: visible;
        pointer-events: none;
      }
      .shoes-glow-tone {
        --shoes-glow-rgb: 46, 209, 244;
        position: absolute;
        inset: 0;
        opacity: 0 !important;
        transform: scale(.985);
        transform-origin: 50% 0;
        transition: opacity .46s ease, transform .7s cubic-bezier(.2, .75, .22, 1), filter .46s ease;
      }
      .shoes-glow-tone[data-glow-variant="daily"] { --shoes-glow-rgb: 71, 135, 255; }
      .shoes-glow-tone[data-glow-variant="tempo"] { --shoes-glow-rgb: 255, 109, 37; }
      .shoes-glow-tone[data-glow-variant="race"] { --shoes-glow-rgb: 255, 65, 94; }
      .shoes-glow-tone img {
        position: absolute;
        top: 0;
        left: 50%;
        display: block;
        max-width: none;
        opacity: .9;
        transform: translateX(-50%) scale(1.035);
        filter: saturate(1.18) brightness(1.16);
        transition: opacity .46s ease, filter .46s ease;
      }
      .shoes-glow[data-variant="daily"] [data-glow-variant="daily"],
      .shoes-glow[data-variant="tempo"] [data-glow-variant="tempo"],
      .shoes-glow[data-variant="race"] [data-glow-variant="race"] {
        opacity: 1 !important;
        transform: scale(1);
        filter: drop-shadow(0 0 62px rgba(var(--shoes-glow-rgb), .25));
        animation: shoesGlowPulse 4.8s ease-in-out infinite;
      }
      .shoes-glow[data-variant="daily"] [data-glow-variant="daily"] img,
      .shoes-glow[data-variant="tempo"] [data-glow-variant="tempo"] img,
      .shoes-glow[data-variant="race"] [data-glow-variant="race"] img {
        opacity: 1;
        filter: saturate(1.38) brightness(1.34);
      }
      @keyframes shoesGlowPulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.025); }
      }

      /* Shell: the rows are their own cards, so the outer wrapper carries no glass. */
      .shoes-rotation-shell {
        --shoes-accent-rgb: 59, 130, 246;
        position: relative;
        z-index: 20;
      }
      /* Only the open shoe renders here, so the row spans the card instead of sitting in a
         narrow auto-fit column left over from the old multi-shoe grid. */
      #ownedShoesOverviewGrid .owned-shoe-list { display: block; }
      #ownedShoesOverviewGrid .owned-shoe-row-v2 { width: 100%; max-width: none; }
      .shoes-breakdown-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
        gap: clamp(0.8rem, 2.2vw, 1.5rem);
        align-items: start;
      }
      .shoes-breakdown-col {
        display: flex;
        flex-direction: column;
        gap: clamp(0.6rem, 1.6vw, 0.9rem);
        min-width: 0;
        text-align: left;
      }
      .shoes-breakdown-row .owned-shoe-metric-bars,
      .shoes-breakdown-row .owned-shoe-drift-block,
      .shoes-breakdown-row .owned-shoe-distance-block,
      .shoes-breakdown-row .owned-shoe-summary-block { width: 100%; align-items: stretch; text-align: left; }
      .shoes-breakdown-row .owned-shoe-summary-block { align-items: flex-start; }
      .shoes-breakdown-row .owned-shoe-row-meta {
        margin-top: 6px;
        color: rgba(226,232,240,0.45);
        font-size: clamp(0.66rem, 1.5vw, 0.74rem);
      }

      /* Score-type toggle. It has its own row under the title: the source switcher box is
         pinned top-right with a fixed size on small screens, so the toggle cannot live in it. */
      .shoes-score-toggle-row {
        display: flex;
        flex-wrap: wrap;
        margin-top: clamp(0.85rem, 2vw, 1.15rem);
      }
      .shoes-score-toggle {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        flex-wrap: wrap;
        max-width: 100%;
        padding: 4px;
        border: 1px solid rgba(255,255,255,0.09);
        border-radius: 999px;
        background: rgba(255,255,255,0.035);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
      }
      .shoes-score-toggle-btn {
        appearance: none;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: rgba(226,232,240,0.6);
        font: inherit;
        font-size: clamp(0.7rem, 1.6vw, 0.8rem);
        font-weight: 650;
        letter-spacing: -0.01em;
        padding: 6px clamp(0.6rem, 2vw, 1rem);
        cursor: pointer;
        transition: background 0.18s ease, color 0.18s ease;
      }
      .shoes-score-toggle-btn:hover { color: #e2e8f0; }
      .shoes-score-toggle-btn.is-active {
        background: rgba(46,209,244,0.16);
        color: #dffbff;
        box-shadow: inset 0 0 0 1px rgba(46,209,244,0.34);
      }

      /* Row headings. */
      .shoes-row { margin: clamp(1.4rem, 3vw, 2.25rem) 0 clamp(1.1rem, 2.6vw, 1.75rem); }
      .shoes-row--best { margin-top: 0; }
      .shoes-row-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: clamp(0.65rem, 1.6vw, 1rem);
      }
      .shoes-row-head-copy { min-width: 0; }
      /* dashboard-embed.css forces every h2/h3 cyan, thin and animated. These headings are
         re-rendered on every filter change, so the entrance animation has to go too. */
      .shoes-row-title,
      .shoes-detail-name,
      .shoes-chart-title {
        color: #f8fafc !important;
        animation: none !important;
        text-shadow: none !important;
      }
      .shoes-row-title {
        margin: 0;
        font-size: clamp(1.05rem, 2.4vw, 1.4rem);
        font-weight: 720 !important;
        letter-spacing: -0.02em;
      }
      .shoes-row-subtitle {
        margin: 4px 0 0;
        color: rgba(226,232,240,0.52);
        font-size: clamp(0.76rem, 1.7vw, 0.88rem);
        line-height: 1.4;
      }
      .shoes-row-link {
        appearance: none;
        border: 0;
        background: transparent;
        padding: 2px 0;
        color: #2ed1f4;
        font: inherit;
        font-size: clamp(0.72rem, 1.6vw, 0.82rem);
        font-weight: 650;
        cursor: pointer;
        white-space: nowrap;
      }
      .shoes-row-link:hover { color: #7ee6fb; }

      /* Row 1: three equal category cards, one row at every width. */
      .shoes-best-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(0.5rem, 1.6vw, 1rem);
      }
      .shoes-best-card {
        --shoes-card-accent-rgb: 59, 130, 246;
        position: relative;
        isolation: isolate;
        display: flex;
        flex-direction: column;
        gap: clamp(0.5rem, 1.4vw, 0.85rem);
        min-width: 0;
        padding: clamp(0.7rem, 1.8vw, 1.15rem);
        border: 1px solid rgba(var(--shoes-card-accent-rgb), 0.2);
        border-radius: 1.15rem;
        background:
          radial-gradient(ellipse at 84% 8%, rgba(var(--shoes-card-accent-rgb), 0.13), transparent 48%),
          linear-gradient(156deg, rgba(20,26,38,0.9), rgba(11,15,24,0.82));
        box-shadow: 0 8px 24px rgba(0,0,0,0.16), 0 0 28px rgba(var(--shoes-card-accent-rgb), 0.06), inset 0 1px 0 rgba(255,255,255,0.05);
        color: inherit;
        text-align: left;
        cursor: pointer;
        overflow: hidden;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }
      .shoes-best-card::before {
        content: '';
        position: absolute;
        left: 8%;
        right: 8%;
        bottom: -46%;
        height: 84%;
        border-radius: 50%;
        background: radial-gradient(ellipse, rgba(var(--shoes-card-accent-rgb), 0.32), rgba(var(--shoes-card-accent-rgb), 0.08) 48%, transparent 74%);
        filter: blur(24px);
        opacity: 0.42;
        pointer-events: none;
        transition: opacity 0.28s ease, transform 0.28s ease;
        z-index: -1;
      }
      .shoes-best-card > * { position: relative; z-index: 1; }
      .shoes-best-award {
        position: absolute;
        top: clamp(0.65rem, 1.5vw, 0.9rem);
        right: clamp(0.65rem, 1.5vw, 0.9rem);
        z-index: 2;
        display: grid;
        width: 24px;
        height: 24px;
        place-items: center;
        pointer-events: none;
      }
      .shoes-best-award img {
        display: block;
        width: 24px;
        height: 24px;
        filter: drop-shadow(0 0 6px rgba(250, 204, 21, 0.72)) drop-shadow(0 4px 10px rgba(250, 204, 21, 0.2));
      }
      .shoes-best-card--daily { --shoes-card-accent-rgb: 59, 130, 246; }
      .shoes-best-card--tempo { --shoes-card-accent-rgb: 252, 76, 2; }
      .shoes-best-card--race { --shoes-card-accent-rgb: 255, 77, 90; }
      .shoes-best-card:hover { border-color: rgba(var(--shoes-card-accent-rgb), 0.46); transform: translateY(-2px); }
      .shoes-best-card:hover::before,
      .shoes-best-card.is-active::before { opacity: 0.82; transform: scale(1.08); }
      .shoes-best-card.is-active {
        border-color: rgba(var(--shoes-card-accent-rgb), 0.58);
        box-shadow: 0 18px 42px rgba(0,0,0,0.32), 0 14px 34px rgba(var(--shoes-card-accent-rgb), 0.14), inset 0 1px 0 rgba(255,255,255,0.07);
      }
      .shoes-best-card:focus-visible,
      .shoes-other-card:focus-visible { outline: 2px solid rgba(var(--shoes-card-accent-rgb, var(--shoes-accent-rgb)), 0.8); outline-offset: 2px; }
      .shoes-best-card,
      .shoes-other-card { -webkit-user-select: none; user-select: none; }
      .shoes-best-head {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        color: rgba(var(--shoes-card-accent-rgb), 0.95);
      }
      .shoes-best-icon {
        display: inline-flex;
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
        align-items: center;
        justify-content: center;
      }
      .shoes-best-icon img {
        display: block;
        width: 32px;
        height: 32px;
        object-fit: contain;
        filter: drop-shadow(0 0 7px rgba(var(--shoes-card-accent-rgb), 0.36));
      }
      .shoes-best-label {
        font-size: clamp(0.62rem, 1.5vw, 0.72rem);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .shoes-best-body {
        display: flex;
        align-items: center;
        gap: clamp(0.4rem, 1.2vw, 0.75rem);
        min-width: 0;
        flex-wrap: wrap;
      }
      .shoes-best-media { flex: 0 0 auto; }
      .owned-shoe-media--best {
        width: clamp(64px, 9.5vw, 112px);
        height: clamp(44px, 6.6vw, 76px);
        padding: clamp(4px, 0.7vw, 7px);
        border: 1px solid rgba(var(--shoes-card-accent-rgb), 0.24);
        border-radius: 0.72rem;
        background: #070e1a;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 24px rgba(0,0,0,0.18);
      }
      .owned-shoe-media--best img { max-width: 100%; max-height: 100%; }
      .shoes-best-copy { display: flex; flex-direction: column; min-width: 0; flex: 1 1 60px; }
      .shoes-best-brand {
        color: rgba(226,232,240,0.5);
        font-size: clamp(0.55rem, 1.3vw, 0.66rem);
        font-weight: 650;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .shoes-best-model {
        color: #f1f5f9;
        font-size: clamp(0.72rem, 1.6vw, 0.88rem);
        font-weight: 650;
        letter-spacing: -0.01em;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .shoes-best-empty {
        margin: 0;
        color: rgba(226,232,240,0.45);
        font-size: clamp(0.7rem, 1.6vw, 0.82rem);
        line-height: 1.35;
      }
      .shoes-best-spark {
        display: flex;
        justify-content: flex-end;
        height: 26px;
        margin-top: auto;
        color: rgba(46,209,244,0.75);
      }
      .shoes-best-spark svg { width: min(96px, 60%); height: 100%; }
      /* Too few runs in the band for a line: keep the space, so the cards do not jump 40px
         every time a filter or a purpose's effort band leaves a shoe with one or two runs. */
      .shoes-best-spark:empty { visibility: hidden; }

      /* Score block: same typography as the My Runs score cards. */
      .shoes-score-block {
        display: inline-flex;
        align-items: baseline;
        gap: 2px;
        min-width: 0;
        line-height: 0.92;
      }
      .shoes-score-block strong {
        color: #f8fafc;
        font-size: 1em;
        font-variant-numeric: tabular-nums;
        font-weight: 760 !important;
        letter-spacing: -0.075em;
        line-height: 0.92;
      }
      /* Half the number's size, exactly like the My Runs score cards. */
      .shoes-score-outof {
        align-self: baseline;
        color: rgba(226,232,240,0.48);
        font-size: .5em;
        font-weight: 650;
        letter-spacing: 0;
        line-height: 1;
      }
      .shoes-score-block.is-stale { opacity: 0.72; }
      .shoes-score-block.is-stale::after {
        content: '';
        align-self: center;
        width: 5px;
        height: 5px;
        margin-left: 5px;
        border-radius: 50%;
        background: rgba(226,232,240,0.45);
      }
      .shoes-best-score { font-size: clamp(1.25rem, 3vw, 1.85rem); }
      .shoes-other-score { font-size: clamp(1.1rem, 2.6vw, 1.5rem); }
      .shoes-detail-score { font-size: clamp(3rem, 6vw, 4.5rem); }
      .shoes-detail-score strong { text-shadow: 0 2px 16px rgba(255,255,255,.08); }
      .shoes-score-ring {
        --shoes-ring-accent-rgb: var(--shoes-card-accent-rgb, var(--shoes-accent-rgb, 46, 209, 244));
        position: relative;
        display: grid;
        flex: 0 0 auto;
        place-items: center;
        border-radius: 50%;
        isolation: isolate;
      }
      .shoes-score-ring svg {
        display: block;
        width: 100%;
        height: 100%;
        overflow: visible;
        transform: rotate(-90deg);
      }
      .shoes-score-ring-track,
      .shoes-score-ring-progress { fill: none; stroke-width: 7.5; }
      .shoes-score-ring-track {
        stroke: rgba(var(--shoes-ring-accent-rgb), 0.24);
        filter: drop-shadow(0 0 4px rgba(var(--shoes-ring-accent-rgb), 0.1));
      }
      .shoes-score-ring-progress {
        stroke: rgb(var(--shoes-ring-accent-rgb));
        stroke-linecap: round;
        filter: drop-shadow(0 0 5px rgba(var(--shoes-ring-accent-rgb), 0.34));
      }
      .shoes-score-ring::after {
        content: '';
        position: absolute;
        z-index: -1;
        width: 70%;
        height: 70%;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(var(--shoes-ring-accent-rgb), 0.16), rgba(var(--shoes-ring-accent-rgb), 0.035) 52%, transparent 76%);
        opacity: 0.72;
      }
      .shoes-score-ring-value {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        color: #f8fafc;
        font-variant-numeric: tabular-nums;
        line-height: 1;
      }
      .shoes-score-ring-value strong { color: #f8fafc; font-weight: 720 !important; letter-spacing: -0.06em; line-height: 0.9; }
      .shoes-score-ring-value .shoes-score-outof { align-self: auto; }
      .shoes-score-ring--compact { width: clamp(54px, 5vw, 64px); height: clamp(54px, 5vw, 64px); font-size: 1rem; }
      .shoes-score-ring--compact .shoes-score-ring-value strong { font-size: clamp(0.92rem, 1.6vw, 1.08rem); }
      .shoes-score-ring--compact .shoes-score-outof { font-size: 0.42rem; }
      .shoes-score-ring--detail { width: clamp(118px, 10vw, 142px); height: clamp(118px, 10vw, 142px); font-size: 1rem; }
      .shoes-score-ring--detail .shoes-score-ring-value strong { font-size: clamp(2rem, 3.8vw, 2.65rem); }
      .shoes-score-ring--detail .shoes-score-outof { font-size: 0.58rem; }
      .shoes-score-skeleton {
        display: inline-block;
        width: clamp(34px, 6vw, 52px);
        height: clamp(1.1rem, 2.8vw, 1.7rem);
        border-radius: 8px;
        background: linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.14), rgba(255,255,255,0.05));
        background-size: 220% 100%;
        animation: shoesScoreShimmer 1.25s ease-in-out infinite;
      }
      @keyframes shoesScoreShimmer {
        0% { background-position: 120% 0; }
        100% { background-position: -120% 0; }
      }
      /* Pending score: the gray block has the loaded score's exact box, so nothing moves when
         the score lands. Rings keep their size and neutral track; the text score keeps its line
         box and the quality bar under it keeps its empty track. */
      .shoes-score-ring.is-pending { --shoes-ring-accent-rgb: 148, 163, 184; }
      .shoes-score-ring.is-pending::after { opacity: 0.3; }
      .shoes-score-ring.is-pending .shoes-score-ring-track { stroke: rgba(148, 163, 184, 0.16); filter: none; }
      .shoes-score-ring.is-pending .shoes-score-skeleton { width: 46%; height: 20%; border-radius: 6px; }
      .shoes-other-score.is-pending { align-items: center; }
      .shoes-other-score.is-pending .shoes-score-skeleton { width: 2.2em; height: 0.72em; border-radius: 6px; }
      .shoes-chart-wrap.is-pending {
        border-radius: 14px;
        background: linear-gradient(90deg, rgba(255,255,255,0.035), rgba(255,255,255,0.07), rgba(255,255,255,0.035));
        background-size: 220% 100%;
        animation: shoesScoreShimmer 1.25s ease-in-out infinite;
      }
      .shoes-pro-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 26px;
        padding: 2px 10px;
        border: 1px solid rgba(46,209,244,0.3);
        border-radius: 999px;
        background: rgba(46,209,244,0.1);
        cursor: pointer;
      }
      .shoes-pro-pill img { width: auto; height: 13px; object-fit: contain; }
      .shoes-score-bar {
        width: 100%;
        height: 5px;
        margin-top: 6px;
        border-radius: 999px;
        background: rgba(255,255,255,0.07);
        overflow: hidden;
      }
      .shoes-score-bar span {
        display: block;
        height: 100%;
        border-radius: 999px;
        background: rgba(255,255,255,0.2);
        transition: width 0.3s ease;
      }

      /* Row 2: the open shoe. */
      .shoes-detail-card {
        --shoes-card-accent-rgb: var(--shoes-accent-rgb, 59, 130, 246);
        /* The shared shoe-photo rules colour their border with --owned-accent-rgb, which nothing
           set here, so the photo box fell back to a solid white outline. */
        --owned-accent-rgb: var(--shoes-accent-rgb, 59, 130, 246);
        display: block;
        isolation: isolate;
        border: 1px solid rgba(var(--shoes-accent-rgb), 0.24);
        background:
          radial-gradient(ellipse at 82% 8%, rgba(var(--shoes-accent-rgb), 0.14), transparent 46%),
          linear-gradient(156deg, rgba(20,26,38,0.91), rgba(8,13,27,0.88));
        box-shadow: 0 18px 48px rgba(0,0,0,0.28), 0 0 36px rgba(var(--shoes-accent-rgb), 0.1), inset 0 1px 0 rgba(255,255,255,0.07);
        backdrop-filter: blur(12px);
      }
      .shoes-detail-card[data-purpose="daily"] { --shoes-accent-rgb: 59, 130, 246; }
      .shoes-detail-card[data-purpose="tempo"] { --shoes-accent-rgb: 252, 76, 2; }
      .shoes-detail-card[data-purpose="race"] { --shoes-accent-rgb: 255, 77, 90; }
      .shoes-detail-empty {
        color: rgba(226,232,240,0.55);
        font-size: clamp(0.8rem, 1.8vw, 0.92rem);
        line-height: 1.5;
      }
      /* One-third identity, two-thirds score: both share the detail card's surface. */
      .shoes-detail-summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
        gap: clamp(1.25rem, 3vw, 2.5rem);
        align-items: stretch;
      }
      .shoes-detail-grid {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: clamp(0.8rem, 2vw, 1.25rem);
        min-width: 0;
        text-align: center;
        padding-right: clamp(1rem, 2vw, 2rem);
        border-right: 1px solid rgba(255,255,255,0.07);
      }
      .shoes-detail-media { display: flex; align-items: center; justify-content: center; min-width: 0; }
      .owned-shoe-media.owned-shoe-media--detail {
        width: 100%;
        max-width: 300px;
        height: clamp(130px, 16vw, 200px);
        padding: 12px;
        border: 0;
        border-radius: 1rem;
        background: radial-gradient(ellipse at center, rgba(var(--shoes-accent-rgb),0.08), transparent 70%);
        box-shadow: none;
      }
      /* The shared thumbnail rule caps every shoe image at 80 x 52px; the hero image fills its box. */
      .owned-shoe-media--detail img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
      .shoes-detail-main { min-width: 0; }
      .shoes-detail-brand {
        margin: 0 0 4px;
        color: rgba(226,232,240,0.5);
        font-size: clamp(0.6rem, 1.4vw, 0.7rem);
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
      }
      .shoes-detail-title-row {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
        min-width: 0;
      }
      .shoes-detail-name {
        margin: 0;
        font-size: clamp(1.25rem, 3.4vw, 2rem);
        font-weight: 720 !important;
        letter-spacing: -0.03em;
        line-height: 1.1;
        min-width: 0;
      }
      .shoes-detail-pill {
        display: inline-flex;
        align-items: center;
        padding: 3px 10px;
        border: 1px solid rgba(var(--shoes-accent-rgb), 0.6);
        border-radius: 999px;
        color: rgba(226,232,240,0.9);
        font-size: clamp(0.6rem, 1.4vw, 0.72rem);
        font-weight: 650;
        letter-spacing: 0.02em;
        white-space: nowrap;
      }
      .shoes-detail-verdict {
        margin: 6px 0 0;
        color: rgba(226,232,240,0.55);
        font-size: clamp(0.76rem, 1.7vw, 0.88rem);
        line-height: 1.4;
      }
      .shoes-detail-score-label {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        margin: 0 0 8px;
        color: rgba(226,232,240,0.58);
        font-size: clamp(0.6rem, 1.4vw, 0.7rem);
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }
      /* Centered score, two equal components underneath, then assigned distance. */
      .shoes-detail-score-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: min(100%, max(340px, 60%));
        justify-self: center;
        gap: 1.1rem;
        align-items: start;
        min-width: 0;
      }
      .shoes-detail-score-col { min-width: 0; }
      .shoes-detail-score-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
      }
      .shoes-detail-score-ring-wrap { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; }
      .shoes-detail-score-ring-wrap .shoes-detail-score-meta { text-align: center; }
      /* The two parts of a Shoe score as bars on the score's own 0-100 scale. The weights,
         sampling interval and model limits sit behind "How this score is worked out". */
      .shoes-composite-breakdown {
        width: 100%;
        min-width: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px clamp(1rem, 2.5vw, 2rem);
      }
      .shoes-composite-title {
        grid-column: 1 / -1;
        text-align: center;
        margin: 2px 0 0;
        color: rgba(226,232,240,0.62);
        font-size: 0.66rem;
        font-weight: 760;
        letter-spacing: 0.1em;
        text-transform: uppercase;
      }
      .shoes-composite-part { display: grid; gap: 5px; }
      .shoes-composite-part-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
      .shoes-composite-part-head span { color: rgba(248,250,252,0.9); font-size: 0.86rem; font-weight: 650; }
      .shoes-composite-part-head strong { color: #fff; font-size: 1.15rem; font-weight: 760; letter-spacing: -0.02em; }
      .shoes-composite-part-bar {
        height: 6px;
        border-radius: 999px;
        background: rgba(255,255,255,0.08);
        overflow: hidden;
      }
      .shoes-composite-part-bar i { display: block; height: 100%; border-radius: inherit; }
      .shoes-composite-part small { color: rgba(226,232,240,0.56); font-size: 0.72rem; line-height: 1.35; }
      .shoes-composite-more { grid-column: 1 / -1; margin-top: 2px; }
      .shoes-composite-more summary { margin-inline: auto; }
      .shoes-composite-more summary {
        width: fit-content;
        color: rgba(141,245,255,0.82);
        font-size: 0.74rem;
        font-weight: 650;
        cursor: pointer;
      }
      .shoes-composite-more summary:hover { color: #dffbff; }
      .shoes-composite-more p { margin: 8px 0 0; color: rgba(226,232,240,0.6); font-size: 0.74rem; line-height: 1.5; }
      .shoes-composite-breakdown.is-pending .shoes-composite-part-bar i { width: 60%; background: rgba(255,255,255,0.1); }
      .shoes-performance-evidence { margin: 1rem 0; padding: 1rem; border: 1px solid rgba(46,209,244,.22); border-radius: 16px; background: rgba(6,18,32,.65); }
      .shoes-evidence-eyebrow { color: #79dcec; font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
      .shoes-performance-evidence h4 { margin: .4rem 0; font-size: clamp(1.05rem,2vw,1.35rem); color: #f1f5f9; }
      .shoes-performance-evidence p, .shoes-model-detail p { margin: .4rem 0 0; color: #a6b1c1; font-size: .75rem; line-height: 1.5; }
      .shoes-performance-evidence .shoes-evidence-limit { margin-top: .7rem; font-size: .7rem; }
      .shoes-evidence-count { display: block; color: #a6b1c1; font-size: .7rem; line-height: 1.4; }
      .shoes-model-detail { margin-top: 1rem; border-top: 1px solid rgba(148,163,184,.16); padding-top: .7rem; }
      .shoes-model-detail summary { cursor: pointer; color: #a6b1c1; font-size: .75rem; }
      .shoes-model-score { margin-top: .5rem; }
      /* Form-metric bars and the assigned-distance slider, beside the score. It reuses the row
         classes for the bar and slider styles, so the row's own box styling is switched off. */
      .shoes-detail-insights.owned-shoe-row-v2 {
        flex: 1 1 260px;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.7rem, 1.6vw, 1rem);
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        box-shadow: none;
        cursor: default;
      }
      .shoes-detail-insights .owned-shoe-metric-bars,
      .shoes-detail-insights .owned-shoe-distance-block { width: 100%; max-width: none; margin: 0; align-items: stretch; text-align: left; }
      .shoes-detail-insights .owned-shoe-metric-bars { gap: 0.55rem; }
      .shoes-detail-insights .owned-shoe-metric-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.75rem;
      }
      .shoes-detail-insights .owned-shoe-metric-group-title {
        margin: 0;
        text-align: left;
        color: rgba(226,232,240,0.68);
        font-size: clamp(0.62rem, 1.4vw, 0.72rem);
        font-weight: 760;
        letter-spacing: 0.11em;
        text-transform: uppercase;
      }
      .shoes-detail-insights .owned-shoe-metric-context {
        color: rgba(226,232,240,0.4);
        font-size: clamp(0.58rem, 1.2vw, 0.68rem);
        font-weight: 600;
        white-space: nowrap;
      }
      .shoes-detail-insights .owned-shoe-metric-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: clamp(0.35rem, 0.9vw, 0.55rem);
      }
      /* The old bars and percentage deltas hid the values. Each metric is now a readable
         glass tile with its abbreviation, value, and plain-language name. */
      .shoes-detail-insights .owned-shoe-metric-bar-row {
        position: relative;
        display: flex;
        width: 100%;
        min-width: 0;
        min-height: 72px;
        margin: 0;
        padding: 0.62rem 0.58rem 0.55rem;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 0.1rem;
        border: 1px solid rgba(var(--shoes-accent-rgb), 0.14);
        border-radius: 0.78rem;
        background: linear-gradient(155deg, rgba(18,26,42,0.8), rgba(7,12,23,0.7));
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.035), 0 10px 24px -20px rgba(var(--shoes-accent-rgb), 0.65);
        overflow: hidden;
      }
      .shoes-detail-insights .owned-shoe-metric-bar-row::before {
        content: '';
        position: absolute;
        inset: 0 auto 0 0;
        width: 2px;
        background: var(--metric-color, rgba(226,232,240,0.34));
        opacity: 0.72;
      }
      .shoes-detail-insights .owned-shoe-metric-bar-row.muted::before { opacity: 0.2; }
      .shoes-detail-insights .owned-shoe-metric-label {
        color: rgba(226,232,240,0.52);
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.11em;
        line-height: 1;
      }
      .shoes-detail-insights .owned-shoe-metric-value {
        width: auto;
        color: #f8fafc;
        font-size: clamp(1rem, 2vw, 1.28rem);
        font-weight: 760;
        letter-spacing: -0.035em;
        line-height: 1.15;
      }
      .shoes-detail-insights .owned-shoe-metric-name {
        max-width: 100%;
        color: rgba(226,232,240,0.42);
        font-size: clamp(0.5rem, 1.05vw, 0.58rem);
        font-weight: 600;
        line-height: 1.15;
        overflow-wrap: anywhere;
      }
      .shoes-detail-insights .owned-shoe-metric-bar-row.muted .owned-shoe-metric-value,
      .shoes-detail-insights .owned-shoe-metric-bar-row.muted .owned-shoe-metric-name { color: rgba(226,232,240,0.32); }
      .shoes-detail-insights .owned-shoe-distance-block {
        gap: 0.45rem;
        padding: 0.72rem 0.82rem 0.7rem;
        border: 1px solid rgba(var(--shoes-accent-rgb), 0.16);
        border-radius: 0.9rem;
        background: linear-gradient(150deg, rgba(18,26,42,0.7), rgba(7,12,23,0.62));
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.035), 0 14px 30px -28px rgba(var(--shoes-accent-rgb), 0.8);
      }
      .shoes-detail-insights .owned-shoe-distance-caption {
        color: rgba(226,232,240,0.68);
        font-size: clamp(0.62rem, 1.4vw, 0.72rem);
        letter-spacing: 0.1em;
      }
      .shoes-detail-insights .owned-shoe-distance-value {
        min-width: 58px;
        padding: 0.22rem 0.5rem;
        border: 1px solid color-mix(in srgb, var(--distance-color, #10b981) 52%, transparent);
        border-radius: 999px;
        background: color-mix(in srgb, var(--distance-color, #10b981) 12%, rgba(7,12,23,0.86));
        font-size: clamp(0.72rem, 1.6vw, 0.84rem);
        font-weight: 760;
        text-align: center;
        box-shadow: 0 0 18px color-mix(in srgb, var(--distance-color, #10b981) 18%, transparent);
      }
      .shoes-detail-insights .owned-shoe-distance-helper {
        margin: -0.1rem 0 0;
        color: rgba(226,232,240,0.42);
        font-size: clamp(0.58rem, 1.25vw, 0.68rem);
        line-height: 1.35;
      }
      .shoes-detail-insights .owned-shoe-distance-slider { height: 22px; }
      .shoes-detail-insights .owned-shoe-distance-slider::-webkit-slider-runnable-track {
        height: 8px;
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 999px;
        background:
          linear-gradient(90deg, var(--slider-color), var(--slider-color)) left center / var(--slider-fill) 100% no-repeat,
          linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.08)) left center / var(--slider-ghost-end) 100% no-repeat,
          rgba(255,255,255,0.045);
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.48), 0 0 14px color-mix(in srgb, var(--slider-color) 10%, transparent);
      }
      .shoes-detail-insights .owned-shoe-distance-slider::-moz-range-track {
        height: 8px;
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 999px;
        background:
          linear-gradient(90deg, var(--slider-color), var(--slider-color)) left center / var(--slider-fill) 100% no-repeat,
          linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.08)) left center / var(--slider-ghost-end) 100% no-repeat,
          rgba(255,255,255,0.045);
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.48), 0 0 14px color-mix(in srgb, var(--slider-color) 10%, transparent);
      }
      .shoes-detail-insights .owned-shoe-distance-slider::-webkit-slider-thumb {
        width: 17px;
        height: 17px;
        margin-top: -5px;
        border: 3px solid #0b1322;
        background: var(--slider-color);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--slider-color) 58%, transparent), 0 0 16px color-mix(in srgb, var(--slider-color) 48%, transparent);
      }
      .shoes-detail-insights .owned-shoe-distance-slider::-moz-range-thumb {
        width: 13px;
        height: 13px;
        border: 3px solid #0b1322;
        background: var(--slider-color);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--slider-color) 58%, transparent), 0 0 16px color-mix(in srgb, var(--slider-color) 48%, transparent);
      }
      .shoes-detail-insights .owned-shoe-distance-scale {
        color: rgba(226,232,240,0.42);
        font-size: clamp(0.52rem, 1.15vw, 0.62rem);
      }
      .shoes-detail-insights .owned-shoe-distance-scale [data-owned-run-count] {
        color: rgba(226,232,240,0.72);
        font-weight: 700;
      }
      .shoes-detail-insights .owned-shoe-summary-block-heart-rate { width: 100%; max-width: none; margin: 0; align-items: stretch; text-align: left; }
      .shoes-detail-insights .owned-shoe-heart-rate-reading { justify-content: flex-start; }
      /* A shoe without a score says so in words; a dash at score size rendered as a white block. */
      .shoes-score-none {
        color: rgba(226,232,240,0.5);
        font-size: clamp(0.72rem, 1.5vw, 0.82rem);
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.2;
      }
      .shoes-detail-score-meta {
        margin: 8px 0 0;
        color: rgba(226,232,240,0.44);
        font-size: clamp(0.68rem, 1.5vw, 0.76rem);
      }
      .shoes-inline-tooltip { display: inline-flex; vertical-align: middle; }
      .shoes-inline-tooltip .section-tooltip-btn { color: rgba(226,232,240,0.5); }

      /* The chart shares the selected shoe's surface. */
      .shoes-chart-panel {
        margin-top: clamp(1.5rem, 3vw, 2rem);
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }
      .shoes-chart-toolbar {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 14px 24px;
        margin-bottom: 20px;
      }
      .shoes-chart-filter {
        display: grid;
        gap: 7px;
        min-width: 0;
        color: rgba(226,232,240,0.55);
        font-size: 0.66rem;
        font-weight: 650;
      }
      .shoes-chart-filter > span { letter-spacing: 0.07em; text-transform: uppercase; }
      .shoes-chart-metric { flex: 0 1 290px; }
      .shoes-chart-period { width: 160px; }
      .shoes-chart-select {
        appearance: none;
        width: 100%;
        min-width: 0;
        min-height: 42px;
        padding: 10px 36px 10px 13px;
        border: 1px solid rgba(148,163,184,0.24);
        border-radius: 10px;
        background-color: rgba(15,23,38,0.72);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center;
        color: rgba(248,250,252,0.94);
        color-scheme: dark;
        font: inherit;
        font-size: 0.8rem;
        font-weight: 550;
        cursor: pointer;
      }
      .shoes-chart-select:hover { border-color: rgba(46,209,244,0.45); }
      .shoes-chart-select:focus-visible { outline: 2px solid #2ed1f4; outline-offset: 3px; }
      .shoes-chart-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: clamp(0.6rem, 1.6vw, 0.9rem);
      }
      .shoes-chart-head-copy { min-width: 0; flex: 1 1 220px; }
      .shoes-chart-head-aside { display: grid; gap: 12px; flex: 0 1 440px; min-width: 0; }
      .shoes-chart-averages { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; }
      .shoes-chart-average {
        --shoe-series-color: #2ED1F4;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        min-width: 0;
        padding: 12px 14px;
        border: 1px solid rgba(255,255,255,0.08);
        border-top: 2px solid var(--shoe-series-color);
        border-radius: 12px;
        background: rgba(255,255,255,0.025);
      }
      .shoes-chart-average--compare { --shoe-series-color: #a855f7; }
      .shoes-chart-average-shoe { font-size: 0.75rem; font-weight: 650; color: rgba(248,250,252,0.9); overflow-wrap: anywhere; }
      .shoes-chart-average-label { color: rgba(226,232,240,0.55); font-size: 0.66rem; }
      .shoes-chart-average-value { color: var(--shoe-series-color); font-size: clamp(1.15rem, 2.2vw, 1.5rem); font-weight: 750; line-height: 1.2; }
      .shoes-chart-average-context { color: rgba(226,232,240,0.55); font-size: 0.66rem; line-height: 1.4; }
      .shoes-chart-title {
        display: flex;
        align-items: center;
        gap: 5px;
        margin: 0;
        font-size: clamp(0.9rem, 2vw, 1.05rem);
        font-weight: 700 !important;
        letter-spacing: -0.015em;
      }
      .shoes-chart-hint {
        margin: 4px 0 0;
        color: rgba(226,232,240,0.5);
        font-size: clamp(0.7rem, 1.5vw, 0.8rem);
        line-height: 1.4;
      }
      .shoes-chart-head-controls {
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
        gap: 8px;
      }
      .shoes-chart-head-controls .shoes-value-mode { min-height: 42px; }
      .shoes-value-mode {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        padding: 3px;
        border: 1px solid rgba(255,255,255,0.09);
        border-radius: 999px;
        background: rgba(255,255,255,0.03);
        flex-wrap: wrap;
      }
      .shoes-value-mode-btn {
        appearance: none;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: rgba(226,232,240,0.58);
        font: inherit;
        font-size: clamp(0.62rem, 1.4vw, 0.72rem);
        font-weight: 650;
        padding: 5px clamp(0.5rem, 1.6vw, 0.8rem);
        cursor: pointer;
      }
      .shoes-value-mode-btn.is-active { background: rgba(46,209,244,0.16); color: #dffbff; }
      .shoes-chart-wrap { position: relative; height: clamp(230px, 34vw, 340px); }
      .shoes-chart-wrap canvas { width: 100% !important; height: 100% !important; }
      .shoes-chart-note {
        margin: 8px 0 0;
        color: rgba(226,232,240,0.48);
        font-size: clamp(0.7rem, 1.5vw, 0.78rem);
      }
      /* "Not enough runs for an average line yet" / "No runs with this measurement..." sit on the
         chart as a label, not as a line under it that pushed the rest of the page down. */
      .shoes-chart-wrap .shoes-chart-note {
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
        max-width: calc(100% - 24px);
        margin: 0;
        padding: 4px 12px;
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 999px;
        background: rgba(6,12,24,0.88);
        color: rgba(226,232,240,0.7);
        font-size: 0.72rem;
        text-align: center;
        pointer-events: none;
      }
      .shoes-chart-wrap canvas[style*="display: none"] + .shoes-chart-note { top: 50%; transform: translate(-50%, -50%); }
      .shoes-chart-footnote {
        margin: 10px 0 0;
        color: rgba(226,232,240,0.4);
        font-size: 0.68rem;
        line-height: 1.45;
      }
      .shoes-chart-legend {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 14px;
        min-height: 26px;
        margin: 0 0 8px;
      }
      .shoes-chart-legend[hidden] { display: none; }
      .shoes-chart-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: rgba(226,232,240,0.72);
        font-size: clamp(0.68rem, 1.5vw, 0.76rem);
        font-weight: 600;
      }
      .shoes-chart-chip i { width: 10px; height: 3px; border-radius: 999px; }
      .shoes-chart-chip--compare {
        padding: 2px 4px 2px 10px;
        border: 1px solid rgba(168,85,247,0.4);
        border-radius: 999px;
        background: rgba(168,85,247,0.1);
      }
      .shoes-chart-chip-remove {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: rgba(226,232,240,0.7);
        font-size: 0.95rem;
        line-height: 1;
        cursor: pointer;
      }
      .shoes-chart-chip-remove:hover,
      .shoes-chart-chip-remove:focus-visible { background: rgba(168,85,247,0.28); color: #fff; outline: none; }
      .shoes-chart-compare-hint { color: rgba(226,232,240,0.46); font-size: 0.72rem; }
      .shoes-chart-compare-hint b { color: rgba(226,232,240,0.7); font-weight: 650; }

      /* Row 3: the rest of the open category. */
      .shoes-other-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
        gap: clamp(0.5rem, 1.6vw, 0.9rem);
      }
      .shoes-other-card {
        position: relative;
        isolation: isolate;
        display: flex;
        align-items: center;
        gap: clamp(0.5rem, 1.4vw, 0.8rem);
        min-width: 0;
        padding: clamp(0.6rem, 1.6vw, 0.9rem);
        border: 1px solid rgba(var(--shoes-accent-rgb), 0.16);
        border-radius: 1rem;
        background:
          radial-gradient(ellipse at 82% 8%, rgba(var(--shoes-accent-rgb), 0.09), transparent 48%),
          linear-gradient(158deg, rgba(20,26,38,0.84), rgba(11,15,24,0.76));
        box-shadow: 0 8px 22px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.04);
        color: inherit;
        text-align: left;
        cursor: pointer;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
      }
      .shoes-other-card:hover { border-color: rgba(var(--shoes-accent-rgb), 0.4); }
      .shoes-other-card.is-active {
        border-color: rgba(var(--shoes-accent-rgb), 0.7);
        box-shadow: 0 0 0 1px rgba(var(--shoes-accent-rgb), 0.24), 0 14px 36px -22px rgba(var(--shoes-accent-rgb), 0.85);
      }
      /* The compared shoe wears the chart's compare purple, so card and line read as one. */
      .shoes-other-card.is-compared {
        border-color: rgba(168,85,247,0.7);
        box-shadow: 0 0 0 1px rgba(168,85,247,0.22), 0 14px 36px -22px rgba(168,85,247,0.8);
      }
      /* Under the score, so the shoe name keeps the card's full width. */
      .shoes-other-compare,
      .shoes-other-open-tag {
        flex: 0 0 auto;
        align-self: flex-start;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 26px;
        margin-top: 8px;
        padding: 0 12px;
        border-radius: 999px;
        font: inherit;
        font-size: 0.68rem;
        font-weight: 700;
        white-space: nowrap;
      }
      .shoes-other-compare {
        border: 1px solid rgba(168,85,247,0.45);
        background: rgba(168,85,247,0.08);
        color: #e9d5ff;
        cursor: pointer;
        transition: background 0.2s ease, border-color 0.2s ease;
      }
      .shoes-other-compare:hover,
      .shoes-other-compare:focus-visible { background: rgba(168,85,247,0.22); border-color: rgba(168,85,247,0.8); outline: none; }
      .shoes-other-compare.is-active { background: rgba(168,85,247,0.3); border-color: #a855f7; color: #fff; }
      .shoes-other-open-tag {
        border: 1px solid rgba(var(--shoes-accent-rgb), 0.4);
        color: rgba(226,232,240,0.75);
      }
      .shoes-other-media { flex: 0 0 auto; }
      .owned-shoe-media--other { width: clamp(48px, 7vw, 66px); height: clamp(34px, 5vw, 46px); }
      .shoes-other-copy { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
      .shoes-other-name {
        color: rgba(226,232,240,0.82);
        font-size: clamp(0.7rem, 1.5vw, 0.8rem);
        font-weight: 620;
        line-height: 1.25;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .shoes-other-empty {
        color: rgba(226,232,240,0.45);
        font-size: clamp(0.74rem, 1.6vw, 0.85rem);
      }

      @media (max-width: 640px) {
        /* Full-width toggle with two equal buttons; the source switcher keeps its own rules. */
        .shoes-score-toggle {
          width: 100%;
          justify-content: center;
          flex-wrap: nowrap;
        }
        .shoes-score-toggle-btn {
          flex: 1 1 0;
          min-width: 0;
          text-align: center;
          white-space: nowrap;
          font-size: 0.74rem;
          padding: 7px 8px;
        }
        .shoes-row-head { align-items: flex-start; }
        .shoes-best-grid { gap: 6px; }
        .shoes-best-card { padding: 0.6rem 0.5rem; gap: 6px; align-items: center; text-align: center; }
        .shoes-best-head { justify-content: center; gap: 5px; }
        .shoes-best-award { top: 6px; right: 6px; width: 17px; height: 17px; }
        .shoes-best-award img { width: 17px; height: 17px; }
        .shoes-best-icon,
        .shoes-best-icon img { width: 24px; height: 24px; }
        .shoes-best-icon { flex-basis: 24px; }
        .shoes-best-body { flex-direction: column; align-items: center; gap: 4px; }
        .shoes-best-copy { align-items: center; text-align: center; width: 100%; }
        .shoes-best-model { font-size: 0.7rem; white-space: nowrap; width: 100%; }
        .owned-shoe-media--best { width: 100%; max-width: 78px; height: 38px; }
        .shoes-best-spark { display: none; }
        .shoes-detail-summary { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
        .shoes-detail-grid { gap: 0.75rem; padding: 0 0 1.25rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
        .owned-shoe-media.owned-shoe-media--detail { width: 220px; max-width: 100%; height: 132px; padding: 5px; }
        .shoes-detail-score-row { grid-template-columns: minmax(0, 1fr); width: 100%; gap: 1.1rem; }
        .shoes-detail-score-body { gap: 0.9rem; }
        .shoes-detail-score-ring-wrap .shoes-score-ring--detail { width: 104px; height: 104px; }
        .shoes-detail-insights.owned-shoe-row-v2 { flex-basis: 100%; }
        .shoes-detail-insights .owned-shoe-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .shoes-detail-insights .owned-shoe-metric-bar-row { min-height: 68px; padding: 0.55rem; }
        .shoes-detail-insights .owned-shoe-distance-block { padding: 0.68rem 0.72rem 0.65rem; }
        .shoes-chart-metric { flex-basis: 100%; }
        .shoes-chart-period { flex: 0 1 160px; }
        .shoes-chart-head-controls { width: 100%; justify-content: space-between; }
        .shoes-chart-head-aside { flex-basis: 100%; width: 100%; }
        .shoes-chart-average { padding: 10px; }
        .shoes-chart-wrap { height: 230px; }
        .shoes-other-grid {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 6px;
        }
        .shoes-breakdown-grid { grid-template-columns: minmax(0, 1fr); }
        .shoes-other-card { flex-direction: column; align-items: center; gap: 5px; padding: 0.5rem 0.35rem; text-align: center; }
        .owned-shoe-media--other { width: 100%; max-width: 58px; height: 30px; }
        .shoes-other-card { overflow: hidden; }
        .shoes-other-copy { align-items: center; width: 100%; }
        .shoes-other-compare,
        .shoes-other-open-tag { align-self: stretch; min-height: 26px; margin-top: 6px; padding: 0 4px; font-size: 0.6rem; }
        /* Centred flex children size to their text, so pin the width or the name spills into the next card. */
        .shoes-other-name {
          width: 100%;
          font-size: 0.62rem;
          white-space: normal;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          line-clamp: 2;
          overflow-wrap: anywhere;
        }
        .shoes-other-score strong { font-size: 1rem; }
      }

      @media (prefers-reduced-motion: reduce) {
        .shoes-glow-tone { animation: none !important; transition: none !important; }
        .shoes-score-skeleton,
        .shoes-chart-wrap.is-pending { animation: none; }
      }
