/* my-data.css — extracted from my-data.html. Your Data surface. */

@font-face{font-family:'Space Grotesk';font-weight:500 700;font-display:swap;src:url('./fonts/space-grotesk-latin.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-weight:400 700;font-display:swap;src:url('./fonts/jetbrains-mono-latin.woff2') format('woff2');}
:root { color-scheme:dark; --bg:#0d0e12; --cy:#2563eb; --cy-deep:#1d4ed8; --ink:#60a5fa; --tl:#2dd4bf; --text:#eef2f8; --dim:#9aa6b8; --border:#1c2230;
  --bg-grad-a:#0b0d12; --bg-grad-b:#090a0e; --glow:rgba(37,99,235,.10); --on-cy:#fff; --fail:#f0a48f; --foot:#7c8696;
  --font-display:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace; }
body { margin:0; color:var(--text); font-family:var(--font-mono); padding:24px; min-height:100svh;
  display:flex; flex-direction:column; align-items:center;
  background:
    radial-gradient(58% 38% at 50% 30%, var(--glow), transparent 60%),
    linear-gradient(180deg,var(--bg-grad-a),var(--bg) 60%,var(--bg-grad-b)); }
main { width:100%; max-width:640px; }
.brand { font:800 26px var(--font-display); letter-spacing:-.02em; color:var(--text); margin:0 0 6px; }
.brand .y { color:var(--ink); }
.eyebrow { color:var(--ink); opacity:.85; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; margin-bottom:14px; font-weight:700; }
.promise { color:var(--dim); font-size:.85rem; line-height:1.55; margin:0 0 22px; }
.promise strong { color:var(--text); }
.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; }
table { width:100%; border-collapse:collapse; font-size:.8rem; }
caption { text-align:left; color:var(--dim); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; padding-bottom:8px; }
th { text-align:left; color:var(--dim); font-weight:600; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; padding:6px 8px; border-bottom:1px solid var(--border); }
td { padding:8px; border-bottom:1px solid var(--border); color:var(--text); vertical-align:top; }
td.k { color:var(--dim); font-size:.72rem; word-break:break-all; }
td.sz { color:var(--tl); white-space:nowrap; text-align:right; }
.empty-note { color:var(--dim); font-size:.85rem; padding:18px 0; }
.computed-panel { margin:8px 0 22px; padding:18px; border:1px solid var(--border); border-top:2px solid var(--tl); border-radius:12px; background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(0,0,0,.15)); }
.computed-panel h2 { margin:0 0 4px; font:800 1.1rem var(--font-display,inherit); color:var(--text); }
.computed-sub { margin:0 0 14px; color:var(--dim); font-size:.8rem; line-height:1.5; }
.computed-totals { display:flex; flex-wrap:wrap; gap:18px; margin-bottom:14px; }
.computed-totals .stat { display:flex; flex-direction:column; }
.computed-totals .stat b { font:800 1.5rem var(--font-mono,monospace); color:var(--ink); }
.computed-totals .stat span { color:var(--dim); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.computed-lifts { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.computed-lifts li { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:9px 12px; border:1px solid var(--border); border-radius:8px; }
.computed-lifts .lname { color:var(--text); font-weight:600; font-size:.9rem; text-transform:capitalize; }
.computed-lifts .lmeta { color:var(--dim); font-size:.72rem; font-family:var(--font-mono,monospace); }
.computed-lifts .le1rm { color:var(--tl); font-family:var(--font-mono,monospace); font-weight:700; white-space:nowrap; }
.computed-lifts .lspark { flex:0 0 auto; margin:0 4px; opacity:.9; }
.computed-lifts li { flex-wrap:wrap; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0; }
.export-btn, .erase-btn { min-height:44px; border-radius:0; cursor:pointer; font:800 1rem var(--font-display); text-transform:uppercase; letter-spacing:.02em; padding:12px 24px; }
.export-btn { background:var(--cy); color:var(--on-cy); border:none; }
.export-btn:hover { background:var(--cy-deep); }
.export-btn:disabled { opacity:.4; cursor:not-allowed; }
.erase-btn { background:transparent; color:var(--text); border:1px solid var(--border); }
.erase-btn:disabled { opacity:.35; cursor:not-allowed; }
.erase-caveat { color:var(--dim); font-size:.78rem; line-height:1.55; margin:-6px 0 20px; max-width:64ch; border-left:2px solid var(--border); padding-left:12px; }
.erase-caveat a { color:var(--ink); }
.export-btn:focus-visible, .erase-btn:focus-visible, .back-link:focus-visible { outline:2px solid var(--cy); outline-offset:3px; }
.back-link { min-height:44px; display:inline-flex; align-items:center; padding:12px 0; color:var(--ink); text-decoration:none; font-size:.85rem; border-bottom:1px solid rgba(96,165,250,.4); }
.topnav a { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
.topnav a:focus-visible { outline:2px solid var(--cy); outline-offset:3px; }
.standing { margin:0 0 24px; padding:14px 16px; border:1px solid var(--border); }
.standing .eyebrow { margin-bottom:8px; }
.standing-glance { margin:0 0 10px; font-size:.95rem; }
.role-chip { display:inline-block; padding:4px 12px; border:1px solid var(--tl); color:var(--tl); font:700 .8rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.standing-meta { color:var(--dim); font-size:.78rem; margin-left:8px; }
.standing-detail summary { cursor:pointer; min-height:44px; display:inline-flex; align-items:center; color:var(--ink); font-size:.85rem; }
.standing-detail summary:focus-visible { outline:2px solid var(--cy); outline-offset:3px; }
.standing-note { color:var(--dim); font-size:.8rem; line-height:1.55; }
.criteria { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.criteria li { display:flex; justify-content:space-between; gap:12px; font-size:.78rem; padding:7px 10px; border:1px solid var(--border); }
.criteria .st { font-weight:700; white-space:nowrap; }
.criteria .st.pass { color:var(--tl); }
.criteria .st.unknown { color:var(--dim); }
.criteria .st.fail { color:var(--fail); }
footer { color:var(--foot); font-size:.72rem; line-height:1.5; margin-top:26px; }
.dashboard-link-wrap{margin:6px 0 0}


/* 4-theme parity (palettes mirror tools.css families). */
[data-theme="light"] { color-scheme:light; --bg:#f4f6fa; --text:#0e1116; --dim:#4a5568; --border:rgba(8,12,20,.16);
  --ink:#1e40af; --tl:#0f766e; --bg-grad-a:#f4f6fa; --bg-grad-b:#eef1f6; --glow:rgba(37,99,235,.08); --fail:#c93a34; --foot:#4a5568; }
[data-theme="obsidian"] { --bg:#050506; --text:#f5f5f7; --dim:#a1a1aa; --border:rgba(255,255,255,.12);
  --ink:#ffba08; --tl:#f5b301; --bg-grad-a:#050506; --bg-grad-b:#0a0a0c; --glow:rgba(245,179,1,.08); }
[data-theme="clinical"] { color-scheme:light; --bg:#f7faf9; --text:#0d1512; --dim:#3f4f49; --border:rgba(4,120,87,.18);
  --cy:#047857; --cy-deep:#036249; --ink:#046a4e; --tl:#047857; --bg-grad-a:#f7faf9; --bg-grad-b:#eef4f2; --glow:rgba(4,120,87,.08); --fail:#c93a34; --foot:#3f4f49; }

.theme-icon-btn { min-height:44px; padding:8px 12px; color:var(--text); background:transparent;
  border:1px solid var(--border); border-radius:8px; font:700 .8rem var(--font-display); cursor:pointer; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:10; padding:12px 16px; color:var(--on-cy);
  background:var(--cy); border-radius:8px; }
.skip-link:focus { top:16px; }

/* --- UX ratchet 2026-07-22 (additive): inline prose links themed + keyboard ring --- */
.promise a{color:var(--ink);}
.promise a:focus-visible, .erase-caveat a:focus-visible{outline:2px solid var(--cy); outline-offset:2px;}
