/* Desk layout. Tokens and row rules from docs/mockup.html. */
:root{
  --paper:#FAFAF7; --ink:#111111; --ink-2:#5E5E5A; --rule:#E6E6E6; --rule-strong:#111111;
  --amber:#E8A317; --amber-text:#8A5A00; --real:#1E7A3C; --late:#9B1C1C;
  --sans:"Geist",ui-sans-serif,system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#121212; --ink:#EDEDE8; --ink-2:#9A9A94; --rule:#2A2A2A; --rule-strong:#EDEDE8;
  --amber:#F0B02A; --amber-text:#F0B02A; --real:#4FBF73; --late:#F07167; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#121212; --ink:#EDEDE8; --ink-2:#9A9A94; --rule:#2A2A2A; --rule-strong:#EDEDE8;
  --amber:#F0B02A; --amber-text:#F0B02A; --real:#4FBF73; --late:#F07167; color-scheme:dark}

*{box-sizing:border-box}
html,body{max-width:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;padding-inline:16px;margin:0;overflow-x:clip}
.wrap{max-width:1120px;min-width:0;margin-inline:auto}
a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}

header.top{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px 32px;padding-block:18px 14px;border-bottom:1px solid var(--rule-strong)}
.mark{display:inline-flex;align-items:stretch;text-decoration:none;font-weight:800;font-size:26px;line-height:1;letter-spacing:-.02em}
.mark .slit{width:5px;background:var(--amber);margin-inline:7px}
.tag{margin:6px 0 0;font-size:14px;color:var(--ink-2);font-weight:400;letter-spacing:0}
h1.tag{font-size:14px}
nav.main{display:flex;flex-wrap:nowrap;gap:18px;font-size:14px;overflow-x:auto;white-space:nowrap;min-width:0;scrollbar-width:none;padding-block:4px}
nav.main::-webkit-scrollbar{display:none}
.mark{flex:none}
nav.main a[aria-current]{font-weight:600}
.asof{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.band{padding-block:20px 6px;max-width:70ch}
.band h1{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0 0 6px}
.band p{margin:0;color:var(--ink-2);font-size:14px}
.board-page .asof{margin:0 0 8px}

.stamp{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;border:2px solid var(--ink);padding:3px 6px;line-height:1.1;white-space:nowrap;text-decoration:none;color:var(--ink)}
a.stamp{text-decoration:none}
.stamp.real{color:var(--real);border-color:var(--real)}
.stamp.early{border-style:dashed;border-color:var(--ink-2);color:var(--ink-2)}
.stamp.tag-fact{display:inline-block;font-family:var(--sans);font-weight:400;letter-spacing:0;font-size:12px;line-height:1.2;padding:2px 7px;border:1px solid var(--rule);border-radius:2px;color:var(--ink);text-decoration:none;white-space:nowrap}
a.stamp.tag-fact:hover{text-decoration:underline}
.stamp.tag-fact.f-watching{color:var(--ink-2);border-color:transparent;padding-inline:0}
.stamp.tag-fact.f-surging{color:var(--amber-text);border-color:var(--amber);font-weight:600}
.ph .stamp.tag-fact{font-size:14px;padding:4px 9px}
.ph .stamp.tag-fact.f-watching{border-color:var(--rule);padding-inline:9px}
.stamp.active{background:var(--amber);border-color:var(--amber);color:#111111}

section.board{padding-block:22px 6px}
.label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline}
.label a{font-weight:400;letter-spacing:.04em;text-transform:none}
.row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) 6.4rem 4.8rem 3.6rem 9.2rem;gap:0 12px;align-items:baseline;padding-block:9px;border-bottom:1px solid var(--rule)}
.row.head{font-size:11px;color:var(--ink-2);border-bottom:1px solid var(--rule-strong);padding-block:4px}
.row.head .num{font-family:var(--sans);font-weight:400}
.pos{font-family:var(--mono);font-weight:500}
.proj{min-width:0}
.proj b{font-weight:600}
.proj a{text-decoration:none}
.proj a:hover{text-decoration:underline}
.proj p{margin:2px 0 0;font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}
.row .gain{font-size:17px;font-weight:600}
.row.head .gain{font-size:11px;font-weight:400}
.row .stars,.row .hn{color:var(--ink-2)}
.row.head .stars,.row.head .hn{color:var(--ink-2)}
.gain small{font-size:11px;font-weight:400;color:var(--ink-2)}
.dash{color:var(--ink-2);font-weight:400}
.gain.up{color:var(--amber-text)}
.row .v{text-align:right}
.empty{font-size:14px;color:var(--ink-2);padding-block:10px;border-bottom:1px solid var(--rule);margin:0}
.handset{width:62%;border-top:1px solid var(--rule-strong);margin:14px 0 0;padding-top:6px;font-size:13px;font-style:italic;color:var(--ink-2)}
@media (max-width:600px){
  .row{grid-template-columns:1.6rem minmax(0,1fr) auto;grid-template-areas:"pos proj gain" ". stars v";row-gap:4px}
  .row.head{grid-template-areas:"pos proj gain"}
  .row.head .stars,.row.head .v{display:none}
  .row>.pos{grid-area:pos}
  .row>.proj{grid-area:proj}
  .row>.gain{grid-area:gain}
  .row>.stars{grid-area:stars;text-align:left;font-size:13px}
  .row>.v{grid-area:v}
  .row>.hn{display:none}
  .handset{width:92%}
  .gain{white-space:normal}
}

.project{border:1px solid var(--rule);border-radius:2px;padding:24px;margin-block:24px 12px;min-width:0}
@media (max-width:640px){.project{padding:16px}}
.crumb{font-family:var(--mono);font-size:12px;color:var(--ink-2);overflow-wrap:anywhere}
.ph{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:6px}
.ph h1{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:0;line-height:1.1;overflow-wrap:anywhere}
@media (max-width:600px){.ph h1{font-size:28px}}
.ph .stamp{font-size:14px;padding:5px 9px}
.lede{max-width:68ch;margin:10px 0 0;overflow-wrap:anywhere}
.links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 0}
.figs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);margin:18px 0 0}
.figs div{padding:10px 12px 10px 0;min-width:0}
.figs dt{font-size:11px;color:var(--ink-2)}
.figs dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;overflow-wrap:anywhere}
.figs dd small{font-size:12px;color:var(--ink-2);font-weight:400}
@media (max-width:640px){.figs{grid-template-columns:repeat(3,minmax(0,1fr))}.figs dd{font-size:16px}}

svg text{font-family:var(--mono);font-size:11px;fill:var(--ink-2)}
svg .axis{stroke:var(--rule);stroke-width:1}
svg .l-stars{fill:none;stroke:var(--ink);stroke-width:2}
svg .bar{fill:var(--ink)}
figure{margin:22px 0 0;min-width:0}
figure svg,.chart svg{width:100%;height:auto;display:block}
figcaption{font-size:13px;color:var(--ink-2);margin-top:4px;max-width:72ch}

h2.plain,h3{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:22px 0 4px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:7px 8px 7px 0;border-bottom:1px solid var(--rule);vertical-align:baseline}
th{font-weight:400;font-size:11px;color:var(--ink-2);border-bottom-color:var(--rule-strong)}
td.num,th.num{text-align:right;padding-left:12px;white-space:nowrap}
.table-wrap{overflow-x:auto;max-width:100%}
.note{font-size:13px;color:var(--ink-2);margin:8px 0 0}
.late,.late td{color:var(--late)}

.board-page h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:18px 0 8px}
.prose{max-width:70ch;padding-block:24px 8px}
.prose.admin{max-width:none}
.prose h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}
.prose h2{font-size:17px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);margin:26px 0 6px}
.prose p,.prose li{margin:0 0 10px}
.prose ul{padding-left:18px}
.labels{display:grid;gap:8px;margin:14px 0}
.labels div{display:grid;grid-template-columns:7.6rem minmax(0,1fr);gap:12px;align-items:center;font-size:14px}
.paid{font-weight:600;border-left:2px solid var(--ink);padding-left:10px}
.chart{margin:8px 0 12px;min-width:0}

footer{border-top:1px solid var(--rule);padding-block:14px 32px;margin-top:28px;font-size:12px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px 18px}

.project>p{margin:10px 0 0}
.project ul{padding-left:18px;margin:8px 0 0}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
