/* Design tokens, locked off the approved crest + the brief's Robinhood Chain accent.
   bg/ink sampled from assets/avatar.png; lime is the chain's canonical #CCFF00,
   used as an accent thread only, never a fill. Type: IBM Plex Serif (deadpan
   report headers) + IBM Plex Sans (labels) + IBM Plex Mono (data, real case). */
:root{
  --bg: #0a0a09;
  --ink: #ECEAE0;
  --ink-dim: #8f8d82;
  --rule: #2b2b26;
  --rule-heavy: #46453d;
  --lime: #CCFF00;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;
}

@font-face{ font-family:'Plex Serif'; src:url('assets/fonts/plex-serif-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Plex Serif'; src:url('assets/fonts/plex-serif-400-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face{ font-family:'Plex Serif'; src:url('assets/fonts/plex-serif-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face{ font-family:'Plex Sans'; src:url('assets/fonts/plex-sans-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Plex Sans'; src:url('assets/fonts/plex-sans-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:'Plex Mono'; src:url('assets/fonts/plex-mono-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Plex Mono'; src:url('assets/fonts/plex-mono-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Plex Sans', 'IBM Plex Sans', system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
}

.sheet{
  max-width:1040px;
  margin:0 auto;
  padding:var(--space-5) var(--space-3) var(--space-6);
}

.rule{ border:none; border-top:1px solid var(--rule); margin:var(--space-4) 0; height:0; }
.rule--heavy{ border-top:1px solid var(--rule-heavy); margin-top:var(--space-3); }

/* ---- masthead ---- */
.masthead{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:var(--space-4);
  align-items:start;
}
.crest img{ display:block; width:72px; height:72px; }
.filer-name{
  font-family:'Plex Serif', Georgia, serif;
  font-weight:600;
  font-size:clamp(22px, 3.4vw, 30px);
  letter-spacing:0.01em;
  margin:0 0 6px;
}
.filer-sub{
  margin:0;
  color:var(--ink-dim);
  font-size:13px;
  letter-spacing:0.03em;
}
.filing-meta{ margin:2px 0 0; text-align:right; }
.filing-meta > div{ display:flex; justify-content:flex-end; gap:10px; font-size:12px; margin-bottom:4px; }
.filing-meta dt{ color:var(--ink-dim); font-weight:400; }
.filing-meta dd{ margin:0; font-family:'Plex Mono', monospace; letter-spacing:0.02em; }

/* ---- identifier row (CA), visible with no scroll ---- */
.identifier-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
}
.identifier-label{
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-dim);
}
.ca{
  font-family:'Plex Mono', monospace;
  font-size:clamp(13px, 2.6vw, 15px);
  color:var(--lime);
  background:transparent;
  border:1px solid var(--rule-heavy);
  padding:8px 12px;
  cursor:pointer;
  letter-spacing:0.01em;
  line-height:1.3;
  word-break:break-all;
  text-align:left;
}
.ca:hover{ border-color:var(--lime); }
.ca:focus-visible{ outline:2px solid var(--lime); outline-offset:2px; }
.copied{ font-size:12px; color:var(--lime); min-width:70px; }
.copied-hint{ font-size:12px; color:var(--ink-dim); }

/* ---- summary ---- */
.summary p{
  max-width:70ch;
  line-height:1.65;
  font-size:15px;
  color:var(--ink);
}

/* ---- holdings ---- */
.holdings h2{
  font-family:'Plex Serif', Georgia, serif;
  font-weight:600;
  font-size:18px;
  letter-spacing:0.02em;
  margin:0 0 var(--space-3);
}
.scroll-hint{ display:none; }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.grid-table{ min-width:820px; }

@media (max-width: 900px){
  .scroll-hint{
    display:block;
    margin:0 0 8px;
    font-size:11px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--ink-dim);
  }
  .table-scroll{
    mask-image:linear-gradient(to right, black calc(100% - 28px), transparent 100%);
    -webkit-mask-image:linear-gradient(to right, black calc(100% - 28px), transparent 100%);
  }
}

.row-grid{
  display:grid;
  grid-template-columns: 1.1fr 1.25fr 1.7fr 1.7fr 1.5fr 1.05fr;
  column-gap:16px;
  align-items:center;
}
.head-row{
  padding:0 0 10px;
  border-bottom:1px solid var(--rule-heavy);
  font-size:11px;
  letter-spacing:0.07em;
  text-transform:uppercase;
  color:var(--ink-dim);
}
.head-row span{ padding-right:4px; }

details.holding{ border-bottom:1px solid var(--rule); }
details.holding > summary{
  list-style:none;
  cursor:pointer;
  padding:13px 0;
  display:flex;
  align-items:center;
  gap:10px;
}
details.holding > summary::-webkit-details-marker{ display:none; }
details.holding > summary .row-grid{ flex:1 1 auto; font-size:13.5px; }
details.holding > summary b{ font-weight:600; }
details.holding > summary:hover{ background:rgba(204,255,0,0.04); }
.chevron{
  flex:0 0 auto;
  color:var(--ink-dim);
  transition:transform 0.15s ease;
  font-size:11px;
}
details.holding[open] .chevron{ transform:rotate(90deg); color:var(--lime); }
details.holding .note{
  margin:0 0 16px;
  padding:0 0 0 4px;
  max-width:68ch;
  font-size:13px;
  line-height:1.6;
  color:var(--ink-dim);
  font-style:italic;
}
details.holding .note b{ color:var(--ink); font-style:normal; }

/* ---- footer ---- */
.filing-footer{ color:var(--ink-dim); font-size:12px; line-height:1.6; }
.filing-footer .boilerplate{ max-width:68ch; }
.distribution a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--rule-heavy); }
.distribution a:hover{ border-color:var(--lime); color:var(--lime); }
.distribution sup{ font-size:9px; }
.distribution .sep{ margin-right:4px; }
.page-marker{ font-family:'Plex Mono', monospace; letter-spacing:0.01em; margin-top:var(--space-2); }
#clock{ color:var(--ink); }

/* ---- reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  .chevron{ transition:none; }
}

/* ---- responsive ---- */
@media (max-width: 920px){
  .sheet{ padding:var(--space-4) var(--space-2) var(--space-5); }
  .masthead{ grid-template-columns:auto 1fr; }
  .filing-meta{ grid-column:1 / -1; text-align:left; margin-top:var(--space-2); }
  .filing-meta > div{ justify-content:flex-start; }
}

@media (max-width: 480px){
  .masthead{ grid-template-columns:auto 1fr; column-gap:var(--space-2); }
  .crest img{ width:56px; height:56px; }
  .filer-name{ font-size:20px; }
  .identifier-row{ gap:8px 14px; }
}
