  /* PROFILE VIEW */
  .pv-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
  .pv-actions { display: flex; gap: 10px; align-items: center; padding-top: 8px; flex-wrap: wrap; }
  button.action {
    color:var(--muted);
    background:none;
    border:none;
    cursor: pointer;
    line-height:0;
    transition:color 0.15s
  }
  button.action span.material-icons {
    font-size:18px;
    vertical-align:middle
  }
  .pv-card-action-tr {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
  }
  
  
  .history-row { background: var(--surface2); border: 1px solid var(--border); padding: 14px 18px; display: flex; align-items: center; gap: 16px; cursor: pointer; transition: border-color 0.2s; border-radius: 2px; }
  .history-row:hover { border-color: var(--accent); }
  .history-date { font-family: 'Barlow', sans-serif; font-size: 13px; color: var(--muted); width: 140px; flex-shrink: 0; }
  .history-score-num { font-family: 'Barlow Condensed', sans-serif; font-size: 30px; font-weight: 800; color: var(--accent); width: 52px; }
  .history-bar-wrap { flex: 1; height: 4px; background: var(--border); border-radius: 2px; }
  .history-bar-fill { height: 100%; background: var(--accent); border-radius: 2px; }
  .history-level { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: 1px; text-transform: uppercase; }

  /* MODAL */
  .modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.88); z-index: 1000; display: none; align-items: center; justify-content: center; padding: 24px; }
  .modal-overlay.open { display: flex; animation: fadeUp 0.2s ease; }
  .modal { background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--accent); padding: 36px; width: 100%; max-width: 440px; border-radius: 3px; }
  .modal-title { font-family: 'Barlow Condensed', sans-serif; font-size: 32px; font-weight: 800; letter-spacing: 2px; margin-bottom: 6px; text-transform: uppercase; }
  .modal-sub { font-family: 'Barlow', sans-serif; font-size: 13px; color: var(--muted); margin-bottom: 24px; }
  .modal-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
  .modal-field label { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: 2px; text-transform: uppercase; }
  .modal-field input { background: var(--surface2); border: 1px solid var(--border); color: var(--text); font-family: 'Barlow', sans-serif; font-size: 16px; font-weight: 500; padding: 12px 16px; outline: none; width: 100%; transition: border-color 0.2s; border-radius: 2px; }
  .modal-field input:focus { border-color: var(--accent); }
  .modal-actions { display: flex; gap: 12px; margin-top: 24px; }

  /* TOAST */
  .toast {
    position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(20px);
    background: var(--accent); color: #fff; font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700;
    letter-spacing: 2px; padding: 11px 28px; z-index: 2000; border-radius: 2px; text-transform: uppercase;
    opacity: 0; transition: opacity 0.3s, transform 0.3s; pointer-events: none;
  }
  .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

  /* LEADERBOARD */
  /* ── LEADERBOARD ──────────────────────────────────────── */
  .lb-controls { display: flex; gap: 12px; margin-bottom: 28px; flex-wrap: wrap; align-items: flex-end; }
  .lb-select { background: var(--surface); border: 1px solid var(--border); color: var(--text); font-family: 'DM Mono', monospace; font-size: 16px; padding: 10px 14px; outline: none; cursor: pointer; transition: border-color 0.2s; -webkit-appearance: none; min-width: 160px; border-radius: 3px; letter-spacing: 0.5px; }
  .lb-select:focus { border-color: var(--accent); }
  .lb-toggle { display: flex; border: 1px solid var(--border); overflow: hidden; border-radius: 3px; }
  .lb-toggle-btn { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 2px; padding: 9px 16px; background: transparent; border: none; color: var(--muted); cursor: pointer; transition: background 0.15s, color 0.15s; text-transform: uppercase; white-space: nowrap; }
  .lb-toggle-btn.active { background: var(--accent); color: #0d2448; }

  /* Table */
  .lb-table { width: 100%; border-collapse: collapse; }
  .lb-table thead tr { border-bottom: 1px solid var(--border); }
  .lb-table th { font-family: 'DM Mono', monospace; font-size: 9px; font-weight: 400; letter-spacing: 2px; color: var(--muted); text-align: left; padding: 10px 16px; text-transform: uppercase; }
  .lb-table th.r { text-align: right; }
  .lb-row { border-bottom: 1px solid rgba(30,61,110,0.4); transition: background 0.12s; cursor: default; }
  .lb-row:hover { background: rgba(255,255,255,0.025); }
  .lb-row.is-me { background: rgba(87,187,70,0.05); border-left: 3px solid var(--accent); }
  .lb-row.top3 { background: rgba(87,187,70,0.03); }
  .lb-row td { font-family: 'Barlow', sans-serif; font-size: 13px; color: var(--muted); padding: 14px 16px; vertical-align: middle; }

  /* Rank cell */
  .lb-rank { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; color: var(--muted); width: 48px; text-align: center; letter-spacing: 1px; }
  .lb-rank-medal { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0; }
  .lb-rank-gold   { background: rgba(255,204,71,0.15); color: #ffcc47; border: 1px solid rgba(255,204,71,0.3); }
  .lb-rank-silver { background: rgba(180,180,200,0.12); color: #b0b0c8; border: 1px solid rgba(180,180,200,0.25); }
  .lb-rank-bronze { background: rgba(180,120,60,0.12); color: #c88048; border: 1px solid rgba(180,120,60,0.25); }

  /* Name cell */
  .lb-name { font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 600; color: var(--text); }
  .lb-gym-tag { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--muted); letter-spacing: 1px; margin-left: 8px; padding: 2px 6px; border: 1px solid var(--border); border-radius: 2px; text-transform: uppercase; vertical-align: middle; }
  .lb-name-you { font-family: 'DM Mono', monospace; font-size: 9px; font-weight: 700; color: var(--accent); margin-left: 8px; letter-spacing: 2px; text-transform: uppercase; vertical-align: middle; }
  .lb-name-local { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--muted); margin-left: 6px; letter-spacing: 1px; vertical-align: middle; }
  .lb-meta-line { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--muted2); margin-top: 2px; letter-spacing: 0.5px; }

  /* Score + level */
  .lb-score { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 800; color: var(--text); text-align: right; line-height: 1; }
  .lb-score-sub { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--muted); letter-spacing: 1px; text-align: right; margin-top: 2px; }
  .lb-level-pill { display: inline-block; padding: 3px 8px; border-radius: 2px; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

  /* Bar */
  .lb-bar-cell { width: 100px; padding-right: 20px !important; }
  .lb-bar-wrap { height: 3px; background: rgba(42,79,133,0.3); border-radius: 2px; }
  .lb-bar-fill { height: 100%; border-radius: 2px; transition: width 0.6s ease; }

  /* Your rank callout */
  .lb-your-rank { background: var(--surface); border: 1px solid rgba(87,187,70,0.2); border-left: 3px solid var(--accent); padding: 20px 28px; margin-bottom: 24px; display: flex; align-items: center; gap: 40px; flex-wrap: wrap; border-radius: 3px; position: relative; overflow: hidden; }
  .lb-your-rank::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(87,187,70,0.04) 0%, transparent 60%); pointer-events: none; }
  .lb-your-rank-num { font-family: 'Barlow Condensed', sans-serif; font-size: 72px; font-weight: 800; line-height: 1; color: var(--accent); }
  .lb-your-rank-label { font-family: 'DM Mono', monospace; font-size: 9px; font-weight: 400; color: var(--muted); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 4px; }
  .lb-your-rank-detail { font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 700; color: var(--text); line-height: 1.1; }

  /* Profile selector */
  .lb-profile-select { display: flex; gap: 6px; margin-bottom: 20px; flex-wrap: wrap; }
  .lb-profile-btn { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 1.5px; padding: 6px 14px; border: 1px solid var(--border); background: transparent; color: var(--muted); cursor: pointer; transition: all 0.15s; text-transform: uppercase; border-radius: 2px; }
  .lb-profile-btn.active { border-color: var(--accent); color: var(--accent); background: rgba(87,187,70,0.07); }
  .lb-profile-btn:hover { border-color: var(--muted2); color: var(--text); }

  /* Search */
  .lb-search-wrap { flex: 1; min-width: 180px; position: relative; }
  .lb-search-wrap input { width: 100%; background: var(--surface); border: 1px solid var(--border); color: var(--text); font-family: 'DM Mono', monospace; font-size: 16px; padding: 10px 14px 10px 34px; border-radius: 3px; outline: none; letter-spacing: 0.5px; transition: border-color 0.2s; }
  .lb-search-wrap input:focus { border-color: var(--accent); }
  .lb-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--muted2); font-size: 13px; pointer-events: none; }

  .lb-result-count { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--muted); letter-spacing: 1.5px; margin-bottom: 12px; text-transform: uppercase; }
  .lb-empty { text-align: center; padding: 80px 24px; font-family: 'DM Mono', monospace; font-size: 12px; color: var(--muted); letter-spacing: 1px; line-height: 2; }

  @media (max-width: 720px) {
    header { padding: 12px 20px; }
    .results-layout { grid-template-columns: 1fr; }
    .profile-grid { grid-template-columns: 1fr; }
    .screen-title { font-size: 40px; }
    .profiles-grid { grid-template-columns: 1fr; }
    .history-date { width: 100px; font-size: 11px; }
    .lb-bar-cell { display: none; }
    .lb-gym-tag { display: none; }
  }

  /* ── PER-TEST TRACKING ── */
  .pv-section-label {
    font-family:'Barlow Condensed',sans-serif;
    font-size:13px;
    font-weight:700;
    color:var(--text);
    letter-spacing:3px;
    text-transform:uppercase;
    margin:44px 0 18px;
    display:flex;
    align-items:center;
    gap:16px;
  }
  .pv-section-label::before {
    content:'';
    width:3px;
    height:18px;
    background:var(--accent);
    border-radius:2px;
    flex-shrink:0;
  }
  .pv-section-label::after {
    content:'';
    flex:1;
    height:1px;
    background:linear-gradient(90deg, var(--border2) 0%, transparent 100%);
  }

  /* ── Profile photo ── */
  .pv-photo-wrap { position:relative; width:72px; height:72px; flex-shrink:0; cursor:pointer; }
  .pv-photo { width:72px; height:72px; border-radius:50%; object-fit:cover; border:2px solid var(--border); display:block; }
  .pv-photo-initials { width:72px; height:72px; border-radius:50%; background:var(--surface2); border:2px solid var(--border); display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed',sans-serif; font-size:26px; font-weight:800; letter-spacing:2px; color:var(--muted); text-transform:uppercase; }
  .pv-photo-edit { position:absolute; bottom:0; right:0; width:22px; height:22px; background:var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; color:#0a1828; font-weight:800; transition:transform 0.15s; }
  .pv-photo-wrap:hover .pv-photo-edit { transform:scale(1.15); }
  .pv-name-row { display:flex; align-items:center; gap:16px; margin-bottom:20px; }

  .pv-nav-item { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700; color:var(--muted); border:none; padding:10px 10px; letter-spacing:2px; cursor:pointer; transition:color 0.2s; text-transform:uppercase; background:none; }
  .pv-nav-item:hover { color:var(--accent); }
  .pv-nav-item.active { color:var(--accent); border-bottom:2px solid var(--accent); }
  .pv-name-block { flex:1; min-width:0; }

  /* ── Score trajectory chart ── */
  .pv-trajectory { background:var(--surface); border:1px solid var(--border); border-radius:4px; padding:20px 24px; margin-bottom:28px; }
  .pv-trajectory-title { font-family:'DM Mono',monospace; font-size:9px; color:var(--accent); letter-spacing:2px; text-transform:uppercase; margin-bottom:0; }
  .pv-trajectory-canvas { width:100%; height:200px; display:block; }
  .pv-traj-stats { display:flex; gap:0; margin-bottom:16px; border-bottom:1px solid var(--border); padding-bottom:14px; }
  .pv-traj-stat { flex:1; display:flex; flex-direction:column; gap:3px; padding:0 16px 0 0; border-right:1px solid var(--border); margin-right:16px; }
  .pv-traj-stat:last-child { border-right:none; margin-right:0; }
  .pv-traj-stat-val { font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:800; color:var(--text); line-height:1; }
  .pv-traj-stat-lbl { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted2); letter-spacing:1.5px; text-transform:uppercase; }
  .pv-traj-stat-sub { font-family:'Barlow',sans-serif; font-size:12px; color:var(--muted); letter-spacing:0; }

  /* ── Personal records strip ── */
  .pv-pr-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:28px; width:100%; box-sizing:border-box; }
  .sim-panel { margin-top:0; padding:0; background:rgba(10,24,50,0.4); border:1px solid rgba(184,200,208,0.08); border-left:2px solid rgba(87,187,70,0.25); border-radius:4px; margin-bottom:12px; transition:border-left-color 0.2s; }
  .sim-panel-header { display:flex; align-items:center; gap:14px; padding:14px 18px; cursor:pointer; user-select:none; border-bottom:1px solid transparent; transition:background 0.15s; }
  .sim-panel-header:hover { background:rgba(87,187,70,0.03); }
  .sim-panel-header.open { border-bottom-color:rgba(184,200,208,0.06); }
  .sim-panel-header-left { flex:1; display:flex; align-items:center; gap:14px; }
  .sim-panel-header-score { font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800; line-height:1; transition:color 0.2s; }
  .sim-panel-header-meta { display:flex; flex-direction:column; gap:3px; }
  .sim-panel-chevron { font-size:10px; color:rgba(184,200,208,0.35); transition:transform 0.22s; flex-shrink:0; }
  .sim-panel-chevron.open { transform:rotate(180deg); color:var(--accent); }
  .sim-panel-body { display:none; padding:18px 20px 20px; }
  .sim-panel-body.open { display:block; }
  .sim-title { font-family:'DM Mono',monospace; font-size:9px; color:var(--accent); letter-spacing:3px; text-transform:uppercase; margin-bottom:4px; opacity:0.9; }
  .sim-sub { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); margin-bottom:20px; line-height:1.6; }
  .sim-score { font-family:'Barlow Condensed',sans-serif; font-size:52px; font-weight:800; color:var(--accent); line-height:1; letter-spacing:-2px; transition:color 0.2s; }
  .sim-delta { font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:700; line-height:1; margin-left:10px; transition:color 0.2s; }
  .sim-row { display:grid; grid-template-columns:120px 1fr 80px; align-items:center; gap:12px; margin-bottom:6px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,0.03); }
  .sim-row:last-of-type { border-bottom:none; }
  .sim-label { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; transition:color 0.15s; }
  .sim-label.sim-changed { color:var(--accent); }
  .sim-slider { accent-color:var(--accent); cursor:pointer; width:100%; height:4px; }
  .sim-val { font-family:'DM Mono',monospace; font-size:12px; color:var(--text); text-align:right; }
  .sim-bar-wrap { position:relative; height:4px; background:var(--surface2); border-radius:2px; }
  .sim-bar-base { position:absolute; height:100%; background:rgba(87,187,70,0.3); border-radius:2px; }
  .sim-bar-fill { position:absolute; height:100%; background:var(--accent); border-radius:2px; transition:width 0.1s; }
  .pv-pr-card { background:var(--surface); border:1px solid var(--border); border-radius:3px; padding:10px 12px; position:relative; }
  .pv-pr-card.pv-pr-recent { border-color:rgba(87,187,70,0.35); }
  .pv-pr-key { font-family:'DM Mono',monospace; font-size:7px; color:var(--muted2); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:4px; }
  .pv-pr-val { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:800; color:var(--text); line-height:1; }
  .pv-pr-date { font-family:'DM Mono',monospace; font-size:7px; color:var(--muted2); letter-spacing:0.5px; margin-top:3px; }
  .pv-pr-badge { position:absolute; top:6px; right:8px; font-family:'DM Mono',monospace; font-size:6px; color:var(--accent); letter-spacing:1px; }
  @keyframes prPop { 0%{transform:scale(0.85);opacity:0} 100%{transform:scale(1);opacity:1} }

  /* ── Consistency stats ── */
  .pv-consistency { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
  .pv-consistency-chip { background:var(--surface2); border:1px solid var(--border); border-radius:2px; padding:7px 14px; font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.5px; }
  .pv-consistency-chip span { color:var(--text); font-weight:700; }

  /* ── Share card button ── */
  .pv-share-btn { background:none; border:1px solid var(--border2); color:var(--muted); font-family:'DM Mono',monospace; font-size:11px; letter-spacing:1.5px; padding:8px 18px; cursor:pointer; border-radius:2px; transition:all 0.15s; text-transform:uppercase; }
  .pv-share-btn:hover { border-color:var(--accent); color:var(--accent); }
  .pv-progress-bar-wrap { height:6px; background:var(--border); border-radius:3px; margin-bottom:6px; overflow:hidden; }
  .pv-progress-bar-fill { height:100%; background:var(--accent); border-radius:3px; transition:width 0.4s ease; }
  .pv-progress-label { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); letter-spacing:0; margin-bottom:24px; }
  .test-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:8px; margin-bottom:28px; }
  .test-grid-card { background:var(--surface); border:1px solid var(--border); border-radius:4px; padding:14px 16px; cursor:pointer; transition:border-color 0.2s,background 0.2s; position:relative; }
  .test-grid-card:hover { border-color:var(--border2); background:rgba(255,255,255,0.02); }
  .test-grid-card.tgc-done { border-left:3px solid var(--accent); }
  .test-grid-card.tgc-empty { border-style:dashed; }
  .test-grid-card.tgc-empty:hover { border-color:var(--accent) !important; border-style:solid !important; background:rgba(87,187,70,0.04) !important; }
  .tgc-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--text); margin-bottom:4px; }
  .tgc-domain { font-family:'Barlow',sans-serif; font-size:11px; color:var(--muted2); letter-spacing:0; margin-bottom:10px; }
  .tgc-value { font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:700; color:var(--accent); line-height:1; }
  .tgc-score { font-family:'Barlow',sans-serif; font-size:12px; color:var(--muted); margin-top:2px; }
  .tgc-date { font-family:'Barlow',sans-serif; font-size:11px; color:var(--muted2); margin-top:6px; letter-spacing:0; }
  .tgc-empty-label { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted2); letter-spacing:1px; }
  .tgc-bar { height:3px; background:var(--border); border-radius:2px; margin-top:10px; overflow:hidden; }
  .tgc-bar-fill { height:100%; border-radius:2px; transition:width 0.3s; }

  /* Sign-up modal: Step 1 ↔ T&C horizontal slider.
     `.signUpSlider` clips off-screen panes; `.signUpSlideTrack` is a flex
     row containing two 100%-wide panes side-by-side. Adding `.show-terms`
     shifts the track left by one pane-width to reveal the T&C step. */
  .signUpSlider { overflow: hidden; }
  .signUpSlideTrack {
    display: flex;
    align-items: flex-start;
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .signUpSlideTrack > .signUpPane { flex: 0 0 100%; min-width: 0; }
  .signUpSlideTrack.show-terms { transform: translateX(-100%); }

  /* Test entry modal */
  /* Overlay covers the whole viewport (header included). z-index sits well
     above the fixed header (.header is z-index:500) so the dim backdrop
     fully obscures the header instead of letting it bleed through. */
  .te-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.7); z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; }
  .te-modal { background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:28px; max-width:480px; width:100%; max-height:calc(100vh - 40px); overflow-y:auto; box-sizing:border-box; }
  .te-modal-title { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:800; letter-spacing:2px; color:var(--text); text-transform:uppercase; margin-bottom:4px; }
  .te-modal-domain { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); letter-spacing:0; margin-bottom:20px; }
  .te-modal-label { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; margin-bottom:6px; }
  .te-modal-input { width:100%; background:var(--surface); border:1px solid var(--border); border-radius:3px; padding:12px 14px; font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:700; color:var(--text); outline:none; box-sizing:border-box; }
  .te-modal-input:focus { border-color:var(--accent); }
  .te-modal-unit { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); margin-top:6px; margin-bottom:20px; }
  .te-modal-preview { font-family:'Barlow',sans-serif; font-size:14px; color:var(--accent); margin-top:6px; margin-bottom:20px; min-height:20px; }
  .te-modal-history { margin-bottom:20px; }
  .te-modal-hist-title { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted2); letter-spacing:1px; margin-bottom:8px; }
  .te-hist-row { display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--border); font-family:'DM Mono',monospace; font-size:12px; color:var(--muted); }
  .te-modal-actions { display:flex; gap:10px; flex-wrap:wrap; }
  @media (max-width:480px) { .test-grid { grid-template-columns:1fr; } }

  /* ── PRINT STYLES ── */
  /* ── HERO LINK ROW ─────────────────────────────────── */
  .hero-link-row { display:flex; flex-direction:column; gap:6px; margin-bottom:28px; }
  .hero-link-card { display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--border); border-radius:3px; padding:12px 16px; cursor:pointer; transition:border-color 0.15s,background 0.15s; text-align:left; width:100%; }
  .hero-link-card:hover { border-color:rgba(87,187,70,0.35); background:rgba(87,187,70,0.04); }
  .hero-link-card-title { font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; color:var(--text); letter-spacing:0.3px; flex:1; }
  .hero-link-card-sub { font-family:'Barlow',sans-serif; font-size:12px; color:var(--muted); letter-spacing:0; flex:2; }
  .hero-link-card-arrow { font-family:'Barlow Condensed',sans-serif; font-size:18px; color:var(--accent); opacity:0.7; flex-shrink:0; }
  .hero-link-card:hover .hero-link-card-arrow { opacity:1; }

  /* About modal tabs */
  .about-tab { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:1px; text-transform:uppercase; background:none; border:none; color:var(--muted); cursor:pointer; padding:10px 16px; border-bottom:2px solid transparent; margin-bottom:-1px; transition:color 0.15s,border-color 0.15s; }
  .about-tab.active { color:var(--accent); border-bottom-color:var(--accent); }
  .about-tab:hover { color:var(--text); }

  /* ── HOME CONTROLS ────────────────────────────────────── */
  .home-controls { margin-bottom: 24px; }
  .home-controls-row { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
  .home-controls-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 0 4px; border-top: 1px solid rgba(42,79,133,0.4); }
  .home-backup-group { display: flex; align-items: center; gap: 6px; }
  .home-backup-label { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--muted); letter-spacing: 2px; text-transform: uppercase; margin-right: 2px; }
  .home-controls-actions { display: flex; gap: 8px; }

  .home-search-wrap { flex: 1; min-width: 180px; position: relative; }
  .home-search-wrap input { width: 100%; background: var(--surface); border: 1px solid var(--border); color: var(--text); font-family: 'DM Mono', monospace; font-size: 16px; padding: 10px 14px 10px 34px; border-radius: 3px; outline: none; letter-spacing: 0.5px; transition: border-color 0.2s; }
  .home-search-wrap input::placeholder { color: var(--muted); }
  .home-search-wrap input:focus { border-color: var(--accent); }
  .home-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--muted2); font-size: 13px; pointer-events: none; }

  .home-sort-select { background: var(--surface); border: 1px solid var(--border); color: var(--muted2); font-family: 'DM Mono', monospace; font-size: 16px; letter-spacing: 1px; padding: 10px 14px; border-radius: 3px; outline: none; cursor: pointer; -webkit-appearance: none; transition: border-color 0.2s; }
  .home-sort-select:focus { border-color: var(--accent); color: var(--text); }

  .view-toggle { display: flex; border: 1px solid var(--border); border-radius: 3px; overflow: hidden; }
  .view-toggle-btn { background: transparent; border: none; color: var(--muted); cursor: pointer; padding: 9px 13px; font-size: 14px; transition: background 0.15s, color 0.15s; line-height: 1; }
  .view-toggle-btn.active { background: var(--accent); color: #0d2448; }
  .view-toggle-btn:hover:not(.active) { color: var(--text); }

  .home-count { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--muted); letter-spacing: 1.5px; text-transform: uppercase; }

  .home-action-btn { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 1.5px; color: var(--muted2); background: transparent; border: 1px solid var(--border); padding: 7px 14px; border-radius: 3px; cursor: pointer; text-transform: uppercase; transition: border-color 0.15s, color 0.15s; white-space: nowrap; display: inline-block; }
  .home-action-btn:hover { border-color: var(--muted2); color: var(--text); }

    @media print {
    body { background:#fff !important; color:#000 !important; }
    .nav-header, .step-bar, .nav-row, .save-banner,
    .home-controls, #heroFull, #heroCollapsed,
    .btn-primary, .btn-secondary, .btn-accent,
    .profile-grid, #sHome, #sLeaderboard,
    .screen:not(.active) { display:none !important; }
    .screen.active { display:block !important; }
    .final-score-block { border:2px solid #000 !important; background:#fff !important; }
    .score-number { color:#000 !important; font-size:96px !important; }
    .level-badge { background:#000 !important; color:#fff !important; }
    .breakdown-row { border-color:#ccc !important; }
    .breakdown-name, .breakdown-input { color:#000 !important; }
    .score-bar-wrap { background:#eee !important; }
    .score-bar-fill { background:#000 !important; }
    canvas { max-width:340px !important; }
    .print-header { display:block !important; }
  }
  .print-header { display:none; font-family:'Barlow Condensed',sans-serif; font-size:20px;
    font-weight:700; letter-spacing:3px; color:#000; margin-bottom:8px; text-transform:uppercase; }

  /* ── SUBSCRIPTION GATE ─────────────────────────────────── */
  .locked-overlay { position:relative; }
  .locked-overlay::after { content:''; position:absolute; inset:0; background:rgba(13,36,72,0.6); border-radius:inherit; pointer-events:none; }
  .gate-card { background:var(--surface); border:1px solid var(--border); border-radius:3px; padding:20px; text-align:center; margin:16px 0; }
  .gate-card-icon { font-size:24px; margin-bottom:10px; opacity:0.5; }
  .gate-card-title { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:700; color:var(--text); letter-spacing:1px; margin-bottom:6px; }
  .gate-card-sub { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); letter-spacing:0; margin-bottom:14px; line-height:1.7; }
  .gate-card-btn { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:2px; padding:10px 24px; background:var(--accent); color:#0d2448; border:none; cursor:pointer; font-weight:700; text-transform:uppercase; border-radius:2px; }
  .ranking-tease { background:var(--surface); border:1px solid var(--border); border-radius:3px; padding:16px 20px; margin:12px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
  .ranking-tease-text { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); letter-spacing:0; line-height:1.7; }
  .ranking-tease-text strong { color:var(--accent); font-size:16px; font-family:'Barlow Condensed',sans-serif; font-weight:800; display:block; margin-bottom:2px; }
  .program-card-locked { opacity:0.75; }
  .program-card-locked .program-card-btn { background:var(--border); color:var(--muted); cursor:default; }

  /* ── PROFILE PROGRESS FEATURES ──────────────────────── */
  .pv-delta-row { display:flex; align-items:baseline; gap:10px; margin:8px 0 16px; }
  .pv-delta-num { font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800; line-height:1; letter-spacing:-1px; }
  .pv-delta-label { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; }
  .pv-level-progress { margin:20px 0; padding:16px 18px; background:rgba(87,187,70,0.04); border:1px solid rgba(87,187,70,0.15); border-radius:3px; }
  .pv-level-progress-label { display:flex; justify-content:space-between; align-items:baseline; font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.5px; margin-bottom:8px; }
  .pv-level-progress-label .lpl-current { color:var(--accent); font-size:10px; font-weight:500; }
  .pv-level-progress-track { height:8px; background:var(--border); border-radius:4px; overflow:hidden; }
  .pv-level-progress-fill { height:100%; border-radius:4px; transition:width 0.8s cubic-bezier(0.22,1,0.36,1); }
  .pv-improvement-panel { margin:28px 0; }
  .pv-improvement-title { font-family:'DM Mono',monospace; font-size:9px; color:var(--muted); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:14px; display:flex; align-items:center; gap:12px; }
  .pv-improvement-title::after { content:''; flex:1; height:1px; background:var(--border); }
  .pv-improvement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .pv-improvement-card { background:var(--surface); border:1px solid var(--border); border-radius:3px; padding:12px 14px; }
  .pv-improvement-card.improved { border-color:rgba(87,187,70,0.3); }
  .pv-improvement-card.declined { border-color:rgba(255,80,80,0.2); }
  .pv-improvement-test { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; color:var(--text); letter-spacing:0.5px; text-transform:uppercase; margin-bottom:6px; }
  .pv-improvement-scores { display:flex; align-items:center; gap:8px; font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:800; line-height:1; }
  .pv-improvement-arrow { font-size:14px; color:var(--muted2); }
  .pv-improvement-delta { font-family:'Barlow',sans-serif; font-size:13px; margin-top:4px; letter-spacing:0; }
  @media(max-width:600px) { .pv-improvement-grid { grid-template-columns:repeat(2,1fr); } }

  /* ── PROFILE VIEW REDESIGN ── */
  .pv-hero { display:block; margin-bottom:20px; }
  @media(max-width:900px){ .pv-hero { grid-template-columns:1fr; } }

  /* Score hero card */
  .pv-score-card { background: linear-gradient(145deg, #001840 0%, var(--surface) 60%); border:1px solid rgba(87,187,70,0.2); border-radius:4px; padding:32px; position:relative; overflow:hidden; box-shadow: 0 0 60px rgba(87,187,70,0.06), 0 8px 40px rgba(0,0,0,0.3); }
  .pv-score-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 20% 0%, rgba(87,187,70,0.15) 0%, transparent 60%); pointer-events:none; }
  .pv-athlete-name { font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--text); line-height:1; margin-bottom:4px; }
  .pv-athlete-meta { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); letter-spacing:0; margin-bottom:28px; }
  .pv-score-row { display:flex; align-items:flex-end; gap:20px; flex-wrap:wrap; overflow:hidden; }
  .pv-score-big {
    font-family:'Sabre Shark','Barlow Condensed',sans-serif;
    font-size:128px;
    font-weight:800;
    line-height:1;
    color:var(--accent);
    letter-spacing:-4px;
    /* Sabre Shark's italic-leaning glyphs overhang their advance-width box;
       Safari clips them against the .pv-score-row overflow:hidden ancestor. */
    padding-right:0.26em;
    animation: scoreGlowPulse 4s ease-in-out infinite;
  }
  .pv-score-denom { font-family:'DM Mono',monospace; font-size:14px; color:var(--muted); padding-bottom:24px; }
  .pv-level-badge { display:inline-block; padding:6px 18px; font-family:'Sabre Shark','Barlow Condensed',sans-serif; font-size:18px; font-weight:700; letter-spacing:3px; border-radius:2px; margin-bottom:20px; }
  .pv-score-context { font-family:'Barlow',sans-serif; font-size:14px; color:var(--muted); line-height:1.7; margin-bottom:24px; }
  .pv-progress-row { display:none; align-items:center; gap:12px; margin-bottom:8px; }
  .pv-progress-track { flex:1; height:4px; background:var(--border); border-radius:2px; overflow:hidden; }
  .pv-progress-fill { height:100%; border-radius:2px; transition:width 0.6s ease; }
  .pv-progress-text { font-family:'DM Mono',monospace; font-size:12px; color:var(--muted); white-space:nowrap; letter-spacing:0.5px; }
  .pv-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }
  .pv-stat { text-align:center; padding:12px 8px; background:rgba(255,255,255,0.02); border:1px solid var(--border); border-radius:3px; }
  .pv-stat-val { font-family:'Barlow Condensed',sans-serif; font-size:26px; font-weight:700; color:var(--accent); line-height:1; }
  .pv-stat-lbl { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted2); letter-spacing:1px; margin-top:4px; text-transform:uppercase; }
  .pv-weight-row { display:flex; gap:10px; margin-top:10px; }
  .pv-weight-stat { flex:1; display:flex; align-items:center; gap:10px; padding:10px 14px; background:rgba(255,255,255,0.02); border:1px solid var(--border); border-radius:3px; }
  .pv-weight-arrow { font-size:16px; flex-shrink:0; line-height:1; }
  .pv-weight-val { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:700; line-height:1; }
  .pv-weight-lbl { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted2); letter-spacing:1px; margin-top:2px; }

  /* Interactive radar */
  .pv-radar-card { border:1px solid rgba(87,187,70,0.18); border-radius:6px; padding:18px 20px 18px; background:linear-gradient(160deg,rgba(87,187,70,0.05) 0%,transparent 60%); }
  .pv-radar-title { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
  .pv-radar-title-eyebrow { font-family:'DM Mono',monospace; font-size:10px; color:var(--accent); letter-spacing:4px; opacity:0.9; }
  .pv-radar-title-main { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:800; color:var(--text); letter-spacing:2px; text-transform:uppercase; }
  .pv-radar-title-divider { flex:1; height:1px; background:linear-gradient(90deg,rgba(87,187,70,0.35),transparent); }
  #pvRadarSvg { width:100%; height:auto; display:block; }
  .radar-spoke-label { font-family:'DM Mono',monospace; font-size:10px; fill:var(--muted); text-anchor:middle; dominant-baseline:middle; cursor:pointer; transition:fill 0.2s; }
  .radar-spoke-label:hover { fill:var(--accent); }
  .radar-data-point { cursor:pointer; transition:r 0.15s; }
  .radar-tooltip { position:absolute; background:var(--bg); border:1px solid var(--accent); border-radius:3px; padding:8px 12px; font-family:'DM Mono',monospace; font-size:11px; color:var(--text); pointer-events:none; z-index:50; white-space:nowrap; opacity:0; transition:opacity 0.15s; }
  .radar-tooltip.visible { opacity:1; }
  .pv-radar-wrap { position:relative; }

  /* Domain legend */
  .pv-domain-bars { margin-top:16px; display:flex; flex-direction:column; gap:6px; }
  .pv-domain-row { display:flex; align-items:center; gap:10px; }
  .pv-domain-name { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.5px; width:90px; flex-shrink:0; }
  .pv-domain-track { flex:1; height:5px; background:var(--border); border-radius:3px; overflow:hidden; }
  .pv-domain-fill { height:100%; border-radius:3px; transition:width 0.5s ease; }
  .pv-domain-score { font-family:'DM Mono',monospace; font-size:12px; color:var(--muted); min-width:32px; text-align:right; }

  /* Test grid on profile */
  .pv-tests-section { margin-bottom:32px; }
  .pv-tests-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px; }
  .tgc-empty { opacity:0.65; }

  /* ── PROGRAM CARDS ── */
  .program-panel { background:var(--surface); border:1px solid var(--border); border-radius:4px; padding:20px 24px; margin-top:20px; }
  .program-panel-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:8px; }
  .program-panel-title { font-family:'DM Mono',monospace; font-size:11px; color:var(--accent); letter-spacing:2px; text-transform:uppercase; }
  .program-panel-sub { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:700; letter-spacing:0.5px; color:var(--text); margin-top:4px; }
  .program-subscriber-badge { font-family:'DM Mono',monospace; font-size:9px; color:var(--muted); letter-spacing:1px; background:var(--border); padding:4px 10px; border-radius:2px; text-transform:uppercase; }
  .program-cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
  .program-card { border:1px solid var(--border); padding:16px; cursor:pointer; transition:background 0.15s, border-color 0.15s; position:relative; }
  .program-card:hover { background:rgba(255,255,255,0.02); border-color:var(--border2); }
  .program-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
  .program-card-domain { font-family:'DM Mono',monospace; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
  .program-card-score { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:700; }
  .program-card-bar { height:3px; background:var(--border); border-radius:2px; margin-bottom:12px; overflow:hidden; }
  .program-card-bar-fill { height:100%; border-radius:2px; }
  .program-card-name { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:700; letter-spacing:1px; color:var(--text); margin-bottom:6px; text-transform:uppercase; }
  .program-card-desc { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); line-height:1.65; margin-bottom:12px; }
  .program-card-meta { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted2); letter-spacing:0.5px; margin-bottom:14px; }
  .program-card-btn { width:100%; padding:10px; font-family:'DM Mono',monospace; font-size:11px; letter-spacing:1px; text-transform:uppercase; background:transparent; border:1px solid var(--border); color:var(--muted); cursor:pointer; transition:border-color 0.15s, color 0.15s; }
  .program-card-btn:hover { border-color:var(--accent); color:var(--accent); }
  .program-card-locked { opacity:0.8; }
  .program-card-locked .program-card-btn { pointer-events:auto !important; }

  /* Profile current focus panel */
  .pv-focus-panel { margin-top:24px; }
  .focus-card { display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid var(--border); margin-bottom:8px; cursor:pointer; transition:background 0.15s; }
  .focus-card:hover { background:rgba(255,255,255,0.02); }
  .focus-icon { width:36px; height:36px; border-radius:3px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .focus-icon-inner { width:14px; height:14px; border-radius:2px; }
  .focus-card-name { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:var(--text); }
  .focus-card-meta { font-family:'Barlow',sans-serif; font-size:13px; color:var(--muted); margin-top:3px; }
  .focus-card-arrow { margin-left:auto; font-family:'DM Mono',monospace; font-size:12px; color:var(--muted2); }
  .focus-retest { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted2); letter-spacing:0.5px; text-align:center; padding-top:8px; }

  /* ── TEST INSTRUCTIONS ── */
  .te-instruction { background:rgba(87,187,70,0.05); border:1px solid rgba(87,187,70,0.15); border-radius:3px; padding:12px 14px; margin-bottom:16px; }
  .te-instruction-short { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); line-height:1.7; }
  .te-instruction-toggle { font-family:'DM Mono',monospace; font-size:9px; color:var(--accent); letter-spacing:1px; cursor:pointer; margin-top:8px; display:inline-block; opacity:0.8; }
  .te-instruction-toggle:hover { opacity:1; }
  .te-instruction-full { display:none; margin-top:12px; border-top:1px solid rgba(87,187,70,0.1); padding-top:12px; }
  .te-instruction-full.open { display:block; }
  .te-instruction-section { margin-bottom:10px; }
  .te-instruction-section-label { font-family:'DM Mono',monospace; font-size:9px; color:var(--accent); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:4px; }
  .te-instruction-section-text { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted); line-height:1.7; }


  /* ═══════════════════════════════════════════════════════════
     PREMIUM POLISH LAYER — visual refinements
     Applied on top of base CSS — all overrides intentional
     ═══════════════════════════════════════════════════════════ */

  /* ── Typography: bump DM Mono labels from 9-10px to 11px ── */
  .test-name,
  .section-label,
  .hero-why-text,
  .header-tag,
  .pv-section-label,
  .pv-athlete-meta,
  .pv-stat-lbl,
  .pv-progress-text,
  .pv-level-progress-label,
  .pv-improvement-delta,
  .pv-improvement-title,
  .score-label,
  .screen-sub,
  .hero-ticker-label,
  .hero-link-card-sub,
  .lb-meta,
  .history-date,
  .tgc-date,
  .program-panel-sub,
  .breakdown-label { font-size: 11px !important; }

  /* ── Body copy: slightly more breathing room ── */
  body { line-height: 1.6; }

  /* ── Section labels: slightly more vertical space ── */
  .section-label { margin-top: 40px !important; margin-bottom: 16px !important; }
  .pv-section-label { margin-top: 32px !important; margin-bottom: 14px !important; }

  /* ── Header: add wordmark alongside logo ── */
  .logo-wordmark {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
    margin-left: 12px;
    border-left: 1px solid var(--border2);
    padding-left: 12px;
  }
  .logo-wordmark-top {
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    letter-spacing: 3px;
    color: var(--muted2);
    text-transform: uppercase;
    margin-bottom: 2px;
  }
  .logo-wordmark-bottom {
    font-family: 'Sabre Shark', 'Barlow Condensed', sans-serif;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--accent);
    text-transform: uppercase;
    font-feature-settings: "liga" 0, "calt" 0, "salt" 0, "ss01" 0, "ss02" 0, "ss03" 0;
    font-variant-ligatures: none;
    line-height: 1;
  }

  /* ── Accent colour discipline: restrict to key elements ── */
  /* Tone down accent on section label lines */
  .section-label { color: var(--muted) !important; }
  .section-label::after { background: var(--border2) !important; }
  .pv-section-label { color: var(--muted2) !important; }

  /* ── Cards: more generous internal padding ── */
  .test-card { padding: 22px 24px !important; }
  .test-card.card-high,
  .test-card.card-mid,
  .test-card.card-low { padding: 21px 23px !important; }

  /* ── Surface depth: differentiate nested surfaces ── */
  .final-score-block { background: var(--surface2) !important; }
  .program-card { background: var(--surface2) !important; }
  .history-row { background: var(--surface2) !important; padding: 12px 16px !important; border-radius: 3px !important; margin-bottom: 4px !important; border: 1px solid var(--border) !important; }

  /* ── Border refinement: thinner on static, normal on interactive ── */
  .test-card { border-width: 1px !important; }
  .test-card:focus-within { border-width: 1.5px !important; }

  /* ── Score number: more distinctive ── */
  .score-number { letter-spacing: -4px !important; }
  .pv-score-big { font-size:96px !important; letter-spacing: -3px !important; }

  /* ── Modal transitions: 150ms crossfade on tab content ── */
  .about-tab-pane {
    animation: tabFadeIn 0.15s ease;
  }
  @keyframes tabFadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ── Content fade-ins on screen transitions ── */
  .screen.active {
    animation: screenFadeUp 0.25s ease !important;
  }
  @keyframes screenFadeUp {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ── Hero: more space between elements ── */
  .hero-link-row { gap: 10px !important; margin-bottom: 36px !important; }
  .hero-link-card { padding: 18px 20px !important; }
  .hero-cta-row { margin-bottom: 28px !important; gap: 16px !important; }
  .hero-why-strip { margin-bottom: 36px !important; padding: 20px 24px !important; }

  /* ── Hero headline: tighter leading ── */
  .hero-headline { line-height: 0.80 !important; margin-bottom: 32px !important; }

  /* ── Ticker: slightly taller, more breathing ── */
  .hero-ticker { padding: 14px 24px !important; }

  /* ── Profile card: more generous ── */
  .pv-score-card { padding: 32px !important; }

  /* ── Stat row: more space ── */
  .pv-stat-row { margin-top: 24px !important; padding-top: 20px !important; }
  .pv-stat { padding: 0 20px !important; }
  .pv-stat:first-child { padding-left: 0 !important; }

  /* ── Results: final score block more impactful ── */
  .final-score-block { padding: 44px 36px !important; }

  /* ── Improvement cards: tighter grid ── */
  .pv-improvement-card { padding: 14px 16px !important; }

  /* ── Nav row: more breathing ── */
  .nav-row { margin-top: 48px !important; padding-top: 24px !important; border-top: 1px solid var(--border) !important; }

  /* ── App padding: more generous overall ── */
  .app { padding: 52px 28px 100px !important; }

  /* ── Header: slightly taller ── */
  header { padding: 16px 24px !important; }

  /* ── Leaderboard rows: more space ── */
  .lb-row { padding: 14px 16px !important; }

  /* ── Focus panel cards ── */
  .focus-card { padding: 20px !important; }

  /* ── Gate card: more prominent ── */
  .gate-card { padding: 28px 24px !important; margin: 24px 0 !important; }
  .gate-card-title { font-size: 20px !important; letter-spacing: 2px !important; margin-bottom: 10px !important; }

  /* ═══════════════════════════════════════════════════════════ */


  /* ── Sample Result Preview Modal ── */
  .sample-overlay {
    position: fixed; inset: 0; z-index: 9980;
    background: rgba(7,17,31,0.92);
    backdrop-filter: blur(10px);
    display: flex; align-items: flex-start; justify-content: center;
    padding: 24px 16px 40px;
    overflow-y: auto;
    animation: screenFadeUp 0.2s ease;
  }
  .sample-card {
    background: var(--surface);
    border: 1px solid var(--border2);
    border-radius: 4px;
    width: 100%;
    max-width: 860px;
    position: relative;
    overflow: hidden;
  }
  .sample-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 24px;
    border-bottom: 1px solid var(--border);
    background: var(--surface2);
  }
  .sample-header-label {
    font-family: 'DM Mono', monospace; font-size: 9px;
    letter-spacing: 2px; color: var(--accent); text-transform: uppercase;
  }
  .sample-header-name {
    font-family: 'Gotham', 'Barlow Condensed', sans-serif; font-size: 15px;
    font-weight: 700; color: var(--muted); letter-spacing: 1px;
    text-transform: uppercase; margin-top: 2px;
  }
  .sample-close {
    background: none; border: 1px solid var(--border);
    color: var(--muted2); cursor: pointer; border-radius: 2px;
    font-family: 'DM Mono', monospace; font-size: 10px;
    letter-spacing: 1px; padding: 6px 14px;
    transition: all 0.15s;
  }
  .sample-close:hover { border-color: var(--text); color: var(--text); }
  .sample-body { padding: 28px 28px 0; }
  .sample-blur-gate {
    position: relative;
    margin-top: 0;
  }
  .sample-blur-content {
    filter: blur(5px);
    pointer-events: none;
    user-select: none;
    padding: 0 0 28px;
  }
  .sample-gate-overlay {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: linear-gradient(to bottom, transparent 0%, rgba(13,30,54,0.97) 35%);
    padding: 20px;
    text-align: center;
  }
  .sample-gate-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 28px; font-weight: 800; letter-spacing: 1px;
    color: var(--text); text-transform: uppercase; margin-bottom: 8px;
  }
  .sample-gate-sub {
    font-family: 'Barlow', sans-serif; font-size: 13px;
    color: var(--muted); line-height: 1.6; max-width: 360px; margin-bottom: 24px;
  }

  /* ── Payment Gate ── */
  .payment-overlay {
    position: fixed; inset: 0; z-index: 9990;
    background: rgba(8,18,35,0.94);
    backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    animation: screenFadeUp 0.2s ease;
  }
  .payment-card {
    background: var(--surface);
    border: 1px solid var(--border2);
    border-radius: 4px;
    padding: 40px 44px;
    max-width: 480px;
    width: 100%;
  }
  .payment-eyebrow {
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    letter-spacing: 2px;
    color: var(--muted2);
    text-transform: uppercase;
    margin-bottom: 20px;
  }
  .payment-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 36px;
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--text);
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 6px;
  }
  .payment-price {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 52px;
    font-weight: 800;
    color: var(--accent);
    line-height: 1;
    letter-spacing: -1px;
    margin-bottom: 8px;
  }
  .payment-price-sub {
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    color: var(--muted);
    letter-spacing: 1px;
    margin-bottom: 28px;
  }
  .payment-includes {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    margin-bottom: 28px;
  }
  .payment-include-item {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 8px;
    font-family: 'Barlow', sans-serif;
    font-size: 13px;
    color: var(--muted);
    line-height: 1.4;
  }
  .payment-include-item::before {
    content: '✓';
    color: var(--accent);
    font-size: 11px;
    flex-shrink: 0;
  }
  .payment-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .payment-btn-primary {
    background: var(--accent);
    color: #0d2448;
    border: none;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 3px;
    padding: 14px 24px;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 2px;
    transition: background 0.2s;
    width: 100%;
  }
  .payment-btn-primary:hover { background: var(--accent-light); }
  .payment-btn-secondary {
    background: none;
    color: var(--muted2);
    border: none;
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    letter-spacing: 1.5px;
    padding: 8px;
    cursor: pointer;
    text-transform: uppercase;
    text-align: center;
    transition: color 0.15s;
  }
  .payment-btn-secondary:hover { color: var(--muted); }
  .payment-options { display: flex; flex-direction: column; gap: 10px; }
  .payment-option {
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 16px 18px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
  }
  .payment-option:hover { border-color: var(--border2); }
  .payment-option.selected {
    border-color: var(--accent);
    background: rgba(87,187,70,0.05);
  }
  .payment-option-header {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .payment-option-radio {
    font-size: 14px;
    color: var(--muted2);
    flex-shrink: 0;
    width: 16px;
    transition: color 0.15s;
  }
  .payment-option.selected .payment-option-radio { color: var(--accent); }
  .payment-option-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--text);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .payment-option-desc {
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    color: var(--muted2);
    letter-spacing: 1px;
    margin-top: 2px;
    text-transform: uppercase;
  }
  .payment-option-price {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: var(--accent);
    margin-left: auto;
    white-space: nowrap;
    letter-spacing: -0.5px;
  }
  .payment-option-badge {
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    letter-spacing: 1.5px;
    color: #0d2448;
    background: var(--accent);
    padding: 2px 6px;
    border-radius: 2px;
    vertical-align: middle;
    font-weight: 500;
  }
  .payment-option-includes {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
  }

/* ═══════════════════════════════════════════════
