/* Caverio synthesis · direction 2 "arrival" · 2026-09-17
   Tokens come from caverio.css. Green = observed inflow / a covered buy only. Rose = observed outflow, a sell, a lower balance.
   Ochre = the public call. Blue = attention and theses. Bone = us (first seen), now, the cap path. Hatch = not on file. */
:root{--cv-amber:#E3B75A;--cv-unknown-hatch:repeating-linear-gradient(135deg,rgba(233,237,231,.42) 0 1px,transparent 1px 4px)}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit}
.num{font-family:var(--cv-font-data);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lbl{font-family:var(--cv-font-data);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--cv-bone-62);font-weight:500}
.absent{color:var(--cv-bone-40);font-style:italic}

/* page chrome */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid var(--line);position:relative}
.top .cv-brand img{width:22px;height:22px}
.top .status{font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40);letter-spacing:.06em;text-align:right}
.intro{padding:22px 28px 6px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.intro h1{font-family:var(--cv-font-editorial);font-weight:400;font-size:34px;margin:0;letter-spacing:-.01em;line-height:1}
.intro p{margin:6px 0 0;color:var(--cv-bone-62);font-size:14px;max-width:720px}
.intro .aside{font-size:13px;color:var(--cv-bone-62);text-align:right;max-width:340px}
.count{padding:0 28px 12px;font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40)}

/* board */
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 28px 40px}
@media(max-width:1100px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.board{grid-template-columns:minmax(0,1fr);padding:0 14px 30px;gap:14px}.top,.intro,.count{padding-left:14px;padding-right:14px}.intro h1{font-size:28px}}

/* card */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--cv-radius-card);padding:16px 18px 12px;display:flex;flex-direction:column;gap:10px;cursor:pointer;min-width:0;border-left-width:3px}
.card:hover{background:#1b211f}
.card.stage-forming{border-left-color:var(--cv-bone-18)}.card.stage-confirming{border-left-color:var(--cv-bone-40)}.card.stage-active{border-left-color:var(--cv-bone-70)}.card.stage-fading,.card.stage-cooling{border-left-color:var(--cv-bone-12)}
.cardhead{display:flex;align-items:center;gap:10px;min-width:0}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--raised);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--cv-font-data);font-size:13px;color:var(--cv-bone-70);flex-shrink:0}
.ident{display:flex;flex-direction:column;min-width:0;flex:1}
.ident .sym{font-size:15px;font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ident .sub{font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-62)}
.stage{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--cv-bone-18);border-radius:var(--cv-radius-chip);padding:3px 8px;font-size:12px;color:var(--cv-bone-70);text-transform:capitalize;white-space:nowrap}
.stage i{width:5px;height:5px;border-radius:50%;background:var(--cv-bone-40)}
.stage-active .stage i,.stage-confirming .stage i{background:var(--cv-bone)}
.icon{background:none;border:1px solid transparent;color:var(--cv-bone-40);border-radius:var(--cv-radius-control);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0}
.icon:hover{color:var(--cv-bone);border-color:var(--line)}
.icon.copy.done{color:var(--cv-green)}
.icon.pin.on{color:var(--cv-ochre)}

/* the read: serif, one sentence, derived from the order */
.read{font-family:var(--cv-font-editorial);font-size:18px;line-height:1.3;margin:0;letter-spacing:-.005em}
.read.big{font-size:24px;max-width:900px}

/* the strip */
.stripwrap{margin:0;width:100%;min-width:0}
.strip{display:block;overflow:visible}
.strip .axl{font-family:var(--cv-font-data);font-size:12px;fill:var(--cv-bone-62)}
.strip .axl-amber{fill:var(--cv-amber)}
.strip .gap{font-family:var(--cv-font-data);font-size:12px;fill:var(--cv-bone-40)}

/* the typed list under the strip: the order in words, same glyphs */
.arrivals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--cv-bone-70)}
.arrivals li{display:flex;align-items:flex-start;gap:6px;max-width:100%;min-width:0;line-height:1.35}
.arrivals li b{font-family:var(--cv-font-data);font-weight:500;color:var(--cv-bone-62);font-size:12px}
.arrivals li span{min-width:0}
.arrivals li b,.arrivals li i.gap{white-space:nowrap;flex-shrink:0}
.arrivals svg.g{margin-top:1px}
.arrivals li i.gap{font-style:normal;font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40);min-width:58px;text-align:right}
.arrivals li i.gap::after{content:" ›"}
.arrivals li:not(:has(i.gap))>svg:first-child{margin-left:64px}
.arrivals li.unplaced>svg:first-child,.arrivals li.ev-attention>svg:first-child{margin-left:64px}
.arrivals li.ev-buy span{color:var(--ink)}
.arrivals li.ev-sell span,.arrivals li.ev-reduce span{color:var(--cv-rose)}
.arrivals li.ev-call span{color:var(--cv-ochre)}
.arrivals li.ev-attention span,.arrivals li.ev-thesis span{color:var(--cv-blue)}
.arrivals li.unplaced span,.arrivals li.more{color:var(--cv-bone-40);font-style:italic}
.arrivals svg{flex-shrink:0;overflow:visible}

.notyet{margin:0;font-size:12.5px;color:var(--cv-bone-62);line-height:1.4}
.notyet .lbl{margin-right:6px;color:var(--cv-bone-40)}

/* cap block (constants) */
.capblock{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:4px}
.caprow{display:flex;justify-content:space-between;align-items:flex-start}
.caprow .since{text-align:right;font-size:13px;line-height:1.15}
.caprow .since em{font-style:normal;font-size:12px;color:var(--cv-bone-40);font-family:var(--font)}
.caprow .since.up{color:var(--cv-bone)}.caprow .since.down{color:var(--cv-bone-70)}
.cap{font-size:30px;line-height:1;font-weight:500;margin:-6px 0 4px}
.capline{margin:0;display:flex;flex-direction:column;gap:2px}
.capline .cl{display:block;width:100%}
.capline figcaption{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--cv-bone-40);font-family:var(--cv-font-data)}
.pl{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--cv-bone-62);flex-wrap:wrap}
.pl b{color:var(--ink);font-weight:500}
.pl em{font-style:normal;color:var(--cv-bone-40);font-size:12px}

/* flow (constants) */
.flow{border-top:1px solid var(--line);padding-top:10px}
.flowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.flowhead .lbl{line-height:1.2;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--cv-bone-70);font-family:var(--font)}
.flowhead .lbl em{font-style:normal;font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40)}
.bars{flex:1;display:flex;justify-content:center;min-width:0;overflow:hidden}
.bars .absent{font-size:12px;white-space:normal;text-align:center;line-height:1.25;max-width:150px}
.bars .fb{display:block;max-width:100%}
.latest{text-align:right;font-size:14px;line-height:1.15;font-weight:500}
.latest em{font-style:normal;font-size:12px;color:var(--cv-bone-40);font-weight:400}
.latest.in{color:var(--cv-green)}.latest.out{color:var(--cv-rose)}.latest.absent{color:var(--cv-bone-40);font-weight:400}
.card footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:8px;font-size:12px;color:var(--cv-bone-40)}
.card footer a{color:var(--cv-bone-62);text-decoration:none}

/* situation view */
.situation{padding:0 28px 50px}
.sit-top{padding:18px 0 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.sit-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;padding-top:18px}
@media(max-width:900px){.sit-cols{grid-template-columns:minmax(0,1fr)}.situation{padding:0 14px 40px}.read.big{font-size:20px}}
.ledger h2,.block h2{margin:0 0 10px}
.ledgerlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gaprow{display:flex;align-items:center;gap:10px;padding:4px 0 4px 8px}
.gaprow i{width:2px;height:22px;background:var(--cv-bone-12);margin-left:0}
.gaprow .gap{font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40)}
.evrow{display:grid;grid-template-columns:18px 64px minmax(0,1fr);gap:10px;align-items:start;padding:4px 0}
.evrow .g{margin-top:2px;overflow:visible}
.evrow b{font-size:13px;color:var(--cv-bone-70);font-weight:500}
.evrow .what{display:block;font-size:14px;color:var(--ink)}
.evrow .det{display:block;font-size:12.5px;color:var(--cv-bone-62);margin-top:1px}
.ev-sell .evrow .what,.ev-reduce .evrow .what{color:var(--cv-rose)}
.ev-call .evrow .what{color:var(--cv-ochre)}
.ev-attention .evrow .what,.ev-thesis .evrow .what{color:var(--cv-blue)}
.unplaced .evrow .what{color:var(--cv-bone-62);font-style:italic}
.nowmark{display:block;width:2px;height:18px;background:var(--cv-bone);margin:2px auto 0}
.ledger .notyet{margin-top:16px;font-size:13.5px}
.change{margin:14px 0 0;font-size:13.5px;color:var(--cv-bone-70)}
.change .lbl{margin-right:6px;color:var(--cv-bone-40)}
.depth{display:flex;flex-direction:column;gap:16px}
.depth .capblock{border-top:0;padding-top:0}
.depth .cap{font-size:38px}
.block p{margin:0 0 4px;font-size:13.5px}
.block .det{font-size:12.5px;color:var(--cv-bone-62)}
.people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.people li{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:13px}
.people li b{font-weight:500}
.people .exp{font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-62);white-space:nowrap}
.people .exp-reduced,.people .exp-sold,.people .exp-sold-no-entry{color:var(--cv-rose)}
.people .exp-unchecked{background:var(--cv-unknown-hatch);padding:0 4px;color:var(--cv-bone-70);white-space:normal}
@media(max-width:600px){.people li{grid-template-columns:minmax(0,1fr);gap:2px}}
.unk{margin:0;padding-left:18px;font-size:12.5px;color:var(--cv-bone-62)}
.src{margin-top:10px;font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40)}
.back{font-size:13px;color:var(--cv-bone-62);text-decoration:none}

/* how to read (situation page only, one short paragraph, no legend on the board) */
.how{margin:0;padding:10px 0 0;font-size:12.5px;color:var(--cv-bone-62);display:flex;flex-wrap:wrap;gap:6px 16px}
.how span{display:inline-flex;align-items:center;gap:6px}

/* brand chrome lifted to the 12 px floor for this mockup */
.cv-tagline{font-size:12px}
@media(max-width:700px){.cv-wordmark{font-size:12px}}
.situation,.card{overflow-wrap:anywhere}
