/* ===== Vault page ===== */

/* 1. summary: identity and score on the left, evidence on the right, four numbers underneath */
.sum { padding:clamp(22px, 3.4vw, 40px); display:grid; gap:30px; }
.sum-top { display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr); gap:clamp(24px, 4vw, 56px); align-items:start; }
.sum h1 { font-size:clamp(36px, 5vw, 60px); line-height:.98; letter-spacing:-.065em; font-weight:800; margin:10px 0 12px; overflow-wrap:anywhere; }
.id-row { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; font-size:13px; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); }
.id-row code { font:inherit; font-variant-numeric:tabular-nums; }
.link-btn { font:inherit; font-size:13px; font-weight:650; color:var(--ink); color:light-dark(var(--ink), #F4EFE5); background:none; border:0; padding:10px 0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; text-decoration-color:#CFC8BD; text-decoration-color:light-dark(#CFC8BD, #55564B); }
.link-btn:hover { text-decoration-color:currentColor; }
.score-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 18px; margin-top:26px; }
.score-big { font-size:clamp(64px, 8vw, 96px); font-weight:830; letter-spacing:-.085em; line-height:.86; font-variant-numeric:tabular-nums; }
.score-big small { font-size:18px; font-weight:600; letter-spacing:-.02em; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); margin-left:4px; }
.score-meta { font-size:13px; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); margin-top:10px; }
.evidence { display:grid; gap:16px; padding:22px 22px 20px; border-radius:18px; background:#F7F4EE; background:light-dark(#F7F4EE, #2C2D26); }
.ev-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.ev-head b { font-size:17px; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.verdict { font-size:16px; line-height:1.6; }
.verdict b { font-weight:750; }
.notes { display:grid; gap:8px; }
.notes p { font-size:13.5px; line-height:1.55; padding:10px 12px; border-radius:12px; background:#FBEFD9; background:light-dark(#FBEFD9, #3B3424); color:#5A4520; color:light-dark(#5A4520, #F2C995); }
.notes b { display:block; margin-bottom:2px; }
/* four numbers */
.nums { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); border-top:1px solid var(--line); border-top:1px solid light-dark(var(--line), #3A3B33); }
.nums div { padding:20px 18px 2px 0; min-width:0; }
.nums div + div { padding-left:22px; border-left:1px solid var(--line); border-left:1px solid light-dark(var(--line), #3A3B33); }
.nums dt { font-size:12.5px; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); margin-bottom:8px; }
.nums dd { margin:0; font-size:clamp(26px, 3vw, 36px); font-weight:800; letter-spacing:-.06em; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.nums dd + dd { font-size:12.5px; font-weight:500; letter-spacing:0; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); margin-top:8px; white-space:normal; line-height:1.4; }

/* 2. track record */
.sec { margin-top:18px; }
.card { padding:clamp(20px, 3vw, 32px); }
.card-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:14px 20px; margin-bottom:18px; }
.card-head h2 { font-size:clamp(24px, 2.8vw, 34px); line-height:1.05; letter-spacing:-.06em; font-weight:780; }
.card-head p { font-size:14.5px; line-height:1.6; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); max-width:56ch; margin-top:8px; }
.tabs { display:inline-flex; gap:3px; padding:3px; border-radius:999px; border:1px solid #DFD9D0; border:1px solid light-dark(#DFD9D0, #48493E); background:#F6F2EC; background:light-dark(#F6F2EC, #30312A); }
.tabs button { border:0; border-radius:999px; padding:8px 14px; min-height:40px; font-size:13px; font-weight:750; background:transparent; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); cursor:pointer; }
.tabs button[aria-selected="true"] { background:var(--ink); background:light-dark(var(--ink), #F2B56E); color:#FFFFFF; color:light-dark(#FFFFFF, #20201E); }
.chart-box { border-radius:16px; background:#FBF9F5; background:light-dark(#FBF9F5, #22231F); border:1px solid #EEE9E1; border:1px solid light-dark(#EEE9E1, #393A32); padding:12px 8px 4px; }
.view[hidden] { display:none; }
.chart-foot { display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:14px; font-size:13px; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); }
.chart-foot b { color:var(--ink); color:light-dark(var(--ink), #F4EFE5); font-weight:700; }
.chart-note { margin-top:10px; font-size:12.5px; line-height:1.55; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); max-width:80ch; }
.vchart { display:block; width:100%; height:auto; }
.vchart text { font-family:inherit; font-size:12px; fill:#736D65; fill:light-dark(#736D65, #A9A99D); }
.vchart .g { stroke:#E7E1D8; stroke:light-dark(#E7E1D8, #3A3B33); stroke-width:1; }
.vchart .b { stroke:#A39C92; stroke:light-dark(#A39C92, #77746C); stroke-width:1; stroke-dasharray:4 4; }
.vchart .ln { fill:none; stroke:var(--ink); stroke:light-dark(var(--ink), #F4EFE5); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }
.vchart .ar { fill:var(--amber); opacity:.24; }
.vchart .dd { fill:#C9A979; fill:light-dark(#C9A979, #8A6A3B); opacity:.5; }
.vchart .ddl { fill:none; stroke:#7A5A2A; stroke:light-dark(#7A5A2A, #E4C08A); stroke-width:1.8; stroke-linejoin:round; }
.vchart .end { fill:var(--amber); stroke:var(--ink); stroke:light-dark(var(--ink), #F4EFE5); stroke-width:2; }
.vchart .pos { fill:var(--ink); fill:light-dark(var(--ink), #F4EFE5); }
.vchart .neg { fill:#C9A979; fill:light-dark(#C9A979, #B58B52); }
.vchart .val { font-size:11.5px; font-weight:700; fill:var(--ink); fill:light-dark(var(--ink), #F4EFE5); }

/* 3. where the result came from */
.two { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
.three { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.card > h2 { font-size:clamp(20px, 2.1vw, 25px); line-height:1.1; letter-spacing:-.05em; font-weight:780; margin:0 0 16px; }
.flow { display:grid; gap:12px; }
.flow-row { display:grid; grid-template-columns:minmax(0, 9em) minmax(0, 1fr) auto; align-items:center; gap:12px; font-size:14px; }
.flow-row .bar { height:10px; border-radius:6px; background:#F1EDE6; background:light-dark(#F1EDE6, #33342D); position:relative; overflow:hidden; }
.flow-row .bar i { position:absolute; top:0; bottom:0; border-radius:6px; background:var(--ink); background:light-dark(var(--ink), #F4EFE5); }
.flow-row .bar i.neg { background:#C9A979; background:light-dark(#C9A979, #B58B52); }
.flow-row b { font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.flow-row.total { padding-top:12px; border-top:1px solid var(--line); border-top:1px solid light-dark(var(--line), #3A3B33); font-weight:750; }
.assets-wrap { overflow-x:auto; }
.assets { width:100%; border-collapse:collapse; font-size:14px; min-width:420px; }
.assets th, .assets td { padding:10px 0; border-top:1px solid var(--line); border-top:1px solid light-dark(var(--line), #3A3B33); text-align:left; vertical-align:middle; }
.assets thead th { font-size:12px; font-weight:600; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); border-top:0; padding-top:0; }
.assets .r { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.assets .bar { width:36%; padding-left:16px; }
.assets .bar i { display:block; height:8px; border-radius:4px; background:var(--ink); background:light-dark(var(--ink), #F4EFE5); }
.assets .bar i.neg { background:#C9A979; background:light-dark(#C9A979, #B58B52); }
/* 4. how it trades, risk, capital */
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.tags span { font-size:12.5px; padding:6px 10px; border-radius:999px; border:1px solid #DCD6CE; border:1px solid light-dark(#DCD6CE, #45463B); }
.card .fine { font-size:12.5px; line-height:1.55; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); margin-top:12px; }
/* 5. from the leader, audit trail */
details.more summary { cursor:pointer; font-size:14px; font-weight:700; list-style:none; display:inline-flex; align-items:center; gap:8px; min-height:40px; }
details.more summary::-webkit-details-marker { display:none; }
details.more summary::after { content:"+"; font-weight:800; }
details.more[open] summary::after { content:"−"; }
.quote { font-size:15px; line-height:1.7; margin-top:6px; padding-left:16px; border-left:3px solid var(--amber); white-space:pre-line; overflow-wrap:anywhere; }
.quote-lead { font-size:15px; line-height:1.7; padding-left:16px; border-left:3px solid var(--amber); overflow-wrap:anywhere; }
.leader:has(details.more[open]) .quote-lead { display:none; }
.leader details.more { margin-top:6px; }
.sha code { display:block; margin-top:6px; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:12.5px; overflow-wrap:anywhere; background:#F7F2E9; background:light-dark(#F7F2E9, #30312A); padding:8px 10px; border-radius:10px; }
.examples { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:22px; font-size:13px; color:var(--muted); color:light-dark(var(--muted), #C4BFB3); }
.examples a { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:6px 8px 6px 16px; border-radius:999px; border:1px solid #DCD6CE; border:1px solid light-dark(#DCD6CE, #45463B); background:#FFFFFF; background:light-dark(#FFFFFF, #262720); color:var(--ink); color:light-dark(var(--ink), #F4EFE5); font-weight:700; text-decoration:none; }
.examples a:hover { border-color:var(--ink); border-color:light-dark(var(--ink), #F4EFE5); }
.examples > span { margin-right:4px; }
/* refused */
.reason { font-size:clamp(28px, 3.4vw, 42px); line-height:1.04; letter-spacing:-.06em; font-weight:800; margin-top:22px; }
.why { font-size:16px; line-height:1.6; margin-top:12px; max-width:52ch; }
@media (max-width: 900px) {
  .sum-top { grid-template-columns:1fr; }
  .three { grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px) {
  .sum h1 { font-size:clamp(30px, 9vw, 40px); }
  .score-big { font-size:clamp(52px, 16vw, 72px); }
  .nums { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .nums div:nth-child(3) { padding-left:0; border-left:0; }
  .nums div:nth-child(n+3) { border-top:1px solid var(--line); border-top:1px solid light-dark(var(--line), #3A3B33); }
  .two, .three { grid-template-columns:1fr; }
  .assets .bar { width:26%; }
  .flow-row { grid-template-columns:minmax(0, 7.5em) minmax(0, 1fr) auto; }
}
.two > *, .three > *, .sum-top > *, .card { min-width:0; }
