  :root{
    --brand:#5b6ff5; --brand-deep:#485cf0; --magenta:#b46bf0; --amber:#f0a868;
    --green:#3ec98a; --red:#f06b8a;
    --ink:#eef0fb; --ink-2:#a7adc9; --ink-3:#6a7095;
    --surf:rgba(18,20,34,.66); --line:rgba(140,150,255,.16);
    --rudy:url('data:image/jpeg;base64,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');
    --sidebar-w:60px;
    --sidebar-w-expanded:240px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{font-family:'Inter',-apple-system,sans-serif;background:#05060c;color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden;letter-spacing:-.01em}

  /* ========== ATMOSPHERIC BACKDROP (orb moved to corner; aurora edges) ========== */
  .stage{position:fixed;inset:0;overflow:hidden;z-index:0}
  #orb{position:absolute;width:50vw;height:50vw;max-width:600px;max-height:600px;display:block;z-index:1;top:-15vw;right:-12vw;opacity:.55}
  /* Edge-bound aurora — bleeds from the sides, leaves the center readable */
  .aurora{position:absolute;inset:0;pointer-events:none;z-index:2}
  .aurora::before{content:'';position:absolute;left:-15%;top:30%;width:60%;height:80%;background:radial-gradient(ellipse at center,rgba(91,111,245,.22),transparent 65%);filter:blur(40px);animation:auroraDrift 22s ease-in-out infinite alternate}
  .aurora::after{content:'';position:absolute;right:-10%;bottom:-10%;width:55%;height:75%;background:radial-gradient(ellipse at center,rgba(180,107,240,.18),transparent 65%);filter:blur(50px);animation:auroraDrift2 28s ease-in-out infinite alternate}
  @keyframes auroraDrift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(8%,-5%) scale(1.1)}}
  @keyframes auroraDrift2{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-6%,4%) scale(1.08)}}
  /* Central vignette so the chat reads cleanly */
  .vign{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 50% at 50% 50%,rgba(5,6,12,.55) 0%,transparent 70%);z-index:3}

  /* ========== LANDING — WEBSITE HERO ========== */
  .landing{position:fixed;top:0;left:0;right:0;height:var(--app-h,100%);z-index:10;display:flex;flex-direction:column;transition:opacity .6s ease,transform .6s ease}
  .landing.gone{opacity:0;transform:translateY(-20px);pointer-events:none}

  /* top nav (marketing site feel) */
  .ln-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 36px;flex-shrink:0}
  .ln-brand{display:flex;align-items:center;gap:11px}
  .ln-brand .lg{width:32px;height:32px;border-radius:9px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));box-shadow:0 0 18px rgba(91,111,245,.4);display:grid;place-items:center}
  .ln-brand .lg::after{content:'';width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:inset -3px -3px 0 rgba(91,111,245,.35)}
  .ln-brand .wm{font-family:'Inter Tight';font-weight:700;font-size:17px;letter-spacing:-.02em}
  .ln-links{display:flex;align-items:center;gap:28px;font-size:13.5px;color:var(--ink-2)}
  .ln-links a{color:var(--ink-2);text-decoration:none;transition:.15s;cursor:pointer}
  .ln-links a:hover{color:var(--ink)}
  .ln-cta-row{display:flex;align-items:center;gap:14px}
  .ln-signin{font-size:13.5px;color:var(--ink-2);cursor:pointer;transition:.15s}
  .ln-signin:hover{color:var(--ink)}
  .ln-try{padding:9px 18px;border-radius:11px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));color:#fff;font-family:inherit;font-size:13.5px;font-weight:500;border:none;cursor:pointer;box-shadow:0 8px 22px -6px rgba(91,111,245,.6);transition:.15s;display:inline-flex;align-items:center;gap:6px}
  .ln-try:hover{filter:brightness(1.12);transform:translateY(-1px)}
  .ln-try:active{transform:scale(.97)}
  .ln-try svg{width:14px;height:14px}

  /* hero center */
  .ln-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 28px;text-align:center}
  .ln-hero-inner{max-width:720px;display:flex;flex-direction:column;align-items:center;gap:22px}
  .ln-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:14px;background:rgba(140,150,255,.08);border:1px solid rgba(140,150,255,.18);font-size:12px;color:var(--ink-2);backdrop-filter:blur(10px)}
  .ln-pill .p-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
  .ln-title{font-family:'Inter Tight';font-weight:700;font-size:64px;letter-spacing:-.035em;line-height:1.02}
  .ln-title .g{background:linear-gradient(110deg,var(--brand),var(--magenta) 55%,var(--amber));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .ln-sub{font-size:17px;color:var(--ink-2);max-width:540px;line-height:1.55}
  .ln-hero-cta{display:flex;align-items:center;gap:14px;margin-top:6px}
  .ln-try-big{padding:14px 28px;border-radius:13px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));color:#fff;font-family:inherit;font-size:15px;font-weight:500;border:none;cursor:pointer;box-shadow:0 14px 36px -8px rgba(91,111,245,.65);transition:.15s;display:inline-flex;align-items:center;gap:8px}
  .ln-try-big:hover{filter:brightness(1.12);transform:translateY(-1px)}
  .ln-try-big:active{transform:scale(.97)}
  .ln-try-big svg{width:16px;height:16px}
  .ln-ghost-btn{padding:14px 22px;border-radius:13px;background:rgba(255,255,255,.04);color:var(--ink);font-family:inherit;font-size:14px;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:.15s}
  .ln-ghost-btn:hover{border-color:rgba(140,150,255,.3)}
  .ln-note{font-size:12.5px;color:var(--ink-3);font-style:italic;margin-top:2px}

  /* social proof strip */
  .ln-logos{margin-top:60px;display:flex;flex-direction:column;align-items:center;gap:14px}
  .ln-logos-l{font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-weight:500}
  .ln-logos-row{display:flex;align-items:center;gap:36px;opacity:.55}
  .ln-logos-row span{font-family:'Inter Tight';font-weight:600;font-size:15px;color:var(--ink-2);letter-spacing:-.01em}

  /* ========== APP SHELL (post-login) ========== */
  /* Height is driven by --app-h (set from visualViewport in JS) so the on-screen keyboard
     shrinks the shell instead of hiding the composer behind it. Falls back to full height. */
  .app-shell{position:fixed;top:0;left:0;right:0;height:var(--app-h,100%);z-index:5;display:flex;opacity:0;transition:opacity .5s ease .3s;pointer-events:none}
  .app-shell.live{opacity:1;pointer-events:auto}

  /* ===== SIDEBAR ===== */
  .sidebar{width:var(--sidebar-w);background:rgba(8,10,18,.72);backdrop-filter:blur(28px);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative;z-index:6}
  .sidebar:hover{width:var(--sidebar-w-expanded)}
  .sb-brand{display:flex;align-items:center;justify-content:center;gap:11px;padding:18px 16px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.04);overflow:hidden}
  .sidebar:hover .sb-brand{justify-content:flex-start}
  .sb-brand .sb-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));box-shadow:0 0 14px rgba(91,111,245,.4);display:grid;place-items:center;flex-shrink:0}
  .sb-brand .sb-logo::after{content:'';width:12px;height:12px;border-radius:50%;background:#fff}
  .sb-brand .sb-wm{font-family:'Inter Tight';font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;opacity:0;transition:opacity .2s .05s;max-width:0;overflow:hidden}
  .sidebar:hover .sb-wm{opacity:1;max-width:200px}
  .sb-new{margin:12px 12px;padding:0;height:36px;border-radius:9px;background:rgba(91,111,245,.1);border:1px solid rgba(91,111,245,.22);color:var(--brand);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:.15s;overflow:hidden}
  .sb-new:hover{background:rgba(91,111,245,.18);border-color:rgba(91,111,245,.32)}
  .sb-new svg{width:14px;height:14px;flex-shrink:0}
  .sb-new .lbl{white-space:nowrap;opacity:0;transition:opacity .2s .05s;max-width:0;overflow:hidden}
  .sidebar:hover .sb-new{justify-content:flex-start;padding:0 14px}
  .sidebar:hover .sb-new .lbl{opacity:1;max-width:200px}

  .sb-section{padding:14px 12px 4px;flex-shrink:0}
  .sb-section-l{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:0 8px 6px;opacity:0;transition:opacity .2s .05s;white-space:nowrap}
  .sidebar:hover .sb-section-l{opacity:1}

  .sb-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}
  .sb-item{display:flex;align-items:center;justify-content:center;padding:0;height:36px;border-radius:9px;font-size:13px;color:var(--ink-2);cursor:pointer;transition:background .13s,color .13s;text-decoration:none;white-space:nowrap;position:relative;overflow:hidden}
  .sidebar:hover .sb-item{justify-content:flex-start;padding:0 10px;gap:12px}
  .sb-item:hover{background:rgba(255,255,255,.04);color:var(--ink)}
  .sb-item.active{background:rgba(91,111,245,.1);color:#fff}
  .sb-item svg{width:18px;height:18px;flex-shrink:0;color:var(--ink-3);transition:color .13s}
  .sb-item.active svg{color:var(--brand)}
  .sb-item:hover svg{color:var(--ink-2)}
  .sb-item.active:hover svg{color:var(--brand)}
  .sb-item .sb-l{opacity:0;transition:opacity .2s .05s;flex:1;overflow:hidden;text-overflow:ellipsis;max-width:0}
  .sidebar:hover .sb-l{opacity:1;max-width:200px}
  .sb-badge{background:rgba(240,168,104,.18);color:var(--amber);font-size:10px;font-weight:600;padding:1px 6px;border-radius:7px;opacity:0;transition:opacity .2s .05s}
  .sidebar:hover .sb-badge{opacity:1}

  .sb-threads{flex:1;overflow-y:auto;padding:4px 12px 14px}
  .sb-threads::-webkit-scrollbar{width:0}
  .sb-thread{display:block;padding:8px 10px;border-radius:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer;transition:.13s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s .05s,background .13s;line-height:1.4}
  .sidebar:hover .sb-thread{opacity:1}
  .sb-thread:hover{background:rgba(255,255,255,.04);color:var(--ink)}
  .sb-thread.current{color:var(--ink)}
  .sb-thread small{display:block;color:var(--ink-3);font-size:11px;margin-top:1px}

  .sb-foot{padding:12px;border-top:1px solid rgba(255,255,255,.04);flex-shrink:0}
  .sb-user{display:flex;align-items:center;gap:11px;padding:6px 8px;border-radius:9px;cursor:pointer;transition:.13s}
  .sb-user:hover{background:rgba(255,255,255,.04)}
  .sb-user .sb-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3e4877,#262b44);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:600;font-family:'Inter Tight';flex-shrink:0}
  .sb-user .sb-uw{flex:1;min-width:0;opacity:0;transition:opacity .2s .05s}
  .sidebar:hover .sb-user .sb-uw{opacity:1}
  .sb-user .sb-un{font-size:12.5px;font-weight:500;color:var(--ink);line-height:1.2}
  .sb-user .sb-uc{font-size:11px;color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* ===== MAIN CHAT PANE ===== */
  .main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}

  /* top bar — slimmer in app view */
  /* position+z-index so the "Past chats" dropdown paints ABOVE the feed (z-index:1)
     and its items are actually clickable — without this the feed covers the overlap. */
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(5,6,12,.45);backdrop-filter:blur(20px);flex-shrink:0;position:relative;z-index:20}
  .tb-title{display:flex;align-items:center;gap:11px}
  .tb-rudy{width:28px;height:28px;border-radius:50%;background:var(--rudy) center/cover;box-shadow:0 0 12px rgba(91,111,245,.5);border:1px solid rgba(140,150,255,.3)}
  .tb-t-text{display:flex;flex-direction:column;line-height:1.2}
  .tb-t-text .tb-nm{font-family:'Inter Tight';font-weight:600;font-size:14px}
  .tb-alpha{display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;
    padding:1px 6px;border-radius:6px;font-family:'Inter Tight';font-weight:600;font-size:9px;
    letter-spacing:.06em;text-transform:uppercase;color:#cdd3ff;
    background:rgba(91,111,245,.16);border:1px solid rgba(91,111,245,.4)}
  .tb-t-text .tb-sub{font-size:11px;color:var(--ink-3);margin-top:1px}
  .topbar-right{display:flex;align-items:center;gap:10px}
  .tb-brand{display:inline-flex;align-items:center;gap:6px;margin-right:4px;opacity:.62;text-decoration:none;transition:opacity .13s}
  .tb-brand:hover{opacity:1}
  .tb-brand img{height:18px;width:auto;display:block}
  .tb-brand-wm{font-family:'Inter Tight';font-weight:600;font-size:13px;color:var(--ink-2)}
  .newchat-btn{font-family:inherit;font-size:12px;color:var(--ink-2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:6px 13px;cursor:pointer;transition:.13s}
  .newchat-btn:hover{color:var(--ink);background:rgba(255,255,255,.08);border-color:rgba(140,150,255,.4)}
  .newchat-btn:disabled{opacity:.5;cursor:wait}
  /* Header icon buttons (heart / mail / kebab) — kept minimal like the top AI apps. */
  .tb-icon{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:inline-grid;place-items:center;color:var(--ink-2);cursor:pointer;transition:.13s;padding:0;text-decoration:none}
  .tb-icon:hover{color:var(--ink);background:rgba(255,255,255,.08);border-color:rgba(140,150,255,.4)}
  .tb-icon svg{width:17px;height:17px}
  /* "Love Rudy?" reads instantly as a filled red heart. */
  #likeBtn{color:var(--red)}
  #likeBtn:hover{color:#ff5d7e;border-color:rgba(240,107,138,.5)}
  .kebab-host{position:relative}
  .mobile-only{display:none}
  .pastchats-host{position:relative}
  .pastchats-menu{position:absolute;top:40px;right:0;z-index:50;width:300px;max-height:380px;overflow-y:auto;background:#14162a;border:1px solid rgba(140,150,255,.35);border-radius:14px;padding:6px;box-shadow:0 24px 70px -16px rgba(0,0,0,.85);display:none}
  .pastchats-menu.show{display:block}
  .pc-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:9px;padding:9px 11px;cursor:pointer;transition:.12s}
  .pc-item:hover{background:rgba(91,111,245,.12)}
  .pc-title{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pc-meta{font-size:11px;color:var(--ink-3);margin-top:2px}
  .pc-empty{font-size:12.5px;color:var(--ink-3);padding:12px}
  .fb-host{position:relative}
  /* Fixed, body-level popover (NOT nested in the composer). Opaque background +
     root-level z-index so it always paints above the feed and never merges with
     the chat behind it. bottom/right are set in JS from the trigger's position. */
  .fb-panel{position:fixed;z-index:200;width:300px;max-width:calc(100vw - 24px);background:#14162a;border:1px solid rgba(140,150,255,.4);border-radius:14px;padding:14px;box-shadow:0 24px 70px -16px rgba(0,0,0,.85);transition:opacity .35s}
  .fb-q{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}
  .fb-opts{display:flex;flex-direction:column;gap:6px}
  .fb-opt{text-align:left;font-family:inherit;font-size:12.5px;color:var(--ink-2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:9px 11px;cursor:pointer;transition:.12s}
  .fb-opt:hover{color:var(--ink);background:rgba(91,111,245,.12);border-color:rgba(140,150,255,.4)}
  .fb-in{width:100%;font-family:inherit;font-size:13px;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:9px 11px;margin-bottom:8px;outline:none;box-sizing:border-box}
  .fb-ta{resize:vertical;min-height:64px;line-height:1.4}
  .fb-row{display:flex;gap:6px}
  .fb-save{flex:1;font-family:inherit;font-size:12.5px;font-weight:600;color:#fff;background:linear-gradient(150deg,var(--brand),var(--brand-deep));border:none;border-radius:9px;padding:9px;cursor:pointer}
  .fb-save:hover{filter:brightness(1.1)}
  a.fb-save{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
  .fb-dismiss{background:rgba(255,255,255,.06);color:var(--ink-2)}
  .fb-ack{font-size:12.5px;color:var(--green);font-weight:500;line-height:1.4}
  .fb-restate{font-size:13px;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:9px 11px;line-height:1.45;margin-bottom:9px}
  .fb-confirm-q{font-size:12.5px;color:var(--ink-2);margin-bottom:9px;line-height:1.4}
  .fb-panel-lg{width:330px}
  .fb-panel-lg .fb-body{max-height:calc(100vh - 130px);overflow-y:auto}
  .fb-section-t{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:7px;letter-spacing:-.01em}
  .fb-div{height:1px;background:rgba(255,255,255,.09);margin:14px 0}
  .fb-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);margin-bottom:10px;cursor:pointer;line-height:1.35}
  .fb-check input{width:14px;height:14px;accent-color:var(--brand);flex:none}
  .like-btn{border-color:rgba(240,200,90,.32)}
  .like-btn:hover{background:rgba(240,200,90,.1)}
  .status-pill{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-2);background:rgba(255,255,255,.04);padding:6px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.05)}
  .status-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:beat 2.4s infinite}
  @keyframes beat{0%,100%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}

  /* feed */
  .feed{flex:1;overflow-y:auto;padding:28px 0 20px;position:relative;z-index:1}
  .feed-inner{width:min(720px,92%);margin:0 auto;display:flex;flex-direction:column;gap:18px;padding-bottom:20px}
  .feed::-webkit-scrollbar{width:8px}
  .feed::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:8px}

  /* messages */
  .msg{display:flex;gap:12px;animation:rise .4s ease both}
  @keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
  .msg .who{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;font-size:11px;font-weight:600;font-family:'Inter Tight';margin-top:2px}
  .msg.rudy .who{background:var(--rudy) center/cover;color:transparent;box-shadow:0 0 14px rgba(91,111,245,.5);border:1px solid rgba(140,150,255,.3)}
  .msg.me{flex-direction:row-reverse}
  .msg.me .who{background:#262b44;color:var(--brand)}
  .msg-body{display:flex;flex-direction:column;gap:10px;max-width:calc(100% - 42px);min-width:0}
  .msg.me .msg-body{align-items:flex-end}
  .bubble{background:var(--surf);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:14px;line-height:1.6;max-width:fit-content;word-wrap:break-word}
  .msg.me .bubble{white-space:pre-wrap}  /* preserve the user's own line breaks (Option+Return) */
  .bubble b{color:#fff;font-weight:600}
  .msg.me .bubble{background:rgba(91,111,245,.16);border:1px solid rgba(91,111,245,.22);color:var(--ink)}

  /* collapsible Sources card — subtle footnote under a message */
  .sources-card{margin-top:8px;font-size:12px;max-width:560px}
  .sources-card summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:5px 11px;user-select:none;transition:.12s}
  .sources-card summary::-webkit-details-marker{display:none}
  .sources-card summary:hover{color:var(--ink-2);border-color:rgba(140,150,255,.3)}
  .sources-card summary svg{width:13px;height:13px;opacity:.7}
  .sources-card[open] summary{color:var(--ink-2);margin-bottom:8px}
  .sources-list{display:flex;flex-direction:column;gap:5px;padding-left:6px;animation:rise .2s ease both}
  .sources-list a{color:var(--brand);text-decoration:none;font-size:12.5px;line-height:1.4}
  .sources-list a:hover{text-decoration:underline}

  /* inline cards */
  .card-inline{background:rgba(18,20,34,.78);backdrop-filter:blur(24px);border:1px solid rgba(140,150,255,.16);border-radius:14px;padding:0;overflow:hidden;max-width:560px;min-width:280px;width:100%;box-shadow:0 20px 50px -20px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.2)}
  .card-inline.glow{border-color:rgba(91,111,245,.28);box-shadow:0 20px 50px -20px rgba(91,111,245,.32),0 0 0 1px rgba(0,0,0,.2)}
  .card-hd{padding:13px 16px 11px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
  .card-hd .ic{width:18px;height:18px;color:var(--brand);flex-shrink:0}
  .card-bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}
  .card-ft{padding:0 16px 14px;display:flex;gap:8px;flex-wrap:wrap}
  .card-ft.with-divider{padding-top:12px;border-top:1px solid rgba(255,255,255,.04);margin:0 16px;padding-left:0;padding-right:0}

  /* company row */
  .co-row{display:flex;align-items:center;gap:12px}
  .co-row .av{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#1e3a5f,#0f1f33);display:grid;place-items:center;font-family:'Inter Tight';font-weight:600;font-size:16px;color:#fff;flex-shrink:0}
  .co-row .nm{font-family:'Inter Tight';font-weight:600;font-size:15.5px}
  .co-row .mt{font-size:12px;color:var(--ink-3);margin-top:2px}

  /* ICP fields */
  .icp-field{display:flex;flex-direction:column;gap:5px}
  .icp-label{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
  .icp-value{font-size:13px;color:#fff;line-height:1.5;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:9px;padding:9px 12px;cursor:text;transition:.12s}
  .icp-value:hover{background:rgba(255,255,255,.045);border-color:rgba(140,150,255,.2)}
  .icp-value:focus{outline:none;background:rgba(91,111,245,.08);border-color:rgba(91,111,245,.35)}

  /* account upload card */
  .upload-opt{display:flex;align-items:center;gap:11px;padding:12px 13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:11px;cursor:pointer;transition:.15s}
  .upload-opt:hover{background:rgba(91,111,245,.07);border-color:rgba(140,150,255,.28)}
  .upload-opt .uo-ic{width:28px;height:28px;border-radius:8px;background:rgba(91,111,245,.16);display:grid;place-items:center;color:var(--brand);flex-shrink:0}
  .upload-opt .uo-body{flex:1;min-width:0}
  .upload-opt .uo-body b{font-size:13px;font-weight:600;color:#fff;display:block;line-height:1.3}
  .upload-opt .uo-body small{font-size:11.5px;color:var(--ink-3);display:block;margin-top:3px;line-height:1.45}
  .upload-paste{width:100%;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:11px 13px;color:var(--ink);font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;min-height:80px;display:none}
  .upload-paste:focus{outline:none;border-color:rgba(91,111,245,.35);background:rgba(91,111,245,.06)}
  .upload-paste.open{display:block}

  /* goal card */
  .goal-opt{display:flex;align-items:flex-start;gap:11px;padding:13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:11px;cursor:pointer;transition:.15s}
  .goal-opt:hover{background:rgba(91,111,245,.07);border-color:rgba(140,150,255,.28);transform:translateY(-1px)}
  .goal-opt .go-ic{width:30px;height:30px;border-radius:9px;background:rgba(91,111,245,.16);display:grid;place-items:center;color:var(--brand);flex-shrink:0}
  .goal-opt .go-body b{font-size:13.5px;font-weight:600;color:#fff;display:block;line-height:1.3}
  .goal-opt .go-body small{font-size:12px;color:var(--ink-3);display:block;margin-top:4px;line-height:1.5}

  /* strategy card — Rudy explains his approach */
  .strat{background:linear-gradient(135deg,rgba(91,111,245,.08),rgba(180,107,240,.05));border:1px solid rgba(91,111,245,.22);border-radius:12px;padding:14px 16px}
  .strat-l{font-size:10.5px;color:var(--brand);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
  .strat-t{font-size:13.5px;line-height:1.6;color:var(--ink)}
  .strat-t b{color:#fff;font-weight:600}

  /* path row */
  .path-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:11px;transition:.15s}
  .path-row .dot{width:32px;height:32px;border-radius:9px;background:rgba(91,111,245,.16);display:grid;place-items:center;flex-shrink:0;color:var(--brand);font-weight:600;font-size:11px;font-family:'Inter Tight'}
  .path-row .pi{flex:1;min-width:0}
  .path-row .pi b{font-size:13px;display:block;color:#fff;font-weight:600;line-height:1.3}
  .path-row .pi small{font-size:11.5px;color:var(--ink-3);display:block;margin-top:3px;line-height:1.4}
  .path-row .pi .bd{margin-top:5px;display:flex;gap:5px;flex-wrap:wrap;align-items:center}
  .path-row .score{text-align:right;flex-shrink:0}
  .path-row .score .n{font-family:'Inter Tight';font-weight:600;font-size:17px;color:var(--green);line-height:1}
  .path-row .score small{font-size:9.5px;color:var(--ink-3);display:block;margin-top:2px;text-transform:uppercase;letter-spacing:.03em}
  .path-row .tier{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;letter-spacing:.01em;padding:5px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
  .path-row .tier .tier-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
  .tier-direct{color:#34d399;background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.28)!important}
  .tier-plausible{color:#fbbf24;background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.28)!important}
  .tier-cold{color:#93a4c4;background:rgba(147,164,196,.1);border-color:rgba(147,164,196,.22)!important}
  .pd-reason{color:var(--ink);margin-bottom:8px;font-style:italic;opacity:.9}
  .cold-banner{margin:2px 0 4px;padding:9px 12px;background:rgba(147,164,196,.07);border:1px solid rgba(147,164,196,.18);border-radius:10px;font-size:12px;line-height:1.5;color:var(--ink-2)}
  .cold-banner b{color:var(--ink)}
  .nonobv{margin-left:7px;font-size:9.5px;font-weight:600;color:#c4b5fd;background:rgba(167,139,250,.14);border:1px solid rgba(167,139,250,.3);border-radius:999px;padding:2px 7px;vertical-align:middle;letter-spacing:.02em}
  /* Conviction-grouped CHAT render of paths — replaces the busy card; same grounded data. */
  .paths-chat{background:var(--surf);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:14px;padding:13px 16px;max-width:fit-content}
  .pth-title{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600;margin-bottom:9px}
  .pth-title svg{width:14px;height:14px;color:var(--brand)}
  .pth-lead{font-size:13px;line-height:1.55;color:var(--ink-2);margin-bottom:11px}
  .pth-lead b{color:var(--ink)}
  .pth-group{margin-bottom:12px}
  .pth-group:last-child{margin-bottom:0}
  .pth-group-hd{font-size:11px;font-weight:700;letter-spacing:.01em;margin-bottom:7px;display:inline-flex;align-items:center;gap:6px}
  .pth-group-hd::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
  .pth-confirmed{color:#34d399}
  .pth-plausible{color:#fbbf24}
  .pth-cold{color:#93a4c4}
  .pth-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
  .pth-item{padding-left:12px;border-left:2px solid rgba(255,255,255,.08)}
  .pth-line{display:flex;align-items:baseline;gap:8px}
  .pth-line b{font-size:13.5px;color:#fff;font-weight:600;line-height:1.35;flex:1;min-width:0}
  .pth-sub{font-size:12px;color:var(--ink-2);line-height:1.5;margin-top:3px}
  .pth-x{flex-shrink:0;cursor:pointer;border:0;background:transparent;color:var(--ink-3);font-size:11px;font-family:inherit;padding:1px 3px;opacity:.65;transition:.12s;white-space:nowrap}
  .pth-x:hover{opacity:1;color:#f0a868}
  .pth-meta{margin-top:5px}
  .bubble hr,.pth-lead hr{border:0;border-top:1px solid var(--line);margin:11px 0}
  .insights-block{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
  .insights-hd{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600;margin-bottom:7px}
  .insight-row{display:flex;gap:9px;align-items:flex-start;padding:7px 0}
  .insight-ic{width:15px;height:15px;color:#fbbf24;flex-shrink:0;margin-top:1px}
  .insight-row b{font-size:12.5px;color:#fff;font-weight:600;display:block;line-height:1.3}
  .insight-row small{font-size:11.5px;color:var(--ink-2);display:block;margin-top:2px;line-height:1.45}
  .existing-line{border-color:rgba(52,211,153,.35)!important;background:linear-gradient(180deg,rgba(52,211,153,.07),rgba(52,211,153,.02))}
  .existing-line .el-top{display:flex;gap:11px;align-items:flex-start}
  .existing-line .el-body{flex:1;min-width:0}
  .existing-line .el-check{width:26px;height:26px;border-radius:50%;background:rgba(52,211,153,.18);color:#34d399;display:grid;place-items:center;font-weight:700;flex-shrink:0;font-size:14px}
  .existing-line .el-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#34d399;font-weight:600}
  .existing-line .el-rel{font-size:14.5px;color:#fff;font-weight:600;font-family:'Inter Tight';margin-top:1px;line-height:1.3}
  .existing-line .el-detail{font-size:12px;color:var(--ink-2);margin-top:9px;line-height:1.5}
  .existing-line .el-src{color:var(--brand);text-decoration:none;margin-left:4px}
  .existing-line .el-how{font-size:12.5px;color:var(--ink);margin-top:9px;line-height:1.5;background:rgba(255,255,255,.03);border-radius:9px;padding:9px 11px}
  .existing-line .el-how b{color:#34d399}
  .existing-line .el-acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
  .share-btn{color:#c4b5fd!important;border-color:rgba(167,139,250,.3)!important}
  .share-btn:hover{background:rgba(167,139,250,.1)!important}
  .ent-cta{margin-top:11px;padding:11px 13px;border-radius:11px;background:linear-gradient(180deg,rgba(91,111,245,.1),rgba(91,111,245,.03));border:1px solid rgba(91,111,245,.28)}
  .ent-cta-txt{font-size:12px;color:var(--ink-2);line-height:1.5}
  .ent-cta-txt b{color:#fff}
  .ent-cta-btn{margin-top:9px;color:#aeb8ff!important;border-color:rgba(91,111,245,.45)!important;background:rgba(91,111,245,.12)!important}
  .ent-cta-btn:hover{background:rgba(91,111,245,.22)!important}
  .paths-card-host.superseded{opacity:.5;filter:grayscale(.4)}
  .paths-card-host.superseded .path-acts{display:none}
  .superseded-tag{font-size:10.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;padding:4px 9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;display:inline-block}
  .path-why{margin-left:4px;font-size:11px;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;transition:.12s;border:1px solid transparent}
  .path-why:hover{color:var(--brand);background:rgba(91,111,245,.08);border-color:rgba(91,111,245,.18)}
  .path-why svg{width:11px;height:11px;transition:transform .2s}
  .path-why.open svg{transform:rotate(180deg)}
  .path-detail{margin-top:8px;padding:12px 14px;background:rgba(255,255,255,.018);border:1px solid rgba(255,255,255,.04);border-radius:10px;font-size:12px;line-height:1.55;color:var(--ink-2);display:none}
  .path-detail.open{display:block;animation:rise .3s ease both}
  .path-detail .pd-narrative{color:var(--ink);margin-bottom:10px}
  .path-detail .pd-narrative b{color:#fff;font-weight:600}
  .path-detail .pd-signals{display:flex;flex-direction:column;gap:5px}
  .path-detail .pd-signal{display:flex;gap:8px;align-items:flex-start}
  .path-detail .pd-signal-dot{width:4px;height:4px;border-radius:50%;background:var(--brand);margin-top:7px;flex-shrink:0}
  .path-detail .pd-source{color:var(--brand);font-size:11px;font-weight:500}
  .path-detail .pd-source::before{content:'·';margin:0 4px;color:var(--ink-3)}

  /* badges */
  .badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:9px;font-size:10px;font-weight:500}
  .badge.brand{background:rgba(91,111,245,.14);color:var(--brand)}
  .badge.green{background:rgba(62,201,138,.14);color:var(--green)}
  .badge.amber{background:rgba(240,168,104,.14);color:var(--amber)}
  .badge.namedrop{background:rgba(240,168,104,.14);color:var(--amber)}

  /* email draft */
  .email-d{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden}
  .email-h{padding:9px 13px;border-bottom:1px solid rgba(255,255,255,.05);font-size:11.5px;display:flex;gap:8px;color:var(--ink-3)}
  .email-h .v{color:var(--ink-2)}
  .email-b{padding:14px;font-size:13px;line-height:1.65;color:var(--ink)}
  .email-b p{margin-bottom:9px}.email-b p:last-child{margin-bottom:0}
  .email-b.editing{outline:1px solid rgba(120,140,255,.45);border-radius:8px;background:rgba(120,140,255,.05)}
  .ft-note{font-size:11.5px;color:var(--ink-3);align-self:center;padding:6px 2px}

  /* grow row */
  .grow-row{display:flex;align-items:center;gap:12px;padding:12px 13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:11px;cursor:pointer;transition:.15s}
  .grow-row:hover{background:rgba(91,111,245,.07);border-color:rgba(140,150,255,.28);transform:translateY(-1px)}
  .grow-row.done{background:rgba(62,201,138,.05);border-color:rgba(62,201,138,.18)}
  .grow-icon{width:30px;height:30px;border-radius:8px;background:rgba(91,111,245,.16);display:grid;place-items:center;color:var(--brand);flex-shrink:0}
  .grow-row.done .grow-icon{background:rgba(62,201,138,.16);color:var(--green)}
  .grow-body{flex:1;min-width:0}
  .grow-body b{font-size:13px;font-weight:600;color:#fff;display:block;line-height:1.3}
  .grow-body small{font-size:11.5px;color:var(--ink-3);display:block;margin-top:3px;line-height:1.45}
  .grow-arrow{color:var(--ink-3);flex-shrink:0;transition:.15s}
  .grow-row:hover .grow-arrow{color:var(--brand);transform:translateX(2px)}

  /* secondary admin invite — quieter */
  .admin-invite{margin-top:4px;padding:10px 12px;background:transparent;border:1px dashed rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:10px}
  .admin-invite:hover{border-color:rgba(140,150,255,.3);background:rgba(255,255,255,.02)}
  .admin-invite .ai-ic{width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.05);display:grid;place-items:center;color:var(--ink-3);flex-shrink:0}
  .admin-invite .ai-body{flex:1}
  .admin-invite .ai-body b{font-size:12px;font-weight:500;color:var(--ink-2);display:block;line-height:1.3}
  .admin-invite .ai-body small{font-size:11px;color:var(--ink-3);display:block;margin-top:1px}

  /* teammates */
  .tm-row{display:flex;align-items:center;gap:11px;padding:9px 11px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:10px;cursor:pointer;transition:.13s}
  .tm-row:hover{background:rgba(255,255,255,.045)}
  .tm-row input{accent-color:var(--brand);width:15px;height:15px;cursor:pointer;flex-shrink:0}
  .tm-row .tm-i{flex:1;min-width:0}
  .tm-row .tm-i b{display:block;font-size:13px;font-weight:500;color:#fff}
  .tm-row .tm-i small{display:block;font-size:11.5px;color:var(--ink-3);margin-top:1px}

  /* asset deliverable card */
  .asset-row{display:flex;align-items:center;gap:12px;padding:12px 13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:11px;transition:.15s;cursor:pointer}
  .asset-row:hover{background:rgba(91,111,245,.07);border-color:rgba(140,150,255,.28)}
  .asset-ic{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-family:'Inter Tight';font-weight:700;font-size:10px;color:#fff;letter-spacing:.02em}
  .asset-ic.pdf{background:linear-gradient(135deg,#e94560,#c43654)}
  .asset-ic.ppt{background:linear-gradient(135deg,#f0a868,#d68647)}
  .asset-ic.doc{background:linear-gradient(135deg,#5b6ff5,#485cf0)}
  .asset-ic.xls{background:linear-gradient(135deg,#3ec98a,#2ea76f)}
  .asset-body{flex:1;min-width:0}
  .asset-body b{display:block;font-size:13px;font-weight:600;color:#fff;line-height:1.3}
  .asset-body small{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px;line-height:1.45}
  .asset-action{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--brand);font-weight:500;flex-shrink:0}
  .asset-action svg{width:13px;height:13px}

  /* CTAs */
  .ibtn{padding:8px 14px;border-radius:9px;font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:.15s;border:none;display:inline-flex;align-items:center;gap:5px}
  .ibtn.primary{background:linear-gradient(150deg,var(--brand),var(--brand-deep));color:#fff;box-shadow:0 4px 12px -3px rgba(91,111,245,.5)}
  .ibtn.primary:hover{filter:brightness(1.1)}
  .ibtn.ghost{background:rgba(255,255,255,.04);color:var(--ink-2);border:1px solid rgba(255,255,255,.07)}
  .ibtn.ghost:hover{color:var(--ink);border-color:rgba(140,150,255,.25)}
  .ibtn svg{width:12px;height:12px}
  .ibtn:disabled{opacity:.55;cursor:not-allowed}

  /* typing indicator */
  .typing{display:flex;gap:5px;padding:6px 2px}
  .typing i{width:6.5px;height:6.5px;border-radius:50%;background:var(--ink-3);animation:td 1.2s infinite}
  .typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
  @keyframes td{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

  /* thinking line */
  .thinking{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;color:var(--ink-3)}
  .thinking-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 8px var(--brand);flex-shrink:0;animation:thinkPulse 1.4s ease-in-out infinite}
  @keyframes thinkPulse{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}
  .thinking-text{flex:1;line-height:1.4;transition:opacity .25s}
  .thinking-source{color:var(--brand);font-weight:500}
  .live-tick{color:var(--ink-3);font-style:italic}
  .thinking.done .thinking-dot{background:var(--green);box-shadow:0 0 6px rgba(62,201,138,.5);animation:none}
  .thinking.done .thinking-text{color:var(--ink-2)}

  /* discovery */
  .discovery{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;background:rgba(180,107,240,.06);border:1px solid rgba(180,107,240,.18);border-radius:10px;font-size:13px;line-height:1.5;color:var(--ink);max-width:fit-content}
  .discovery .d-ic{width:18px;height:18px;color:var(--magenta);flex-shrink:0;margin-top:1px}
  .discovery b{color:#fff;font-weight:600}

  /* calendar connect (Piece D) */
  .newchat-btn.cal-on{color:#bfe9c8;border-color:rgba(120,220,150,.4);background:rgba(80,200,120,.10)}
  .cal-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-20px);background:rgba(18,20,34,.95);backdrop-filter:blur(24px);border:1px solid rgba(140,150,255,.3);border-radius:12px;padding:12px 18px;font-size:13px;color:var(--ink);line-height:1.4;box-shadow:0 20px 50px -10px rgba(0,0,0,.6);z-index:120;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;max-width:90%}
  .cal-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .cal-toast-ok{border-color:rgba(120,220,150,.45)}
  .cal-toast-err{border-color:rgba(240,107,138,.45)}

  /* credit toast */
  .credit-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-20px);background:rgba(18,20,34,.95);backdrop-filter:blur(24px);border:1px solid rgba(240,168,104,.3);border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 20px 50px -10px rgba(0,0,0,.6);z-index:100;opacity:0;transition:opacity .4s,transform .4s;pointer-events:none;max-width:90%}
  .credit-toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
  .credit-toast.danger{border-color:rgba(240,107,138,.4)}
  .credit-toast .ic{width:24px;height:24px;border-radius:7px;background:rgba(240,168,104,.16);display:grid;place-items:center;color:var(--amber);flex-shrink:0}
  .credit-toast.danger .ic{background:rgba(240,107,138,.16);color:var(--red)}
  .credit-toast .ct{font-size:13px;color:var(--ink);line-height:1.4}
  .credit-toast .ct b{color:#fff;font-weight:600}
  .credit-toast .x{cursor:pointer;color:var(--ink-3);padding:2px;font-size:18px;line-height:1}
  .credit-toast .x:hover{color:var(--ink)}

  /* input area */
  .input-area{flex-shrink:0;padding:14px 24px 22px;background:linear-gradient(180deg,transparent,rgba(5,6,12,.85) 40%,rgba(5,6,12,.95))}
  .input-inner{width:min(720px,92%);margin:0 auto;display:flex;flex-direction:column;gap:10px}
  .ai-disclaimer{text-align:center;font-size:11px;color:var(--ink-3);margin-top:-2px;line-height:1.4}

  /* Claude-style credit notice bar — sits just above composer */
  .credit-bar{display:none;align-items:center;gap:10px;padding:8px 14px;border-radius:10px;font-size:12.5px;line-height:1.4;background:rgba(240,168,104,.07);border:1px solid rgba(240,168,104,.22);color:var(--ink-2)}
  .credit-bar.show{display:flex;animation:rise .35s ease both}
  .credit-bar.danger{background:rgba(240,107,138,.07);border-color:rgba(240,107,138,.28)}
  .credit-bar .cb-ic{flex-shrink:0;color:var(--amber);width:14px;height:14px}
  .credit-bar.danger .cb-ic{color:var(--red)}
  .credit-bar .cb-text{flex:1}
  .credit-bar .cb-text b{color:var(--ink);font-weight:600}
  .credit-bar .cb-link{color:var(--brand);font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none}
  .credit-bar .cb-link:hover{text-decoration:underline}
  .credit-bar .cb-close{cursor:pointer;color:var(--ink-3);padding:0 2px;font-size:16px;line-height:1;flex-shrink:0}
  .credit-bar .cb-close:hover{color:var(--ink)}

  .suggestions{display:flex;gap:8px;flex-wrap:wrap}
  .sug{padding:7px 13px;border-radius:18px;font-size:12.5px;color:var(--ink-2);cursor:pointer;transition:.15s;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(10px);font-family:inherit}
  .sug:hover{color:var(--ink);border-color:rgba(140,150,255,.4);transform:translateY(-1px)}
  .sug-toggle{background:none;border:1px dashed rgba(255,255,255,.16);color:var(--ink-2);opacity:.8}
  .sug-toggle:hover{opacity:1;border-style:dashed;border-color:rgba(140,150,255,.4)}
  .sug-toggle::before{content:"⌄ ";opacity:.7}
  /* Claude-style: full-width text box on top, a toolbar row of controls beneath it (send
     pushed to the right). Gives the textarea the whole width instead of ~50%. */
  .composer{background:var(--surf);backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--line);border-radius:16px;padding:10px 12px 8px;display:flex;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 20px 60px -20px rgba(91,111,245,.4)}
  .composer:focus-within{border-color:rgba(140,150,255,.5)}
  .composer input,.composer textarea{width:100%;background:none;border:none;outline:none;font-family:inherit;font-size:14.5px;color:var(--ink);padding:6px 4px}
  .composer textarea{resize:none;line-height:1.45;min-height:26px;max-height:180px;overflow-y:auto;display:block;height:auto;box-shadow:none;-webkit-appearance:none;appearance:none}
  .composer-tools{display:flex;align-items:center;gap:2px}
  .composer-tools .send{margin-left:auto}
  .composer input::placeholder,.composer textarea::placeholder{color:var(--ink-3)}
  .composer .send{width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));display:grid;place-items:center;color:#fff;flex-shrink:0;box-shadow:0 6px 16px -4px rgba(91,111,245,.7);transition:.15s;cursor:pointer;border:none}
  .composer .send:hover{filter:brightness(1.12)}
  .composer .send:active{transform:scale(.94)}
  .composer .send svg{width:16px;height:16px}
  .composer .send:disabled{opacity:.4;cursor:not-allowed}

  @media (max-width:760px){
    /* The collapsed icon-rail can't expand without hover and just overlaps the chat on a
       phone, so drop it — New chat / Past chats now live in the header kebab. */
    .sidebar{display:none}
    .ln-links{display:none}
    .ln-title{font-size:42px}
    /* Mobile header: the shared link most often opens on a phone, so match the minimal
       headers people expect (ChatGPT / Perplexity / Gemini). Drop the subtitle, keep only
       the heart + mail icons, and collapse New chat / Past chats / Feedback into the kebab. */
    .topbar{padding:11px 14px}
    .tb-sub{display:none}
    .desktop-only{display:none !important}
    .mobile-only{display:inline-grid !important}
    .topbar-right{gap:7px}
    /* Use the full width with safe gutters so bubbles/components never run into the edge. */
    .main{overflow-x:clip}
    .feed{padding:20px 0 16px}
    .feed-inner,.input-inner{width:100%;padding-left:14px;padding-right:14px}
    .input-area{padding:10px 0 calc(12px + env(safe-area-inset-bottom))}
    .bubble{max-width:100%}
    /* Give the text box room and stop iOS from zooming on focus (needs >=16px inputs). */
    .composer{padding:9px 10px 7px}
    .composer input,.composer textarea{font-size:16px;padding:5px 4px;min-height:30px}
    .fb-in,.fb-ta{font-size:16px}
    .icon-btn{width:34px;height:34px}
    .icon-btn svg{width:18px;height:18px}
    /* Keep the Love-Rudy / feedback sheets compact rather than shouty on a full-width sheet. */
    .fb-q{font-size:13.5px}
    .fb-section-t{font-size:12.5px}
    .fb-confirm-q,.fb-check,.fb-ack{font-size:12px;line-height:1.35}
    .fb-save{font-size:13px;padding:10px}
    .fb-ta{min-height:54px}
    /* Path cards: the relationship pill sharing a row with the text squeezed the text
       column to a sliver on a phone (one word per line). Let the row wrap and drop the
       pill onto its own line so the headline + context get the full card width. */
    .path-row{flex-wrap:wrap;align-items:flex-start}
    .path-row .dot{margin-top:1px}
    .path-row .tier{order:3;flex-basis:100%;margin-left:44px;margin-top:6px}
  }

/* ========== ADDED FOR BACKEND WIRING: icon buttons, voice, file upload ========== */

/* composer icon buttons (attach + mic) */
.icon-btn{width:36px;height:36px;border-radius:10px;background:transparent;border:none;display:grid;place-items:center;color:var(--ink-3);flex-shrink:0;cursor:pointer;transition:.15s}
.icon-btn:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.icon-btn:active{transform:scale(.94)}
.icon-btn svg{width:18px;height:18px}
.icon-btn:disabled{opacity:.4;cursor:not-allowed}
/* Train Rudy — a gentle attention glow so the in-context "teach me" affordance is
   discoverable without shouting. Calms once you hover/focus it (you've found it), and
   respects reduced-motion. */
.icon-btn[data-act="feedback"]{color:var(--magenta);animation:trainGlow 2.8s ease-in-out infinite}
.icon-btn[data-act="feedback"]:hover,.icon-btn[data-act="feedback"]:focus-visible{animation:none;color:#c98bff}
/* Brain = the full-color 🧠 emoji (a side-view brain), so it reads as the "make Rudy
   smarter" affordance and pops against the line icons. */
.brain-emoji{font-size:19px;line-height:1}
@keyframes trainGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(180,107,240,0)}
  50%{box-shadow:0 0 0 3px rgba(180,107,240,.16),0 0 11px 1px rgba(180,107,240,.4)}
}
@media (prefers-reduced-motion:reduce){.icon-btn[data-act="feedback"]{animation:none}}

/* mic recording state — pulsing ring */
.icon-btn.recording{color:var(--red);background:rgba(240,107,138,.12)}
.icon-btn.recording::after{content:'';position:absolute}
.icon-btn.recording{position:relative;animation:micPulse 1.3s ease-in-out infinite}
@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(240,107,138,.5)}50%{box-shadow:0 0 0 6px rgba(240,107,138,0)}}

/* drag-and-drop hover state on the composer */
.composer.drag-hover{border-color:rgba(91,111,245,.6);background:rgba(91,111,245,.08);box-shadow:0 0 0 1px rgba(91,111,245,.4),0 20px 60px -20px rgba(91,111,245,.5)}

/* queued attachment chips above composer */
.attach-chips{display:flex;gap:8px;flex-wrap:wrap}
.attach-chips:empty{display:none}
.attach-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;font-size:12px;color:var(--ink-2);background:rgba(91,111,245,.1);border:1px solid rgba(91,111,245,.22);max-width:260px}
.attach-chip .ac-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attach-chip .ac-x{cursor:pointer;color:var(--ink-3);font-size:15px;line-height:1;flex-shrink:0}
.attach-chip .ac-x:hover{color:var(--ink)}
.attach-chip.uploading{opacity:.6}

/* italic helper note inside bubbles */
.bubble em{color:var(--ink-3);font-style:italic}

/* markdown rendering inside assistant bubbles */
.bubble p{margin:0 0 8px}
.bubble p:last-child{margin-bottom:0}
.bubble ul,.bubble ol{margin:6px 0 6px 20px;padding:0}
.bubble li{margin:3px 0;line-height:1.55}
.bubble li::marker{color:var(--ink-3)}
.bubble code{background:rgba(255,255,255,.08);padding:1px 5px;border-radius:5px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.bubble a{color:var(--brand);text-decoration:none}
.bubble a:hover{text-decoration:underline}

/* ===== minimal landing (logo + single button) ===== */
.ln-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:0 28px;text-align:center}
.ln-logo{max-width:300px;width:60vw;height:auto;filter:drop-shadow(0 8px 30px rgba(91,111,245,.35))}
.ln-brand-fallback{display:none;align-items:center;gap:13px}
.ln-brand-fallback .lg{width:40px;height:40px;border-radius:11px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));box-shadow:0 0 18px rgba(91,111,245,.4);display:grid;place-items:center}
.ln-brand-fallback .lg::after{content:'';width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:inset -3px -3px 0 rgba(91,111,245,.35)}
.ln-brand-fallback .wm{font-family:'Inter Tight';font-weight:700;font-size:30px;letter-spacing:-.02em}
.ln-tag{font-size:17px;color:var(--ink-2);letter-spacing:-.01em}
.ln-quote{margin:14px 0 0;max-width:480px;display:flex;flex-direction:column;gap:9px;opacity:.92}
.ln-quote blockquote{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2);font-style:italic;letter-spacing:-.005em}
.ln-quote figcaption{font-size:12px;color:var(--ink-3);letter-spacing:.01em}

/* ===== living-card action buttons (paths + drafts) ===== */
.path-acts,.draft-acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.draft-acts{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}
.mini-btn{padding:5px 11px;border-radius:8px;font-family:inherit;font-size:11.5px;font-weight:500;cursor:pointer;background:rgba(255,255,255,.04);color:var(--ink-2);border:1px solid rgba(140,150,255,.18);transition:.13s}
.mini-btn:hover{color:var(--ink);background:rgba(91,111,245,.12);border-color:rgba(91,111,245,.4);transform:translateY(-1px)}
.mini-btn:active{transform:scale(.96)}
.mini-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ===== landing redesign: Rudy hero + Boomerang corner mark ===== */
.lndg-corner{position:absolute;top:24px;left:28px;height:24px;width:auto;object-fit:contain;opacity:.72;z-index:2}
.lndg-corner-fb{display:none;align-items:center;gap:8px;height:auto}
.lndg-corner-fb .lg{width:22px;height:22px;border-radius:7px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));position:relative}
.lndg-corner-fb .lg::after{content:'';position:absolute;inset:0;margin:auto;width:9px;height:9px;border-radius:50%;background:#fff}
.lndg-corner-fb .wm{font-family:'Inter Tight';font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--ink)}
.lndg-rudy{width:92px;height:92px;border-radius:24px;background:var(--rudy) center/cover;box-shadow:0 20px 56px -16px rgba(91,111,245,.6);border:1px solid rgba(140,150,255,.3)}
.lndg-name{font-family:'Inter Tight';font-weight:700;font-size:36px;letter-spacing:-.02em;color:var(--ink)}
