@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap');
/* ==== NOVADS BRAND v3, LOCKED 11-13 (his word: "lock the font, color branding, buttons"). Loaded LAST on every page.
   Numbers from research/premium-1113.md (8 premium sites measured at 1920): width 1280 (7 of 8 sit 1200-1450),
   one sans family (8 of 8), headline 500 weight + tight tracking (5 of 8), 0-1 accent (7 of 8), hairline borders (8 of 8).
   Font: Geist (Vercel's; already on 28 of our pages). Colors: Vercel light values. Buttons: black pill (our approved 11-12 look). ==== */
:root{--nv-font:"Geist",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--sans:var(--nv-font);
  --nv-w:min(1280px,calc(100% - 48px));--nv-page:#FFFFFF;--nv-surface:#FAFAFA;--nv-text:#171717;--nv-muted:#4D4D4D;--nv-quiet:#737373;--nv-border:rgba(0,0,0,.08);--nv-ok:#16A34A}
.nvw{font-family:var(--nv-font);font-weight:500;letter-spacing:.24em;margin-right:-.24em;font-size:.92em;color:inherit}
.nv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;background:var(--nv-text);color:#fff;font:500 15px/1 var(--nv-font);border:0;cursor:pointer;transition:opacity .15s,transform .15s}
.nv-btn:hover{opacity:.88}.nv-btn:active{transform:scale(.98)}
.nv-btn.ghost{background:#fff;color:var(--nv-text);box-shadow:inset 0 0 0 1px var(--nv-border)}
/* Novads brand v2 (11-12 his word: no cream; white like MakeUGC, black like Arcads). Loaded last. */
:root{
  --nvp-out-canvas:#FFFFFF; --nvp-out-card:#FFFFFF; --nvp-out-raised:#F5F5F5;
  --nvp-out-text:#0A0A0A; --nvp-out-quiet:#6B6B6B; --nvp-out-line:#E7E7E7;
  --nvp-in-canvas:#0A0A0A; --nvp-in-card:#141414; --nvp-in-raised:#1C1C1C;
  --nvp-blue:#0A0A0A;
  --nv-tint-out:rgba(10,10,10,.05);
}
:root[data-theme=dark]{--nvp-blue:#FFFFFF}
:root:not([data-theme=dark]){--bg:#FFFFFF;--side:#FFFFFF;--hover:#F5F5F5;--line:#E7E7E7;--line2:#E7E7E7}
:root:not([data-theme=dark]) body{background:#FFFFFF}
:root:not([data-theme=dark]) #side{border-right:1px solid #E7E7E7}
/* Agent screen: no grey cloud, no glow */
#app .ahero .glow,#app .ahero .noise,#app .glow,#app .noise,.aglow::before{display:none}
.aglow .agent-ic{box-shadow:none}
body,#app,button,input,textarea{font-family:var(--nv-font)}
.ahero .ttl em,h1 em,h2 em{font-family:inherit!important;font-style:normal!important;font-weight:400!important;color:#8A8A8A}
.aorb{display:none}
.comp{box-shadow:0 1px 2px rgba(10,10,10,.05),0 6px 20px rgba(10,10,10,.06)!important;border:1px solid var(--line)!important}
/* 11-12 his ask: no logo mark, the name only */
#side .logo img,.mbar .logo img,.ahdr img{display:none}
/* 11-12 his ask (Yipkin agent): one black New chat button on top, sections, quick starts and your chats under the box */
.nvnew{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 14px;height:42px;border-radius:999px;background:var(--nvp-out-text);color:#fff!important;font-weight:500;font-size:14px;text-decoration:none}
:root[data-theme=dark] .nvnew{background:#fff;color:#0A0A0A!important}
.nvnew .ic{width:16px;height:16px;stroke:currentColor}
#side .grp{display:block!important;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nvp-out-quiet);margin:18px 0 6px 12px}
.nvchips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px auto 0;max-width:720px}
.nvchip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--nvp-out-card);color:var(--nvp-out-text);font:inherit;font-size:14px;cursor:pointer}
.nvchip:hover{background:var(--nvp-out-raised)}
.nvchip img{width:22px;height:22px;border-radius:6px;object-fit:cover}
.nvchats{max-width:720px;width:100%;margin:28px auto 40px;border:1px solid var(--line);border-radius:16px;background:var(--nvp-out-card);padding:14px 14px 8px}
.nvchats:has(.apast[hidden]){display:none}
.nvch{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 10px}
.nvch>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nvp-out-quiet)}
.nvchats .anew{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:none;font:inherit;font-size:13px;cursor:pointer;color:inherit}
.nvchats .apast{display:block!important;margin:0}
.nvchats .apast .lbl-s{display:none}
.nvchats .rrow2{border-top:1px solid var(--line)}

/* 11-12 Connectors + Routines (Arcads pattern), light and dark */
.nvcons{max-width:720px;display:flex;flex-direction:column;gap:22px;margin-top:8px}
.nvcgt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nvp-out-quiet);margin:0 0 8px 2px}
.nvcon{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--nvp-out-card)}
.nvcon>div{flex:1;min-width:0}.nvcon b{font-size:15px;font-weight:600}.nvcon p{font-size:13.5px;color:var(--nvp-out-quiet);margin-top:2px;line-height:1.4}
.nvci{width:36px;height:36px;flex:none;border-radius:10px;background:var(--nvp-out-raised);display:grid;place-items:center;font-weight:600;font-size:13px}
.nvsoon{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--nvp-out-quiet);flex:none}
.nvrwrap{max-width:720px;display:flex;flex-direction:column;gap:12px;margin-top:8px;align-items:flex-start}
.nvrwrap .btn .ic{width:16px;height:16px}
.nvrform{width:100%;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nvrform[hidden]{display:none}
.nvrform label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--nvp-out-quiet)}
.nvrform select{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--nvp-out-card);color:var(--nvp-out-text);padding:0 10px;font:inherit;font-size:14px}
.nvrbtns{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.nvrts{width:100%;display:flex;flex-direction:column;gap:8px}
.nvrt{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px}
.nvrt>div{flex:1}.nvrt b{font-size:15px}.nvrt p{font-size:13.5px;color:var(--nvp-out-quiet);margin-top:2px}.nvrt.off{opacity:.55}
.nvrempty{border:1px dashed var(--line);border-radius:14px;padding:22px;color:var(--nvp-out-quiet);font-size:14.5px;line-height:1.5;width:100%}
.nvrnote{font-size:13px;color:var(--nvp-out-quiet)}
@media (max-width:640px){.nvrform{grid-template-columns:1fr}}
/* ---- 11-13 his ask: black, luxury, agent first ---- */
:root[data-theme=dark]{--bg:#000;--side:#000;--panel:#0A0A0A;--panel2:#111;--hover:#161616;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--ink:#EDEDED;--mute:#A1A1A1;--dim:#7A7A7A;--acc:#fff}
:root[data-theme=dark] body,:root[data-theme=dark] #main{background:#000;color:var(--ink)}
:root[data-theme=dark] .shell.topnav .side{background:rgba(0,0,0,.78);border-bottom-color:rgba(255,255,255,.08)}
:root[data-theme=dark] .nvw{color:#fff}
:root[data-theme=dark] .comp{background:#0A0A0A;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px rgba(255,255,255,.02),0 30px 80px rgba(0,0,0,.6)}
:root[data-theme=dark] .comp:focus-within{border-color:rgba(255,255,255,.22)}
:root[data-theme=dark] .comp textarea{background:transparent;color:#EDEDED}
:root[data-theme=dark] .bub{background:#0F0F0F;border-color:rgba(255,255,255,.08);color:#EDEDED}
:root[data-theme=dark] .bub.me{background:#fff;color:#000}
:root[data-theme=dark] .nvchip,:root[data-theme=dark] .nvstart{background:#0A0A0A;border:1px solid rgba(255,255,255,.1);color:#D4D4D4}
:root[data-theme=dark] .nvchip:hover,:root[data-theme=dark] .nvstart:hover{border-color:rgba(255,255,255,.24);color:#fff}
:root[data-theme=dark] .ump,:root[data-theme=dark] .mbox,:root[data-theme=dark] .tmenu{background:#0A0A0A;border:1px solid rgba(255,255,255,.1);color:var(--ink)}
:root[data-theme=dark] .crchip,:root[data-theme=dark] .umb{background:#0A0A0A;border-color:rgba(255,255,255,.12);color:#EDEDED}
:root[data-theme=dark] .ahero h1 em{font-style:normal;color:#fff}
:root[data-theme=dark] .aorb i{background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%)}
.nvcb{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px 0 8px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--mute);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}
.nvcb:hover,.nvcb.on{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.nvcb img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.nvcb svg{width:16px;height:16px}
.nvcb .nvx{font-style:normal;margin-left:2px;opacity:.6}
.nvscript{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;font:inherit;font-size:15px;line-height:1.5;padding:12px 16px;resize:vertical;outline:0}
.nvwhobox{max-width:760px}
.nvact{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin-top:16px;max-height:62vh;overflow:auto;padding:2px}
.nvwc{display:flex;flex-direction:column;gap:8px;padding:0;border:1px solid var(--line2);border-radius:16px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;overflow:hidden;text-align:left}
.nvwc img,.nvwc .nvwi{width:100%;aspect-ratio:3/4;object-fit:cover;display:grid;place-items:center;background:var(--panel2)}
.nvwc .nvwi svg{width:26px;height:26px;opacity:.7}
.nvwc b{font-size:13px;font-weight:500;padding:0 12px 12px}
.nvwc.on,.nvwc:hover{border-color:var(--ink)}
@media (max-width:520px){.nvact{grid-template-columns:repeat(2,minmax(0,1fr))}.nvcb{height:32px;font-size:12px}}
:root[data-theme=dark] .nvchats{background:#0A0A0A;border-color:rgba(255,255,255,.08)}
:root[data-theme=dark] .nvchats .nvch span{color:#7A7A7A}
:root[data-theme=dark] .nvchats .anew{background:transparent;color:#EDEDED;border-color:rgba(255,255,255,.14)}
:root[data-theme=dark] .nvchats .rrow2{gap:0;border-radius:12px}
:root[data-theme=dark] .nvchats .rrow{background:transparent;border:0;border-radius:12px;color:#D4D4D4;padding:11px 12px}
:root[data-theme=dark] .nvchats .rrow2:hover .rrow{background:#141414;color:#fff}
:root[data-theme=dark] .nvchats .rdel{background:transparent;border:0;color:#5A5A5A;width:36px}
:root[data-theme=dark] .nvchats .rdel:hover{color:#fff}
:root[data-theme=dark] .nvwc{border-color:rgba(255,255,255,.1)}
:root[data-theme=dark] .agent-ic{background:#111;color:#fff;border:1px solid rgba(255,255,255,.12)}
/* ---- 11-13 his ask: the agent chat, cleaner than Arcads ---- */
:root[data-theme=dark] .agentv4 .chat{gap:22px;max-width:760px;width:100%;margin:0 auto;padding-top:24px}
:root[data-theme=dark] .bub.nvbub,:root[data-theme=dark] .agentv4 .bub:not(.me){background:none;border:0;padding:0;max-width:100%;color:#E6E6E6;font-size:16px;line-height:1.6}
:root[data-theme=dark] .bub.me{background:#1C1C1C;color:#fff;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:10px 16px;font-size:15px;max-width:min(80%,520px)}
:root[data-theme=dark] .nvbrand{border:1px solid rgba(255,255,255,.1);background:#0A0A0A;border-radius:16px;padding:16px;gap:16px}
:root[data-theme=dark] .nvbrand img{width:auto;height:44px;max-width:180px;object-fit:contain;background:#fff;border-radius:10px;padding:6px 10px}
:root[data-theme=dark] .nvask{border:0;padding:0;gap:10px;max-width:760px}
:root[data-theme=dark] .nvask>b{font-size:14px;font-weight:500;font-style:italic;color:#9A9A9A}
.nvq{font-style:normal}
:root[data-theme=dark] .nvask .btn{height:40px;min-width:76px;border-radius:999px;font-size:15px;padding:0 20px}
:root[data-theme=dark] .nvask .btn.pri{background:#fff;color:#000;border:1px solid #fff}
:root[data-theme=dark] .nvask .btn:not(.pri){background:transparent;color:#EDEDED;border:1px solid rgba(255,255,255,.18)}
:root[data-theme=dark] .nvask input{background:#0A0A0A;color:#fff;border-color:rgba(255,255,255,.14)}
:root[data-theme=dark] .nvpt{background:#0A0A0A;border-color:rgba(255,255,255,.1);color:#EDEDED}
:root[data-theme=dark] .nvpt img{aspect-ratio:1;object-fit:contain;background:#fff}
/* once the chat starts: the box docks at the bottom, the old chats list steps away */
.agentv4.nvlive .nvchats,.agentv4.nvlive .ahdr{display:none}
.agentv4.nvlive .amain{justify-content:flex-start;min-height:calc(100vh - 64px)}
.agentv4.nvlive .comp{position:sticky;bottom:16px;z-index:5;max-width:760px;width:100%;margin:12px auto 16px}
:root[data-theme=dark] .agentv4.nvlive .comp{box-shadow:0 -24px 40px #000,0 20px 60px rgba(0,0,0,.7)}
.agentv4.nvlive .comp textarea{min-height:56px}
:root[data-theme=dark] .agentv4 .comp textarea,:root[data-theme=dark] .agentv4 .comp textarea:focus{border:0!important;outline:0!important;box-shadow:none!important;background:transparent}
:root[data-theme=dark] .comp:focus-within{border-color:rgba(255,255,255,.28)}
:root[data-theme=dark] .nvask .btn:not(.pri){border-color:rgba(255,255,255,.3)!important}
/* ---- 11-13 his ask: premium agent home ---- */
.agentv4.nvfull .ahdr{display:none}
:root[data-theme=dark] .agentv4 .nvhero h1,:root[data-theme=dark] .agentv4 .ttl{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.035em;font-weight:500;color:#fff}
:root[data-theme=dark] .agentv4 .ttl em{font-style:normal;color:#8A8A8A}
:root[data-theme=dark] .agentv4 .agent-ic{background:linear-gradient(180deg,#1A1A1A,#0A0A0A);border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 6px rgba(255,255,255,.02),0 12px 40px rgba(255,255,255,.06)}
:root[data-theme=dark] .agentv4 .comp{background:linear-gradient(180deg,#111,#0A0A0A);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 30px 80px rgba(0,0,0,.8),0 0 120px rgba(255,255,255,.03)}
:root[data-theme=dark] .agentv4 .nvchips button,:root[data-theme=dark] .agentv4 .astarts button{background:transparent;border:1px solid rgba(255,255,255,.14);color:#D4D4D4;transition:background .15s,border-color .15s,color .15s}
:root[data-theme=dark] .agentv4 .nvchips button:hover,:root[data-theme=dark] .agentv4 .astarts button:hover{background:#151515;border-color:rgba(255,255,255,.3);color:#fff}
:root[data-theme=dark] .nvchats{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
:root[data-theme=dark] .nvch{padding:0 4px 10px!important;border-bottom:1px solid rgba(255,255,255,.08)}
:root[data-theme=dark] .nvch>span{text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:500;color:#fff!important}
:root[data-theme=dark] .nvchats .rrow2{border-bottom:1px solid rgba(255,255,255,.06);background:transparent!important}
:root[data-theme=dark] .nvchats .rrow{background:transparent!important;padding:14px 6px!important;color:#CFCFCF;font-size:15px;border-radius:10px}
:root[data-theme=dark] .nvchats .rrow2:hover .rrow{color:#fff;background:#0E0E0E!important}
:root[data-theme=dark] .nvchats .rdel{opacity:.35;color:#fff}
:root[data-theme=dark] .nvchats .rrow2:hover .rdel{opacity:.9}
:root[data-theme=dark] .agentv4 .nvchip{background:transparent!important;border:1px solid rgba(255,255,255,.14)!important;color:#D4D4D4!important;transition:background .15s,border-color .15s}
:root[data-theme=dark] .agentv4 .nvchip:hover{background:#151515!important;border-color:rgba(255,255,255,.32)!important;color:#fff!important}
:root[data-theme=dark] .agentv4 .comp textarea{background:transparent!important}
/* 11-13 step-through (his "look how small that box is"): bigger agent box, one row of choices, readable bell count */
.agentv4:not(.nvlive) .comp{max-width:820px!important;width:100%}
.agentv4:not(.nvlive) .comp textarea{min-height:88px!important;font-size:17px!important;line-height:1.5;padding:20px 20px 6px!important}
.agentv4 .nvchips,.agentv4 .astarts{flex-wrap:nowrap!important;max-width:820px}
.agentv4 .nvchips button:nth-child(n+5),.agentv4 .astarts button:nth-child(n+5){display:none!important}
.agentv4 .nvchats{max-width:820px!important}
:root[data-theme=dark] .bell .bdot{background:#fff!important;color:#000!important}
@media (max-width:700px){.agentv4 .nvchips,.agentv4 .astarts{flex-wrap:wrap!important}.agentv4:not(.nvlive) .comp textarea{min-height:72px!important;padding:18px 18px 4px!important}}

/* 11-13 journey: sizing at 1440-1920 */
@media (min-width:1100px){
.agentv4:not(.nvlive) .comp,.agentv4 .nvchats{max-width:1040px!important}
.agentv4 .nvchips,.agentv4 .astarts{max-width:1040px}
:root[data-theme=dark] .agentv4 .nvhero h1,:root[data-theme=dark] .agentv4 .ttl{font-size:clamp(38px,3.6vw,56px)}
.agentv4 .ahero .sub,.agentv4 .ahero p{font-size:18px!important;margin-top:12px}
.agentv4:not(.nvlive) .comp textarea{min-height:104px!important;font-size:19px!important;padding:22px 24px 6px!important}
.agentv4 .nvchips button,.agentv4 .nvchip,.agentv4 .astarts button{height:44px!important;font-size:15.5px!important;padding:0 20px!important}
.agentv4 .nvchats .rrow2,.agentv4 .nvchats .rrow2 *{font-size:16px}
.agentv4 .nvchats{padding:18px 18px 10px}
.agentv4 .amain{padding-top:48px}
}
@media (min-width:1700px){.agentv4:not(.nvlive) .comp,.agentv4 .nvchats{max-width:920px!important}}
/* builder: centred, wider, two equal cards */
.bwrap:has(.gpick){display:block!important;max-width:1040px;margin:0 auto;padding:56px 24px}
.bwrap:has(.gpick) .bpanel{position:static;max-height:none;width:100%;border-radius:24px;background:#0A0A0A}
.bwrap:has(.gpick) .bhead{padding:36px 40px 20px}
.bwrap:has(.gpick) .bhead h1{font-size:34px;margin:16px 0 10px}
.bwrap:has(.gpick) .bhead p{font-size:16px}
.bwrap:has(.gpick) .bscroll{padding:12px 40px 40px;overflow:visible}
.bwrap:has(.gpick) .gpick{gap:20px}
.bwrap:has(.gpick) .gbig{min-height:260px;gap:14px;font-size:22px;border-radius:20px;background:#0E0E0E!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;padding:24px}
.bwrap:has(.gpick) .gbig:hover,.bwrap:has(.gpick) .gbig[aria-pressed=true]{border-color:rgba(255,255,255,.5)!important;background:#151515!important}
.bwrap:has(.gpick) .gbig small{font-size:15px;color:#A1A1A1!important}
.bwrap:has(.gpick) .gbig .sym{font-size:56px;color:#fff}
.bwrap:has(.gpick) .gbig .sym svg{width:44px;height:44px;stroke:#fff;color:#fff}
.bwrap:has(.gpick) .bfoot{display:none}
@media (min-width:1100px){
.agentv4 .amain{max-width:1000px!important;padding-top:32px!important}
.agentv4 .ahero h1,.agentv4 .nvhero h1{text-align:center!important;text-wrap:balance;margin:18px 0 0!important;line-height:1.12!important}
.agentv4 .ahero .sub,.agentv4 .ahero p{margin:12px 0 28px!important}
.agentv4 .aorb{display:none}
}
@media (min-width:1100px){.agentv4 .ahero{margin-bottom:0!important;gap:0}.agentv4 .ahero .agent-ic{transform:scale(.85)}.agentv4:not(.nvlive) .amain{justify-content:flex-start}.agentv4 .nvchats{margin-top:32px}}
.agentv4 .chat .bub:not(.me){white-space:pre-line}

/* 11-13: top bar of an open Agent chat */
.nvtop{display:none}
.agentv4.nvlive .nvtop{display:flex;gap:8px;justify-content:space-between;width:100%;max-width:760px;margin:0 auto;padding:12px 0 4px;position:sticky;top:0;z-index:6;background:#000}
.nvtb{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#EDEDED;font:inherit;font-size:14px;cursor:pointer}
.nvtb:hover{color:#fff;border-color:#8A8A8A}
.nvtb-new{background:#fff;color:#000;border-color:#fff}
.nvtb-new:hover{color:#000;background:#E6E6E6}
.nvtb svg{width:16px;height:16px}
.agentv4 .nvtop .nvtb-new,:root[data-theme=dark] .agentv4 .nvtop .nvtb-new{background:#fff;color:#000;border-color:#fff}

/* 11-13 his ask: Style picker next to Actor, nicer recent chats, cleaner agent home */
.nvstybox{max-width:880px}
.nvsty{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px;max-height:64vh;overflow:auto;padding:2px}
.nvsc{display:flex;flex-direction:column;gap:4px;padding:0 0 12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#0D0D0D;color:#EDEDED;font:inherit;cursor:pointer;overflow:hidden;text-align:left;transition:border-color .15s,transform .15s}
.nvsc:hover{border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.nvsc.on{border-color:#fff;box-shadow:0 0 0 1px #fff}
.nvsm{display:block;width:100%;aspect-ratio:9/14;background:#151515;overflow:hidden;margin-bottom:6px}
.nvsm video,.nvsm img{width:100%;height:100%;object-fit:cover;display:block}
.nvsm .nvwi{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2A2A2A,#0D0D0D 70%)}
.nvsm .nvwi svg{width:30px;height:30px}
.nvsc b{font-size:14px;font-weight:600;padding:0 12px}
.nvsc small{font-size:12px;line-height:1.4;color:#8A8A8A;padding:0 12px}
.nvsauto b::after{content:"Recommended";margin-left:8px;font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:#fff;color:#000;vertical-align:2px}
@media (max-width:520px){.nvsty{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
:root[data-theme=dark] .nvchats{background:linear-gradient(180deg,#0E0E0E,#090909);border-color:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);border-radius:20px;padding:18px 14px 10px}
:root[data-theme=dark] .nvchats .nvch>span{font-size:13px;letter-spacing:0;text-transform:none;color:#EDEDED;font-weight:600}
:root[data-theme=dark] .nvchats .rrow2{display:flex;align-items:center;border-top:0!important;border-radius:14px}
:root[data-theme=dark] .nvchats .rrow{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 10px;font-size:14.5px}
:root[data-theme=dark] .nvchats .rrow2:hover .rrow{background:#151515}
.nvri{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#161616;border:1px solid rgba(255,255,255,.08);color:#BDBDBD}
.nvri svg{width:16px;height:16px}
.nvrt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.nvrw{flex:none;font-size:12px;color:#6E6E6E}
:root[data-theme=dark] .nvchats .rdel{opacity:0;transition:opacity .15s}
:root[data-theme=dark] .nvchats .rrow2:hover .rdel,:root[data-theme=dark] .nvchats .rdel:focus-visible{opacity:1}
@media (hover:none){:root[data-theme=dark] .nvchats .rdel{opacity:1}}
/* 11-14 his ask: recent chats cleaner, text closer to the box */
:root[data-theme=dark] .nvchats .rrow,:root[data-theme=dark] .nvchats .rrow2{border:0!important;background:transparent!important;box-shadow:none!important}
:root[data-theme=dark] .nvchats .rrow span,:root[data-theme=dark] .nvchats .rrow2 span{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
:root[data-theme=dark] .nvchats .rrow .nvri{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.06)!important;display:grid;place-items:center;flex:none}
:root[data-theme=dark] .nvchats .rrow2{border-bottom:1px solid rgba(255,255,255,.05)!important}
:root[data-theme=dark] .nvchats .rrow2:last-child{border-bottom:0!important}
:root[data-theme=dark] .ahero{margin-top:28px!important}
:root[data-theme=dark] .amain .comp{margin-top:20px}
:root[data-theme=dark] .amain .comp textarea{min-height:96px!important}
:root[data-theme=dark] .nvchats .nvrt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-theme=dark] .amain .comp{margin-top:0!important}

/* 11-14 his ask: the chat feels like a real agent; black but not plain */
:root[data-theme=dark] body{background:#000!important}
:root[data-theme=dark] .amain{isolation:isolate}
:root[data-theme=dark] .amain::before{content:"";position:fixed;left:0;right:0;top:0;height:640px;pointer-events:none;z-index:-1;
  background:radial-gradient(55% 60% at 50% 0%,rgba(255,255,255,.08),transparent 70%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/56px 56px;
  -webkit-mask:radial-gradient(70% 85% at 50% 0%,#000 25%,transparent 75%);mask:radial-gradient(70% 85% at 50% 0%,#000 25%,transparent 75%)}
@keyframes nvin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
:root[data-theme=dark] .amain .chat .bub:not(.me){position:relative;padding:3px 0 0 46px!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:15.5px;line-height:1.6;color:#E8E8E8;animation:nvin .35s cubic-bezier(.2,.8,.2,1) both}
:root[data-theme=dark] .amain .chat .bub:not(.me)::before{content:"";position:absolute;left:0;top:0;width:30px;height:30px;border-radius:10px;
  background:radial-gradient(circle at 32% 28%,#fff 0,#BDBDBD 30%,#3A3A3A 75%,#151515 100%);box-shadow:0 0 0 1px rgba(255,255,255,.14),0 6px 22px rgba(255,255,255,.1)}
:root[data-theme=dark] .amain .chat .bub:not(.me) p{margin:0 0 6px}
:root[data-theme=dark] .amain .chat .bub.me{background:linear-gradient(180deg,#262626,#191919)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:18px 18px 6px 18px!important;padding:10px 16px!important;box-shadow:0 10px 28px rgba(0,0,0,.45)!important;color:#fff;animation:nvin .3s both}
.nvthink{display:flex!important;gap:5px;align-items:center;min-height:30px}
.nvthink i{width:7px;height:7px;border-radius:50%;background:#9A9A9A;animation:nvbl 1.1s infinite}
.nvthink i:nth-child(2){animation-delay:.15s}.nvthink i:nth-child(3){animation-delay:.3s}
@keyframes nvbl{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.nvlc{display:flex;align-items:center;gap:10px;margin:2px 0 0 46px;max-width:560px;padding:7px 7px 7px 14px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 36px rgba(0,0,0,.5);animation:nvin .4s .1s both}
.nvlc input{flex:1;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff;font:inherit;font-size:15px;outline:0;height:40px;padding:0}
.nvlcb{flex:none;height:40px;padding:0 18px;border-radius:999px;background:#fff;color:#000!important;font-weight:500;font-size:14px;border:0;cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}
.nvlcb:hover{opacity:.9}
.nvlci{color:#8A8A8A;display:grid}
.nvqr{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px 46px;animation:nvin .4s .2s both}
.nvqr button{height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#D6D6D6;font:inherit;font-size:13.5px;cursor:pointer;transition:background .15s,color .15s}
.nvqr button:hover{background:rgba(255,255,255,.09);color:#fff}
:root[data-theme=dark] .amain .comp{background:linear-gradient(180deg,#151515,#0A0A0A)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:22px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 64px rgba(0,0,0,.65),0 0 0 6px rgba(255,255,255,.02)!important;transition:border-color .2s,box-shadow .2s}
:root[data-theme=dark] .amain .comp:focus-within{border-color:rgba(255,255,255,.3)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 24px 64px rgba(0,0,0,.65),0 0 0 6px rgba(255,255,255,.05)!important}
:root[data-theme=dark] .amain .comp textarea{resize:none!important;background:transparent!important}
:root[data-theme=dark] .amain .tbar .r{display:flex;align-items:center;gap:8px}
.nvmic{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#CFCFCF;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.nvmic:hover{background:rgba(255,255,255,.1);color:#fff}
.nvmic.on{background:#fff;color:#000;border-color:#fff;animation:nvpulse 1.3s infinite}
@keyframes nvpulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.4)}100%{box-shadow:0 0 0 14px rgba(255,255,255,0)}}
@media (max-width:600px){.nvlc{margin-left:0}.nvqr{margin-left:0}:root[data-theme=dark] .amain .chat .bub:not(.me){padding-left:40px!important}}
@media (prefers-reduced-motion:reduce){.nvlc,.nvqr,.amain .chat .bub{animation:none!important}}
/* 11-14 the Recommended pill ran off the card on phones: it sits on its own line under the title there */
@media (max-width:560px){.nvsauto b::after{display:table;margin:6px 0 0}}
/* 11-14 his screenshots: white number squares had white numbers; a product photo that will not load showed a broken icon */
:root[data-theme=dark] .nvn,.amain .nvn{background:#1C1C1C!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)}
.nvpimg0{display:grid;place-items:center;width:100%;aspect-ratio:1;background:linear-gradient(160deg,#1a1a1a,#0b0b0b);color:#bbb;font-size:42px;font-weight:600;letter-spacing:-.02em}
/* 11-14 his ask: a logo, the agent named Nova, Arcads-style "What next?" panel, MakeUGC-style tagged style cards */
.nvmark{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;color:#fff;vertical-align:-4px;flex:none}
.nvmark svg{width:100%;height:100%;display:block}
.logo{display:inline-flex;align-items:center}
.aglow .nvmark.big{width:30px;height:30px;margin:0}
.nvtag{display:inline-flex;align-items:center;gap:8px;margin:2px auto 14px;padding:5px 12px 5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:12.5px;font-weight:500;color:#d6d6d6;background:rgba(255,255,255,.04);letter-spacing:.01em}
.nvtag i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18)}
.ahero{display:flex;flex-direction:column;align-items:center}
.nvpick{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:6px;background:#0b0b0b}
.nvwn{margin:6px 10px 4px;font-size:14px;font-weight:600;color:#fff}
.nvpick .nvopt{background:transparent!important;border:0!important}
.nvpick .nvopt:hover{background:#151515!important}
.nvother{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;cursor:text}
.nvother input{flex:1;min-width:0;background:transparent!important;border:0!important;outline:0;color:#fff!important;font:inherit;font-size:15px;padding:6px 0}
.nvother input::placeholder{color:#8a8a8a}
.nvother .nvn svg{width:14px;height:14px}
.nvxcat{position:absolute;top:12px;left:12px;font-size:12px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.nvxuse{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13.5px;font-weight:500;color:#fff;background:#161616;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 14px;cursor:pointer}
.nvxuse:hover{background:#fff;color:#000}
.nvxuse svg{width:14px;height:14px}
.nvxtick{right:12px!important;left:auto!important}
.nvxc{display:flex;flex-direction:column}.nvxuse{align-self:flex-start;width:auto!important;margin-top:auto!important}.nvxc>p{margin-bottom:12px}
.bub a.btn.sm,.nvbub a.btn.sm{display:inline-flex!important;width:auto!important;margin-top:10px;padding:0 16px;height:36px;align-items:center;border-radius:999px;background:#fff!important;color:#000!important}
@media (max-width:820px){.agentv4.nvlive .nvtop{top:var(--nv-mtop,65px)}}

/* 11-14 phone: bell and avatar scrolled over chat text; let them scroll away with the header */
@media (max-width:820px){.um{position:absolute!important}}

/* 11-14 his ask: the agent's picture was a gray ball; Nova gets the Novads mark */
:root[data-theme=dark] .amain .chat .bub:not(.me)::before,.amain .chat .bub:not(.me)::before{border-radius:50%!important;background:#0E0E0E url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='white'><path d='M4 7.5V28h14.2z'/><path d='M13.8 4H28v20.5z'/></svg>") center/15px 15px no-repeat!important;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 18px rgba(255,255,255,.06)!important}
/* 11-14 his ask: New chat / All chats sat in a black box over the grid; now two floating pills, no box */
.agentv4.nvlive .nvtop{background:transparent!important;pointer-events:none;padding:14px 0 6px!important}
.agentv4.nvlive .nvtop .nvtb{pointer-events:auto;height:34px;padding:0 14px;font-size:13.5px;border-radius:999px;background:rgba(14,14,14,.82)!important;color:#EDEDED!important;border:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 20px rgba(0,0,0,.5)}
.agentv4.nvlive .nvtop .nvtb:hover{border-color:rgba(255,255,255,.3)!important;color:#fff!important}
.agentv4.nvlive .nvtop .nvtb svg{width:15px;height:15px;opacity:.85}

/* 11-14 his ask: one Home button out of a chat; hidden style tag saved with plans; clear History icon */
.agentv4.nvlive .nvtop{justify-content:flex-start!important}
.nvsr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.mempty .mi{background:#161616!important;border:1px solid rgba(255,255,255,.14);color:#fff!important}
.mempty .mi svg.ic{width:24px;height:24px}
.agentv4.nvlive .nvtop .nvhome{margin:0 auto 0 0!important;align-self:flex-start}
/* 11-14 his ask: winning-ad intake card (socials, ad library, past winners, goal) */
.nvin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:4px 0 6px 46px;max-width:680px;padding:16px;border-radius:18px;background:#0B0B0B;border:1px solid rgba(255,255,255,.12)}
.nvin label{display:flex;flex-direction:column;gap:6px;min-width:0}
.nvin label>span{font-size:13px;color:#A1A1A1;font-weight:500}
.nvin input,.nvin textarea{width:100%;background:#151515!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px;color:#fff!important;font:inherit;font-size:15px;padding:10px 12px;outline:0;resize:vertical;box-shadow:none!important}
.nvin input:focus,.nvin textarea:focus{border-color:rgba(255,255,255,.4)!important}
.nvin .nvinw{grid-column:1/-1}
.nvgoal{display:flex;flex-wrap:wrap;gap:8px}
.nvgoal button{font:inherit;font-size:14px;height:36px;padding:0 14px;border-radius:999px;background:#151515;color:#EDEDED;border:1px solid rgba(255,255,255,.14);cursor:pointer}
.nvgoal button[aria-pressed=true]{background:#fff;color:#000;border-color:#fff}
.nvinb{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
@media (max-width:600px){.nvin{grid-template-columns:minmax(0,1fr);margin-left:0;padding:14px}}
.nvin .nvgoal button{background:#151515!important;color:#EDEDED!important;border:1px solid rgba(255,255,255,.16)!important;height:36px!important;padding:0 14px!important;border-radius:999px!important}
.nvin .nvgoal button[aria-pressed=true]{background:#fff!important;color:#000!important;border-color:#fff!important}
/* 11-14 actor library: filters + cards (Arcads' Select actors pattern, our faces) */
.nvwhobox{max-width:980px!important}
.nvafs{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:14px}
.nvafq{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:999px;background:#151515;border:1px solid rgba(255,255,255,.12);flex:1 1 200px;min-width:0}
.nvafq input{flex:1;min-width:0;background:transparent!important;border:0!important;outline:0;color:#fff;font:inherit;font-size:14px;box-shadow:none!important}
.nvafq .ic,.nvafq svg{width:16px;height:16px;opacity:.6}
.nvaf{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#111;border:1px solid rgba(255,255,255,.1)}
html[data-theme="dark"] body .nvaf button{background-color:transparent!important;color:#A1A1A1!important;border:0!important;height:30px;padding:0 12px;border-radius:999px;font:inherit;font-size:13px;cursor:pointer}
html[data-theme="dark"] body .nvaf button[aria-pressed=true]{background-color:#fff!important;color:#000!important}
.nvact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}
.nvwc img,.nvwc .nvwi{aspect-ratio:4/5!important}
.nvwc small{font-size:12px;color:#8A8A8A;padding:0 12px 12px;margin-top:-6px;text-align:left;line-height:1.3}
.nvwc b{text-align:left}
.nvanone{grid-column:1/-1}
@media (max-width:600px){.nvaf{overflow-x:auto;max-width:100%}.nvafq{flex-basis:100%}}
html[data-theme="dark"] body .nvaf button{white-space:nowrap;flex:none}
@media (max-width:600px){.nvact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.nvaf{flex-wrap:nowrap;scrollbar-width:none}.nvafs{gap:8px}}
/* 11-14 his ask: agent + chat bigger and wider, actor picker like a full library */
@media (min-width:1100px){
  .agentv4 .amain{max-width:min(1320px,calc(100vw - 112px))!important}
  .agentv4:not(.nvlive) .comp,.agentv4 .nvchats{max-width:1160px!important}
  .agentv4 .nvchips,.agentv4 .astarts{max-width:1160px!important}
  .agentv4:not(.nvlive) .ttl{font-size:clamp(52px,4.4vw,76px)!important}
  .agentv4:not(.nvlive) .comp textarea{min-height:120px!important;font-size:18px!important}
  :root[data-theme=dark] .agentv4 .chat,.agentv4.nvlive .comp,.agentv4.nvlive .nvtop{max-width:1040px!important}
  :root[data-theme=dark] .agentv4 .chat{font-size:16.5px}
  .nvcons,.nvrwrap{max-width:960px!important}
  .nvin{max-width:860px!important}
  .nvwhobox{max-width:min(1320px,calc(100vw - 64px))!important;width:100%}
  .nvact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:16px!important;max-height:68vh!important}
}
.nvwc img,.nvwc .nvwi{aspect-ratio:9/16!important;object-position:center 30%}
@media (max-width:1099px){.nvwc img,.nvwc .nvwi{aspect-ratio:3/4!important}}
@media (min-width:1100px){:root[data-theme=dark] .agentv4:not(.nvlive) .amain .comp{margin-top:-16px!important}}
/* 11-14 critique: the "Let the agent pick" card was an empty dark box; now a 2x2 of the actors with a sparkle badge */
.nvwc .nvwi.nvmos{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;position:relative;place-items:stretch;overflow:hidden}
.nvwc .nvwi.nvmos img{width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;filter:saturate(.85) brightness(.7)}
.nvwc .nvwi.nvmos i{position:absolute;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:999px;background:#fff;color:#000;display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.5)}
/* 11-14 Integrations tab */
.nvintg{padding:14px 0;border-top:1px solid var(--line,rgba(255,255,255,.08))}.nvintg:first-of-type{border-top:0}
.nvsoon{font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid var(--line,rgba(255,255,255,.12));color:var(--muted,#9a9a9a);white-space:nowrap}
/* 11-14 his ask "the agent box still looks frail": thicker frame, brighter fill, real buttons in the toolbar, AI note under it */
:root[data-theme=dark] .agentv4 .amain .comp{background:linear-gradient(180deg,#1b1b1b 0%,#111 100%)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:24px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 6px rgba(255,255,255,.035),0 30px 80px rgba(0,0,0,.75)!important}
:root[data-theme=dark] .agentv4 .amain .comp:focus-within{border-color:rgba(255,255,255,.38)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 6px rgba(255,255,255,.07),0 30px 80px rgba(0,0,0,.75)!important}
:root[data-theme=dark] .agentv4 .amain .comp textarea::placeholder{color:#8F8F8F;opacity:1}
:root[data-theme=dark] .agentv4 .amain .comp textarea{color:#EDEDED!important}
.agentv4 .comp .tbar{padding:4px 2px 2px}
:root[data-theme=dark] .agentv4 .comp .tbar button:not(.gen):not(.sendb){height:38px;min-height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.05)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;color:#EDEDED!important;font:500 14px/1 var(--nv-font)!important;gap:7px}
:root[data-theme=dark] .agentv4 .comp .tbar button:not(.gen):not(.sendb):hover{background:rgba(255,255,255,.1)!important}
:root[data-theme=dark] .agentv4 .comp .tbar button:not(.gen):not(.sendb) svg{width:16px;height:16px;opacity:.9}
.nvchipwrap{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.nvainote{margin:0;font:400 12.5px/1.4 var(--nv-font);color:#737373;text-align:center}
.agentv4.nvlive .comp{margin-bottom:34px!important}
.agentv4.nvlive .comp::after{content:"Nova is AI and can make mistakes. Check every ad before it runs.";position:absolute;left:0;right:0;bottom:-24px;text-align:center;font:400 12px/1 var(--nv-font);color:#737373;pointer-events:none}
.agentv4.nvlive .comp{position:sticky}
/* 11-14 self-review fixes */
.mbar .nvlogo{display:inline-flex;align-items:center;gap:10px;font-size:15px;text-decoration:none;color:#EDEDED}
:root:not([data-theme=dark]) .mbar .nvlogo{color:#171717}
@media (max-width:640px){.agentv4 .comp .tbar{flex-wrap:nowrap!important;gap:6px!important}.agentv4 .comp .tbar .r{flex:0 0 auto!important;margin-left:auto!important;width:auto!important}
  :root[data-theme=dark] .agentv4 .comp .tbar button:not(.gen):not(.sendb){padding:0 12px;font-size:13.5px!important}}
.nvxgrid{padding-bottom:170px}
.nvxbar::before{content:"";position:absolute;left:50%;width:100vw;transform:translateX(-50%);bottom:-24px;height:200px;background:linear-gradient(to top,#000 45%,rgba(0,0,0,0));z-index:-1;pointer-events:none}
:root:not([data-theme=dark]) .nvxbar::before{background:linear-gradient(to top,#fff 45%,rgba(255,255,255,0))}
.agentv4.nvlive .nvbanwrap{display:none!important}
button[aria-label="Good answer"],button[aria-label="Bad answer"]{filter:grayscale(1) brightness(1.6);opacity:.7}
button[aria-label="Good answer"]:hover,button[aria-label="Bad answer"]:hover{opacity:1}
/* 11-14 critique: banners sit outside .agentv4, hide them once a chat starts; grey thumbs win over older rules */
main:has(.agentv4.nvlive) .nvbanwrap{display:none!important}
.agentv4 button[aria-label="Good answer"],.agentv4 button[aria-label="Bad answer"]{filter:grayscale(1) brightness(1.5)!important;opacity:.65!important}
/* 11-14 final critique: phone logo icon stays white; the lone refresh button on phone History is cut (the page reloads on open) */
.mbar .nvlogo img{display:block;filter:none!important}
@media (max-width:700px){.coltools{display:none!important}}
/* 11-14 his ask: ONE page. Box, recent chats right under it, then Explore styles / My ads tabs. Same width as the box, no dead space */
.nvchats{margin:20px auto 24px!important}
.nvchats .apast:not(.all) .rrow2:nth-of-type(n+5){display:none}
.nvmore{display:block;width:100%;margin:4px 0 2px;padding:10px 12px;border:0;background:none;text-align:left;font:500 13px/1 var(--nv-font);color:#A1A1A1;cursor:pointer;border-top:1px solid rgba(255,255,255,.08)}
.nvmore:hover{color:#EDEDED}
.nvlib{width:100%;max-width:720px;margin:0 auto 72px}
.nvlibt{display:flex;gap:24px;border-bottom:1px solid rgba(255,255,255,.08);margin:0 0 20px}
.nvlibt button{font:500 15px/1 var(--nv-font);letter-spacing:-.01em;color:#737373;background:none;border:0;padding:14px 0;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.nvlibt button:hover{color:#A1A1A1}.nvlibt button.on{color:#EDEDED;border-bottom-color:#EDEDED}
.nvlibb .nvxgrid{padding-bottom:0!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:24px 16px!important}
.nvlibb .mcols{margin-top:0}
.agentv4.nvlive .nvlib,main:has(.agentv4.nvlive) .nvlib{display:none!important}
.mbar #menu{display:none!important}
@media (max-width:600px){.nvlibb .nvxgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 12px!important}.nvlibt{gap:20px}}
/* 11-14 one-page critique: library as wide as the box; the empty chat log left 56px of dead space above the box; long chat titles end in … */
.nvlib{max-width:1160px}
.agentv4:not(.nvlive) .amain>.chat{display:none}
.nvchats .nvrt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
@media (max-width:600px){.agentv4 .ahero .sub,.agentv4 .ahero p{margin-bottom:16px!important}}
/* 11-14 critique: ellipsis needs a block (flex ignored it); the sticky Home bar floated over messages, now it has a solid fade behind it */
.nvchats .nvrt{display:block!important}
.agentv4.nvlive .nvtop{z-index:5;background:linear-gradient(#000 72%,rgba(0,0,0,0))}
:root:not([data-theme=dark]) .agentv4.nvlive .nvtop{background:linear-gradient(var(--bg,#fff) 72%,transparent)}
/* 11-14 guest round: tabs never boxed, breathing room under the hero line */
.nvlibt button{background:none!important;box-shadow:none!important;border-radius:0!important}
.agentv4:not(.nvlive) .hero .sub, .agentv4:not(.nvlive) .ahero p{margin-bottom:28px!important}
html[data-theme] body .nvlibt button, html body .nvlibt button{background-color:transparent!important}
@media (max-width:600px){.agentv4:not(.nvlive) .ahero .ttl{text-align:center!important}}
/* 11-14 his catch: round icon buttons were 36x38 with side padding, icons sat 3-4px right. Perfect circles, icon dead center. */
.agentv4 .comp .tbar :is(.aplus,.nvmic,.send){width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;display:inline-grid!important;place-items:center!important;flex:none!important;gap:0!important}
.agentv4 .comp .tbar :is(.aplus,.nvmic,.send) svg{margin:0!important;display:block}
@media (max-width:600px){.agentv4 .comp .tbar :is(.aplus,.nvmic,.send){width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}}
/* 11-14: equal 19px inset left, right and bottom; typed text lines up with the + button */
.agentv4 .comp{padding:16px 16px 18px!important}
.agentv4 .comp .tbar{padding:4px 2px 0!important}
.agentv4 .comp textarea, .agentv4:not(.nvlive) .comp textarea{padding:20px 6px 8px!important}
/* 11-14 night sims: the actor picker sat 33px off the left edge and ran past the right on phones, chips cut off */
@media (max-width:600px){.nvwhobox{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin-left:auto!important;margin-right:auto!important;left:auto!important;right:auto!important;box-sizing:border-box}
  .nvaf{max-width:100%;overflow-x:auto;scrollbar-width:none}.nvaf::-webkit-scrollbar{display:none}.nvaf button{flex:none}}
/* 11-14 night sims: the credits celebration after paying used the error red (Yipkin's red mapped to --nvp-wrong); brand v3 neutrals instead */
.crb{background:radial-gradient(circle at 50% 46%,rgba(237,237,237,.10),rgba(10,10,10,.96) 62%)!important}
.crbs small{color:#A1A1A1!important}
.crbn{background:none!important;-webkit-text-fill-color:#EDEDED!important;color:#EDEDED!important;font-weight:600!important;letter-spacing:-.04em!important}
.crbc{background:radial-gradient(circle at 32% 26%,#2a2a2a,#151515 70%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 20px 50px rgba(0,0,0,.6)!important}
.crbc i{color:#EDEDED!important}
.crbh{background:conic-gradient(from 0deg,transparent,rgba(237,237,237,.16),transparent,rgba(237,237,237,.08),transparent)!important}
.crbr,.crbr.two{border-color:rgba(237,237,237,.35)!important}
.crbp,.crbp.v{background:#EDEDED!important}
.nvconsent a{color:#EDEDED!important;text-decoration:underline;text-underline-offset:3px}
/* 11-14 night sims: "Let the agent pick" style card was an empty dark tile and its title wrapped around the tag; now a 2x2 of real styles, tag on the picture */
.nvsc .nvsm.nvsmos{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;position:relative;overflow:hidden;background:#0a0a0a}
.nvsc .nvsm.nvsmos img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) brightness(.62)}
.nvsc .nvsm.nvsmos i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:999px;background:#fff;color:#000;display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.nvsc .nvsm.nvsmos i svg{width:22px;height:22px}
.nvsc .nvsm.nvsmos em{position:absolute;left:10px;top:10px;font:600 11px/1 var(--nv-font,inherit);font-style:normal;letter-spacing:.02em;padding:6px 9px;border-radius:999px;background:#fff;color:#000}
.nvsauto b::after{display:none!important;content:none!important}
/* 11-14 night sims: guest tool pages (picture ad, slideshow, hook test) sat in the top-left corner with an empty screen; center the sign-in step */
main > div:has(> .nvgate){max-width:560px;margin:12vh auto 0!important;text-align:center}
main > div:has(> .nvgate) .ttl,main > div:has(> .nvgate) p{text-align:center;margin-left:auto;margin-right:auto}
.nvgate{padding:24px!important;margin-top:24px}.nvgate .btn{width:100%;justify-content:center}
.nvgate{max-width:480px!important;width:100%;margin:24px auto 0!important;box-sizing:border-box}
/* 11-14 night sims #4: on the "Before you start" card the Home pill sat 160 px left of the card (x 204 vs 364). Same column as the card. */
.agentv4 .amain:has(> .aterms:not([hidden])) .nvtop{width:100%!important;max-width:720px!important;margin-inline:auto!important;padding-inline:0!important;box-sizing:border-box}
/* 11-14 night: the sticky Home pill floated over the agent icon and the first lines of chat. Content now fades out under it. */
.agentv4.nvlive .nvtop{background:linear-gradient(#000 0,#000 88%,rgba(0,0,0,0))!important;padding-bottom:12px!important}
/* 11-14 night: on desktop the sticky Home pill stuck at top:0, under the 64 px site header, so a scrolled chat had no visible way home. */
@media (min-width:821px){.agentv4.nvlive .nvtop{top:64px!important}}
.agentv4 .comp.nvdrop{box-shadow:0 0 0 2px #EDEDED inset!important;border-radius:20px}
/* 11-14 night sims #15: Download my data / Delete my account read as plain text; give them real pill buttons */
.card:has(.btn.sm.danger) .btn.sm,.card .btn.sm.danger{height:36px;padding:0 16px;border-radius:999px;background:transparent!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;color:#EDEDED!important;margin-right:8px}
.card .btn.sm.danger{color:#F2A3A3!important;box-shadow:inset 0 0 0 1px rgba(242,163,163,.35)!important}
.card:has(.btn.sm.danger) .btn.sm:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)!important}
.card:has(.btn.sm.danger) .btn.sm{margin-top:14px}
.bub.nvthink .nvthinkt{margin-left:10px;font:400 13px/1 var(--nv-font,inherit);color:#A1A1A1;animation:tsin .3s ease-out}@keyframes tsin{from{opacity:0}to{opacity:1}}
/* 11-14 cold walk: actor filter rows were cut off on phones ("Out and al"); tighter pills so each row fits 390 */
@media (max-width:600px){html[data-theme="dark"] body .nvaf button,.nvaf button{padding:0 9px!important}}

/* 11-14 his "look at how ugly the buttons look, fix this" (phone): quiet tools in the box, one swipe row of suggestions */
@media (max-width:700px){
  :root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb):is(.aplus,.nvmic,.nvcb){box-shadow:none!important;border:0!important}
  :root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb):is(.aplus,.nvmic){background:transparent!important;color:#A1A1AA!important}
  :root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb).nvcb{background:rgba(255,255,255,.07)!important;color:#E4E4E7!important;font-size:13.5px!important;font-weight:500!important;padding:0 14px!important}
  :root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb):is(.aplus,.nvmic,.nvcb):hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
  .agentv4 .nvchips,.agentv4 .astarts{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px!important;margin:14px -16px 0!important;padding:0 16px!important;max-width:none!important;mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .agentv4 .nvchips::-webkit-scrollbar{display:none}
  :root[data-theme=dark] .agentv4 .nvchip,.agentv4 .nvchip{flex:0 0 auto;height:44px!important;padding:0 16px!important;border:0!important;background:rgba(255,255,255,.06)!important;color:#C4C4CC!important;font-size:13px!important;font-weight:500!important;white-space:nowrap}
  :root[data-theme=dark] .agentv4 .nvchip:hover,.agentv4 .nvchip:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
}

/* 11-14 his "I see no difference, Actor and Style look ugly": every width; the box tools are quiet text-and-icon, no pill, no ring (like a chat app's tool row) */
:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb):is(.aplus,.nvmic,.nvcb){box-shadow:none!important;border:0!important;background:transparent!important;color:#8E8E96!important;border-radius:10px!important}
:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb).nvcb{padding:0 10px!important;gap:6px!important;font-size:14px!important;font-weight:500!important;letter-spacing:0}
:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb).nvcb svg{width:17px!important;height:17px!important;opacity:.9}
:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb):is(.aplus,.nvmic,.nvcb):hover,:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb).nvcb.on{background:rgba(255,255,255,.06)!important;color:#F4F4F5!important}
/* same day: suggestions never break onto two lines at any width; one row that swipes when it runs out of room */
.agentv4 .nvchips,.agentv4 .astarts{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;justify-content:flex-start!important}
:root[data-theme=dark] .agentv4 .nvchip,.agentv4 .nvchip{flex:0 0 auto;white-space:nowrap;border:0!important;background:rgba(255,255,255,.06)!important;color:#C4C4CC!important;font-size:14px!important;font-weight:500!important}
/* 11-14 his "those are all gray, the user can't see it": box tools in near-white so they read clearly */
:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb):is(.aplus,.nvmic,.nvcb){color:#F4F4F5!important}
:root[data-theme] .agentv4 .comp .tbar button:not(.gen):not(.sendb).nvcb svg{opacity:1}
.agentv4 .comp textarea::placeholder{color:#A1A1AA!important}
/* 11-14 his "the footer looks just ugly, make it higher quality": a real footer under the agent page */
.nvfoot{max-width:1080px;margin:72px auto 0;padding:40px 24px 28px;border-top:1px solid rgba(255,255,255,.08);color:#A1A1AA;font-size:14px}
.nvf-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.nvf-logo{display:inline-flex;align-items:center;gap:10px;color:#F4F4F5!important;text-decoration:none;font-weight:600;letter-spacing:.28em;font-size:15px}
.nvf-logo img{border-radius:8px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.nvf-brand p{margin:14px 0 0;max-width:280px;line-height:1.55;color:#A1A1AA}
.nvf-col{display:flex;flex-direction:column;gap:10px}
.nvf-col b{color:#F4F4F5;font-weight:600;font-size:13px;letter-spacing:.04em;margin-bottom:4px}
.nvf-col a{color:#A1A1AA!important;text-decoration:none;width:max-content;transition:color .15s}
.nvf-col a:hover{color:#F4F4F5!important}
.nvf-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);font-size:12.5px;color:#71717A}
@media (max-width:700px){.nvf-top{grid-template-columns:1fr 1fr 1fr;gap:28px 12px}.nvf-brand{grid-column:1/-1}.nvfoot{margin-top:48px;padding:32px 20px 24px;font-size:13.5px}.nvf-col{gap:2px}.nvf-col a{min-height:36px;display:flex;align-items:center}.nvf-bot{flex-direction:column;gap:6px;margin-top:28px}}

/* 11-14 his ask: paste placeholder higher, box tighter, no dead air below it */
.agentv4:not(.nvlive) .comp textarea,
:root[data-theme=dark] .amain .comp textarea{min-height:58px!important;padding-top:16px!important;padding-bottom:4px!important}
@media (max-width:700px){
  .agentv4:not(.nvlive) .comp textarea,
  :root[data-theme=dark] .amain .comp textarea{min-height:52px!important;padding-top:14px!important}
}

/* 11-14 his ask: the first-month discount, shown on the front page (agent hero) */
.ahero .nvoffer{margin:14px auto 0;font-size:14px;color:#A1A1A1;letter-spacing:-.01em}
.ahero .nvoffer b{color:#EDEDED;font-weight:600;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 11px;margin-right:4px}

/* 11-14 his ask: discount shown on the in-app plans cards */
.plc .ploff{margin:8px 0 2px;font-size:13px;color:#A1A1A1;letter-spacing:-.01em}
.plc .ploff b{color:#EDEDED;font-weight:600}
/* 11-14 flow walk: the offer line centred as one block on phones, pill never splits from its words */
.ahero .nvoffer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;text-align:center;max-width:520px}
.ahero .nvoffer b{margin-right:0}
/* 11-14 his ask: ready-made asks stack three to a row (never a sideways slider), with a step line saying where the person is */
.agentv4 .nvchipwrap{max-width:720px;margin:18px auto 0;gap:12px}
.agentv4 .nvstep{margin:0;font:500 12px/1 var(--nv-font);letter-spacing:.08em;text-transform:uppercase;color:#8A8A8A}
.agentv4 .nvchipwrap .nvchips{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;overflow:visible!important;width:100%;max-width:720px;margin:0!important;padding:0!important}
.agentv4 .nvchipwrap .nvchip{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;height:auto!important;min-height:64px;padding:12px 14px!important;border-radius:14px!important;text-align:left;white-space:normal;line-height:1.25}
.agentv4 .nvchipwrap .nvchip b{font:600 14px/1.25 var(--nv-font);color:inherit}
.agentv4 .nvchipwrap .nvchip small{font:400 12px/1.3 var(--nv-font);color:#7A7A7A}
@media (max-width:520px){.agentv4 .nvchipwrap .nvchips{grid-template-columns:repeat(2,minmax(0,1fr))}.agentv4 .nvchipwrap .nvchip{min-height:58px;padding:10px 12px!important}.agentv4 .nvchipwrap .nvchip b{font-size:13px}}
.agentv4 .nvainote{width:100%;padding:0 8px;box-sizing:border-box;white-space:normal}
/* 11-14 his ask: smooth luxury banner, "2 months free with yearly" at the top for subscribers */
.nvlux{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"k b go" "k s go";align-items:center;column-gap:14px;row-gap:2px;width:100%;max-width:720px;margin:0 auto 18px;padding:14px 18px;border-radius:16px;text-decoration:none;color:#F3E9D2;background:linear-gradient(110deg,#17130C 0%,#221B10 45%,#14110B 100%);border:1px solid rgba(214,181,120,.32);box-shadow:inset 0 1px 0 rgba(255,236,190,.08),0 18px 50px rgba(0,0,0,.45);overflow:hidden;box-sizing:border-box}
.nvlux::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,226,160,.10) 50%,transparent 70%);transform:translateX(-100%);animation:nvluxs 6s ease-in-out infinite}
@keyframes nvluxs{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.nvlux::after{animation:none;display:none}}
.nvlux-k{grid-area:k;font:600 11px/1 var(--nv-font);letter-spacing:.12em;text-transform:uppercase;color:#1A1409;background:linear-gradient(180deg,#E9CF96,#B8925A);padding:7px 10px;border-radius:999px}
.nvlux b{grid-area:b;font:600 16px/1.2 var(--nv-font);letter-spacing:-.01em;color:#F7EBCF}
.nvlux-s{grid-area:s;font:400 13px/1.3 var(--nv-font);color:#B9A988}
.nvlux-go{grid-area:go;font-size:18px;color:#E2C589;transition:transform .2s}
.nvlux:hover .nvlux-go{transform:translateX(3px)}
@media (max-width:520px){.nvlux{margin:4px 0 14px;padding:12px 14px;column-gap:10px}.nvlux b{font-size:14.5px}.nvlux-s{font-size:12px}}
/* 11-14: the first-month offer as one calm centred line */
.ahero .nvoffer span{color:#9A9A9A}
.agentv4 .nvchipwrap .nvchip{min-width:0;overflow:hidden}.agentv4 .nvchipwrap .nvchip b,.agentv4 .nvchipwrap .nvchip small{display:block;max-width:100%;white-space:normal!important;overflow-wrap:break-word;text-overflow:clip}
/* 11-14: beat the old slider rules (44px pills, 5th+ hidden) inside the stacked grid */
:root .agentv4 .nvchipwrap .nvchips button.nvchip{display:flex!important;height:auto!important;min-height:64px;flex:initial!important;padding:12px 14px!important;font-size:14px!important}
:root[data-theme=dark] .agentv4 .nvchipwrap .nvchips button.nvchip{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;color:#EDEDED!important}
:root[data-theme=dark] .agentv4 .nvchipwrap .nvchips button.nvchip:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.26)!important}
@media (max-width:520px){:root .agentv4 .nvchipwrap .nvchips button.nvchip{min-height:58px;padding:10px 12px!important}}
/* 11-14 his ask (settings visual pass): the settings menu as an even two-column list, every item lined up the same way */
@media (max-width:700px){.snav{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;padding:8px!important}
.snav button{justify-content:flex-start!important;text-align:left!important;padding:0 12px!important;min-height:44px;border-radius:12px!important;width:100%}}
.spane .nvlux{margin:0 0 14px}
/* 11-14 late his ask: no big cards. Small calm pills that wrap, centred */
.agentv4 .nvchipwrap .nvchips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;grid-template-columns:none!important}
:root .agentv4 .nvchipwrap .nvchips button.nvchip{display:inline-flex!important;align-items:center;min-height:0!important;height:36px!important;padding:0 14px!important;border-radius:999px!important;font:500 13.5px/1 var(--nv-font)!important;white-space:nowrap!important;width:auto!important;flex:0 0 auto!important}
:root[data-theme=dark] .agentv4 .nvchipwrap .nvchips button.nvchip{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;color:#D9D9D9!important}
@media (max-width:520px){:root .agentv4 .nvchipwrap .nvchips button.nvchip{height:34px!important;padding:0 12px!important;font-size:13px!important}.agentv4 .nvstep{font-size:11px;letter-spacing:.06em}}
/* 11-14 late: examples */
.nvex{width:100%;max-width:880px;margin:56px auto 24px;padding:0 16px;box-sizing:border-box}
.nvex-h{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:22px}
.nvex-h h2{margin:0;font:600 26px/1.15 var(--nv-font);letter-spacing:-.02em;color:#F5F5F5}
.nvex-h p{margin:0;font:400 14.5px/1.45 var(--nv-font);color:#8E8E8E;max-width:440px}
.nvex-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nvex-c{position:relative;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:9/16;background:#111;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.nvex-c video{width:100%;height:100%;object-fit:cover;display:block}
.nvex-c figcaption{position:absolute;left:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:500 12px/1 var(--nv-font);color:#fff}
@media (max-width:640px){.nvex{margin-top:40px;padding:0}.nvex-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nvex-h h2{font-size:22px}}
/* 11-14 late his screenshot: actor photos squashed to a strip on iPhone; pictures never shrink */
.nvwc>img,.nvwc>.nvwi,.nvwc>.nvmos{flex:0 0 auto!important;min-height:0;height:auto}
.nvwc{flex:0 0 auto}
/* 11-14 his ask: chatting on the phone looked hard and cluttered. Chat mode = messages + one slim box pinned at the bottom, nothing else */
.agentv4.nvlive .nvex,main:has(.agentv4.nvlive) .nvex,body:has(.agentv4.nvlive) .nvfoot{display:none!important}
@media (max-width:700px){
  :root .agentv4.nvlive .nvtop .nvtb{height:32px!important;min-height:0!important;padding:0 12px!important;font-size:13px!important}
  :root .agentv4.nvlive .chat{padding-bottom:150px!important}
  :root .agentv4.nvlive .comp{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(26px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;margin:0!important;border-radius:22px!important;padding:0!important}
  :root .agentv4.nvlive .comp textarea{min-height:44px!important;max-height:30vh;font-size:16px!important;line-height:1.4!important;padding:12px 14px 2px!important}
  :root .agentv4.nvlive .comp .tbar{height:auto!important;min-height:0!important;padding:2px 6px 6px!important;gap:2px!important}
  :root .agentv4.nvlive .comp .tbar button{min-height:0!important;height:34px!important;min-width:34px!important;padding:0 8px!important}
  :root .agentv4.nvlive .comp .tbar .nvcb span{display:none!important}
  :root .agentv4.nvlive .comp .tbar .send{width:36px!important;min-width:36px!important;height:36px!important;padding:0!important}
  :root .agentv4.nvlive .comp::after{content:"Nova can make mistakes. Check every ad."!important;bottom:-19px!important;font-size:11px!important;line-height:1!important}
  :root[data-theme=dark] .agentv4.nvlive .comp{box-shadow:0 -18px 30px #000,0 10px 30px rgba(0,0,0,.6)!important}
  :root .agentv4.nvlive .nvqr{margin:8px 0 4px!important;gap:6px!important}
  :root .agentv4.nvlive .nvqr button{min-height:0!important;height:32px!important;padding:0 12px!important;font-size:13px!important}
  :root .agentv4.nvlive .nvlc{padding:5px 5px 5px 12px!important}
  :root .agentv4.nvlive .nvlc .nvlcb{height:36px!important;min-height:0!important;padding:0 14px!important}
}
/* 11-14 his Arcads account-menu screenshot, made cleaner: account, plan, credits, workspace, every brand */
.ump.nvum{width:min(320px,calc(100vw - 24px))!important;padding:8px!important;border-radius:18px!important;background:rgba(14,14,14,.96)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 24px 70px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.05)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 80px);overflow:auto}
.ump.nvum[hidden]{display:none!important}
.nvum .nvumtop{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 8px 10px}
.nvum .nvumtop small{font:400 13px/1.3 var(--nv-font,inherit);color:#9A9A9A;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvum .nvumrow{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font:400 14px/1.3 var(--nv-font,inherit);color:#CFCFCF}
.nvum .nvumrow b{font-weight:500;color:#fff;font-variant-numeric:tabular-nums}
.nvum .nvumbtn{height:30px;padding:0 14px;border-radius:999px;background:#fff;color:#000!important;font:500 13px/30px var(--nv-font,inherit);text-decoration:none}
.nvum .nvumbtn:hover{opacity:.9}
.nvum .nvumbar{margin:2px 10px 8px;height:4px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.nvum .nvumbar span{display:block;height:100%;background:linear-gradient(90deg,#D9C08A,#fff);border-radius:99px}
.nvum .nvumws{display:flex;align-items:center;gap:10px;margin:4px 0 2px;padding:12px 10px 8px;border-top:1px solid rgba(255,255,255,.07)}
.nvum .nvumws b{display:block;font:500 14px/1.3 var(--nv-font,inherit);color:#fff}
.nvum .nvumws small{display:block;font:400 12px/1.3 var(--nv-font,inherit);color:#8A8A8A;margin-top:2px}
.nvum .nvav{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:linear-gradient(180deg,#2A2A2A,#1A1A1A);border:1px solid rgba(255,255,255,.1);color:#fff;font:600 12.5px/1 var(--nv-font,inherit)}
.nvum .nvav.big{width:34px;height:34px;border-radius:11px;font-size:14px}
.nvum .nvav.add{background:transparent;border-style:dashed;color:#BDBDBD}
.nvum .nvav svg{width:14px;height:14px}
.nvum .nvumlist{display:flex;flex-direction:column;gap:2px;padding:2px 0}
.nvum .nvbr{display:flex;align-items:center;gap:2px;border-radius:12px;padding-right:6px;transition:background .15s}
.nvum .nvbr:hover,.nvum .nvbr.on{background:rgba(255,255,255,.06)}
.nvum .nvbrm{flex:1;min-width:0;display:flex!important;align-items:center;gap:10px;height:42px!important;min-height:0!important;padding:0 10px!important;background:none!important;border:0;color:#E6E6E6;font:400 14px/1 var(--nv-font,inherit);cursor:pointer;text-align:left}
.nvum .nvbrm span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvum .nvbr.on .nvbrm{color:#fff;font-weight:500}
.nvum .nvbrx{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:0;background:none;color:#8A8A8A;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}
.nvum .nvumtop .nvbrx,.nvum .nvbr:hover .nvbrx,.nvum .nvbrx:focus-visible{opacity:1}
@media (hover:none){.nvum .nvbr.on .nvbrx{opacity:1}}
.nvum .nvbrx:hover{background:rgba(255,255,255,.08);color:#fff}
.nvum .nvbrx svg{width:15px;height:15px}
.nvum .nvbrok{display:grid;place-items:center;width:24px;color:#D9C08A}
.nvum .nvbrok svg{width:16px;height:16px}
.nvum .nvumadd{display:flex!important;align-items:center;gap:10px;height:42px;min-height:0!important;padding:0 10px!important;border:0;border-radius:12px;background:none;color:#BDBDBD;font:400 14px/1 var(--nv-font,inherit);cursor:pointer}
.nvum .nvumadd:hover{background:rgba(255,255,255,.06);color:#fff}
.nvum .nvumsep{height:1px;margin:6px 4px;background:rgba(255,255,255,.07)}
.nvum [role=menuitem]:not(.nvbrm):not(.nvumadd){min-height:40px!important;color:#CFCFCF;font-size:14px}
:root .ump.nvum button.nvbrm,:root .ump.nvum button.nvumadd,:root .ump.nvum button.nvbrx{background-color:transparent!important}
:root .ump.nvum button.nvumadd:hover,:root .ump.nvum button.nvbrx:hover{background-color:rgba(255,255,255,.07)!important}
/* 11-14 his ask: onboarding questions, one per screen, tap and go */
.nvsv{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nvsvc{width:min(480px,100%);padding:22px 22px 18px;border-radius:24px;background:linear-gradient(180deg,#151515,#0B0B0B);border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 100px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06);color:#fff;font-family:var(--nv-font,inherit)}
.nvsvbar{height:3px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.nvsvbar span{display:block;height:100%;background:linear-gradient(90deg,#D9C08A,#fff);border-radius:99px;transition:width .3s}
.nvsvtop{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px}
.nvsvtop small{font-size:12.5px;color:#8A8A8A;letter-spacing:.02em}
.nvsvskip,.nvsvback{height:30px;padding:0 10px;border:0;border-radius:8px;background:none!important;color:#8A8A8A;font:inherit;font-size:13.5px;cursor:pointer}
.nvsvskip:hover,.nvsvback:hover{color:#fff}
.nvsvc h2{margin:2px 0 4px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.01em}
.nvsvsub{margin:0;color:#8A8A8A;font-size:13.5px}
.nvsvg{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 6px}
.nvsvp{height:40px;min-height:0!important;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03)!important;color:#DADADA;font:inherit;font-size:14.5px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.nvsvp:hover{background:rgba(255,255,255,.08)!important;color:#fff}
.nvsvp.on{background:rgba(217,192,138,.14)!important;border-color:rgba(217,192,138,.7);color:#fff}
.nvsvnav{display:flex;align-items:center;justify-content:space-between;margin-top:10px;min-height:38px}
.nvsvnext{height:38px;padding:0 20px;border:0;border-radius:999px;background:#fff!important;color:#000;font:inherit;font-weight:500;font-size:14px;cursor:pointer}
.nvsvnext:disabled{opacity:.35;cursor:default}
@media (max-width:600px){.nvsv{place-items:center;padding:16px}.nvsvc{border-radius:22px;padding:18px}.nvsvc h2{font-size:20px}.nvsvp{height:38px;font-size:14px;padding:0 14px}}
@media (prefers-reduced-motion:reduce){.nvsv{animation:none}}

/* 11-14 late his ask: box higher on the phone, AI notice right under it */
.agentv4 .nvchipwrap .nvainote{margin:-4px 0 4px}
@media (max-width:600px){.agentv4:not(.nvlive) .ahero{margin-top:6px!important}.agentv4:not(.nvlive) .ahero p{font-size:16px!important;margin:10px 0 18px!important;max-width:330px}.agentv4:not(.nvlive) .ahero .aglow{transform:scale(.8)}}

/* 11-14 night his ask: no gold pill anywhere on the home (pills + the examples label) */
.nvex .nvlux-k{background:none!important;color:#8A8A8A!important;padding:0!important;letter-spacing:.14em}
.agentv4 .nvchipwrap .nvchips{padding:0 6px!important;box-sizing:border-box!important;max-width:100%!important}      /* 11-14 night: a pill touched the screen edge at 390 wide */
.nvsvo{width:100%;height:42px;margin:6px 0 2px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:16px;outline:none}.nvsvo:focus{border-color:rgba(255,255,255,.4)}

/* 11-15 his new example (talking selfie): 5 on desktop; phone keeps 2x2 */
.nvex-g{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:640px){.nvex-g{grid-template-columns:repeat(2,minmax(0,1fr))}.nvex-g>.nvex-c:nth-child(5){display:none}}

/* 11-15 one example + sound button */
.nvex-g.one{grid-template-columns:minmax(0,300px);justify-content:center}
.nvex-snd{position:absolute;right:10px;bottom:10px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.nvex-snd:hover{background:rgba(0,0,0,.75)}.nvex-snd[aria-pressed=true]{background:#fff;color:#000}
@media (max-width:640px){.nvex-g.one{grid-template-columns:minmax(0,260px);justify-content:center}}
/* 11-15 night (Fable review): phone tap targets 44 px and no grey text under 13 px */
@media (max-width:640px){.nvchip{min-height:44px!important;height:auto!important}.umb.umin{min-height:44px;display:inline-flex;align-items:center}.nvlux-k{font-size:13px!important;color:#A3A3A3!important}.nvainote{font-size:13px;color:#8A8A8A}.nvstep{font-size:13px!important;color:#A3A3A3!important}footer a{display:inline-flex;align-items:center;min-height:44px}}
@media (max-width:640px){:root .agentv4 .nvchipwrap .nvchips button.nvchip{height:44px!important}.nvf-col{gap:0}.nvf-col a{display:inline-flex;align-items:center;min-height:44px}.nvex-c figcaption{font-size:13px!important}}
