  :root{
    --bg:#06060d; --ink:#000;
    --muted:#9794ab; --accent:#4da2ff; --accent2:#55db9c; --pain:#fb4903; --comp:#ffd731;
    --glass:rgba(20,19,32,0.72); --line:rgba(255,255,255,0.08);
  }
  *{box-sizing:border-box; -webkit-font-smoothing:antialiased}
  html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif}
  canvas{position:absolute;inset:0;display:block}
  #bg{z-index:0} #c{z-index:1}

  /* ── header ─────────────────────────────────────── */
  header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:14px;padding:18px 26px;pointer-events:none}
  header>*{pointer-events:auto}
  .logo{font-family:'Instrument Serif',serif;font-size:22px;letter-spacing:.2px}
  .logo i{color:var(--accent);font-style:normal}
  .spacer{flex:1}
  #statuspill{font-size:12.5px;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:7px 16px;backdrop-filter:blur(12px);display:none;align-items:center;gap:8px}
  #statuspill .spin{width:10px;height:10px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:spin .8s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  #homebtn{display:none;font-size:13px;color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer;backdrop-filter:blur(12px);transition:.2s}
  #homebtn:hover{border-color:var(--accent)}

  /* ── overlays (home / idea / questions) ─────────── */
  .veil{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;
    background:radial-gradient(ellipse at 50% 45%, rgba(6,6,13,0.25) 0%, rgba(6,6,13,0.78) 72%);
    opacity:1;transition:opacity .5s;pointer-events:auto}
  .veil.hidden{opacity:0;pointer-events:none}
  .kicker{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-weight:600}
  h1{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(38px,5.4vw,64px);line-height:1.06;margin:0 0 16px;max-width:820px}
  h1 em{font-style:italic;color:var(--accent)}
  .sub{color:var(--muted);font-size:16px;max-width:560px;line-height:1.6;margin:0 0 36px}
  .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
  .btn{font:inherit;font-weight:600;font-size:15px;border-radius:999px;padding:15px 30px;cursor:pointer;transition:transform .15s, box-shadow .15s, border-color .15s;border:1px solid transparent}
  .btn:hover{transform:translateY(-2px)}
  .btn.primary{background:var(--accent);color:#fff;box-shadow:0 8px 32px -8px #000}
  /* Idea Lab: "Generate 4 logos" / the character's generate button stand out (Adi, Oct 10) */
  html body #logo-gen.btn.btn.primary{background:#ffd731!important;color:#111!important;border-color:#ffd731!important;font-weight:800;box-shadow:0 0 0 1px #ffd731,0 8px 26px -6px rgba(255,215,49,.6)!important}
  html body #logo-gen.btn.btn.primary:hover:not(:disabled){background:#ffe066!important;color:#111!important;box-shadow:0 0 0 1px #ffe066,0 10px 32px -6px rgba(255,215,49,.85)!important}
  html body #logo-gen.btn.btn.primary:disabled{opacity:.6}
  .btn.primary:hover{box-shadow:0 14px 44px -8px rgba(139,123,255,.7)}
  .btn.ghost{background:var(--glass);color:var(--ink);border-color:var(--line);backdrop-filter:blur(12px)}
  .btn.ghost:hover{border-color:var(--accent)}
  .wander{margin-top:30px;font-size:13px;color:var(--muted);cursor:pointer;border-bottom:1px dotted var(--muted);padding-bottom:2px;transition:.2s}
  .wander:hover{color:var(--ink);border-color:var(--ink)}

  /* idea input */
  #ideabox{max-width:640px;width:90%}
  #ideabox .inputwrap{display:flex;gap:10px;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:10px;backdrop-filter:blur(16px);box-shadow:0 20px 60px -20px rgba(0,0,0,.6)}
  #ideabox input{flex:1;background:none;border:none;color:var(--ink);font:inherit;font-size:17px;padding:10px 14px}
  #ideabox input:focus{outline:none}
  #ideabox .hint{margin-top:16px;font-size:13px;color:var(--muted)}
  #ideabox .hint b{color:var(--accent);cursor:pointer;font-weight:600}
  .back{position:absolute;top:84px;left:26px;font-size:13px;color:var(--muted);cursor:pointer;z-index:6}
  .back:hover{color:var(--ink)}

  /* questions */
  #qa{max-width:660px;width:92%}
  .qcard{background:var(--glass);border:1px solid var(--line);border-radius:24px;padding:38px 40px;backdrop-filter:blur(18px);box-shadow:0 30px 80px -30px rgba(0,0,0,.7);text-align:left}
  .qcard .qnum{font-size:12px;letter-spacing:2.5px;color:var(--accent);text-transform:uppercase;font-weight:600;margin-bottom:10px}
  .qcard h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:32px;margin:0 0 6px}
  .qcard .qsub{color:var(--muted);font-size:14px;margin:0 0 24px}
  .chips{display:flex;flex-wrap:wrap;gap:9px}
  .chip{font-size:14px;padding:9px 17px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;transition:.15s;user-select:none}
  .chip:hover{border-color:var(--accent)}
  .chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
  .qcard textarea{width:100%;margin-top:6px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;color:var(--ink);font:inherit;font-size:14px;padding:14px;min-height:84px;resize:vertical}
  .qcard textarea:focus{outline:none;border-color:var(--accent)}
  .qnav{display:flex;align-items:center;margin-top:28px;gap:12px}
  .dots{display:flex;gap:6px;margin-right:auto}
  .dot{width:7px;height:7px;border-radius:50%;background:var(--line)}
  .dot.on{background:var(--accent)}
  .qskip{font-size:13px;color:var(--muted);cursor:pointer}
  .qskip:hover{color:var(--ink)}

  /* ── node panel ─────────────────────────────────── */
  #panel{position:fixed;top:0;right:0;width:390px;max-width:92vw;height:100%;z-index:12;background:rgba(15,14,24,0.88);backdrop-filter:blur(24px);border-left:1px solid var(--line);padding:30px;overflow:auto;transform:translateX(102%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
  #panel.open{transform:translateX(0)}
  #panel .x{position:absolute;top:18px;right:20px;cursor:pointer;color:var(--muted);font-size:18px;padding:4px}
  #panel .x:hover{color:var(--ink)}
  #ptype{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:999px;margin-bottom:16px}
  #ptitle{font-family:'Instrument Serif',serif;font-weight:400;font-size:26px;line-height:1.2;margin:0 0 14px}
  #pdetail{color:#000;font-size:14.5px;line-height:1.65}
  #pmeta{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.7}
  #pmeta b{color:#000;font-weight:600}
  #pbrief{margin-top:18px;background:rgba(139,123,255,.08);border:1px solid rgba(139,123,255,.25);border-radius:14px;padding:16px;font-size:13.5px;line-height:1.6;color:#000}
  #pbrief .bl{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
  .pactions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
  .pactions .btn{width:100%;padding:13px}
  #plink{font-size:13px;color:var(--accent);text-decoration:none;margin-top:14px;display:inline-block}

  /* legend + hud */
  .legend{position:absolute;bottom:18px;right:22px;z-index:4;font-size:11.5px;color:var(--muted);display:flex;gap:14px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 18px;backdrop-filter:blur(12px)}
  .legend span{display:inline-flex;align-items:center;gap:6px}
  .ldot{width:8px;height:8px;border-radius:50%}
  #hud{position:absolute;bottom:18px;left:22px;z-index:4;display:none;gap:8px}
  #hud .pill{font-size:12px;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:7px 14px;backdrop-filter:blur(12px)}
  #hud .pill b{color:var(--ink);font-weight:600}
  .toast{position:absolute;bottom:74px;left:50%;transform:translateX(-50%) translateY(20px);z-index:20;background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:12px 22px;font-size:13.5px;backdrop-filter:blur(16px);opacity:0;transition:.3s;pointer-events:none}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

  /* ── flow mesh (find-me-one node canvas) ────────── */
  #flow{position:absolute;inset:0;z-index:6;display:none;overflow:hidden;background:radial-gradient(ellipse at 50% -10%, rgba(139,123,255,.08) 0%, transparent 55%), var(--bg);cursor:grab}
  #flow.open{display:block}
  #flow.panning{cursor:grabbing}
  #flow-vp{position:absolute;left:0;top:0;transform-origin:0 0}
  #flow-edges{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
  #flow-edges path{fill:none;stroke:rgba(139,123,255,.35);stroke-width:2}
  #flow-edges path.g{stroke:#000}
  #flow-edges path.f{stroke:rgba(255,255,255,.14);stroke-dasharray:5 5}
  .fn{position:absolute;background:rgba(15,14,24,.92);border:1px solid var(--line);border-radius:16px;padding:16px 18px;backdrop-filter:blur(14px);cursor:default;user-select:none;box-shadow:0 16px 44px -18px rgba(0,0,0,.7)}
  .fn:hover{border-color:rgba(139,123,255,.45)}
  .fn.dragging{cursor:grabbing;border-color:var(--accent);z-index:5}
  .fn .fk{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:8px;cursor:grab}
  .fn h4{font-family:'Instrument Serif',serif;font-weight:400;font-size:19px;margin:0 0 7px;line-height:1.2}
  .fn p{font-size:12.5px;line-height:1.55;color:#000;margin:0}
  .fn .row{font-size:12px;color:#000;line-height:1.5;padding:5px 0 5px 12px;border-left:2px solid rgba(139,123,255,.3);margin:5px 0}
  .fn-you .fk{color:var(--ink)} .fn-you{border-color:rgba(255,255,255,.25)}
  .fn-market .fk{color:var(--accent)} .fn-market{border-color:rgba(139,123,255,.4)}
  .fn-hap .fk{color:var(--accent2)} .fn-miss .fk{color:var(--pain)}
  .fn-user .fk{color:var(--comp)}
  .fn-niche .fk{color:var(--accent)}
  .fn-player .fk{color:var(--accent2)}
  .fn-player .rev{font-size:13px;font-weight:700;color:var(--accent2)}
  .fn-player .sub3{font-size:11px;color:var(--muted);margin-top:2px}
  .fn-open{border-color:rgba(139,123,255,.5);background:rgba(24,20,44,.94)}
  .fn-open .fk{color:var(--accent)}
  .fn-val{border-color:rgba(67,217,163,.5)}
  .fn-val .fk{color:var(--accent2)}
  .fn .fbtns{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}
  .fn .fbtn{font:inherit;font-size:11.5px;font-weight:600;padding:7px 13px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:.15s}
  .fn .fbtn.p{background:var(--accent);color:#fff} .fn .fbtn.p:hover{filter:brightness(1.12)}
  .fn .fbtn.g{background:rgba(255,255,255,.05);color:var(--ink);border-color:var(--line)} .fn .fbtn.g:hover{border-color:var(--accent)}
  .fn .conf2{font-size:9.5px;letter-spacing:1.2px;padding:3px 8px;border-radius:999px;font-weight:700;text-transform:uppercase}
  .conf2.strong{color:var(--accent2);border:1px solid #000} .conf2.medium{color:var(--comp);border:1px solid #000} .conf2.hunch{color:var(--muted);border:1px solid var(--line)}
  .fn .cite2{font-size:11px;color:var(--muted);line-height:1.5;padding-left:10px;border-left:2px solid rgba(139,123,255,.3);margin:4px 0}
  .fn .stale2{display:inline-block;margin-top:5px;font-size:9.5px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;color:var(--pain);background:rgba(255,90,122,.1);border:1px solid rgba(255,90,122,.3);border-radius:999px;padding:2px 7px}
  .fn .vdec{font-size:16px;font-weight:800;letter-spacing:.5px}
  .fn .vdec.BUILD{color:var(--accent2)} .fn .vdec.BUILD_IF{color:var(--comp)} .fn .vdec.DONT_BUILD{color:var(--pain)}
  .fn .est2{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--comp);border:1px solid #000;border-radius:999px;padding:2px 8px}
  .fn-icp .fk{color:#000}
  .fn-icp{border-color:rgba(125,211,252,.3)}
  .fn-mob{border-color:#000} .fn-mob .fk{color:var(--accent2)}
  .fn-web{border-color:rgba(139,123,255,.45)} .fn-web .fk{color:var(--accent)}
  .fn-hdr{background:none;border:none;box-shadow:none;backdrop-filter:none}
  .fn-hdr h4{font-size:24px;margin:0}
  .fn-hdr .fk{cursor:grab}
  .fn-idea{border-width:1.5px;background:rgba(20,17,36,.95)}
  .fn-idea.mob{border-color:rgba(67,217,163,.55)} .fn-idea.web{border-color:rgba(139,123,255,.6)}
  .pchip{display:inline-block;font-size:9.5px;letter-spacing:1.2px;font-weight:800;border-radius:999px;padding:3px 9px;text-transform:uppercase}
  .pchip.mob{color:#062;background:var(--accent2)} .pchip.web{color:#fff;background:var(--accent)}
  .meter{display:flex;align-items:center;gap:3px;margin:7px 0 2px}
  .meter .ml{font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;color:var(--muted);width:88px;flex:0 0 auto}
  .meter i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.09)}
  .meter i.on.v{background:var(--accent2)} .meter i.on.s{background:#000}
  .meter b{font-size:11px;margin-left:5px;color:#000}
  .fn-idea .mline{font-size:11px;color:var(--muted);line-height:1.5;margin:2px 0 0 0}
  .fn-idea .mline b{color:#000;font-weight:600}
  .fn-idea .proof2{font-size:11px;color:var(--accent2);line-height:1.5;padding-left:10px;border-left:2px solid #000;margin:5px 0}
  .appbox{display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:13px;padding:11px 12px;min-width:0}
  .appbox.mob{border-color:rgba(67,217,163,.35)} .appbox.web{border-color:rgba(139,123,255,.4)}
  .appbox .ah{display:flex;align-items:center;gap:9px;min-width:0}
  .appbox img{width:40px;height:40px;border-radius:10px;flex:0 0 auto;object-fit:cover;background:rgba(255,255,255,.06)}
  .appbox .av{width:40px;height:40px;border-radius:10px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#fff}
  .appbox .av.mob{background:linear-gradient(135deg,#0e9f6e,#55db9c)} .appbox .av.web{background:linear-gradient(135deg,#6d5ae6,#5c4ade)}
  .appbox .an2{font-size:12.5px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .appbox .as2{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .appbox .stats{display:flex;gap:10px;flex-wrap:wrap}
  .appbox .st2{font-size:10px;color:var(--muted);line-height:1.3}
  .appbox .st2 b{display:block;font-size:12px;color:var(--accent2)}
  .appbox.web .st2 b{color:#5c4ade}
  .appbox .st2.neutral b{color:#000}
  .appgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .appbox{cursor:pointer;transition:.15s}
  .appbox:hover{border-color:var(--accent);transform:translateY(-1px)}
  .awhat{font-size:10.5px;color:#000;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .psec{font-size:9.5px;letter-spacing:1.6px;font-weight:800;color:var(--muted);margin:12px 0 5px;text-transform:uppercase}
  .prow{border:1px solid rgba(67,217,163,.35);border-radius:11px;padding:9px 12px;margin:5px 0;cursor:pointer;transition:.15s;font-size:12px}
  .prow b{font-size:12.5px}
  .prow .peff{font-size:9.5px;font-weight:800;color:var(--accent2);margin-left:6px}
  .prow .pdet{display:block;color:var(--muted);line-height:1.45;margin-top:2px}
  .prow.off{border-color:var(--line);opacity:.45}
  .prow:hover{border-color:var(--accent)}
  .pdet{font-size:11.5px;color:#000;line-height:1.5}
  .pstep{display:flex;gap:9px;font-size:11.5px;color:#000;line-height:1.5;margin:4px 0;align-items:baseline}
  .pstep i{font-style:normal;font-weight:800;color:var(--accent);flex:0 0 auto}
  #fm-pbar{position:absolute;top:0;left:0;right:0;z-index:9;height:44px;pointer-events:none;opacity:0;transition:opacity .4s}
  #fm-pbar.on{opacity:1}
  #fm-pbar .track{position:absolute;top:0;left:0;right:0;height:4px;background:rgba(255,255,255,.06)}
  #fm-pbar .fill{position:absolute;top:0;left:0;height:4px;width:0%;border-radius:0 4px 4px 0;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 14px rgba(139,123,255,.8);transition:width .8s cubic-bezier(.22,1,.36,1)}
  #fm-pbar .fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 1.2s infinite}
  #fm-plabel{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:12.5px;font-weight:600;color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:7px 18px;backdrop-filter:blur(14px);display:flex;align-items:center;gap:9px;white-space:nowrap}
  #fm-plabel .pct{color:var(--accent2);font-weight:800}
  #fm-plabel .cs{width:11px;height:11px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:spin .7s linear infinite}
  .cookbar{height:10px;border-radius:6px;margin:10px 0;background:linear-gradient(100deg,rgba(139,123,255,.12) 35%,rgba(139,123,255,.4) 50%,rgba(139,123,255,.12) 65%);background-size:200% 100%;animation:shimmer 1.1s infinite}
  .cookbar.g{background:linear-gradient(100deg,rgba(67,217,163,.12) 35%,rgba(67,217,163,.42) 50%,rgba(67,217,163,.12) 65%);background-size:200% 100%}
  .cookbar.short{width:62%}
  .cookline{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
  .cookline .cs{width:11px;height:11px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:spin .7s linear infinite;flex:0 0 auto}
  .fbtn.cooking{pointer-events:none;opacity:.85;position:relative;overflow:hidden}
  .fbtn.cooking::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 1s infinite}
  #flow-hud{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:8;display:flex;gap:8px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 18px;backdrop-filter:blur(14px);font-size:12px;color:var(--muted);align-items:center}
  #flow-hud b{color:var(--ink)}
  #flow-hud .fhbtn{cursor:pointer;color:var(--accent);font-weight:600}

  /* ── hover insight card ─────────────────────────── */
  #hovercard{position:absolute;z-index:14;width:300px;background:rgba(16,15,26,0.94);border:1px solid var(--line);border-radius:16px;padding:16px 18px;backdrop-filter:blur(20px);box-shadow:0 24px 60px -20px rgba(0,0,0,.8);pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .18s, transform .18s}
  #hovercard.show{opacity:1;transform:translateY(0);pointer-events:auto}
  .hc-actions{display:flex;gap:8px;margin-top:12px}
  .hc-btn{flex:1;font:inherit;font-size:12px;font-weight:600;padding:9px 10px;border-radius:10px;cursor:pointer;transition:.15s;border:1px solid transparent;text-align:center}
  .hc-btn.primary{background:var(--accent);color:#fff}
  .hc-btn.primary:hover{filter:brightness(1.12)}
  .hc-btn.ghost{background:rgba(255,255,255,.05);color:var(--ink);border-color:var(--line)}
  .hc-btn.ghost:hover{border-color:var(--accent)}
  .hc-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
  #hc-type{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px}
  #hc-platform{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.07);color:#000;display:none}
  #hc-title{font-family:'Instrument Serif',serif;font-size:18px;line-height:1.25;margin-bottom:10px}
  #hc-rows{display:flex;flex-direction:column;gap:8px}
  .hc-row{display:flex;gap:9px;font-size:12.5px;line-height:1.5;color:#000}
  .hc-row .ic{flex-shrink:0;width:16px;text-align:center}
  .hc-foot{margin-top:11px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:9px}

  /* ── deep dive overlay ──────────────────────────── */
  #dive{position:absolute;inset:0;z-index:18;background:rgba(5,5,11,0.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:30px}
  #dive.open{display:flex}
  .dive-doc{position:relative;width:min(860px,94vw);max-height:90vh;overflow:auto;background:rgba(15,14,24,0.97);border:1px solid var(--line);border-radius:24px;padding:46px 52px;box-shadow:0 50px 120px -40px rgba(0,0,0,.9)}
  .dive-doc .x{position:sticky;top:0;float:right;cursor:pointer;color:var(--muted);font-size:18px;padding:4px;z-index:2}
  .dive-doc .x:hover{color:var(--ink)}
  .dv-kicker{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:12px}
  .dv-title{font-family:'Instrument Serif',serif;font-weight:400;font-size:36px;line-height:1.1;margin:0 0 8px}
  .dv-badges{display:flex;gap:8px;margin:14px 0 22px;flex-wrap:wrap}
  .dv-badge{font-size:12px;font-weight:600;padding:7px 16px;border-radius:999px;border:1px solid var(--line)}
  .dv-badge.plat{background:rgba(139,123,255,.14);border-color:rgba(139,123,255,.4);color:#000}
  .dv-verdict{font-size:16px;line-height:1.65;color:#e4e2f0;border-left:3px solid var(--accent);padding-left:18px;margin-bottom:30px}
  .dv-h{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:30px 0 14px}
  .dv-text{font-size:14.5px;line-height:1.7;color:#000}
  .dv-trend{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px}
  .dv-trend .ar{font-size:16px;width:22px}
  .dv-trend .ar.up{color:#55db9c} .dv-trend .ar.flat{color:#ffd731} .dv-trend .ar.down{color:#fb4903}
  .dv-trend b{color:#000;font-weight:600}
  .dv-trend span{color:var(--muted);font-size:13px}
  .dv-feat{display:flex;gap:12px;align-items:baseline;padding:11px 14px;border:1px solid rgba(255,255,255,.06);border-radius:12px;margin-bottom:8px;font-size:14px}
  .dv-feat .eff{flex-shrink:0;font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(139,123,255,.15);color:#000}
  .dv-feat b{color:#000;font-weight:600} .dv-feat span{color:var(--muted);font-size:13px}
  .dv-bar{display:flex;align-items:center;gap:12px;margin-bottom:9px;font-size:13px}
  .dv-bar .nm{width:170px;flex-shrink:0;text-align:right;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dv-bar .tr{flex:1;height:22px;background:rgba(255,255,255,.04);border-radius:6px;overflow:hidden}
  .dv-bar .fl{height:100%;background:linear-gradient(90deg,#5b4cc4,#4da2ff);border-radius:6px;display:flex;align-items:center;padding-left:8px;font-size:10.5px;color:#fff;min-width:32px}
  .dv-bar .nt{width:170px;flex-shrink:0;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dv-list li{font-size:14px;color:#000;line-height:1.7}
  .dv-ctas{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
  .dv-mocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
  .dv-mocks img{width:100%;border-radius:14px;border:1px solid var(--line)}
  .dv-load{text-align:center;color:var(--muted);padding:60px 0;font-size:14px}
  .dv-load .spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--accent);border-top-color:transparent;animation:spin .8s linear infinite;margin:0 auto 16px}

  /* ── My Ideas drawer ────────────────────────────── */
  #ideasbtn,#savemeshbtn{font-size:13px;color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer;backdrop-filter:blur(12px);transition:.2s}
  #ideasbtn:hover,#savemeshbtn:hover{border-color:var(--accent)}
  #ideasbtn b{color:var(--accent)}
  .dtabs{display:flex;gap:6px;margin-bottom:16px}
  .dtab{flex:1;text-align:center;font-size:13px;font-weight:600;padding:9px;border-radius:10px;cursor:pointer;color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--line)}
  .dtab.on{background:var(--accent);color:#fff;border-color:var(--accent)}
  .mhead{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:16px 0 10px}
  #ideas{position:fixed;top:0;right:0;width:380px;max-width:92vw;height:100%;z-index:13;background:rgba(15,14,24,0.92);backdrop-filter:blur(24px);border-left:1px solid var(--line);padding:26px;overflow:auto;transform:translateX(102%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
  #ideas.open{transform:translateX(0)}
  #ideas h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;margin:0 0 4px}
  #ideas .sub2{color:var(--muted);font-size:12.5px;margin-bottom:18px}
  .icard{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px;transition:.15s}
  .icard:hover{border-color:rgba(139,123,255,.4)}
  .icard .top2{display:flex;align-items:flex-start;gap:8px}
  .icard .nm2{flex:1;font-weight:600;font-size:14px;line-height:1.35;cursor:pointer}
  .icard .nm2:hover{color:#000}
  .icard .luc{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(139,123,255,.15);color:#000}
  .icard .meta2{font-size:11.5px;color:var(--muted);margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
  .icard .rm{cursor:pointer;color:var(--muted);font-size:12px} .icard .rm:hover{color:var(--pain)}
  .icard label{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);cursor:pointer}
  .icard input[type=checkbox]{accent-color:var(--accent)}
  #cmpbar{position:sticky;bottom:0;background:rgba(15,14,24,0.95);padding:12px 0 2px;margin-top:8px}
  .iempty{color:var(--muted);font-size:13px;text-align:center;padding:40px 10px;line-height:1.7;border:1px dashed var(--line);border-radius:14px}

  /* ── Compare overlay ────────────────────────────── */
  #compare{position:absolute;inset:0;z-index:19;background:rgba(5,5,11,0.78);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:26px}
  #compare.open{display:flex}
  .cmp-doc{position:relative;width:min(1040px,96vw);max-height:92vh;overflow:auto;background:rgba(15,14,24,0.97);border:1px solid var(--line);border-radius:24px;padding:38px 42px}
  .cmp-doc .x{position:absolute;top:16px;right:20px;cursor:pointer;color:var(--muted);font-size:18px}
  .cmp-doc .x:hover{color:var(--ink)}
  .cmp-grid{display:grid;gap:16px;margin-top:22px}
  .cmp-col{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:20px}
  .cmp-col.winner{border-color:rgba(67,217,163,.5);box-shadow:0 0 0 1px rgba(67,217,163,.3)}
  .cmp-col h4{font-family:'Instrument Serif',serif;font-weight:400;font-size:19px;margin:0 0 4px;line-height:1.25}
  .cmp-col .cplat{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:#000;margin-bottom:12px}
  .cmp-luc{font-size:30px;font-weight:700;color:#000;margin:8px 0 2px}
  .cmp-luc span{font-size:12px;color:var(--muted);font-weight:500}
  .fbar{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:11.5px;color:var(--muted)}
  .fbar .fl2{flex:1;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
  .fbar .fv{height:100%;background:linear-gradient(90deg,#5b4cc4,#4da2ff);border-radius:3px}
  .fbar .fn{width:46px;text-align:right}
  .cmp-take{margin-top:12px;font-size:12.5px;line-height:1.55;color:#000;border-top:1px solid var(--line);padding-top:10px}
  .cmp-verdict{margin-top:20px;background:rgba(67,217,163,.07);border:1px solid rgba(67,217,163,.3);border-radius:14px;padding:18px;font-size:14px;line-height:1.6}
  .cmp-verdict .wlabel{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent2);font-weight:700;margin-bottom:8px}

  /* ── App intelligence card (AppKittie) ──────────── */
  .appcard{margin:14px 0 4px}
  .ac-top{display:flex;gap:12px;align-items:center;margin-bottom:14px}
  .ac-top img{width:52px;height:52px;border-radius:13px;border:1px solid var(--line)}
  .ac-top .acn{font-weight:600;font-size:15px;line-height:1.2} .ac-top .acd{font-size:12px;color:var(--muted);margin-top:2px}
  .ac-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .ac-stat{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:11px;padding:11px 13px}
  .ac-stat .v{font-size:18px;font-weight:700;color:#000} .ac-stat.rev .v{color:#000} .ac-stat .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:2px}
  .ac-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
  .ac-tag{font-size:11px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#000}
  .ac-tag.ads{background:rgba(255,176,32,.12);border-color:#000;color:#000}
  .ac-adsbtn{width:100%;margin-top:10px;font:inherit;font-size:13px;font-weight:600;padding:11px;border-radius:11px;cursor:pointer;background:rgba(139,123,255,.12);border:1px solid rgba(139,123,255,.35);color:#000}
  .ac-adsbtn:hover{background:rgba(139,123,255,.2)}
  .ac-ads{margin-top:12px;display:flex;flex-direction:column;gap:10px}
  .ad{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02)}
  .ad img{width:100%;max-height:180px;object-fit:cover;display:block;background:#0c0c14}
  .ad .adb{padding:11px 13px}
  .ad .adnet{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#000;font-weight:700}
  .ad .adt{font-size:13px;font-weight:600;margin:4px 0;color:#000}
  .ad .adbody{font-size:12px;color:#000;line-height:1.45}
  .ad .admeta{font-size:11px;color:var(--muted);margin-top:7px;display:flex;gap:10px;flex-wrap:wrap}
  .ad .adcta{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;background:var(--accent);color:#fff;padding:4px 12px;border-radius:999px}

  /* ── The Verdict ────────────────────────────────── */
  #verdict{position:absolute;inset:0;z-index:20;background:rgba(5,5,11,0.8);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:26px}
  #verdict.open{display:flex}
  .vd-doc{position:relative;width:min(880px,96vw);max-height:92vh;overflow:auto;background:rgba(15,14,24,0.97);border:1px solid var(--line);border-radius:24px;padding:42px 48px}
  .vd-doc .x{position:absolute;top:16px;right:20px;cursor:pointer;color:var(--muted);font-size:18px}
  .vd-doc .x:hover{color:var(--ink)}
  .vd-delib{text-align:center;padding:50px 20px}
  .vd-delib .scales{font-size:46px;animation:tilt 1.6s ease-in-out infinite}
  @keyframes tilt{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
  .vd-delib h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:26px;margin:18px 0 8px}
  .vd-delib .weighing{color:var(--muted);font-size:13.5px;line-height:1.9}
  .vd-banner{display:flex;align-items:center;gap:22px;padding:24px 26px;border-radius:18px;margin-bottom:8px}
  .vd-banner.BUILD{background:rgba(67,217,163,.1);border:1px solid rgba(67,217,163,.45)}
  .vd-banner.BUILD_IF{background:rgba(255,176,32,.09);border:1px solid rgba(255,176,32,.45)}
  .vd-banner.DONT_BUILD{background:rgba(255,90,122,.09);border:1px solid rgba(255,90,122,.45)}
  .vd-word{font-family:'Instrument Serif',serif;font-size:38px;line-height:1.05}
  .vd-banner.BUILD .vd-word{color:#000} .vd-banner.BUILD_IF .vd-word{color:#000} .vd-banner.DONT_BUILD .vd-word{color:#000}
  .vd-gauge{position:relative;width:108px;height:108px;flex-shrink:0}
  .vd-gauge svg{transform:rotate(-90deg)}
  .vd-gauge .num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:26px}
  .vd-gauge .num span{font-size:9.5px;color:var(--muted);font-weight:600;letter-spacing:1px}
  .vd-one{font-size:16.5px;line-height:1.6;color:#000;font-style:italic;margin:18px 4px 26px;font-family:'Instrument Serif',serif}
  .vd-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:700px){.vd-cols{grid-template-columns:1fr}}
  .vd-col{border:1px solid var(--line);border-radius:16px;padding:18px 20px}
  .vd-col h5{margin:0 0 12px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700}
  .vd-col.for h5{color:var(--accent2)} .vd-col.against h5{color:var(--pain)}
  .vd-pt{margin-bottom:13px;font-size:13.5px;line-height:1.5}
  .vd-pt b{color:#000;font-weight:600;display:block}
  .vd-pt span{color:var(--muted);font-size:12.5px}
  .vd-blk{display:flex;gap:13px;align-items:flex-start;padding:13px 16px;border:1px solid rgba(255,255,255,.06);border-radius:13px;margin-bottom:9px;font-size:13.5px}
  .vd-solv{flex-shrink:0;font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.5px;margin-top:1px}
  .vd-solv.yes{background:rgba(67,217,163,.14);color:#000} .vd-solv.partially{background:rgba(255,176,32,.14);color:#000} .vd-solv.no{background:rgba(255,90,122,.14);color:#000}
  .vd-blk b{color:#000;font-weight:600} .vd-blk .how{color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.5}
  .vd-cond{background:rgba(255,176,32,.07);border:1px solid rgba(255,176,32,.3);border-radius:13px;padding:14px 18px;margin-bottom:8px;font-size:13.5px;line-height:1.55}
  .vd-first{background:rgba(139,123,255,.08);border:1px solid rgba(139,123,255,.3);border-radius:13px;padding:16px 18px;font-size:14px;line-height:1.6}
  .vd-first .fl3{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:6px}

  /* ── Ask the Mesh chat ──────────────────────────── */
  #askfab{position:fixed;bottom:20px;left:20px;z-index:60;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:13px 22px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 10px 36px -8px rgba(139,123,255,.6);transition:.2s;display:none}
  #askfab:hover{transform:translateY(-2px)}
  #regenbtn{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);z-index:15;background:var(--glass);color:var(--ink);border:1px solid rgba(139,123,255,.5);border-radius:999px;padding:12px 24px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;backdrop-filter:blur(12px);transition:.2s;display:none;align-items:center;gap:8px}
  #regenbtn:hover{border-color:var(--accent);transform:translateX(-50%) translateY(-2px)}
  #regenbtn:disabled{opacity:.5;cursor:default}
  #ask{position:fixed;bottom:82px;left:20px;z-index:61;width:400px;max-width:94vw;height:520px;max-height:72vh;background:rgba(15,14,24,0.95);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:20px;display:none;flex-direction:column;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
  #ask.open{display:flex}
  .ask-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}
  .ask-head b{font-family:'Instrument Serif',serif;font-weight:400;font-size:17px}
  .ask-head .ctxchip{font-size:10.5px;color:var(--muted);background:rgba(255,255,255,.05);border-radius:999px;padding:3px 10px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ask-head .x2{margin-left:auto;cursor:pointer;color:var(--muted)} .ask-head .x2:hover{color:var(--ink)}
  #askmsgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
  .msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}
  .msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
  .msg.mesh{align-self:flex-start;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#000;border-bottom-left-radius:4px}
  .msg.think{align-self:flex-start;color:var(--muted);font-size:12px;background:none;border:none;padding:4px 6px}
  .ask-sugg{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 8px}
  .ask-sugg span{font-size:11px;color:#000;background:rgba(139,123,255,.1);border:1px solid rgba(139,123,255,.25);border-radius:999px;padding:5px 11px;cursor:pointer}
  .ask-sugg span:hover{background:rgba(139,123,255,.2)}
  .ask-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
  .ask-in input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;color:var(--ink);font:inherit;font-size:13.5px;padding:11px 14px}
  .ask-in input:focus{outline:none;border-color:var(--accent)}
  .ask-in button{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:0 18px;font:inherit;font-weight:600;cursor:pointer}

  /* the one-time offer to bring ideas saved in this browser into the account (mesh.js ideasOffer) */
  #ideaimport{position:fixed;top:72px;right:20px;z-index:70;width:min(360px,calc(100vw - 32px));box-sizing:border-box;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s}
  #ideaimport.show{opacity:1;transform:none}
  #ideaimport .ii-t{font-weight:700;font-size:16px;line-height:1.25;letter-spacing:-.01em}
  #ideaimport .ii-d{font-size:13.5px;line-height:1.4;margin-top:6px;color:var(--muted)}
  #ideaimport .ii-acts{display:flex;gap:8px;margin-top:14px}
  #ideaimport .btn{padding:10px 18px;font-size:12.5px}
  #ideaimport .btn:disabled{opacity:.6;cursor:default;transform:none}
  #ideaimport .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  @media (max-width:520px){ #ideaimport{left:16px;right:16px;width:auto;top:64px} }
  @media (prefers-reduced-motion:reduce){ #ideaimport{transition:none;transform:none} }
