/* Paid report v2, ported from website/design/report-plans/index.html (27 Oct 2026). Tokens live in product.css.
   The .vis gate on bars and dots is set by the server so the page reads without JS. */
.rwrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:44px}
.rail{position:sticky;top:20px;align-self:start;padding-top:36px}
.rail .lab{font:500 11px var(--mono);letter-spacing:.12em;color:var(--ink-3);margin-bottom:10px}
.rail a{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:14px;transition:background-color .3s,color .3s}
.rail a i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none;transition:background-color .3s,scale .5s var(--bounce)}
.rail a:hover{background:var(--raised)}
.rail a.on{background:var(--raised);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.rail a.on i{background:var(--coral);scale:1.3}
.rail a.read i{background:var(--ink)}
.rail .prog{margin-top:16px;height:4px;border-radius:9px;background:var(--sunk);overflow:hidden}.rail .prog i{display:block;height:100%;background:var(--coral);width:0;transition:width .3s}
main.rep{padding-bottom:140px;min-width:0}
.chap{padding-top:64px;scroll-margin-top:20px}
.chap>.kick{display:flex;align-items:center;gap:10px}
.chap>.kick b{font:600 11px var(--mono);color:var(--on-ink);background:var(--ink);border-radius:6px;padding:2px 7px;letter-spacing:.06em}
.chap h2{margin:10px 0 0;font:600 clamp(28px,3.4vw,40px)/1.08 var(--display);letter-spacing:-.025em}
.chap .so{margin:10px 0 22px;font-size:17px;color:var(--ink-2);max-width:720px}
.chap .so b{color:var(--ink)}
.mean{display:flex;gap:14px;align-items:center;margin-top:18px;padding:16px 18px;border-radius:16px;background:var(--raised);box-shadow:0 0 0 1px var(--line)}
.mean .mi{width:30px;height:30px;flex:none;border-radius:10px;background:var(--coral-wash);color:var(--coral-ink);display:flex;align-items:center;justify-content:center;font:700 14px var(--display)}
.mean p{margin:0;font-size:15px;flex:1;min-width:0}
.mean .btn{margin-left:auto;flex:none}
/* cover */
.cover{padding-top:34px;position:relative}
.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.big-head{margin:22px 0 0;font:600 clamp(36px,5vw,64px)/1.04 var(--display);letter-spacing:-.035em;max-width:900px;text-wrap:balance}
.big-head .rv{color:var(--ink-2)}
.big-head .mark{position:relative;white-space:nowrap;color:var(--coral)}
.big-head .mark svg{position:absolute;left:-14px;top:-10px;width:calc(100% + 28px);height:calc(100% + 20px);overflow:visible;pointer-events:none}
.big-head .mark ellipse{fill:none;stroke:var(--coral);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.big-head .mark.on ellipse{opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset .9s .5s var(--ease-out)}
.pennote{font:700 30px/1 var(--hand);color:var(--coral);rotate:-4deg;display:inline-block;margin-left:22px;vertical-align:.5em;letter-spacing:0;opacity:0;translate:0 6px;transition:opacity .4s 1.3s,translate .5s 1.3s var(--ease-out)}
.pennote.on{opacity:1;translate:0 0}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lb{margin-top:28px;padding:24px 26px}
.lb-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lb-h b{font:600 18px var(--display)}
.lbrow{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:16px;align-items:center;min-height:52px;border-radius:12px;padding:0 10px;cursor:pointer;transition:background-color .2s}
.lbrow:hover{background:var(--ivory)}
.lbrow .nm{font-weight:600;display:flex;align-items:center;gap:8px;min-width:0}
.lbrow.you .nm{color:var(--coral-ink)}
.lbtr{position:relative;height:14px;border-radius:99px;background:var(--sunk)}
.lbtr .bar{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--bar);transform-origin:left;transition:width .9s var(--ease-out)}
.lbrow.you .lbtr .bar{background:var(--coral)}
.lbrow:hover .lbtr .bar{filter:brightness(.92)}
.lbtr .band{position:absolute;top:-4px;bottom:-4px;border-radius:99px;box-shadow:inset 0 0 0 1.5px var(--line-strong);opacity:0;transition:opacity .25s,left .9s var(--ease-out),width .9s var(--ease-out)}
.lbrow:hover .band{opacity:1}
.lbv{white-space:nowrap;font:13px var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right}
.lbv b{font:600 16px var(--display);color:var(--ink)}
.finds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.find{padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;transition:translate .52s var(--bounce),box-shadow .38s}
@media (hover:hover){.find:hover{translate:0 -3px}}
.sev{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:99px;font:600 12px var(--sans);align-self:flex-start}
.sev i{width:7px;height:7px;border-radius:50%}
.sev.c{background:var(--coral-wash);color:var(--coral-ink)}.sev.c i{background:var(--coral)}
.sev.m{background:var(--amber-wash);color:var(--amber-ink)}.sev.m i{background:#e0a020}
.sev.g{background:var(--proof-wash);color:var(--proof-ink)}.sev.g i{background:var(--proof)}
.find h3{margin:0;font:600 20px/1.25 var(--display);letter-spacing:-.01em}
.find p{margin:0;font-size:14.5px;color:var(--ink-2);flex:1}
.find .row2{display:flex;gap:8px;flex-wrap:wrap}
.move{margin-top:16px;padding:26px 28px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center;background:var(--night);color:#f7f6f2}
.move .kick{color:#ff8a70}
.move h3{margin:8px 0 0;font:600 28px/1.15 var(--display);letter-spacing:-.02em}
.move p{margin:8px 0 0;color:#a8a69e}
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:end}
.ba .col{display:flex;flex-direction:column;gap:8px}
.ba .bars{display:flex;gap:4px;align-items:flex-end;height:90px}
.ba .bars i{flex:1;border-radius:6px 6px 2px 2px;background:#2e2e2c;transform-origin:bottom;scale:1 0;transition:scale .7s var(--bounce)}
.ba .bars i.y{background:var(--coral)}.ba .after .bars i.y{background:#5fbf8a}
.vis .ba .bars i{scale:1 1}
.ba .n{font:600 30px/1 var(--display);font-variant-numeric:tabular-nums}
.ba .l{font:11px var(--mono);letter-spacing:.1em;color:#a8a69e}
.ba .arr{color:#a8a69e;font-size:22px;padding-bottom:30px}
/* help tip */
.q{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:50%;background:var(--sunk);color:var(--ink-2);font:600 12px var(--sans);cursor:help;vertical-align:2px;margin-left:4px}
.q .tt{position:absolute;z-index:30;left:50%;bottom:calc(100% + 10px);width:min(260px,calc(100vw - 32px));visibility:hidden;translate:-50% 6px;opacity:0;pointer-events:none;background:var(--night);color:#f2f1ee;font:500 13px/1.5 var(--sans);text-align:left;padding:12px 14px;border-radius:12px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);transition:opacity .2s,translate .3s var(--ease-out),visibility .2s}
.q:hover .tt,.q:focus .tt,.q.on .tt{opacity:1;translate:-50% 0;visibility:visible}
.lb-h .seg{min-width:0;max-width:100%}
/* header help bubbles open below their header row, inside it, so they never stick out of the
   card or the screen (and a card's overflow:hidden cannot clip them) */
.lb-h,.q-h{position:relative}
.lb-h .q,.q-h .q{position:static}
.lb-h .q .tt,.q-h .q .tt{left:0;bottom:auto;top:calc(100% + 8px);width:min(300px,100%);translate:0 -4px}
.lb-h .q:hover .tt,.lb-h .q:focus .tt,.lb-h .q.on .tt,.q-h .q:hover .tt,.q-h .q:focus .tt,.q-h .q.on .tt{translate:0 0}  /* the app tabs shrink and scroll, never push the card wider */
/* visibility map */
.vm{padding:22px 24px 18px;overflow:hidden}
.vm-scroll{overflow-x:auto;padding-bottom:6px}
.vm-grid{display:grid;grid-template-columns:78px repeat(6,max-content);gap:0 12px;align-items:end;min-width:max-content}
.vm-col .gl{font:600 12.5px var(--sans);margin-bottom:4px;white-space:nowrap}
.vm-col .gs{font:11px var(--mono);color:var(--ink-3);margin-bottom:8px;white-space:nowrap}
.vm-cells{display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,17px);gap:3px}
.cell{width:17px;height:17px;border:0;border-radius:5px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-strong);cursor:pointer;padding:0;transition:scale .4s var(--bounce),box-shadow .2s,opacity .3s}
.cell.r{background:var(--bar);box-shadow:none}.cell.y{background:var(--coral);box-shadow:none}
.cell:hover,.cell:focus-visible{scale:1.3;box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--ink);z-index:2;position:relative}
.vm.dim .cell{opacity:.25}.vm.dim .cell.hl{opacity:1}
.vm-apps{display:grid;grid-template-rows:repeat(4,17px);gap:3px}
.vm-apps span{font:600 12.5px var(--sans);display:flex;align-items:center;white-space:nowrap}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;font-size:13.5px;color:var(--ink-2);align-items:center}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px}
.vtip{position:fixed;z-index:50;pointer-events:none;max-width:280px;background:var(--night);color:#f2f1ee;font:500 13px/1.45 var(--sans);padding:10px 12px;border-radius:12px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);opacity:0;translate:0 6px;transition:opacity .15s,translate .2s var(--ease-out)}
.vtip.on{opacity:1;translate:0 0}
.vtip b{display:block;font:500 11px var(--mono);letter-spacing:.08em;color:#a8a69e;margin-bottom:4px}
/* sources */
.src-row{display:grid;grid-template-columns:minmax(0,1.4fr) 110px minmax(0,1.3fr) 120px;gap:14px;align-items:center;min-height:62px;padding:8px 20px;border-top:1px solid var(--line-2);cursor:pointer;transition:background-color .2s}
.src-row:first-child{border-top:0}
.src-row:hover{background:var(--ivory)}
.src-row .dm{font:500 14px var(--mono);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.src-row .cnt{display:flex;align-items:center;gap:8px;font:13px var(--mono);color:var(--ink-2)}
.src-row .cnt i{display:block;height:6px;border-radius:9px;background:var(--bar)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
/* descriptions */
.desc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dcard{padding:20px 22px}
.dcard .who{display:flex;align-items:center;gap:8px;font:600 17px var(--display)}
.dcard.you{box-shadow:0 0 0 2px var(--coral),0 18px 36px -28px rgba(232,67,42,.5)}
.theme{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line-2);font-size:14.5px}
.theme span:last-child{font:12.5px var(--mono);color:var(--ink-3);white-space:nowrap}
.theme.neg span:first-child{color:var(--coral-ink)}
/* facts */
.frow{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) 120px;gap:16px;align-items:center;min-height:64px;padding:10px 22px;border-top:1px solid var(--line-2)}
.frow:first-child{border-top:0}
.frow .ai .wrong{text-decoration:underline wavy var(--coral);text-decoration-thickness:1.5px;text-underline-offset:4px}
.frow .src{display:block;font:12px var(--mono);color:var(--ink-3);margin-top:2px}
/* fix map */
.fm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.plot{position:relative;aspect-ratio:1.25;max-width:100%;border-radius:16px;background:var(--raised);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.plot .qd{position:absolute;width:50%;height:50%;display:flex;padding:12px 14px;font:500 11px var(--mono);letter-spacing:.08em;color:var(--ink-3)}
.plot .qd.tl{left:0;top:0;background:var(--coral-wash-2)}.plot .qd.tr{right:0;top:0;justify-content:flex-end}.plot .qd.bl{left:0;bottom:0;align-items:flex-end}.plot .qd.br{right:0;bottom:0;align-items:flex-end;justify-content:flex-end}
.plot .ax{position:absolute;font:11px var(--mono);color:var(--ink-3)}
.dot{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;border:0;border-radius:50%;background:var(--ink);color:var(--on-ink);font:600 14px var(--display);cursor:pointer;box-shadow:0 6px 14px -6px rgba(0,0,0,.5);transition:scale .5s var(--bounce);scale:0}
.vis .dot{scale:1}
.dot.pv{background:var(--proof-fill);color:#fff}
.dot:hover,.dot.hl{scale:1.18!important}
.flist .prow .num{width:28px;height:28px;flex:none;border-radius:50%;background:var(--ink);color:var(--on-ink);font:600 13px/28px var(--display);text-align:center}
.flist .prow .num.pv{background:var(--proof-fill);color:#fff}
/* explorer */
.ex-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line-2)}
.ex-bar .inp{height:44px;max-width:280px}
.fchip{height:38px;padding:0 14px;border:0;border-radius:999px;background:var(--ivory);color:var(--ink-2);font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:0 0 0 1px var(--line);transition:background-color .25s,color .25s,scale .45s var(--bounce)}
.fchip:active{scale:.94}
.fchip[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);box-shadow:none}
.ex-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px 40px;gap:14px;align-items:center;min-height:56px;padding:6px 18px;border-top:1px solid var(--line-2);cursor:pointer;transition:background-color .2s}
.ex-row:hover{background:var(--ivory)}
.ex-row .ad{display:flex;gap:6px}
.ex-row .ad i{width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.ex-row .ad i.r{background:var(--bar);box-shadow:none}.ex-row .ad i.y{background:var(--coral);box-shadow:none}
.ex-row.enter{animation:scrin .35s var(--ease-out) backwards}
/* answer drawer */
.abox{margin-top:14px;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.abox .ah{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;font-weight:600;font-size:13.5px;border-bottom:1px solid rgba(0,0,0,.06)}
.abox .ab{padding:16px 18px;font-size:15px;line-height:1.7}
.abox .ab .qb{display:block;width:max-content;max-width:85%;margin:0 0 12px auto;padding:8px 14px;border-radius:16px;font-size:14px}
.abox .ab b.me{background:var(--peach);color:inherit;padding:0 4px;border-radius:4px}
.abox .ab b.rv{border-bottom:2px solid var(--coral)}
.a-chatgpt{background:#fff;color:#0d0d0d}.a-chatgpt .qb{background:#eaf2fe;color:#2462c9}
.a-claude{background:#f8f7f2;color:#29261b}.a-claude .ab{font-family:Georgia,serif}.a-claude .qb{background:#ebe7dd;font-family:var(--sans)}
.a-gemini{background:#0e0e10;color:#e8e8ea}.a-gemini .qb{background:#26272b;color:#e8e8ea}.a-gemini .ah{border-color:rgba(255,255,255,.08)}
.a-perplexity{background:#f6f5f1;color:#202020}.a-perplexity .qb{background:#e9e8e3}.a-perplexity .ab b:not(.me){color:#1f6f78}
.srcchips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 16px}
.srcchips span{font:11.5px var(--mono);padding:4px 9px;border-radius:99px;background:rgba(0,0,0,.06)}
.a-gemini .srcchips span{background:rgba(255,255,255,.08)}
@media (max-width:1000px){.rwrap{grid-template-columns:1fr;gap:0}.rail{position:sticky;top:env(safe-area-inset-top,0px);z-index:16;padding:10px 0;margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-left:max(16px,env(safe-area-inset-left,0px));background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.rail .lab,.rail .prog{display:none}.rail a{flex:none}
 .finds,.desc3,.fm,.move{grid-template-columns:1fr}.lbrow{grid-template-columns:96px minmax(0,1fr) 88px;gap:10px}.src-row{grid-template-columns:minmax(0,1fr) 90px}.src-row .bk,.src-row .yo{display:none}.frow{grid-template-columns:1fr auto}.frow .fsite,.frow .ai{grid-column:1}.ex-row{grid-template-columns:minmax(0,1fr) 70px}.ex-row .ty,.ex-row .cn{display:none}}
.lb:not(.vis) .bar{width:0!important}
.btn.dark{--fg:var(--on-ink)}

.b.hlme,b.hlme{background:var(--peach);color:var(--ink);padding:0 4px;border-radius:4px}
.move .kick{font:500 11px var(--mono);letter-spacing:.12em}
.drawer{overflow-y:auto;padding:max(22px,env(safe-area-inset-top,0px)) max(26px,env(safe-area-inset-right,0px)) max(40px,env(safe-area-inset-bottom,0px)) 26px}
.drawer .ex-row{border-top:1px solid var(--line-2)}
.find .sev{margin-bottom:2px}
.frow .ai{font-size:15px}.frow .fsite{font-size:15px}
.flist .prow{gap:12px}
/* runs and shading by how many of 5 runs named you */
.cell.y{background:color-mix(in srgb,var(--coral) calc(28% + var(--k)*14.4%),transparent)}
.ex-row .ad i.y{background:color-mix(in srgb,var(--coral) calc(28% + var(--k)*14.4%),transparent)}
.abox .runs{display:inline-flex;gap:3px;margin-left:10px}
.abox .runs button{width:22px;height:22px;border:0;border-radius:6px;background:rgba(0,0,0,.06);color:inherit;font:500 11px var(--mono);cursor:pointer;transition:background-color .2s,scale .4s var(--bounce)}
.a-gemini .runs button{background:rgba(255,255,255,.08)}
.abox .runs button.y{box-shadow:inset 0 -3px 0 var(--coral)}
.abox .runs button.on{background:#111;color:#fff}.a-gemini .runs button.on{background:#e8e8ea;color:#111}
.abox .runs button:active{scale:.9}
/* plan locks */
.lockp{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px;border-radius:16px;background:#232321;color:#f2f1ee;border:1px dashed #4a4945}
.lockp svg{color:#ff8a70}.lockp span{color:#a8a69e;font-size:14px}
.lockp.lk2{margin-top:18px;background:var(--raised);color:var(--ink);border-color:var(--line-strong)}.lockp.lk2 span{color:var(--ink-2)}.lockp.lk2 svg{color:var(--coral)}
/* hand this to your coding agent */
.fixpack{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}
.fp{padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.fp b{font:600 18px var(--display)}.fp p{margin:0;color:var(--ink-2);font-size:14.5px}
.fp .mi2{width:36px;height:36px;border-radius:11px;background:var(--sunk);display:flex;align-items:center;justify-content:center;font:600 12px var(--mono);color:var(--ink-2)}
.fp.locked{background:transparent;box-shadow:0 0 0 1.5px var(--line-strong) inset}
.cmd{margin:0;white-space:pre-wrap;word-break:break-all;font:12.5px/1.6 var(--mono);background:var(--sunk);border-radius:12px;padding:12px 14px}
.tool{font:11.5px var(--mono);padding:4px 9px;border-radius:99px;background:var(--sunk);color:var(--ink-2)}
.livec{margin-top:16px;padding:18px 22px}.lv4{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
/* cover strip */
.agstrip[hidden]{display:none}.agstrip{margin-top:16px;padding:16px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.agstrip p{margin:0;font-size:15px}.agk{font-size:11px;letter-spacing:.12em;color:var(--coral-ink)}
.agthumb{position:relative;width:132px;height:76px;flex:none;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#f3efe6,#e6dfd0)}
.agthumb i{position:absolute;left:12px;top:14px;width:46px;height:46px;border-radius:8px;background:linear-gradient(150deg,#b07a4a,#7c5130)}
.agthumb span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;text-shadow:0 1px 6px rgba(0,0,0,.4)}
@media (max-width:1000px){.fixpack{grid-template-columns:1fr}}
/* server rendered additions */
.lbp[hidden]{display:none}
a.lbrow,a.cell,a.src-row,a.ex-row{color:inherit;text-decoration:none}
.vm-cells,.vm-apps{grid-template-rows:repeat(var(--apps,4),17px)}
.vm-grid{grid-template-columns:78px repeat(var(--groups,6),max-content)}
.cell{display:block}
.funeng+.funeng{margin-top:26px}
.funeng .fe{font:600 14px var(--sans);margin-bottom:10px}
.empty{padding:18px 20px;color:var(--ink-3);font-size:14.5px;margin:0}
.ex-q summary{list-style:none}.ex-q summary::-webkit-details-marker{display:none}
.ex-q[open]>summary{background:var(--ivory)}
.ex-ans{padding:4px 18px 18px}
.abox .ab{white-space:pre-line}
.agv{padding:22px 24px}
/* PR 3: script-driven bits (report_v2.js). Without JS none of these show. */
.report-v2 [hidden]{display:none!important}
.vtip{position:fixed;z-index:50;left:0;top:0;pointer-events:none;max-width:280px;background:var(--night);color:#f2f1ee;font:500 13px/1.45 var(--sans);padding:10px 12px;border-radius:12px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);opacity:0;translate:0 6px;transition:opacity .15s,translate .2s var(--ease-out)}
.vtip.on{opacity:1;translate:0 0}
.vtip b{display:block;font:500 11px var(--mono);letter-spacing:.08em;color:#a8a69e;margin-bottom:4px}
#vmgrid.hl-y .cell:not(.y),#vmgrid.hl-r .cell:not(.r){opacity:.22}
#vmgrid .cell{transition:opacity .25s,scale .3s var(--bounce)}
#vmgrid .cell:hover,#vmgrid .cell:focus-visible{scale:1.18}
.lbp.enter,.funp.enter{animation:scrin .35s var(--ease-out) backwards}
.drawer .ex-row[data-ans]{cursor:pointer}
.drawer .ex-row[data-ans]:hover{background:var(--sunk)}
.circ[role="button"]:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.lbp.enter,.funp.enter,.ex-row.enter,.ex-q.enter{animation:none}#vmgrid .cell:hover{scale:1}}
@media print{.drawer,.scrim,.vtip{display:none!important}}
@keyframes scrin{from{opacity:0;translate:0 8px}}
.ex-q.enter{animation:scrin .35s var(--ease-out) backwards}
/* agents chapter (PR 4), from website/design/report-plans/index.html; the stage shows the stored screenshots */
.agstrip{margin-top:16px;padding:16px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.agstrip p{margin:0;font-size:15px}.agk{font-size:11px;letter-spacing:.12em;color:var(--coral-ink)}
.agthumb{position:relative;width:132px;height:83px;flex:none;border-radius:12px;overflow:hidden;background:var(--sunk);box-shadow:0 0 0 1px var(--line)}
.agthumb img{width:100%;height:100%;object-fit:cover;display:block}
.agthumb span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;background:rgba(0,0,0,.18);text-shadow:0 1px 6px rgba(0,0,0,.4)}
.agnone{padding:22px 24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.agnone p{margin:0;flex:1;min-width:240px}
.player{padding:0;overflow:hidden}
.pl-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 18px}
.pl-h b{font:600 15px var(--sans)}
.stage{position:relative;margin:0 18px;aspect-ratio:1280/800;border-radius:14px;overflow:hidden;background:#fbfaf7;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.stage .shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ptr{position:absolute;left:50%;top:55%;z-index:5;width:22px;height:22px;margin:-2px 0 0 -4px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.hbox{position:absolute;z-index:4;border:2px solid #2f8f5b;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .25s,left .5s var(--ease-out),top .5s var(--ease-out),width .5s var(--ease-out),height .5s var(--ease-out)}
.hbox.bad{border-color:#e8432a}
.rip{position:absolute;z-index:4;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid #e8432a;pointer-events:none;animation:rip .65s var(--ease-out) forwards}
@keyframes rip{from{scale:.2;opacity:1}to{scale:1.4;opacity:0}}
.outc{position:absolute;z-index:6;right:18px;bottom:18px;width:min(340px,60%);padding:16px 18px;border-radius:14px;background:#111;color:#f2f1ee;display:flex;flex-direction:column;gap:6px;align-items:flex-start;opacity:0;translate:0 12px;pointer-events:none;transition:opacity .35s,translate .5s var(--bounce)}
.outc.show{opacity:1;translate:0 0;pointer-events:auto}
.outc b{font:600 17px var(--display)}.outc.bad b{color:#ff8a70}.outc.ok b{color:#5fbf8a}.outc span{font-size:13px;color:#b4b1a9}
.capstrip{margin:0 18px;padding:12px 4px 4px;font-size:14.5px;min-height:24px}
.capstrip .mono{font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin-right:8px}
.okk{color:var(--proof)}.badk{color:var(--coral)}
.ctrl{display:flex;align-items:center;gap:14px;padding:10px 18px 18px}
.playb{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:13px;cursor:pointer;transition:scale .45s var(--bounce)}
.playb:active{scale:.9}
.ptl{flex:1;display:flex;align-items:center;gap:6px;position:relative}
.ptl::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--line);z-index:0}
.td{position:relative;z-index:1;flex:1;height:26px;border:0;border-radius:8px;background:var(--sunk);color:var(--ink-3);font:500 11px var(--mono);cursor:pointer;transition:background-color .3s,color .3s}
.td.past{background:var(--ink-3);color:var(--on-ink)}.td.ms{background:var(--proof-fill);color:#fff}.td.bad{background:var(--coral);color:#fff}
.td.end{flex:none;width:30px;display:flex;align-items:center;justify-content:center;cursor:default}.td.end.ok{background:var(--proof-fill);color:#fff}.td.end.bad{background:var(--ink);color:var(--on-ink)}
.clipempty{margin:0 18px;padding:26px 24px;border-radius:14px;background:var(--sunk);display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--ink-2)}
.clipempty b{font:600 18px var(--display);color:var(--ink)}.clipempty svg{color:var(--ink-3)}
.steplist{margin:10px 0 0;padding-left:22px;line-height:1.9;color:var(--ink)}.steplist li.ms::marker{color:var(--proof)}.steplist li.bad::marker{color:var(--coral)}
.agtab{padding:4px 20px 14px;overflow-x:auto}
.agrow{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(var(--n),minmax(0,1fr));gap:6px;align-items:center;min-width:640px;margin-top:6px}
.agrow.hd span{font:500 10.5px var(--mono);letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;text-align:center}
.agrow .an{font-weight:600;font-size:13.5px}
.ac{height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:600 14px var(--display);background:color-mix(in srgb,var(--proof-fill) calc(var(--v)*100%),var(--sunk));color:var(--ink)}
.ac.hi{color:#fff}.ac.drop{box-shadow:inset 0 0 0 2px var(--coral)}
.dropkey{display:inline-block;width:14px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 2px var(--coral);margin-right:6px;vertical-align:-1px}
.whyt{font-size:11px;letter-spacing:.1em;padding:8px 20px 0;text-transform:uppercase}
.whyr{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(80px,1fr) 30px 100px;gap:14px;align-items:center;padding:12px 20px;border-top:1px solid var(--line-2)}
.whyr b{display:block;font-size:14.5px}.whyr .muted{font-size:13.5px}
.whyr .wb{height:8px;border-radius:9px;background:var(--sunk);overflow:hidden}.whyr .wb i{display:block;height:100%;border-radius:9px;background:var(--coral)}
.whyr.ours{grid-template-columns:1fr;background:var(--ivory)}
.proofag{margin-top:16px;padding:22px 24px}
.proofag h3{margin:12px 0 6px;font:600 24px/1.2 var(--display);letter-spacing:-.015em}
.proofag p{margin:0 0 12px}
.diff{white-space:pre-wrap}.diff .m{color:var(--coral-ink)}.diff .p{color:var(--proof-ink)}
.livec-chip{margin-left:6px;background:var(--sunk);color:var(--ink-2)}.livec-chip i{background:var(--ink-3)}
@media (max-width:1000px){.whyr{grid-template-columns:1fr 40px}.whyr .wb{display:none}}
/* empty and near-empty states */
.fun .fstep{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.fun .v{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-bottom:8px;white-space:nowrap}
.fun .dr{white-space:nowrap}
.fun .fstep.zero .v{color:var(--ink-3)}
.fun .fstep.zero .b{background:var(--line-strong)!important;border-radius:2px}
.find p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:0 1 auto}
.find .row2{margin-top:auto}
.lbsolo{display:flex;flex-direction:column;gap:6px}
.lbsolo .lbrow{grid-template-columns:auto 1fr}.lbsolo .lbv{text-align:left}
.lbsolo p{margin:0 0 0 10px;font-size:14px}
.vm-note{margin:12px 0 0;font-size:14px;color:var(--ink-2)}
.fm.one{grid-template-columns:1fr}
/* 7 or more question types: smaller squares so the map fits the card without a sideways scroll */
.vm-grid.dense{gap:0 8px}.vm-grid.dense .cell{width:14px;height:14px;border-radius:4px}
/* UI sweep fixes (Oct 2026) */
.frow.fhd{min-height:40px}
.frow.fhd span{font:500 11px var(--mono);letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
@media (max-width:480px){
  .frow{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px 16px}
  .frow.fhd{display:none}
  .frow>b{grid-column:1}.frow>.sev,.frow>:last-child{grid-column:2;grid-row:1;justify-self:end}
  .frow .ai,.frow .fsite{grid-column:1/-1}
  .frow .ai[data-l]::before,.frow .fsite[data-l]::before{content:attr(data-l);display:block;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
}
.fun .dr{font-size:11px}
@media (max-width:640px){
  .pl-h{flex-wrap:wrap;gap:8px;padding:14px 16px}
  .pl-h b{flex:1 1 100%;font-size:14px;line-height:1.3}
  .pl-h>span[style*="flex:1"]{display:none}
  .pl-h .seg{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pl-h .seg::-webkit-scrollbar{display:none}
  .pl-h .seg button{flex:none;white-space:nowrap}
}
.flist .prow{align-items:center}.flist .prow>.sev,.flist .prow>*{align-self:center}
.cmd#mcpcmd{white-space:pre;word-break:normal;overflow-x:auto}
.agrow.hd span{font-size:11.5px;color:var(--ink-2)}

/* UI review fixes (28 Oct 2026) */
.agtxt{flex:1 1 220px;min-width:0}
.ex-head{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px 40px;gap:14px;padding:12px 18px 6px}
.ex-head>span{font-size:11px;letter-spacing:.1em}
.drow{grid-template-columns:minmax(0,1fr) 54px 110px 20px;padding:6px 4px}
.frow>.sev{align-self:center;justify-self:start}
.livec-chip{margin-left:0}
.ex-ans>.sev+.livec-chip{margin-left:6px}
@media (max-width:1000px){
  .ex-head{grid-template-columns:minmax(0,1fr) 70px}
  .ex-head .ty,.ex-head .cn{display:none}
}
@media (max-width:640px){
  .fun{grid-template-columns:1fr;gap:10px;align-items:stretch}
  .fun .fstep{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-areas:"l v" "b b";gap:2px 10px;align-items:baseline}
  .fun .fstep .l{grid-area:l;margin-top:0;font-size:13px}
  .fun .fstep .v{grid-area:v;margin-bottom:0;font-size:20px;white-space:normal}
  .fun .fstep .b{grid-area:b;height:10px!important;transform-origin:left;scale:0 1}
  .vis .fun .fstep .b{scale:1 1}
  .fun .dr{white-space:nowrap}
  .lbrow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nm v" "tr tr";height:auto;min-height:52px;padding:8px 10px;row-gap:6px}
  .lbrow>:first-child{grid-area:nm;min-width:0}
  .lbrow>.lbv{grid-area:v}
  .lbrow>:nth-child(2){grid-area:tr}
  .lbsolo .lbrow{grid-template-columns:1fr;grid-template-areas:"nm" "v";gap:2px}
  .lb-h .seg,#funapp{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .lb-h .seg::-webkit-scrollbar,#funapp::-webkit-scrollbar{display:none}
  .lb-h .seg button,#funapp button{flex:none;white-space:nowrap}
  .drow{grid-template-columns:minmax(0,1fr) auto}
  .drow>:nth-child(n+2):not(:last-child){grid-row:2;justify-self:start}
  .outc{left:8px;right:8px;bottom:8px;width:auto;padding:10px 12px;gap:2px}.outc b{font-size:15px}.outc span{font-size:12px}
  #plist .prow{flex-wrap:wrap}#plist .prow .tt{flex:1 1 160px}
  #plist .prow>.sev{order:9;margin-left:52px}
  .pennote{display:block;margin:6px 0 0}
  .whyr .btn{justify-self:start}
}

/* UI review fixes, second pass (28 Oct 2026) */
.finds:has(>:only-child){grid-template-columns:minmax(0,560px)}
.td.past{background:var(--line-strong);color:var(--ink)}
.agrow{grid-template-columns:minmax(220px,1.4fr) repeat(var(--n),minmax(0,1fr));min-width:680px}
.diff{word-break:normal;overflow-wrap:anywhere}
@media (max-width:1000px){
  /* sideways strips show a fade at the right edge, so it reads as "there is more" */
  .rail{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
}
@media (max-width:640px){
  .lb-h .seg,#funapp,.pl-h .seg,.vm-scroll,.agtab{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .mean{flex-wrap:wrap;align-items:flex-start}
  .mean p{flex:1 1 calc(100% - 44px)}
  .mean .btn{margin-left:44px}
  .lbsolo .lbrow>.nm{grid-area:nm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lbsolo .lbrow>.lbv{grid-area:v}
  .fun .fstep{grid-template-columns:136px minmax(0,1fr)}
  .drow{grid-template-columns:minmax(0,1fr) auto 16px}
  .drow>:last-child{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end}
}
.guar{flex-wrap:wrap}

/* Agent player on phones: edge to edge, screenshot frame keeps its 16:10 shape (28 Oct 2026) */
@media (max-width:640px){
  .card.player{margin-inline:calc(50% - 50vw);border-radius:0;box-shadow:none;border-block:1px solid var(--line)}
  .player .stage{margin:0;border-radius:0;box-shadow:none;width:100%;aspect-ratio:16/10}
  .player .stage .shot{object-fit:contain;background:#fbfaf7}
  .player .capstrip{margin:0 16px}
  .player .ctrl{padding:10px 16px 16px;gap:10px}
  .player .clipempty{margin:0 16px}
  .player .outc{right:8px;bottom:8px;left:8px;width:auto;padding:10px 12px}
  .player .outc b{font-size:15px}
}
.fp-coach{grid-column:1/-1}
.fp-lab{display:block;margin:4px 0 -6px;font:500 11px var(--mono);letter-spacing:.12em;color:var(--coral-ink,#b8331d)}.fp-lab+b{display:block}.fp-days{display:block;margin-top:-6px;font-size:13px;color:var(--ink-3)}

/* Real brand logos (sprite in _logos.html) */
.lgo{flex:none;display:inline-block;vertical-align:-2px}
.seg button .lgo,.vm-apps .lgo{margin-right:6px}
.quote-lab .lgo{margin-right:6px;vertical-align:-1px}

/* Phone is light only (28 Oct 2026): no theme switch under 700px */
@media(max-width:700px){.theme-t{display:none!important}}

/* Connect your coding agent: one tab per tool (29 Oct 2026). Without JS the tab bar stays
   hidden and every panel shows, stacked, under its own label. */
.fp-coach{min-width:0}
.ag{margin-top:14px}
.ag-tabs{margin-bottom:14px}
.ag-tabs[hidden]{display:none}
.ag-tabs button{height:44px;min-width:44px;display:inline-flex;align-items:center;gap:6px}
.ag-tabs .pl{height:44px}
.ag-tabs button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.ag-p+.ag-p{margin-top:18px}
.ag.on .ag-p+.ag-p{margin-top:0}
.ag.on .ag-h{display:none}
.ag-h{margin:0 0 6px}
.ag-do{margin:0 0 8px;font-size:14.5px}
.ag-do code,.ag-kv code{font:12.5px var(--mono);overflow-wrap:anywhere}
.ag-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0 0 10px;font-size:14px}
.ag-kv dt{color:var(--ink-3)}.ag-kv dd{margin:0}
.ag-p .acts .btn,.ag-next .btn{min-height:44px}
.ag-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin-top:20px;padding:14px 16px;border-radius:14px;background:var(--coral-wash);box-shadow:inset 0 0 0 1px rgba(232,67,42,.25)}
.ag-next .quote-lab{grid-column:1/-1;margin:0;color:var(--coral-ink,#b8331d)}
.ag-next .cmd{background:var(--raised);font-size:14px}
.ag-more{margin-top:16px;border-top:1px solid var(--line);padding-top:6px}
.ag-more summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font:600 15px var(--display)}
.ag-more p{margin:8px 0;font-size:14px}
@media (max-width:640px){.ag-tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;width:100%}.ag-tabs button{justify-content:center;padding:0 8px;white-space:nowrap}.ag-kv{grid-template-columns:1fr;gap:2px}.ag-kv dd+dt{margin-top:6px}.ag-tabs .pl{border-radius:14px}.ag-next{grid-template-columns:1fr}.ag-next .btn{width:100%}}
.ag-trk{margin:16px 0 4px}.ag-trk .quote-lab{margin:0 0 8px}
.ag-tracks{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.ag-tracks li{display:grid;grid-template-columns:26px 150px minmax(0,1fr);align-items:baseline;gap:4px 12px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.ag-tracks li:first-child{border-top:0}
.ag-tracks .n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--coral-wash);color:var(--coral-ink,#b8331d);font:600 11.5px var(--mono)}
.ag-tracks b{font:600 14.5px var(--display)}.ag-tracks .l{color:var(--ink-2)}
@media (max-width:640px){.ag-tracks li{grid-template-columns:26px minmax(0,1fr)}.ag-tracks .l{grid-column:2}}
/* chapter pages (report and dashboard): sidebar extras, and a Sections menu on phones */
.rail .rsep{display:block;height:1px;background:var(--line);margin:12px}
.rail a .lk-i{margin-left:auto;color:var(--ink-3)}
.rail a.out i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-strong)}
/* phones: a Sections menu instead of the sidebar */
.secmenu{display:none}
@media (max-width:1000px){
  .rpg .rail{display:none}
  .secmenu{display:block;position:relative;z-index:16;margin:8px 0 0}
  .secmenu summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:12px 16px;border-radius:14px;background:var(--raised);box-shadow:0 0 0 1px var(--line);font-size:15px}
  .secmenu summary::-webkit-details-marker{display:none}
  .secmenu summary .k{margin:0;font:500 11px var(--mono);letter-spacing:.1em;color:var(--ink-3)}
  .secmenu summary b{flex:1;min-width:0}
  .secmenu[open] summary svg{rotate:180deg}
  .secmenu-l{display:grid;margin-top:8px;padding:8px;border-radius:14px;background:var(--raised);box-shadow:0 0 0 1px var(--line),0 18px 36px -24px rgba(60,40,20,.4)}
  .secmenu-l a{padding:12px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:15px}
  .secmenu-l a[aria-current]{background:var(--sunk);color:var(--ink)}
  .secmenu-l a.out{color:var(--ink-3);border-top:1px solid var(--line-2);border-radius:0}
}
