/* ==========================================================================
   BotPlaza — Output previews (.pv). Depends on tokens.css.
   Every size is in cqi (1% of the preview's own width), so ONE markup
   renders identically as a 380px card thumbnail and a 1200×800 PNG.
   Stage is always 3:2.
   ========================================================================== */
.pv { container-type: inline-size; position: relative; aspect-ratio: 3 / 2; width: 100%; overflow: hidden; isolation: isolate;
  /* v3: cool dark stage, no glow — the light sheet carries the contrast */
  background: linear-gradient(180deg, var(--sa-surface-2) 0%, var(--sa-surface) 100%);
  color: var(--sa-ink); font-family: var(--sa-font-ui); }
.pv * { box-sizing: border-box; }
.pv-flag { position: absolute; top: 2.6cqi; right: 2.6cqi; z-index: 3; font: 600 1.5cqi/1 var(--sa-font-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--sa-text-2); background: rgba(11,13,20,.72); border: 1px dashed var(--sa-line-field); padding: .95cqi 1.35cqi; border-radius: .7cqi; backdrop-filter: blur(4px); }
.pv-doc { position: absolute; left: 50%; top: 7cqi; transform: translateX(-50%); width: 76cqi; background: var(--sa-sheet); border-radius: .7cqi;
  box-shadow: 0 .2cqi .4cqi rgba(0,0,0,.45), 0 3cqi 7cqi -2cqi rgba(0,0,0,.55); padding: 4.2cqi 4.6cqi; }
.pv-doc--tall { bottom: -4cqi; } /* runs off the bottom edge: reads as "more below" */
.pv-k { font: 600 1.45cqi/1 var(--sa-font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-print-accent); }
.pv-m { font: 500 1.5cqi/1.3 var(--sa-font-ui); color: var(--sa-ink-3); letter-spacing: .02em; }
.pv-h { font: 400 4.2cqi/1.05 var(--sa-font-display); letter-spacing: -.01em; color: var(--sa-ink); }
.pv-t { font-family: var(--sa-font-text); font-size: 1.9cqi; line-height: 1.42; color: var(--sa-ink-2); font-variation-settings: "opsz" 10; }
.pv-t b { color: var(--sa-ink); font-weight: 600; }
.pv-rule { border: 0; border-top: 1px solid var(--sa-rule); margin: 2cqi 0; }
.pv-sec { font: 700 1.4cqi/1 var(--sa-font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-ink); padding-bottom: .9cqi; border-bottom: 1px solid var(--sa-ink); margin-bottom: 1.3cqi; }
.pv-pill { display: inline-flex; align-items: center; height: 2.6cqi; padding: 0 1.1cqi; border-radius: 99cqi; font: 600 1.35cqi/1 var(--sa-font-ui); letter-spacing: .04em; background: var(--sa-paper-2); color: var(--sa-ink-2); white-space: nowrap; }
.pv-pill--hot { background: var(--sa-print-accent-soft); color: var(--sa-print-accent-ink); }
.pv-pill--ok { background: var(--sa-print-green-soft); color: var(--sa-print-green); }
.pv-av { width: 3.6cqi; height: 3.6cqi; border-radius: 50%; display: inline-grid; place-items: center; font: 600 1.35cqi/1 var(--sa-font-ui); color: var(--sa-sheet); flex: none; }

/* 1 · Morning Newspaper ------------------------------------------------- */
.pv-news { background: var(--sa-newsprint); background-image: radial-gradient(rgba(40,50,80,.05) 1px, transparent 1px); background-size: 3px 3px; border: 1px solid var(--sa-rule); border-radius: .3cqi; width: 80cqi; padding: 3.6cqi 4.2cqi; font-family: var(--sa-font-text); color: var(--sa-ink); }
.pv-news__ears { display: flex; justify-content: space-between; font: 500 1.2cqi/1 var(--sa-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--sa-ink-3); }
.pv-news__mast { text-align: center; font: 400 8.4cqi/.95 var(--sa-font-display); letter-spacing: -.02em; margin: .8cqi 0 1.2cqi; white-space: nowrap; }
.pv-news__date { display: flex; justify-content: space-between; padding: .7cqi 0; border-top: 3px double var(--sa-ink); border-bottom: 1px solid var(--sa-ink); font: 500 1.25cqi/1 var(--sa-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.pv-news__grid { display: grid; grid-template-columns: 1.55fr 1fr 0.95fr; margin-top: 2cqi; }
.pv-news__grid > div { padding: 0 1.8cqi; border-left: 1px solid var(--sa-rule); }
.pv-news__grid > div:first-child { padding-left: 0; border-left: 0; }
.pv-news__grid > div:last-child { padding-right: 0; }
.pv-news__hed { font-weight: 600; font-variation-settings: "opsz" 60; font-size: 3.5cqi; line-height: 1.02; letter-spacing: -.015em; margin: .8cqi 0 1.1cqi; text-wrap: balance; }
.pv-news__hed--sm { font-size: 2.15cqi; line-height: 1.1; margin-top: .6cqi; }
.pv-news__p { font-size: 1.5cqi; line-height: 1.42; color: var(--sa-ink-2); font-variation-settings: "opsz" 8; }
.pv-news__p::first-letter { float: left; font: 400 4.6cqi/.8 var(--sa-font-display); color: var(--sa-print-accent); padding: .3cqi .4cqi 0 0; }
.pv-news__p--plain::first-letter { all: unset; }
.pv-news__wx { display: flex; align-items: center; gap: 1cqi; }
.pv-news__temp { font: 400 5.4cqi/.9 var(--sa-font-display); }
.pv-news__day { list-style: none; margin: 0; padding: 0; font-size: 1.45cqi; line-height: 1.3; }
.pv-news__day li { display: grid; grid-template-columns: 5.4cqi 1fr; padding: .55cqi 0; border-bottom: 1px dotted var(--sa-ink-4); }
.pv-news__day li:last-child { border: 0; }
.pv-news__day time { font: 600 1.25cqi/1.5 var(--sa-font-ui); color: var(--sa-print-accent); }

/* 2 · Research Brief ---------------------------------------------------- */
.pv-research .pv-h { font-size: 3.9cqi; max-width: 92%; margin: 1.2cqi 0 1.4cqi; text-wrap: balance; }
.pv-research__meta { display: flex; gap: 1.2cqi; align-items: center; flex-wrap: wrap; }
.pv-bottom { margin-top: 2.4cqi; padding: 1.8cqi 2.2cqi; background: var(--sa-paper); border-left: .5cqi solid var(--sa-print-accent); border-radius: 0 .6cqi .6cqi 0; }
.pv-bottom .pv-t { font-size: 1.95cqi; color: var(--sa-ink); }
.pv-findings { list-style: none; margin: 2.2cqi 0 0; padding: 0; counter-reset: f; display: grid; gap: 1.3cqi; }
.pv-findings li { counter-increment: f; display: grid; grid-template-columns: 3.4cqi 1fr; }
.pv-findings li::before { content: counter(f); font: italic 400 2.8cqi/1 var(--sa-font-display); color: var(--sa-print-accent); }
.pv-cite { font: 600 1.15cqi/1 var(--sa-font-ui); color: var(--sa-print-blue); vertical-align: super; margin-left: .2cqi; }

/* 3 · Inbox Digest ------------------------------------------------------ */
.pv-inbox { padding: 0; overflow: hidden; }
.pv-inbox__head { padding: 3.4cqi 4cqi 2.4cqi; display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 1px solid var(--sa-rule); }
.pv-inbox__head .pv-h { font-size: 3.8cqi; }
.pv-inbox__count { text-align: right; }
.pv-inbox__count b { display: block; font: 400 4.6cqi/1 var(--sa-font-display); color: var(--sa-print-accent); }
.pv-inbox__grp { padding: 1.6cqi 4cqi .4cqi; }
.pv-mail { display: grid; grid-template-columns: 3.6cqi 1fr auto; gap: 1.6cqi; align-items: center; padding: 1.15cqi 0; border-bottom: 1px solid var(--sa-rule); font-size: 1.6cqi; line-height: 1.3; }
.pv-mail:last-child { border-bottom: 0; }
.pv-mail b { display: block; font-weight: 600; color: var(--sa-ink); }
.pv-mail span.pv-mail__s { display: block; color: var(--sa-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pv-mail--sus { background: var(--sa-print-accent-soft); margin: 0 -4cqi; padding-inline: 4cqi; border-bottom: 0; }
.pv-ignore { display: flex; gap: .4cqi; height: 1.1cqi; border-radius: 1cqi; overflow: hidden; margin-top: 1cqi; }
.pv-ignore i { display: block; background: #D9D0C0; }

/* 4 · Meeting Prep Brief ------------------------------------------------ */
.pv-meet__time { display: inline-flex; align-items: center; gap: 1cqi; font: 600 1.5cqi/1 var(--sa-font-ui); color: var(--sa-ink); background: var(--sa-paper-2); padding: .9cqi 1.3cqi; border-radius: .6cqi; }
.pv-meet__time i { width: 1cqi; height: 1cqi; border-radius: 50%; background: var(--sa-print-green); }
.pv-meet .pv-h { margin: 1.8cqi 0 1cqi; font-size: 3.9cqi; }
.pv-meet__goal { font-size: 1.7cqi; color: var(--sa-ink-2); }
.pv-meet__goal b { color: var(--sa-ink); }
.pv-people { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6cqi; margin: 2.2cqi 0; }
.pv-person { display: flex; gap: 1.2cqi; align-items: flex-start; padding: 1.4cqi; border: 1px solid var(--sa-rule); border-radius: .8cqi; font-size: 1.45cqi; line-height: 1.35; color: var(--sa-ink-3); }
.pv-person b { display: block; font-size: 1.65cqi; color: var(--sa-ink); font-weight: 600; }
.pv-sayask { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4cqi; }
.pv-sayask ol { margin: 0; padding-left: 2.2cqi; font-family: var(--sa-font-text); font-size: 1.6cqi; line-height: 1.4; color: var(--sa-ink-2); }
.pv-sayask li + li { margin-top: .5cqi; }
.pv-sayask li::marker { color: var(--sa-print-accent); font-weight: 600; }
.pv-watch { margin-top: 2cqi; padding: 1.2cqi 1.6cqi; border-radius: .6cqi; background: #F6EBDD; color: #6A4A12; font-size: 1.5cqi; line-height: 1.3; }
.pv-watch b { color: #4A330B; }

/* 5 · Weekly Planner ---------------------------------------------------- */
.pv-plan__stats { display: flex; gap: 3cqi; margin: 1.4cqi 0 2.4cqi; }
.pv-plan__stats div { font-size: 1.45cqi; color: var(--sa-ink-3); }
.pv-plan__stats b { display: block; font: 400 3.6cqi/1 var(--sa-font-display); color: var(--sa-ink); margin-bottom: .3cqi; }
.pv-week { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.2cqi; }
.pv-day { border-top: 1px solid var(--sa-ink); padding-top: .9cqi; }
.pv-day__n { display: flex; justify-content: space-between; font: 600 1.4cqi/1 var(--sa-font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--sa-ink); }
.pv-day__n span { font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--sa-ink-3); }
.pv-day__col { position: relative; height: 15cqi; margin-top: 1cqi; background: repeating-linear-gradient(var(--sa-paper) 0 2.4cqi, var(--sa-sheet) 2.4cqi 2.5cqi); border-radius: .4cqi; overflow: hidden; }
.pv-blk { position: absolute; left: .5cqi; right: .5cqi; border-radius: .35cqi; font: 600 1.15cqi/1.15 var(--sa-font-ui); padding: .5cqi .6cqi; overflow: hidden; }
.pv-blk--mtg { background: #DCD3C4; color: var(--sa-ink-2); }
.pv-blk--focus { background: var(--sa-print-green-soft); color: var(--sa-print-green); border-left: .4cqi solid var(--sa-print-green); }
.pv-blk--warn { background: var(--sa-print-accent-soft); color: var(--sa-print-accent-ink); }
.pv-blk--trip { background: #DDE4EC; color: var(--sa-print-blue); }
.pv-day__task { margin-top: .8cqi; font-size: 1.35cqi; line-height: 1.25; color: var(--sa-ink-2); }
.pv-top3 { margin-top: 2cqi; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6cqi; }
.pv-top3 div { font-size: 1.45cqi; line-height: 1.3; color: var(--sa-ink-3); padding-left: 1.2cqi; border-left: 2px solid var(--sa-print-accent); }
.pv-top3 b { display: block; color: var(--sa-ink); font-weight: 600; margin-bottom: .2cqi; }

/* 6 · Weekly Fitness Summary ------------------------------------------- */
.pv-fit { display: grid; grid-template-columns: 1fr 1.1fr; gap: 4cqi; }
.pv-fit__big { font: 400 11cqi/.9 var(--sa-font-display); letter-spacing: -.03em; color: var(--sa-ink); margin-top: 1.4cqi; }
.pv-fit__big small { font: 500 2.2cqi/1 var(--sa-font-ui); letter-spacing: 0; color: var(--sa-ink-3); margin-left: .6cqi; }
.pv-fit__delta { display: inline-block; margin-top: 1.2cqi; }
.pv-fit__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4cqi; margin-top: 2.4cqi; }
.pv-fit__row div { font-size: 1.4cqi; color: var(--sa-ink-3); border-top: 1px solid var(--sa-rule); padding-top: .9cqi; }
.pv-fit__row b { display: block; font: 600 2.2cqi/1.1 var(--sa-font-ui); color: var(--sa-ink); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.pv-cmp { display: grid; gap: 1.2cqi; margin-top: .4cqi; }
.pv-cmp__r { display: grid; grid-template-columns: 9cqi 1fr 6.5cqi; gap: 1cqi; align-items: center; font-size: 1.4cqi; color: var(--sa-ink-3); font-variant-numeric: tabular-nums; }
.pv-cmp__r b { color: var(--sa-ink); font-weight: 600; text-align: right; }
.pv-cmp__bar { height: 1.8cqi; background: var(--sa-paper-2); border-radius: .3cqi; overflow: hidden; }
.pv-cmp__bar i { display: block; height: 100%; background: #CFC5B4; border-radius: .3cqi; }
.pv-cmp__r--now .pv-cmp__bar i { background: var(--sa-ink); }
.pv-fit__note { margin-top: 2.2cqi; padding: 1.4cqi 1.6cqi; background: var(--sa-paper); border-radius: .6cqi; font-size: 1.5cqi; line-height: 1.35; color: var(--sa-ink-2); }
.pv-fit__note b { color: var(--sa-ink); }

/* 7 · Price Drop Watcher ----------------------------------------------- */
.pv-price { display: grid; grid-template-columns: 22cqi 1fr; gap: 3.4cqi; align-items: start; }
.pv-prod { aspect-ratio: 1; border-radius: .9cqi; background: radial-gradient(70% 70% at 50% 40%, #FFFFFF, #EFE8DC); position: relative; border: 1px solid var(--sa-rule); }
.pv-price__now { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6cqi 1.4cqi; margin-top: 1.2cqi; }
.pv-price__now b { font: 400 7.6cqi/1 var(--sa-font-display); letter-spacing: -.02em; color: var(--sa-ink); }
.pv-price__now s { font-size: 2cqi; color: var(--sa-ink-3); }
.pv-spark { margin-top: 1.8cqi; width: 100%; height: auto; display: block; }
.pv-still { margin-top: 2.2cqi; padding-top: 1.4cqi; border-top: 1px solid var(--sa-rule); display: grid; gap: .8cqi; font-size: 1.45cqi; color: var(--sa-ink-3); }
.pv-still div { display: flex; justify-content: space-between; gap: 1cqi; }
.pv-still b { color: var(--sa-ink-2); font-weight: 500; }

/* 8 · Reading Digest ---------------------------------------------------- */
.pv-read__item { display: grid; grid-template-columns: 5cqi 1fr; gap: 1.2cqi; padding: 2cqi 0; border-top: 1px solid var(--sa-rule); }
.pv-read__first { border-top: 1px solid var(--sa-ink); }
.pv-read__num { font: italic 400 5cqi/.9 var(--sa-font-display); color: var(--sa-print-accent); }
.pv-read__item h4 { margin: 0; font: 600 2.15cqi/1.2 var(--sa-font-text); color: var(--sa-ink); }
.pv-read__item .pv-m { margin: .6cqi 0 1cqi; }
.pv-wfw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2cqi; }
.pv-wfw div { font-family: var(--sa-font-text); font-size: 1.45cqi; line-height: 1.35; color: var(--sa-ink-2); }
.pv-wfw span { display: block; font: 700 1.2cqi/1 var(--sa-font-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--sa-ink); margin-bottom: .5cqi; }
.pv-caveat { margin-top: 1cqi; font: italic 400 1.4cqi/1.3 var(--sa-font-text); color: var(--sa-ink-3); }

.pv-hl { margin-top: 2.4cqi; display: grid; gap: .9cqi; }
.pv-hl div { display: grid; grid-template-columns: 2.4cqi 1fr; font-family: var(--sa-font-text); font-size: 1.6cqi; line-height: 1.4; color: var(--sa-ink-2); }
.pv-hl div::before { content: "—"; color: var(--sa-print-accent); }

/* Team preview · handoff log (a document, not a chat) -------------------- */
.pv-log .pv-h { font-size: 3.6cqi; margin: 1cqi 0 .6cqi; }
.pv-log__sub { display: flex; gap: 1.2cqi; align-items: center; flex-wrap: wrap; }
.pv-log__list { list-style: none; margin: 2.2cqi 0 0; padding: 0; border-top: 1px solid var(--sa-ink); }
.pv-log__row { display: grid; grid-template-columns: 6.4cqi 9.6cqi minmax(0, 1fr) auto; align-items: center; gap: 1.6cqi; padding: 1.25cqi 0; border-bottom: 1px solid var(--sa-rule); }
.pv-log__t { font: 600 1.3cqi/1 var(--sa-font-ui); color: var(--sa-ink-3); letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.pv-log__who { display: flex; align-items: center; gap: .5cqi; }
.pv-log__who i { font: 400 1.6cqi/1 var(--sa-font-ui); font-style: normal; color: var(--sa-ink-4); }
.pv-mono { --c: var(--sa-print-accent); width: 3.6cqi; height: 3.6cqi; border-radius: 50%; display: grid; place-items: center; flex: none; background: color-mix(in srgb, var(--c) 12%, var(--sa-sheet)); color: var(--c); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent); font: 400 2cqi/1 var(--sa-font-display); }
.pv-mono[data-tint="ember"] { --c: var(--sa-print-accent); } .pv-mono[data-tint="gold"] { --c: var(--sa-print-gold); } .pv-mono[data-tint="green"] { --c: var(--sa-print-green); }
.pv-mono[data-tint="blue"] { --c: var(--sa-print-blue); } .pv-mono[data-tint="cream"] { --c: var(--sa-ink-2); }
.pv-mono[data-tint="rose"] { --c: #8A3D6B; }
.pv-mono--you { background: var(--sa-ink); color: var(--sa-sheet); box-shadow: none; font: 600 1.1cqi/1 var(--sa-font-ui); }
.pv-log__msg { font-family: var(--sa-font-text); font-size: 1.85cqi; line-height: 1.3; color: var(--sa-ink-2); font-variation-settings: "opsz" 10; min-width: 0; }
.pv-log__msg b { display: block; font: 600 1.25cqi/1.2 var(--sa-font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--sa-ink); margin-bottom: .45cqi; }
.pv-log__row--wait { background: linear-gradient(90deg, var(--sa-print-accent-soft), transparent); margin: 0 -1.4cqi; padding-inline: 1.4cqi; }
.pv-log__foot { margin-top: 1.8cqi; font: 500 1.35cqi/1.35 var(--sa-font-ui); color: var(--sa-ink-3); display: flex; gap: .8cqi; align-items: center; }
.pv-log__foot::before { content: ""; width: 1cqi; height: 1cqi; border-radius: 50%; background: var(--sa-print-gold); flex: none; }

/* ==========================================================================
   v2.2 previews: legal, careers (paper) and For-bots (terminal sheet)
   ========================================================================== */
.pv-tbl { width: 100%; border-collapse: collapse; font: 500 1.55cqi/1.3 var(--sa-font-ui); color: var(--sa-ink-2); }
.pv-tbl th { text-align: left; font: 700 1.15cqi/1 var(--sa-font-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--sa-ink); padding: 0 1cqi .9cqi 0; border-bottom: 1px solid var(--sa-ink); }
.pv-tbl td { padding: 1.3cqi 1cqi 1.3cqi 0; border-bottom: 1px solid var(--sa-rule); vertical-align: middle; }
.pv-tbl td b { color: var(--sa-ink); font-weight: 600; }
.pv-tbl .pv-serif { font: 400 1.9cqi/1.25 var(--sa-font-text); color: var(--sa-ink); }
.pv-pill--warn { background: #F6ECD4; color: #7A5300; }
.pv-pill--off { background: transparent; color: var(--sa-ink-3); box-shadow: inset 0 0 0 1px var(--sa-rule); }
.pv-pill--ink { background: var(--sa-ink); color: var(--sa-sheet); }
.pv-mark { background: linear-gradient(transparent 12%, #F9E3A6 12%, #F9E3A6 88%, transparent 88%); color: var(--sa-ink); padding: 0 .2em; }
.pv-tick { color: var(--sa-print-green); font-weight: 700; }
.pv-cross { color: var(--sa-print-accent); font-weight: 700; }
.pv-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6cqi; margin-top: 1.8cqi; }
.pv-cols3 > div { padding: 1.4cqi 1.5cqi; background: var(--sa-paper); border-radius: .6cqi; border-top: .45cqi solid var(--c, var(--sa-ink)); }
.pv-cols3 .pv-sec { border: 0; padding: 0; margin-bottom: .8cqi; color: var(--c, var(--sa-ink)); }
.pv-cols3 .pv-t { font-size: 1.55cqi; line-height: 1.35; }
.pv-split { display: grid; grid-template-columns: 1.15fr 1fr; gap: 2.4cqi; margin-top: 1.8cqi; align-items: start; }
.pv-box { padding: 1.6cqi 1.8cqi; border: 1px solid var(--sa-rule); border-radius: .7cqi; background: var(--sa-paper); }
.pv-box--hot { border-color: #C9CCF2; background: var(--sa-print-accent-soft); }
.pv-box--ok { border-color: #C9DCCF; background: var(--sa-print-green-soft); }
.pv-routes { list-style: none; margin: 1.6cqi 0 0; padding: 0; counter-reset: r; }
.pv-routes li { counter-increment: r; display: grid; grid-template-columns: 3.2cqi 1fr auto; align-items: center; gap: 1cqi; padding: .9cqi 0; border-bottom: 1px solid var(--sa-rule); }
.pv-routes li::before { content: counter(r); font: italic 400 2.6cqi/1 var(--sa-font-display); color: var(--sa-print-accent); }
.pv-routes .pv-t { font-size: 1.7cqi; }
.pv-letter p { font: 400 1.7cqi/1.5 var(--sa-font-text); color: var(--sa-ink-3); margin: 0 0 1.2cqi; }
.pv-letter p.pv-new { color: var(--sa-ink); background: #FBF0CF; box-shadow: -1.2cqi 0 0 #FBF0CF, 1.2cqi 0 0 #FBF0CF, inset .4cqi 0 0 var(--sa-print-gold); padding: 1cqi 0 1cqi 1.2cqi; border-radius: .3cqi; }
.pv-field { display: grid; grid-template-columns: 15cqi 1fr 2.4cqi; align-items: center; gap: 1.2cqi; padding: 1cqi 0; border-bottom: 1px solid var(--sa-rule); font: 500 1.6cqi/1.3 var(--sa-font-ui); color: var(--sa-ink-3); }
.pv-field span:nth-child(2) { padding: .8cqi 1.1cqi; border: 1px solid var(--sa-rule); border-radius: .5cqi; background: #FFFFFF; color: var(--sa-ink); }
.pv-submit { display: flex; align-items: center; gap: 1.4cqi; margin-top: 1.8cqi; }
.pv-btnmock { display: inline-flex; align-items: center; height: 4.2cqi; padding: 0 2.4cqi; border-radius: .7cqi; background: var(--sa-ink); color: var(--sa-sheet); font: 600 1.5cqi/1 var(--sa-font-ui); box-shadow: 0 0 0 .5cqi rgba(59,63,158,.18), 0 0 0 .2cqi var(--sa-print-accent); }
.pv-big { font: 400 9cqi/.9 var(--sa-font-display); color: var(--sa-ink); letter-spacing: -.02em; }
.pv-bar { height: 1.2cqi; border-radius: 99cqi; background: var(--sa-paper-2); overflow: hidden; }
.pv-bar i { display: block; height: 100%; background: var(--sa-print-green); border-radius: inherit; }
.pv-card { display: flex; gap: 2cqi; align-items: center; padding: 2cqi; border: 1px solid var(--sa-rule); border-radius: 1cqi; background: var(--sa-paper); }
.pv-card .pv-av { width: 7cqi; height: 7cqi; font: 400 3.4cqi/1 var(--sa-font-display); }
.pv-resume { padding: 2cqi; border: 1px solid var(--sa-rule); background: #FFFFFF; box-shadow: 0 .4cqi 1.4cqi -.6cqi rgba(0,0,0,.18); }
.pv-resume .pv-t { font-size: 1.7cqi; line-height: 1.45; margin-bottom: .5cqi; }
.pv-resume ul, .pv-box ul { margin: .6cqi 0 0; padding-left: 2cqi; }
.pv-mini-h { font: 400 2.6cqi/1 var(--sa-font-display); color: var(--sa-ink); }
.pv-count { font: 600 1.3cqi/1 var(--sa-font-ui); color: var(--sa-print-green); font-variant-numeric: tabular-nums; }

/* For-bots: terminal sheet (matches the Bot view shelf) */
.pv-term { position: absolute; left: 50%; top: 8cqi; transform: translateX(-50%); width: 78cqi; background: var(--sa-term); border: 1px solid var(--sa-line-2); border-radius: 1.4cqi; overflow: hidden;
  box-shadow: 0 .2cqi .4cqi rgba(0,0,0,.5), 0 3cqi 7cqi -2cqi rgba(0,0,0,.6); font: 400 1.95cqi/1.6 "JetBrains Mono", ui-monospace, monospace; font-variant-ligatures: none; color: var(--sa-code); }
.pv-term--tall { bottom: -4cqi; }
.pv-term__bar { display: flex; align-items: center; gap: 1.2cqi; padding: 1.5cqi 2.4cqi; background: var(--sa-bg-2); border-bottom: 1px solid var(--sa-line); font-size: 1.55cqi; color: var(--sa-text-3); }
.pv-term__bar b { color: var(--sa-text); font-weight: 500; }
.pv-term__bar span:last-child { margin-left: auto; padding: .3cqi .9cqi; border: 1px solid var(--sa-line-2); border-radius: .5cqi; font-size: 1.15cqi; }
.pv-term__body { padding: 2.4cqi 2.8cqi 2.8cqi; }
.pv-term .p { color: var(--sa-accent); }  .pv-term .k { color: var(--sa-code-key); }  .pv-term .g { color: var(--sa-code-str); }
.pv-term .b { color: var(--sa-code-link); }  .pv-term .d { color: var(--sa-text-3); }  .pv-term .w { color: var(--sa-text); font-weight: 500; }
.pv-term .h { color: var(--sa-accent); font-weight: 600; }
.pv-term .row { display: grid; grid-template-columns: 15cqi 1fr; gap: 1.6cqi; padding: .85cqi 0; border-bottom: 1px dashed var(--sa-line); }
.pv-term .row:last-child { border-bottom: 0; }
.pv-term .tag { display: inline-block; padding: 0 .8cqi; border-radius: .4cqi; font-size: 1.45cqi; line-height: 1.8; border: 1px solid currentColor; white-space: nowrap; }
.pv-term .btn { display: inline-block; padding: 0 1cqi; border-radius: .4cqi; background: var(--sa-accent-soft); color: var(--sa-accent); font-size: 1.45cqi; line-height: 1.9; }
.pv-term .dot { display: inline-block; width: 1.1cqi; height: 1.1cqi; border-radius: 50%; background: var(--sa-green); margin-right: 1cqi; vertical-align: .05em; }
.pv-term .dot--amber { background: var(--sa-gold); }
.pv-lanes { display: grid; gap: 1cqi; }
.pv-lane { display: grid; grid-template-columns: 16cqi 1fr; align-items: center; gap: 1.4cqi; padding: .9cqi 1.2cqi; border: 1px solid var(--sa-line); border-radius: .8cqi; background: var(--sa-bg); }
.pv-hand { display: inline-block; padding: .3cqi 1cqi; border: 1px dashed var(--sa-line-field); border-radius: .5cqi; font-size: 1.55cqi; color: var(--sa-text-2); }
.pv-hand--to { border-style: solid; border-color: var(--sa-accent); color: var(--sa-accent); }
.pv-tbl--dense .pv-serif { font-size: 1.65cqi; }
.pv-tbl--dense td:first-child, .pv-tbl--dense td:last-child, .pv-tbl--dense th { white-space: nowrap; }
