/* THE APP TREE — "Find me one". One palette (the shell's dark), tokens only: no inline colours in
   node HTML, so nothing can go black-on-black. Inter for UI (Slush: Aeonik substitute), Anton for
   the one display line. One board that pans and zooms like a flowchart; the canopy of real app
   icons is its top edge (it scrolls away, and stops flush with the top when pulled back up). */
#tree,#tr-modal,#tr-lb{--t-bg:#0e0e11;--t-card:#1b1b20;--t-card2:#232329;--t-line:#2c2c33;--t-ink:#f3efe6;--t-muted:#a8a49b;--t-faint:#77746c;--t-sun:#ffd731;--t-onsun:#141310;--t-blue:#4da2ff;--t-mint:#55db9c;--t-lav:#e9ccff;--t-ember:#fb4903;--t-violet:#5c4ade;--t-pink:#ff7ac6;
  --t-ease:cubic-bezier(.2,.8,.2,1);--canopy:150px;--inv:1;
  position:fixed;inset:0;display:none;overflow:hidden;background:var(--t-bg)!important;color:var(--t-ink);font-family:'Inter',ui-sans-serif,system-ui,sans-serif;font-weight:500;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;z-index:6}
#tree.open{display:block}
#tree *{box-sizing:border-box}
#tree a{color:var(--t-sun)}
@media (max-width:760px){#tree{--canopy:120px}}

/* ── the canopy: the top of the board, full-bleed, a jittered grid with no holes ── */
#tr-canopy{position:absolute;left:0;top:0;height:var(--canopy);width:300%;transform-origin:0 0;will-change:transform;z-index:3;pointer-events:none;overflow:visible}
#tr-crown{height:var(--canopy)}
.tr-leaf{position:absolute;left:0;top:0;border-radius:26%;overflow:hidden;background:var(--t-card2);box-shadow:0 0 0 1px rgba(255,255,255,.07),0 6px 16px rgba(0,0,0,.35);opacity:0;transform:translate(var(--x),calc(var(--y) - 48px)) rotate(var(--r)) scale(.7);animation:tr-leaf .7s cubic-bezier(.34,1.4,.4,1) forwards;animation-delay:var(--d,0ms);pointer-events:auto}
.tr-leaf img{width:100%;height:100%;display:block;object-fit:cover}
.tr-leaf.dup{filter:saturate(.85)}
.tr-leaf.winner{outline:2px solid var(--t-sun);outline-offset:0;z-index:60!important}
@keyframes tr-leaf{to{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1)}}
/* look tiles: the web apps we built, 16:10, a reel on hover, click opens the look in the builder */
.tr-leaf.look.dup{filter:saturate(.9) brightness(.9)}
.tr-leaf.look{border-radius:7px;background:#0b0b0d;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 14px 34px rgba(0,0,0,.55);cursor:pointer;transition:filter .25s,box-shadow .25s}
.tr-leaf.look::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 40%);pointer-events:none}
.tr-leaf.look:hover{filter:brightness(1.12);box-shadow:0 0 0 1.5px rgba(77,162,255,.8),0 0 28px rgba(77,162,255,.45),0 18px 40px rgba(0,0,0,.6);z-index:200!important}
.tr-leaf.look video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tr-leaf.look .ln{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;font-size:9px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transition:opacity .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.tr-leaf.look:hover .ln{opacity:1}
.tr-leaf.logo{border-radius:50%;background:#fff}.tr-leaf.logo img{width:72%;height:72%;margin:14%;object-fit:contain;border-radius:0}
.tr-leaf.logo.winner{outline-color:var(--t-blue)}
#tr-count{position:absolute!important;left:50%;top:calc(var(--canopy) + 6px);transform:translateX(-50%);z-index:5!important;pointer-events:none;padding:4px 10px;border-radius:999px;background:rgba(14,14,17,.86);border:1px solid var(--t-line);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--t-muted);white-space:nowrap;backdrop-filter:blur(8px)}
#tr-count:empty{display:none}

/* ── wires: one trunk out of the canopy, branches to every card ── */
#tr-wires path{fill:none;stroke-linecap:round;stroke:rgba(255,255,255,.28);stroke-width:1;opacity:0;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--t-ease) var(--d,0ms),opacity .4s var(--d,0ms)}
#tr-wires path.in{opacity:1;stroke-dashoffset:0}
#tr-wires path.still{transition:none}
#tr-wires path.trunk{stroke:var(--t-sun);stroke-width:3.5;opacity:1;filter:drop-shadow(0 0 7px rgba(255,215,49,.85));transition-duration:1.4s}
#tr-wires path.branch{stroke:rgba(255,215,49,.55);stroke-width:1.2}
#tr-wires path.web{stroke:rgba(77,162,255,.6);stroke-width:1.2}
#tr-wires path.pick{stroke:var(--t-mint);stroke-width:1.6}
#tr-wires path.cmp{stroke:rgba(233,204,255,.6);stroke-width:1.2}
.tr-light{position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px var(--t-sun),0 0 22px 6px rgba(255,215,49,.45);offset-rotate:0deg;offset-anchor:center;opacity:0;pointer-events:none;z-index:5!important;animation:tr-travel 1.8s cubic-bezier(.5,0,.5,1) infinite 1.2s}
@keyframes tr-travel{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
#tree.done .tr-light{animation:none;opacity:0}

/* ── the board: canopy, niche, winners, gap, ideas — pans and zooms as one ── */
#tr-view{position:absolute;left:0;right:0;top:0;bottom:0;overflow:hidden;z-index:2;cursor:grab;touch-action:none}
#tr-view.drag{cursor:grabbing}
#tr-board{position:absolute;left:0;top:0;width:100%;transform-origin:0 0;will-change:transform;padding:0 0 160px;z-index:2}
#tr-board > #tr-intent{margin-top:56px}
#tr-wires{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:1}
#tr-board > :not(svg){position:relative;z-index:2}

/* ── the intent: everything above flows into this ── */
#tr-intent{width:min(560px,92vw);margin:0 auto;padding:16px 20px 14px;border-radius:18px;background:var(--t-card);border:1px solid var(--t-line);box-shadow:0 0 0 1px rgba(255,215,49,.08),0 20px 60px rgba(0,0,0,.45);text-align:center;opacity:0;transform:translateY(8px);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease)}
#tr-intent.in{opacity:1;transform:none}
#tr-intent .k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-faint)}
#tr-intent h2{margin:4px 0 6px;font:400 34px/1 'Anton',Impact,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--t-ink)}
#tr-intent .cats{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
#tr-intent .cats span{padding:4px 10px;border-radius:999px;background:var(--t-card2);border:1px solid var(--t-line);font-size:12px;color:var(--t-ink)}
#tr-intent .cats span.q{background:var(--t-sun);color:var(--t-onsun);border-color:transparent;font-weight:700}
#tr-intent p{margin:0;font-size:13px;color:var(--t-muted);line-height:1.45}
.tr-ladder{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:8px 0 2px}
.tr-ladder span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--t-faint);transition:color .3s}
.tr-ladder span i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--t-faint);transition:all .3s}
.tr-ladder span.on{color:var(--t-ink)}.tr-ladder span.on i{border-color:var(--t-sun);background:var(--t-sun);box-shadow:0 0 8px var(--t-sun);animation:tr-breathe 1.2s ease-in-out infinite}
.tr-ladder span.done{color:var(--t-muted)}.tr-ladder span.done i{border-color:var(--t-mint);background:var(--t-mint)}
#tree.done .tr-ladder span{color:var(--t-muted)}
#tr-status{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 12px;border-radius:999px;background:var(--t-bg);border:1px solid var(--t-line);font-size:12.5px;color:var(--t-ink)}
#tr-status i{width:7px;height:7px;border-radius:50%;background:var(--t-sun);box-shadow:0 0 8px var(--t-sun);animation:tr-breathe 1.2s ease-in-out infinite}
#tree.done #tr-status i{animation:none;background:var(--t-mint);box-shadow:0 0 8px var(--t-mint)}
@keyframes tr-breathe{0%,100%{opacity:.5}50%{opacity:1}}

/* ── section labels: pills above the wires, readable at every zoom ── */
.tr-sec{text-align:center;margin:36px 0 14px;opacity:0;transition:opacity .4s var(--t-ease)}
.tr-sec.in{opacity:1}
.tr-sec span{display:inline-block;padding:7px 14px;border-radius:999px;background:rgba(14,14,17,.88);border:1px solid var(--t-line);backdrop-filter:blur(8px);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t-muted);transform:scale(var(--inv));transform-origin:center}
.tr-sec b{color:var(--t-ink)}

/* ── the winners ── */
#tr-apps{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;padding:0 24px}
.tr-app{cursor:pointer;width:300px;border-radius:18px;background:var(--t-card);border:1px solid var(--t-line);padding:14px 14px 12px;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease)}
.tr-app.in{opacity:1;transform:none}
.tr-app .ah{display:flex;gap:10px;align-items:center}
.tr-app .ah img,.tr-app .ah .av{width:44px;height:44px;border-radius:12px;flex:none;object-fit:cover;background:var(--t-card2)}
.tr-app .ah .av{display:grid;place-items:center;font-weight:700;color:var(--t-ink)}
.tr-app .an{font-weight:700;font-size:14px;color:var(--t-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-app .as{font-size:11.5px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-app .stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--t-line)}
.tr-app .stats b{display:block;font-size:14px;color:var(--t-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.tr-app .stats span{font-size:10.5px;color:var(--t-faint);letter-spacing:.04em;text-transform:uppercase}
.tr-app .charge{margin-top:8px;display:inline-block;padding:4px 9px;border-radius:999px;background:var(--t-sun);color:var(--t-onsun);font-size:11.5px;font-weight:700}
.tr-app .charge.iap{background:var(--t-card2);color:var(--t-ink);border:1px solid var(--t-line);font-weight:600}
.tr-app .hero{margin-top:10px;padding:10px 11px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line)}
.tr-app .hero .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-sun)}
.tr-app .hero b{display:block;font-size:13.5px;color:var(--t-ink);margin:2px 0}
.tr-app .hero p{margin:0;font-size:12px;color:var(--t-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tr-app .side{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.tr-app .side span{padding:3px 8px;border-radius:999px;background:var(--t-card2);border:1px solid var(--t-line);font-size:11px;color:var(--t-ink)}
.tr-app .shots{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}
.tr-app .shots img{width:100%;aspect-ratio:9/19.5;object-fit:cover;border-radius:8px;background:var(--t-card2);cursor:zoom-in;opacity:0;animation:tr-in .5s var(--t-ease) forwards;animation-delay:var(--d,0ms)}
@keyframes tr-in{to{opacity:1}}
.tr-app .cook{margin-top:10px;font-size:12px;color:var(--t-faint);display:flex;align-items:center;gap:8px}
.tr-app .cook i{width:6px;height:6px;border-radius:50%;background:var(--t-sun);animation:tr-breathe 1s infinite}

/* ── the gap ── */
#tr-gap{width:min(760px,92vw);margin:0 auto;padding:22px 26px 20px;border-radius:18px;background:var(--t-card);border:1px solid var(--t-line);border-left:3px solid var(--t-lav);opacity:0;transform:translateY(10px);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease)}
#tr-gap.in{opacity:1;transform:none}
#tr-gap .k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-lav);margin-bottom:8px}
#tr-gap .k.ops-k{margin-top:18px;padding-top:16px;border-top:1px solid var(--t-line)}
#tr-gap h3{margin:0 0 12px;font-size:20px;line-height:1.35;font-weight:700;color:var(--t-ink);letter-spacing:-.01em}
#tr-gap h3 b{color:var(--t-sun)}
#tr-gap p{margin:0 0 12px;font-size:14.5px;line-height:1.7;color:var(--t-muted)}
#tr-gap p b{color:var(--t-ink);font-weight:600}
#tr-gap .ops{display:flex;flex-direction:column;gap:8px;counter-reset:op}
#tr-gap .ops span{display:flex;gap:12px;align-items:flex-start;padding:11px 14px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);color:var(--t-ink);font-size:14px;font-weight:500;line-height:1.5;opacity:0;transform:translateY(6px);transition:opacity .4s var(--t-ease) var(--d,0ms),transform .4s var(--t-ease) var(--d,0ms)}
#tr-gap .ops span::before{counter-increment:op;content:counter(op);flex:none;width:22px;height:22px;border-radius:50%;background:var(--t-lav);color:#1a0b2e;font-size:12px;font-weight:800;display:grid;place-items:center;margin-top:1px}
#tr-gap.in .ops span{opacity:1;transform:none}

/* ── the ideas: actions always at the bottom of the card ── */
#tr-ideas{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;padding:0 24px}
.tr-idea{cursor:pointer;width:320px;border-radius:20px;background:var(--t-card);border:1px solid var(--t-line);padding:16px 16px 14px;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease);display:flex;flex-direction:column}
.tr-idea.in{opacity:1;transform:none}
.tr-idea.picked{outline:2px solid var(--t-mint);outline-offset:0}
.tr-idea .ih{display:flex;gap:12px;align-items:center}
.tr-idea .ih > img{width:56px;height:56px;border-radius:14px;flex:none;background:var(--t-card2)}
.tr-idea h3{margin:0;font-size:17px;font-weight:700;color:var(--t-ink);letter-spacing:-.01em}
.tr-idea .who{font-size:11.5px;color:var(--t-muted);margin-top:2px}
.tr-idea .what{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--t-ink)}
.tr-idea .hero{margin-top:10px;padding:10px 11px;border-radius:12px;background:linear-gradient(180deg,rgba(255,215,49,.12),rgba(255,215,49,.04));border:1px solid rgba(255,215,49,.35)}
.tr-idea .hero .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-sun)}
.tr-idea .hero b{display:block;font-size:14px;color:var(--t-ink);margin:2px 0}
.tr-idea .hero p{margin:0;font-size:12px;color:var(--t-muted);line-height:1.4}
.tr-idea .hero p.like{margin-top:5px;color:var(--t-ink);font-style:italic}
.tr-idea .row{margin-top:9px}
.tr-idea .row .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-faint);margin-bottom:4px}
.tr-idea .chips{display:flex;flex-wrap:wrap;gap:5px}
.tr-idea .chips span{padding:3px 8px;border-radius:999px;background:var(--t-card2);border:1px solid var(--t-line);font-size:11.5px;color:var(--t-ink)}
.tr-idea .chips span.x{border-style:dashed;color:var(--t-muted)}
.tr-idea .viral{margin-top:9px;padding:8px 10px;border-radius:10px;background:var(--t-card2);font-size:12.5px;color:var(--t-ink);line-height:1.4}
.tr-idea .viral b{color:var(--t-pink)}
.tr-idea .price{margin-top:9px;font-size:12.5px;color:var(--t-muted)}.tr-idea .price b{color:var(--t-ink)}
.tr-idea .proof{margin-top:5px;font-size:11.5px;color:var(--t-faint)}
.tr-idea .btns{display:flex;gap:8px;margin-top:auto;padding-top:14px}
.tr-btn{height:36px;padding:0 14px;border-radius:12px;border:1px solid var(--t-line);background:var(--t-card2);color:var(--t-ink);font:700 12.5px 'Inter',sans-serif;letter-spacing:.03em;cursor:pointer;transition:background .12s}
.tr-btn:hover{background:#2b2b32}.tr-btn.p{background:var(--t-sun);color:var(--t-onsun);border-color:transparent}.tr-btn.p:hover{background:#ffe066}
.tr-btn.g{flex:1}

/* ── branches grown by the prompt box, and the final node ── */
#tr-branches{width:min(1000px,94vw);margin:14px auto 0;display:flex;flex-direction:column;gap:14px;align-items:center}
#tr-branches:empty{display:none}
.tr-q{align-self:flex-end;max-width:70%;padding:9px 13px;border-radius:14px 14px 4px 14px;background:var(--t-sun);color:var(--t-onsun);font-size:13.5px;font-weight:700}
.tr-a{align-self:flex-start;max-width:86%;padding:12px 14px;border-radius:14px 14px 14px 4px;background:var(--t-card);border:1px solid var(--t-line);font-size:13.5px;line-height:1.5;color:var(--t-ink);white-space:pre-wrap}
.tr-a.cook{color:var(--t-muted)}
.tr-a p{margin:0 0 10px;font-size:14px;line-height:1.65;color:var(--t-ink)}.tr-a p:last-child,.tr-a ol:last-child{margin-bottom:0}
.tr-a h4{margin:14px 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-sun)}.tr-a h4:first-child{margin-top:0}
.tr-a ol{margin:0 0 10px;padding:0;list-style:none;counter-reset:pt;display:flex;flex-direction:column;gap:6px}
.tr-a ol li{position:relative;padding-left:30px;font-size:14px;line-height:1.55;color:var(--t-ink)}
.tr-a ol li::before{counter-increment:pt;content:counter(pt);position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--t-card2);border:1px solid var(--t-line);font-size:11px;font-weight:800;display:grid;place-items:center;color:var(--t-sun)}
.tr-more{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}
.tr-found{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;opacity:0;transition:opacity .5s var(--t-ease)}
.tr-found.in{opacity:1}
.tr-cmp{width:100%;border-radius:18px;background:var(--t-card);border:1px solid var(--t-line);padding:14px;overflow:auto;opacity:0;transform:translateY(10px);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease)}
.tr-cmp.in{opacity:1;transform:none}
.tr-cmp table{width:100%;border-collapse:collapse;font-size:12.5px}
.tr-cmp th{text-align:left;padding:6px 8px;color:var(--t-faint);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--t-line)}
.tr-cmp th.w{color:var(--t-sun)}
.tr-cmp td{padding:7px 8px;border-bottom:1px solid var(--t-line);color:var(--t-ink);vertical-align:top;line-height:1.4}
.tr-cmp td:first-child{color:var(--t-muted);white-space:nowrap}
.tr-cmp .verdict{margin:10px 0 0;font-size:13.5px;color:var(--t-ink)}.tr-cmp .verdict b{color:var(--t-sun)}
#tr-final{width:min(520px,92vw);margin:14px auto 0;padding:18px 20px;border-radius:20px;background:var(--t-card);border:1px solid var(--t-mint);box-shadow:0 0 0 1px rgba(85,219,156,.15),0 24px 70px rgba(0,0,0,.5);opacity:0;transform:translateY(10px);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease)}
#tr-final.in{opacity:1;transform:none}
#tr-final:empty{display:none}
#tr-final .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t-mint)}
#tr-final .fh{display:flex;gap:12px;align-items:center;margin-top:8px}
#tr-final .fh > img{width:64px;height:64px;border-radius:16px;background:var(--t-card2)}
#tr-final h3{margin:0;font-size:20px;font-weight:700;color:var(--t-ink)}
#tr-final .hero{margin-top:4px;font-size:13px;color:var(--t-muted)}#tr-final .hero b{color:var(--t-ink)}
#tr-final .why{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--t-ink)}
#tr-final .btns{display:flex;gap:8px;margin-top:14px}

/* ── level of detail: zoomed out, the tree reads as clean tiles ── */
#tr-board.lod-1 .tr-app .wd,#tr-board.lod-1 .tr-app .side,#tr-board.lod-1 .tr-idea .proof,#tr-board.lod-1 .tr-idea .row,#tr-board.lod-1 .tr-idea .viral,#tr-board.lod-1 .tr-idea .what,#tr-board.lod-1 #tr-gap .ops,#tr-board.lod-1 #tr-gap .k,#tr-board.lod-1 #tr-gap p,#tr-board.lod-1 .tr-a,#tr-board.lod-1 .tr-q{display:none}
#tr-board.lod-2 .tr-app .hero,#tr-board.lod-2 .tr-app .shots,#tr-board.lod-2 .tr-app .charge,#tr-board.lod-2 .tr-app .stats span,#tr-board.lod-2 .tr-idea .hero p,#tr-board.lod-2 .tr-idea .price,#tr-board.lod-2 .tr-idea .who,#tr-board.lod-2 #tr-gap p,#tr-board.lod-2 #tr-gap h3,#tr-board.lod-2 #tr-intent p,#tr-board.lod-2 #tr-intent .cats,#tr-board.lod-2 .tr-cmp td:not(:first-child),#tr-board.lod-2 .tr-idea .btns{display:none}
#tr-board.lod-2 #tr-gap::before{content:"The gap — zoom in to read";font-size:16px;font-weight:700;color:var(--t-ink)}

/* zoom controls */
#tr-ask{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:min(680px,94vw);z-index:9;display:flex;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:14px;background:rgba(24,24,29,.94);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05)}
#tr-ask:focus-within{border-color:rgba(255,215,49,.55)}
#tr-ask .ph{position:absolute;left:16px;top:15px;right:64px;pointer-events:none;color:var(--t-faint);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .3s,transform .3s}
#tr-ask .ph.swap{opacity:0;transform:translateY(6px)}
#tr-ask .ph.hide{opacity:0}
#tr-ask textarea,html[data-theme="dark"] #tr-ask textarea{flex:1;min-width:0;height:50px;min-height:50px;max-height:140px;padding:15px 16px;margin:0;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0;resize:none;background:transparent!important;color:var(--t-ink)!important;font:500 14px/20px 'Inter',sans-serif;letter-spacing:-.01em;overflow:hidden}
#tr-ask button{flex:none;width:50px;border:0;border-radius:0;background:var(--t-sun);color:var(--t-onsun);font-size:18px;font-weight:700;cursor:pointer;display:grid;place-items:center;align-self:stretch}
#tr-ask button:disabled{opacity:.5}

/* lightbox for the ASO screenshots */
/* ── the floating screen ── */
#tr-modal{position:fixed;inset:0;z-index:50;display:none;place-items:center;padding:24px 16px;background:rgba(6,6,8,.72)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#tr-modal.open{display:grid}
#tr-modal .card{position:relative;width:min(880px,96vw);max-height:90vh;overflow:auto;border-radius:22px;background:var(--t-card);border:1px solid var(--t-line);box-shadow:0 40px 120px rgba(0,0,0,.6);padding:26px 28px 30px;color:var(--t-ink);animation:tr-pop .35s var(--t-ease)}
@keyframes tr-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
#tr-modal .close{position:sticky;top:0;float:right;width:34px;height:34px;border-radius:50%;border:1px solid var(--t-line);background:var(--t-card2);color:var(--t-ink);font-size:20px;cursor:pointer;margin:-4px -6px 0 0;z-index:2}
#tr-modal .sh{display:flex;gap:16px;align-items:center;margin-right:44px}
#tr-modal .sh > img{width:72px;height:72px;border-radius:18px;flex:none;object-fit:cover;background:var(--t-card2)}
#tr-modal h2{margin:0;font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--t-ink)}
#tr-modal .sub{font-size:12.5px;line-height:1.45;color:var(--t-muted)!important;margin:4px 0 0;max-width:none}
#tr-modal .sh a{display:inline-block;margin:6px 10px 0 0;font-size:12.5px;color:var(--t-sun);text-decoration:none}
#tr-modal .stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--t-line)}
#tr-modal .stats b{display:block;font-size:20px;color:var(--t-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
#tr-modal .stats span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--t-faint)}
/* web popups: traction and pricing are sentences, so they wrap inside columns that can shrink */
#tr-modal .stats.web{grid-template-columns:repeat(3,minmax(0,1fr))}
#tr-modal .stats.web b{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.35;margin-bottom:2px}
#tr-modal .charge{margin-top:12px;display:inline-block;padding:5px 11px;border-radius:999px;background:var(--t-sun);color:var(--t-onsun);font-size:12.5px;font-weight:700}
#tr-modal .facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px}
#tr-modal .facts span{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--t-faint)}#tr-modal .facts b{font-size:13px;color:var(--t-ink)}
#tr-modal .lead{margin:16px 0 0;font-size:15px;line-height:1.55;color:var(--t-ink)}
#tr-modal .anim{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:999px;background:rgba(255,122,198,.14);border:1px solid rgba(255,122,198,.4);color:var(--t-pink);font-size:11.5px;font-weight:700}
#tr-modal .cols{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
#tr-modal .sec{margin-top:18px;padding-top:14px;border-top:1px solid var(--t-line)}
#tr-modal .cols > .sec,#tr-modal .cols > div > .sec:first-child{border-top:0;padding-top:0}
#tr-modal .sec.hero{padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,rgba(255,215,49,.12),rgba(255,215,49,.04));border:1px solid rgba(255,215,49,.25)}
#tr-modal .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-sun);margin:14px 0 6px}#tr-modal .sec > .k:first-child{margin-top:0}
#tr-modal .sec b{display:block;font-size:15.5px;color:var(--t-ink);margin-bottom:4px}
#tr-modal .sec p{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--t-muted)}
#tr-modal .sec p b{display:inline;font-size:inherit;margin:0;color:var(--t-ink)}
#tr-modal .sec p.like{color:var(--t-ink);font-style:italic}
#tr-modal .sec ul{margin:0;padding:0 0 0 18px;font-size:14px;line-height:1.6;color:var(--t-muted)}#tr-modal .sec ul li::marker{color:var(--t-mint)}#tr-modal .sec ul.no li::marker{color:var(--t-ember)}
#tr-modal .chips{display:flex;flex-wrap:wrap;gap:6px}
#tr-modal .chips span{padding:5px 10px;border-radius:999px;background:var(--t-card2);border:1px solid var(--t-line);font-size:12.5px;color:var(--t-ink)}
#tr-modal .chips span.x{border-style:dashed;color:var(--t-muted)}
#tr-modal .shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
#tr-modal .shots img{width:100%;aspect-ratio:9/19.5;object-fit:cover;border-radius:10px;background:var(--t-card2);cursor:zoom-in}
#tr-modal .apps{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#tr-modal .ap{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);cursor:pointer}
#tr-modal .ap img{width:36px;height:36px;border-radius:10px;flex:none;object-fit:cover}
#tr-modal .ap b{display:block;font-size:13px;color:var(--t-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
#tr-modal .ap span{font-size:11.5px;color:var(--t-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tr-modal .ap a{margin-left:auto;color:var(--t-sun);text-decoration:none;font-size:14px}
#tr-modal .deep .screens{margin:0;padding:0;list-style:none;counter-reset:sc;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#tr-modal .deep .screens li{position:relative;padding:10px 12px 10px 40px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line)}
#tr-modal .deep .screens li::before{counter-increment:sc;content:counter(sc);position:absolute;left:12px;top:11px;width:20px;height:20px;border-radius:50%;background:var(--t-sun);color:var(--t-onsun);font-size:11px;font-weight:800;display:grid;place-items:center}
#tr-modal .deep .screens li b{font-size:13.5px;margin-bottom:2px}#tr-modal .deep .screens li span{font-size:12.5px;line-height:1.5;color:var(--t-muted)}
#tr-modal .deep p{color:var(--t-ink)}#tr-modal .deep h4{margin:12px 0 4px;font-size:13px;color:var(--t-ink)}#tr-modal .deep ol{margin:0 0 8px;padding-left:20px;color:var(--t-muted);font-size:14px;line-height:1.6}
#tr-modal .err{color:var(--t-ember)}
#tr-modal .btns{display:flex;gap:8px;margin-top:22px}
@media (max-width:760px){#tr-modal .cols,#tr-modal .apps,#tr-modal .deep .screens{grid-template-columns:1fr}#tr-modal .card{padding:20px 18px 26px}}
/* "still working" strips and the digging-deeper line: three breathing circles */
.tr-wait,#tr-modal .wait{display:none;align-items:center;justify-content:center;gap:6px;margin:14px auto 0;padding:10px 16px;border-radius:999px;background:var(--t-card);border:1px solid var(--t-line);width:max-content;max-width:92vw;font-size:13px;color:var(--t-muted)}
.tr-wait.in,#tr-modal .wait{display:flex}
.tr-wait i,#tr-modal .wait i{width:8px;height:8px;border-radius:50%;background:var(--t-sun);box-shadow:0 0 8px var(--t-sun);animation:tr-breathe 1.2s ease-in-out infinite}
.tr-wait i:nth-child(2),#tr-modal .wait i:nth-child(2){animation-delay:.2s}.tr-wait i:nth-child(3),#tr-modal .wait i:nth-child(3){animation-delay:.4s}
.tr-wait span,#tr-modal .wait span{margin-left:6px}
#tr-modal .wait{margin:0;background:var(--t-card2)}
.tr-idea .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tr-idea .plat{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.tr-idea .plat.mob{background:rgba(92,74,222,.18);border:1px solid rgba(92,74,222,.5);color:#c9c0ff}
.tr-idea .plat.web{background:rgba(77,162,255,.14);border:1px solid rgba(77,162,255,.5);color:var(--t-blue)}
.tr-idea.web{border-color:rgba(77,162,255,.35);box-shadow:0 0 0 1px rgba(77,162,255,.12)}
.tr-idea:not(.web){border-color:rgba(92,74,222,.35)}
#tr-modal .anim.mob{background:rgba(92,74,222,.18);border-color:rgba(92,74,222,.5);color:#c9c0ff}
#tr-modal .anim.web{background:rgba(77,162,255,.14);border-color:rgba(77,162,255,.5);color:var(--t-blue)}
.tr-idea .anim{display:inline-block;padding:3px 9px;border-radius:999px;background:rgba(255,122,198,.14);border:1px solid rgba(255,122,198,.4);color:var(--t-pink);font-size:11px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tr-lb{position:fixed;inset:0;z-index:60;display:none;background:rgba(0,0,0,.86)!important;backdrop-filter:blur(10px);overflow:auto;padding:40px 24px}
#tr-lb.open{display:block}
#tr-lb .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
#tr-lb img{height:min(70vh,640px);border-radius:14px;background:#111}
#tr-lb .x{position:fixed;top:16px;right:20px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:#000;font-size:20px;cursor:pointer}
#tr-lb .t{text-align:center;color:#fff;font-weight:700;margin-bottom:14px}

/* the home: a run in progress or just finished, no floating pill */
.rtile .rph{margin-top:6px;font-size:11.5px;color:#666;display:flex;align-items:center;gap:6px}
.rtile .rph i{width:6px;height:6px;border-radius:50%;background:#ffd731;animation:tr-breathe 1s infinite}
.rtile.done{border-color:#55db9c!important;box-shadow:0 0 0 2px rgba(85,219,156,.35)}
.rtile.done .rk{color:#0b7a4b}

@media (max-width:760px){#tr-intent h2{font-size:28px}.tr-app,.tr-idea{width:100%}}
@media (prefers-reduced-motion:reduce){#tree *{animation:none!important;transition:none!important}.tr-leaf{opacity:1!important;transform:translate(var(--x),var(--y)) rotate(var(--r))!important}#tr-intent.in,.tr-app.in,.tr-idea.in,#tr-gap.in,#tr-gap.in .ops span,.tr-sec.in,#tr-wires path.in,.tr-app .shots img,.tr-found.in,.tr-cmp.in,#tr-final.in,#tr-verdict .tr-meter .dots i{opacity:1!important;transform:none!important;stroke-dashoffset:0!important}.tr-light{display:none}}
/* home: any run can be featured; featured runs lead the list */
.rtile .rk{display:flex;align-items:center;gap:6px}
.rtile .rstar{margin-left:auto;font-size:14px;line-height:1;color:var(--muted,#8a877f);opacity:.35;cursor:pointer;transition:opacity .15s,color .15s}
.rtile:hover .rstar{opacity:.8}
.rtile .rstar.on{opacity:1;color:#ffd731;text-shadow:0 0 8px rgba(255,215,49,.6)}
/* web mode: a taller canopy for the tiles, the moat block, the council pill, the repos */
#tree.webmode{--canopy:200px}
#tree.webmode #tr-canopy{top:-3px}
@media (max-width:760px){#tree.webmode{--canopy:170px}}
.tr-idea .moat{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(85,219,156,.08);border:1px solid rgba(85,219,156,.3)}
.tr-idea .moat .k{color:var(--t-mint)}.tr-idea .moat b{display:block;font-size:13.5px;line-height:1.35;color:var(--t-ink)}.tr-idea .moat p{margin:5px 0 0;font-size:12.5px;line-height:1.45;color:var(--t-muted)}
.tr-idea .chips.stack span{background:rgba(77,162,255,.1);border-color:rgba(77,162,255,.35);color:#bcdcff}
.tr-idea .amb{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.06);border:1px solid var(--t-line);color:var(--t-muted)}
.tr-idea .amb.serious{background:rgba(255,215,49,.12);border-color:rgba(255,215,49,.5);color:var(--t-sun)}
.tr-idea .rew{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(233,204,255,.12);border:1px solid rgba(233,204,255,.5);color:var(--t-lav)}
.tr-idea .council{margin-top:10px;padding:8px 12px;border-radius:12px;border:1px solid var(--t-line);background:var(--t-card2);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.tr-idea .council b{font-size:13px}.tr-idea .council span{font-size:11.5px;color:var(--t-muted)}.tr-idea .council p{flex-basis:100%;margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--t-muted)}
.tr-idea .council.build{border-color:rgba(85,219,156,.5);background:rgba(85,219,156,.08)}.tr-idea .council.build b{color:var(--t-mint)}
.tr-idea .council.rework{border-color:rgba(255,215,49,.5);background:rgba(255,215,49,.08)}.tr-idea .council.rework b{color:var(--t-sun)}
.tr-idea .council.skip{border-color:rgba(251,73,3,.5);background:rgba(251,73,3,.08)}.tr-idea .council.skip b{color:var(--t-ember)}
.tr-idea.rewritten{animation:tr-rewrite 2.2s ease-out}
@keyframes tr-rewrite{0%{box-shadow:0 0 0 2px var(--t-lav),0 0 30px rgba(233,204,255,.6)}100%{box-shadow:0 0 0 0 transparent}}
.tr-idea .repos{margin-top:10px}.tr-idea .repos .k{margin-bottom:4px}
.tr-idea .repo{display:block;padding:7px 10px;margin-top:5px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--t-line);color:var(--t-ink);text-decoration:none;transition:border-color .15s}
.tr-idea .repo:hover{border-color:#4d4d55}.tr-idea .repo b{font-size:12.5px}.tr-idea .repo span{margin-left:8px;font-size:11px;color:var(--t-muted)}.tr-idea .repo span i{font-style:normal;color:var(--t-mint)}.tr-idea .repo em{display:block;font-style:normal;font-size:11.5px;line-height:1.4;color:var(--t-muted);margin-top:2px}
#tr-modal .moatsec{border-color:rgba(85,219,156,.35)}#tr-modal .moatsec .k{color:var(--t-mint)}#tr-modal .moatsec .kk{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t-muted);margin-right:6px}#tr-modal .moatsec .chips{margin-top:8px}#tr-modal .moatsec .chips.stack span{background:rgba(77,162,255,.1);border-color:rgba(77,162,255,.35);color:#bcdcff}
#tr-modal .councilsec .seat{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--t-card2)}#tr-modal .councilsec .seat b{font-size:12.5px}#tr-modal .councilsec .seat p{margin:3px 0 0;font-size:12.5px;line-height:1.45;color:var(--t-muted)}#tr-modal .councilsec .seat .fix{color:var(--t-ink)}#tr-modal .councilsec .prior{margin-top:8px;font-size:12px;color:var(--t-lav)}
#tr-modal .councilsec.build .k{color:var(--t-mint)}#tr-modal .councilsec.rework .k{color:var(--t-sun)}#tr-modal .councilsec.skip .k{color:var(--t-ember)}
#tr-modal .repoline{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line)}#tr-modal .repoline .rt{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}#tr-modal .repoline .rt a{color:var(--t-ink);text-decoration:none}#tr-modal .repoline .rt span{font-size:11.5px;color:var(--t-muted)}#tr-modal .repoline p{margin:6px 0 0;font-size:12.5px;line-height:1.45;color:var(--t-muted)}#tr-modal .repoline p i{color:var(--t-faint)}
#tr-modal .repoline .use{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(255,255,255,.06);border:1px solid var(--t-line);color:var(--t-ink);margin-right:4px}#tr-modal .repoline .use.base{background:rgba(85,219,156,.12);border-color:rgba(85,219,156,.5);color:var(--t-mint)}
#tr-modal .repoline .ra{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}#tr-modal .tr-btn.s{font-size:11.5px;padding:6px 10px;text-decoration:none}
/* web mode: the web products ARE the winners row */
#tree.webmode #tr-sec-web,#tree.webmode #tr-webapps{display:none}
#tree.webmode #tr-apps{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:0 16px}
#tr-modal .measured{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:rgba(77,162,255,.08);border:1px solid rgba(77,162,255,.3)}
#tr-modal .measured .k{color:var(--t-blue)}
#tr-modal .measured ul{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.5;color:var(--t-muted)}
#tr-modal .measured .row{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;margin-top:4px}
#tr-modal .measured .row b{color:var(--t-ink)}
/* the web winners row */
#tr-webapps{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:0 16px}
.tr-app.webapp{border-color:rgba(77,162,255,.4);box-shadow:0 0 0 1px rgba(77,162,255,.12)}
.tr-app.webapp .ah .av{background:rgba(77,162,255,.16);color:var(--t-blue)}
.tr-app.webapp .what{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:var(--t-muted)}
#tr-modal .charge.web{background:rgba(77,162,255,.16);color:var(--t-blue);border:1px solid rgba(77,162,255,.4)}
.tr-app.webapp .stats.two{grid-template-columns:1fr 1fr}
.tr-app.webapp .stats b{white-space:normal;font-size:13px;line-height:1.3}
.tr-app.webapp .trac{margin-top:8px;font-size:11.5px;line-height:1.4;color:var(--t-muted)}
/* the web wordmark: a rounded rectangle, the icon, the name in a display face */
.wm{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;height:76px;padding:0 18px;border-radius:14px;overflow:hidden;background:var(--c2);border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 28px rgba(0,0,0,.35);min-width:0;isolation:isolate}
.wm::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#fff 0%,var(--c2) 60%,color-mix(in srgb,var(--c2) 80%,var(--c1) 20%) 100%)}
.wm.dark{border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 28px rgba(0,0,0,.45)}
.wm.dark::before{background:linear-gradient(135deg,var(--c1),var(--c2) 55%,color-mix(in srgb,var(--c2) 60%,#000))}
.wm::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none}
.wm.tx-grain::after{background-image:radial-gradient(rgba(0,0,0,.18) .6px,transparent .7px),radial-gradient(rgba(255,255,255,.5) .6px,transparent .7px);background-size:3px 3px,5px 5px;background-position:0 0,1px 2px;opacity:.55;mix-blend-mode:multiply}
.wm.dark.tx-grain::after{background-image:radial-gradient(rgba(255,255,255,.16) .6px,transparent .7px),radial-gradient(rgba(0,0,0,.25) .6px,transparent .7px);opacity:.9;mix-blend-mode:overlay}
.wm.tx-glow::after{background:radial-gradient(70% 140% at 15% 0%,rgba(255,255,255,.9),transparent 60%),radial-gradient(50% 100% at 95% 110%,color-mix(in srgb,var(--c1) 22%,#fff),transparent 60%);opacity:.9}
.wm.dark.tx-glow::after{background:radial-gradient(60% 120% at 20% 0%,rgba(255,255,255,.4),transparent 60%),radial-gradient(50% 100% at 90% 100%,color-mix(in srgb,var(--c1) 70%,#fff),transparent 60%);opacity:.75}
.wm span{position:relative;z-index:2;font-size:30px;font-weight:700;line-height:1;letter-spacing:-.01em;color:var(--c1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.wm.dark span{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.wm.lower span{text-transform:lowercase}.wm.upper span{text-transform:uppercase;letter-spacing:.08em;font-size:26px}.wm.title span{text-transform:none}
.wm.tr-outline span{color:transparent;-webkit-text-stroke:1.6px #fff;text-shadow:none}
.wm.tr-shadow span{text-shadow:3px 3px 0 rgba(0,0,0,.14)}.wm.dark.tr-shadow span{text-shadow:4px 4px 0 rgba(0,0,0,.45)}
.wm.tr-gradient span{color:transparent;background:linear-gradient(90deg,#fff,color-mix(in srgb,var(--c1) 40%,#fff));-webkit-background-clip:text;background-clip:text;text-shadow:none}
.wm .mark{position:relative;z-index:2;width:46px;height:46px;flex:none;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}
.wm .mark.pend{border-radius:12px;background:color-mix(in srgb,var(--c1) 12%,transparent);animation:tr-breathe 1.2s infinite}
.wm.withmark{justify-content:flex-start;padding-left:16px}
.tr-idea .ih.wmh{flex-direction:column;align-items:stretch;gap:10px}
.tr-idea .ih.wmh .wm{height:72px}
#tr-modal .sh.wmh{flex-direction:column;align-items:stretch;gap:12px}
#tr-modal .sh.wmh .wm{height:96px}#tr-modal .sh.wmh .wm span{font-size:40px}#tr-modal .sh.wmh .wm.upper span{font-size:34px}#tr-modal .sh.wmh .wm .mark{width:60px;height:60px}
#tr-final .fh.wmh{flex-direction:column;align-items:stretch}#tr-final .fh.wmh .wm{height:64px}
/* ── the library strip: ideas proven in an earlier run that this person has never met ── */
#tr-library{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;padding:0 24px}
#tr-sec-lib:not(.in){display:none}
.tr-idea .tags .lib{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(233,204,255,.12);color:var(--t-lav,#c9a8ff);border:1px solid rgba(233,204,255,.35)}
#tr-modal .anim.lib{background:rgba(233,204,255,.12);color:var(--t-lav,#c9a8ff);border-color:rgba(233,204,255,.35)}
/* ── idea mode: the founder's idea rides the tree; the verdict sits under the ideas ── */
#tr-intent .own-line{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px;padding:10px 12px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);text-align:left}
#tr-intent .own-line .tag{align-self:flex-start;padding:2px 9px;border-radius:999px;background:var(--t-sun);color:var(--t-onsun);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
#tr-intent .own-line b{color:var(--t-ink);font-size:15px}#tr-intent .own-line span:not(.tag){color:var(--t-muted);font-size:12.5px;line-height:1.45}
#tr-intent .legacy-note{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px}#tr-intent .legacy-note span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--t-faint)}
#tree.legacy #tr-canopy{display:none}
.tr-idea .tags .own,#tr-modal .anim.own{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;background:var(--t-sun);color:var(--t-onsun)}
.tr-idea.own{border-color:rgba(255,215,49,.55);box-shadow:0 0 0 1px rgba(255,215,49,.18)!important}
#tr-gap p.fit{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);color:var(--t-ink);font-size:13.5px;line-height:1.5}#tr-gap p.fit b{color:var(--t-lav)}
#tr-sec-verdict:not(.in){display:none}
#tr-verdict{width:min(760px,92vw);margin:0 auto;padding:22px 24px 18px;border-radius:20px;background:var(--t-card);border:1px solid var(--t-line);color:var(--t-ink);opacity:0;transform:translateY(16px);transition:opacity .5s var(--t-ease),transform .5s var(--t-ease);text-align:left}
#tr-verdict.in{opacity:1;transform:none}#tr-verdict:empty{display:none}
#tr-verdict .k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-faint);margin-bottom:6px}
#tr-verdict .call{font:400 46px/1 'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;color:var(--t-ink);margin:2px 0 8px}
#tr-verdict .call.build{color:var(--t-mint)}#tr-verdict .call.build_but{color:var(--t-sun)}#tr-verdict .call.skip{color:var(--t-ember)}
#tr-verdict .why{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--t-ink)}#tr-verdict .score{font-size:12px;color:var(--t-muted)}#tr-verdict .score b{color:var(--t-ink)}
#tr-verdict .meters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
#tr-verdict .tr-meter{padding:10px 12px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line)}
#tr-verdict .tr-meter .mh{display:flex;justify-content:space-between;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--t-muted)}#tr-verdict .tr-meter .mh b{color:var(--t-ink)}
#tr-verdict .tr-meter .dots{display:flex;gap:4px;margin:8px 0 6px}#tr-verdict .tr-meter .dots i{width:9px;height:9px;border-radius:50%;background:var(--t-line)!important;color:transparent!important}#tr-verdict .tr-meter .dots i.f{background:var(--t-sun)!important}
#tr-verdict .tr-meter .why{font-size:12px;line-height:1.45;color:var(--t-muted);margin:0}
#tr-verdict .money{padding:12px 14px;border-left:3px solid var(--t-mint);background:var(--t-card2);border-radius:0 12px 12px 0;margin:0 0 16px}
#tr-verdict .money p{margin:0;font-size:14px;line-height:1.55;color:var(--t-ink)}#tr-verdict .money p b{color:var(--t-ink)}
#tr-verdict .sc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 8px}
#tr-verdict .sc .tile{padding:10px 12px;border-radius:12px;background:var(--t-card);border:1px solid var(--t-line)}#tr-verdict .sc .tile.good{border-color:var(--t-sun)}#tr-verdict .sc .tile.best{border-color:var(--t-mint)}
#tr-verdict .sc .tile b{display:block;font-size:22px;font-variant-numeric:tabular-nums;color:var(--t-ink)}#tr-verdict .sc .tile b i{font-style:normal;font-size:12px;color:var(--t-faint)}#tr-verdict .sc .tile span{font-size:12px;color:var(--t-muted)}
#tr-verdict .note{font-size:12px;color:var(--t-faint);margin:6px 0 0!important}
#tr-verdict .wtb{padding:12px 14px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);margin:0 0 16px}
#tr-verdict .wtb .hero b{display:block;font-size:16px;color:var(--t-ink)}#tr-verdict .wtb .hero p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--t-muted)}
#tr-verdict .wtb .side{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}#tr-verdict .wtb .side span{padding:4px 10px;border-radius:999px;font-size:12px;background:var(--t-card);border:1px solid var(--t-line);color:var(--t-ink)}#tr-verdict .wtb .side span.x{color:var(--t-muted);border-style:dashed}
#tr-verdict .wtb .price{margin-top:10px;font-size:13px;font-weight:700;color:var(--t-sun)}
#tr-verdict .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
#tr-verdict .case h4{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}#tr-verdict .case.for h4{color:var(--t-mint)}#tr-verdict .case.against h4{color:var(--t-ember)}#tr-verdict .case.only h4{color:var(--t-sun)}
#tr-verdict .case ul{margin:0;padding-left:16px}#tr-verdict .case li{font-size:13px;line-height:1.5;color:var(--t-ink);margin-bottom:4px}
#tr-verdict .first{padding:12px 14px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);margin-bottom:14px}#tr-verdict .first p{margin:0;font-size:14px;line-height:1.5;color:var(--t-ink)}
#tr-verdict .btns{display:flex;gap:8px;justify-content:flex-end}
#tr-wires path.verdict{stroke:rgba(255,215,49,.7);stroke-width:1.4;fill:none}
#tr-board.lod-1 #tr-verdict .cases,#tr-board.lod-1 #tr-verdict .note,#tr-board.lod-1 #tr-verdict .why,#tr-board.lod-1 #tr-verdict .first{display:none}
#tr-board.lod-2 #tr-verdict .meters,#tr-board.lod-2 #tr-verdict .sc,#tr-board.lod-2 #tr-verdict .wtb{display:none}
@media (max-width:760px){#tr-verdict .meters,#tr-verdict .sc,#tr-verdict .cases{grid-template-columns:1fr}}
#tree.legacy{--canopy:72px}
/* ── verdict tabs (one verdict per idea), the card's verdict pill, the see-more pager, the popup's second read ── */
#tr-verdict .vtabs{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}
#tr-verdict .vtab{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 16px 0 18px;border-radius:999px;border:1.5px solid var(--t-ink);background:var(--t-card2);color:var(--t-ink);font-size:14px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .12s var(--t-ease),background .12s}
#tr-verdict .vtab:hover{transform:translateY(-1px);background:var(--t-line)}
#tr-verdict .vtab b{font-size:12.5px;padding:3px 9px;border-radius:999px;background:var(--t-ink);color:var(--t-bg)}#tr-verdict .vtab i{color:var(--t-faint);font-style:normal}
#tr-verdict .vtab.on,#tr-verdict .vtab.on:hover{background:var(--t-sun);color:var(--t-onsun);border-color:var(--t-sun)}
#tr-verdict .vtab.on b{background:var(--t-onsun);color:var(--t-sun)}
#tr-verdict .vask{margin-top:14px;padding-top:14px;border-top:1px solid var(--t-line);display:flex;justify-content:center}
.tr-idea .tags .vd{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid var(--t-line);color:var(--t-ink);background:var(--t-card2)}
.tr-idea .tags .vd.build{border-color:rgba(85,219,156,.5);color:var(--t-mint)}.tr-idea .tags .vd.build_but{border-color:rgba(255,215,49,.5);color:var(--t-sun)}.tr-idea .tags .vd.skip{border-color:rgba(251,73,3,.5);color:var(--t-ember)}
#tr-more{display:flex;justify-content:center;margin:14px 0 4px}#tr-more:empty{display:none}#tr-more .tr-btn{font-size:13px;padding:10px 18px}#tr-more .sp{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite;vertical-align:-1px;margin-right:6px}
.tr-moredone{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--t-faint)}
#tr-modal .sec.numbers .spark{width:100%;height:44px;display:block;margin:6px 0 8px}#tr-modal .sec.numbers .spark polyline{fill:none;stroke:var(--t-mint);stroke-width:2;vector-effect:non-scaling-stroke}
#tr-modal .sec.quotes blockquote{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--t-line);background:var(--t-card2);border-radius:0 10px 10px 0;font-size:13px;line-height:1.5;color:var(--t-ink)}
#tr-modal .sec.quotes blockquote span{display:inline-block;white-space:nowrap;font-size:11px;letter-spacing:.1em;color:var(--t-sun);margin-right:8px;vertical-align:1px}#tr-modal .sec.quotes blockquote.low{border-left-color:var(--t-ember)}#tr-modal .sec.quotes blockquote.high{border-left-color:var(--t-mint)}#tr-modal .sec.quotes blockquote b{display:block;font-size:13px;margin:2px 0}
#tr-modal .sec.kw .chips{display:flex;flex-wrap:wrap;gap:6px}#tr-modal .sec.kw .chips span{padding:4px 10px;border-radius:999px;font-size:12px;background:var(--t-card2);border:1px solid var(--t-line);color:var(--t-ink)}
#tr-modal .sec.similar .row{display:flex;flex-wrap:wrap;gap:8px}#tr-modal .sim{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);cursor:pointer}#tr-modal .sim:hover{border-color:var(--t-sun)}
#tr-modal .sim img{width:28px;height:28px;border-radius:7px;object-fit:cover}#tr-modal .sim b{display:inline;margin:0;font-size:12.5px;color:var(--t-ink)}#tr-modal .sim span{font-size:11.5px;color:var(--t-muted)}
#tr-modal .sec.cook2{color:var(--t-muted);font-size:12.5px}#tr-modal .sec.cook2 .sp{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite;vertical-align:-1px;margin-right:6px}

/* the winners row shows eight at a time; "Show me more" flips them to the next eight */
#tr-apps{perspective:1600px}.tr-app{backface-visibility:hidden}
.tr-app.in.flip{transform:rotateY(88deg) scale(.96);opacity:.45;transition:transform .3s cubic-bezier(.55,0,1,.45),opacity .3s ease-in}
.tr-app.in.flipin{transform:rotateY(-88deg) scale(.96);opacity:.45;transition:none}
.tr-app.in.flipgo{transform:none;opacity:1;transition:transform .38s cubic-bezier(0,.55,.45,1),opacity .38s ease-out}
.tr-morepill{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 24px;border-radius:999px;border:0;background:var(--t-sun);color:var(--t-onsun);font:800 14.5px 'Inter',sans-serif;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 28px rgba(255,215,49,.22);transition:transform .12s var(--t-ease),box-shadow .12s}
.tr-morepill:hover{transform:translateY(-1px);box-shadow:0 10px 32px rgba(255,215,49,.3)}.tr-morepill[disabled]{opacity:.75;cursor:default;transform:none}
.tr-morepill b{font-weight:700;font-size:12px;opacity:.7}.tr-morepill .sp{border-color:var(--t-onsun);border-top-color:transparent}
/* ◀ the pill ▶ and the page count under them; ◀ turns the cards the other way */
#tr-more{flex-direction:column;align-items:center;gap:8px}
.tr-pager{display:flex;align-items:center;gap:10px}
.tr-pg{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--t-line);background:var(--t-card);color:var(--t-ink);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.3);transition:transform .12s var(--t-ease),border-color .12s,background .12s}
.tr-pg:hover:not([disabled]){border-color:var(--t-sun);color:var(--t-sun);transform:translateY(-1px)}.tr-pg:active:not([disabled]){transform:scale(.94)}
.tr-pg[disabled]{opacity:.35;cursor:default;box-shadow:none}
.tr-pg:focus-visible,.tr-morepill:focus-visible{outline:2px solid var(--t-sun);outline-offset:3px}
.tr-pgnum{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-faint);font-variant-numeric:tabular-nums}
#tr-apps.rev .tr-app.in.flip{transform:rotateY(-88deg) scale(.96)}#tr-apps.rev .tr-app.in.flipin{transform:rotateY(88deg) scale(.96)}
/* the blanks that turn in while the next page is read */
.tr-app.skel{cursor:default;position:relative;overflow:hidden;min-height:196px}
.tr-app.skel .av{background:var(--t-card2)}.tr-app.skel .sk{display:block;height:10px;border-radius:6px;background:var(--t-card2);margin:5px 0}.tr-app.skel .sk.w70{width:70%;height:12px}.tr-app.skel .sk.w40{width:40%}.tr-app.skel .stats .sk{height:22px;margin:0}.tr-app.skel .sk.blk{height:54px;margin-top:12px;border-radius:12px}
.tr-app.skel .cook i{width:7px;height:7px;border-radius:50%;background:var(--t-sun);box-shadow:0 0 8px var(--t-sun);animation:tr-breathe 1.2s ease-in-out infinite}
.tr-app.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);transform:translateX(-100%);animation:tr-shim 1.6s ease-in-out infinite}
@keyframes tr-shim{to{transform:translateX(100%)}}

/* a living-character idea reads as a different kind of idea: the pink marker, a soft breathing glow on the card */
.tr-idea .tags .living{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.01em;background:linear-gradient(90deg,rgba(255,122,198,.26),rgba(233,204,255,.22));color:var(--t-pink);border:1px solid rgba(255,122,198,.55);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-idea.living{border-color:rgba(255,122,198,.55);box-shadow:0 0 0 1px rgba(255,122,198,.16),0 14px 44px rgba(255,122,198,.12);animation:tr-living 3.2s ease-in-out infinite}
.tr-idea.living.own{border-color:rgba(255,215,49,.6)}
@keyframes tr-living{0%,100%{box-shadow:0 0 0 1px rgba(255,122,198,.16),0 14px 44px rgba(255,122,198,.1)}50%{box-shadow:0 0 0 1px rgba(255,122,198,.34),0 18px 56px rgba(255,122,198,.22)}}
@media (prefers-reduced-motion:reduce){.tr-idea.living{animation:none}}
/* the app popup opened from the idea doc sits above it */
#tr-modal.over{z-index:400}
#tr-count{max-width:calc(100% - 24px);white-space:normal;text-align:center;line-height:1.3}
#tr-lb.open{z-index:410}   /* the lightbox opens above the idea doc (350) and the popup over it (400) */
/* ── AI services: an agency is a business, not an app; a service idea sells an outcome ── */
.tr-app.webapp .kind{display:inline-block;margin-top:8px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.3;border:1px solid var(--t-line);color:var(--t-ink);background:var(--t-card2);max-width:100%}
.tr-app.webapp .kind.agency{border-color:rgba(255,215,49,.55);color:var(--t-sun)}
.tr-app.webapp .kind.svc{border-color:rgba(77,162,255,.55);color:var(--t-blue)}
.tr-app.webapp .delivers{margin-top:8px;font-size:12.5px;line-height:1.45;color:var(--t-muted)}
.tr-app.webapp .delivers span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--t-muted);opacity:.8;margin-bottom:2px}
.tr-idea .tags .svc,#tr-modal .anim.svc{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(77,162,255,.14);color:var(--t-blue);border:1px solid rgba(77,162,255,.45)}
.tr-idea>.svc,#tr-modal .svcsec .svc{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(77,162,255,.08);border:1px solid rgba(77,162,255,.3)}
#tr-modal .svcsec{padding:0;background:none;border:0}
.tr-idea .svc .k,#tr-modal .svc .k{color:var(--t-blue)}
.tr-idea .svc>b,#tr-modal .svc>b{display:block;font-size:13.5px;line-height:1.35;color:var(--t-ink)}
.tr-idea .svc p,#tr-modal .svc p{margin:5px 0 0;font-size:12.5px;line-height:1.45;color:var(--t-muted)}
.tr-idea .svc .kk,#tr-modal .svc .kk{font-weight:800;color:var(--t-ink);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;margin-right:4px}
.tr-idea .svc .kk.pk,#tr-modal .svc .kk.pk{display:block;margin:8px 0 2px}
.tr-idea .svc p.sp b,#tr-modal .svc p.sp b{color:var(--t-ink);font-size:14px}
.tr-idea .svc .pipe,#tr-modal .svc .pipe{margin:0;padding:0 0 0 18px;font-size:12.5px;line-height:1.45;color:var(--t-muted)}
.tr-idea .svc .pipe li,#tr-modal .svc .pipe li{margin:2px 0}
.tr-idea .svc .pipe li.hc,#tr-modal .svc .pipe li.hc{list-style:none;margin-left:-18px;color:var(--t-ink);font-weight:700}
.tr-idea .svc .sell,#tr-modal .svc .sell{display:inline-block;margin-top:8px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid rgba(85,219,156,.5);color:var(--t-mint);background:var(--t-card2)}
.tr-idea .svc .sell.to,#tr-modal .svc .sell.to{border-color:rgba(255,215,49,.55);color:var(--t-sun)}
#tr-board.lod-2 .tr-idea .svc .pipe,#tr-board.lod-2 .tr-idea .svc p{display:none}
/* a saved idea: its Save button became the door into its Idea Lab doc */
.tr-btn.saved-go{background:var(--t-mint);color:#06281a;border-color:transparent;font-weight:800}.tr-btn.saved-go:hover{background:#7be6b4}
@media (max-width:560px){.tr-pager{gap:6px}.tr-pg{width:40px;height:40px}.tr-morepill{height:42px;padding:0 16px;font-size:13px}.tr-morepill b{display:none}}
/* the saved state: a small mint door into the Idea Lab, and under it a star box that unsaves */
.saved-pair{display:flex;flex-direction:column;align-items:stretch;gap:6px;flex:1;min-width:0}
.saved-go{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0}
.saved-pair .saved-go{height:32px;padding:0 12px;border-radius:10px;border:0;background:var(--t-mint,#55db9c);color:#06281a;font:700 12px 'Inter',sans-serif;letter-spacing:.01em;cursor:pointer;transition:background .12s,transform .12s}
.saved-pair .saved-go:hover{background:#7be6b4}.saved-pair .saved-go:active{transform:scale(.98)}
.saved-go .sv-ck{flex:none;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#06281a;color:#7be6b4}
.saved-go .sv-ck svg{width:11px;height:11px}
.saved-go .sv-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.saved-go .sv-ar{flex:none;font-style:normal;font-weight:800;transition:transform .15s}.saved-go:hover .sv-ar{transform:translateX(2px)}
.unsave{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:26px;padding:0 9px 0 6px;border-radius:8px;border:1px solid var(--t-line,rgba(255,255,255,.14));background:transparent;color:var(--t-muted,#9a9aa3);font:600 11px 'Inter',sans-serif;cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.unsave svg{width:15px;height:15px;fill:var(--t-sun,#ffd23f);stroke:var(--t-sun,#ffd23f);stroke-width:1.5;stroke-linejoin:round;transition:fill .12s}
.unsave:hover{border-color:var(--t-sun,#ffd23f);color:var(--t-ink,#f3f3f5)}.unsave:hover svg{fill:transparent}
.unsave.solo{height:auto;align-self:stretch;padding:0 8px;margin-left:6px}.unsave.solo span{display:none}
html[data-theme="light"] .unsave{color:#5b5b66;border-color:rgba(0,0,0,.14)}html[data-theme="light"] .unsave:hover{color:#111}
html[data-theme="light"] .unsave svg{fill:#e0a800;stroke:#e0a800}html[data-theme="light"] .unsave:hover svg{fill:transparent}
#racts .saved-pair{flex:none;width:100%}
/* who we serve, compact: on an idea's popup and in the verdict */
#tr-modal .svsec{border-color:rgba(255,122,198,.35)}#tr-modal .svsec .k{color:var(--t-pink)}
.svsec .kk{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t-faint);margin-right:6px}
.svsec .sv-none{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.svsec .sv-wait{display:flex;align-items:center;gap:8px;color:var(--t-muted)}.svsec .sv-wait i{width:10px;height:10px;border-radius:50%;border:2px solid var(--t-pink);border-top-color:transparent;animation:spin .8s linear infinite}
#tr-verdict .svsec.v{padding:12px 14px;border-radius:12px;background:var(--t-card2);border:1px solid rgba(255,122,198,.35);margin:0 0 16px}
#tr-verdict .svsec.v .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-pink);margin:0 0 6px}
#tr-verdict .svsec.v b{display:block;color:var(--t-ink);font-size:14.5px;margin-bottom:6px;line-height:1.4}#tr-verdict .svsec.v p{margin:0 0 4px;font-size:13px;line-height:1.5;color:var(--t-muted)}
.tr-btn.cc{background:transparent;border-color:var(--t-line);color:var(--t-ink)}.tr-btn.cc:hover{background:var(--t-card2);border-color:var(--t-lav)}
.tr-idea .btns{flex-wrap:wrap}.tr-idea .btns .tr-btn.cc{flex:1 1 100%;height:30px;font-size:11.5px}
.tr-idea .btns .saved-pair + .tr-btn.p{flex:1 1 100%;height:32px}   /* a saved idea keeps its Build it, on its own row */
