:root{--bg:#050b14;--panel:#09172a;--panel2:#0d2038;--line:rgba(146,178,218,.18);--line2:rgba(227,187,99,.34);--text:#eef5ff;--muted:#8fa4bd;--gold:#e8be63;--blue:#69b9f4;--cyan:#66e0d8;--purple:#9b8cff;--green:#69d6a8;--shadow:0 24px 70px rgba(0,0,0,.28);font-family:Inter,system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text)}body{overflow:hidden}button,textarea,select,input{font:inherit}button{cursor:pointer}#network{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:.55;pointer-events:none}.app-shell{height:100dvh;position:relative;z-index:1;display:grid;grid-template-columns:280px 1fr}.sidebar{height:100dvh;background:rgba(5,12,22,.89);backdrop-filter:blur(20px);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;min-width:0}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 5px 18px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.brand-orb{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(232,190,99,.48);color:var(--gold);font-family:"Space Grotesk";font-weight:800;box-shadow:0 0 28px rgba(232,190,99,.12)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.18}.brand small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.new-chat{width:100%;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(232,190,99,.13),rgba(31,74,116,.15));color:var(--text);border-radius:13px;padding:12px 14px;text-align:left;font-weight:700}.new-chat span{color:var(--gold);font-size:18px;margin-right:7px}.sidebar-section{min-height:0;flex:1;margin-top:20px;display:flex;flex-direction:column}.sidebar-label{font-size:10px;color:#71879f;text-transform:uppercase;letter-spacing:.14em;font-weight:800;padding:0 8px}.conversation-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:5px}.conversation-item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;color:#b8c8da;border:1px solid transparent;background:transparent;text-align:left;width:100%;font-size:12px}.conversation-item:hover,.conversation-item.active{background:rgba(255,255,255,.045);border-color:var(--line);color:#fff}.conversation-item .chat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sidebar-bottom{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:4px}.side-action{border:0;background:transparent;color:#a8bbcf;text-decoration:none;padding:9px 8px;border-radius:9px;text-align:left;font-size:12px;display:flex;align-items:center;gap:9px}.side-action:hover{background:rgba(255,255,255,.04);color:white}.privacy-note{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:10px;color:#7890aa;font-size:10px;display:flex;gap:8px;line-height:1.4}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#60758a;box-shadow:0 0 0 4px rgba(96,117,138,.08);flex:0 0 auto;margin-top:3px}.status-dot.ready{background:var(--green);box-shadow:0 0 0 4px rgba(105,214,168,.08)}.status-dot.loading{background:var(--gold);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.35}}
.chat-main{min-width:0;height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 60% 0%,rgba(32,57,95,.18),transparent 35%)}.chat-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(5,11,20,.56);backdrop-filter:blur(16px)}.header-left,.header-actions,.title-row,.engine-pill{display:flex;align-items:center}.header-left{gap:12px}.title-row{gap:9px}.title-row h1{font-family:"Space Grotesk";font-size:19px;margin:0}.beta{font-size:8px;font-weight:800;letter-spacing:.13em;color:var(--gold);border:1px solid rgba(232,190,99,.3);border-radius:99px;padding:3px 6px}.header-left p{margin:3px 0 0;color:#738aa4;font-size:10px}.header-actions{gap:10px}.engine-pill{gap:8px;padding:8px 10px;border-radius:99px;border:1px solid var(--line);background:rgba(10,25,44,.72);font-size:10px;color:#9eb2c8}.engine-pill .status-dot{margin:0}.icon-btn{width:36px;height:36px;border:1px solid var(--line);background:rgba(10,25,44,.64);border-radius:10px;color:#b9c8da;display:grid;place-items:center}.icon-btn:hover{color:white;border-color:rgba(105,185,244,.35)}.mobile-only{display:none}
.chat-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 22px 30px;scrollbar-width:thin;scrollbar-color:#203954 transparent}.welcome{width:min(880px,100%);margin:0 auto;padding:8vh 0 24px;text-align:center}.nova-mark{margin:0 auto 20px;width:62px;height:62px;border-radius:19px;display:grid;place-items:center;font:700 30px "Space Grotesk";color:var(--gold);background:linear-gradient(145deg,#102c4c,#081524);border:1px solid rgba(105,185,244,.26);box-shadow:0 0 45px rgba(105,185,244,.12)}.eyebrow{font-size:9px;letter-spacing:.22em;color:var(--gold);font-weight:800}.welcome h2{font:700 clamp(32px,5vw,54px)/1.06 "Space Grotesk";letter-spacing:-.04em;margin:10px 0}.welcome h2 span{background:linear-gradient(100deg,#fff 25%,#efc965 60%,#66bdf8);background-clip:text;-webkit-background-clip:text;color:transparent}.welcome-copy{color:var(--muted);font-size:14px;max-width:600px;margin:0 auto 24px;line-height:1.6}.model-setup{border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,36,61,.76),rgba(7,17,31,.78));border-radius:18px;padding:16px;text-align:left;box-shadow:var(--shadow);margin:0 auto 18px}.setup-head{display:flex;gap:16px;justify-content:space-between;align-items:center}.setup-head>div{display:flex;flex-direction:column;gap:3px}.setup-head b{font-size:13px}.setup-head span{font-size:10px;color:var(--muted)}select{background:#071422;border:1px solid var(--line);border-radius:10px;color:#dce8f6;padding:9px 11px;font-size:11px;max-width:280px}.load-btn{width:100%;margin-top:13px;padding:12px 14px;border:0;border-radius:11px;background:linear-gradient(135deg,#e8be63,#d99e35);color:#07111d;font-weight:800}.load-btn:disabled{opacity:.5;cursor:wait}.progress-wrap{margin-top:13px}.progress-track{height:6px;border-radius:99px;background:#07111f;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--blue));transition:width .25s}.progress-meta{display:flex;justify-content:space-between;color:#7890aa;font-size:9px;margin-top:6px}.compat-note{font-size:10px;color:#879bb3;margin:10px 0 0}.compat-note.error{color:#ff9c9c}.suggestion-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}.suggestion{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(9,23,42,.6);color:var(--text);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px}.suggestion>span{grid-row:1/3;font-size:20px}.suggestion b{font-size:12px}.suggestion small{color:var(--muted);font-size:9px;margin-top:3px}.suggestion:hover{border-color:rgba(105,185,244,.38);background:rgba(15,34,58,.78)}
.messages{width:min(900px,100%);margin:0 auto;padding:28px 0 80px}.messages:not(:empty)+*{}.message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;margin-bottom:26px}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font:700 14px "Space Grotesk"}.message.user .avatar{background:#18304e;border:1px solid rgba(105,185,244,.22);color:#b9ddff}.message.assistant .avatar{background:linear-gradient(145deg,#173655,#091929);border:1px solid rgba(232,190,99,.24);color:var(--gold)}.message-body{min-width:0;padding-top:4px}.message-role{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#6d8299;font-weight:800;margin-bottom:7px}.message-content{font-size:14px;line-height:1.7;color:#d9e4f0;overflow-wrap:anywhere}.message.user .message-content{white-space:pre-wrap}.message-content p{margin:0 0 12px}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3{font-family:"Space Grotesk";line-height:1.25;margin:18px 0 8px}.message-content h2{font-size:20px}.message-content h3{font-size:16px}.message-content ul,.message-content ol{padding-left:20px}.message-content li{margin:5px 0}.message-content pre{position:relative;background:#030912;border:1px solid var(--line);padding:14px;border-radius:12px;overflow:auto;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#cce3ff}.message-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0b1b2d;padding:2px 5px;border-radius:5px;color:#9dd3ff}.message-content pre code{background:none;padding:0;color:inherit}.typing-cursor::after{content:"▋";color:var(--gold);animation:blink .8s infinite}@keyframes blink{50%{opacity:0}}
.composer-wrap{padding:12px 22px max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(5,11,20,.9) 28%)}.composer{width:min(900px,100%);margin:0 auto;border:1px solid rgba(146,178,218,.25);background:rgba(8,20,36,.93);border-radius:18px;padding:12px 12px 9px;box-shadow:0 10px 50px rgba(0,0,0,.3)}.composer:focus-within{border-color:rgba(232,190,99,.42);box-shadow:0 0 0 3px rgba(232,190,99,.05)}#promptInput{width:100%;resize:none;max-height:180px;overflow-y:auto;border:0;outline:0;background:transparent;color:var(--text);font-size:14px;line-height:1.5;padding:4px 5px 8px}#promptInput::placeholder{color:#607791}.composer-bottom{display:flex;align-items:center;justify-content:space-between}.composer-tools{font-size:9px;color:#6f859d;display:flex;gap:10px;align-items:center}.tool-chip{border:1px solid var(--line);background:#0a1a2d;color:#b8c9da;border-radius:8px;padding:5px 8px;font-size:9px}.send-btn{width:34px;height:34px;border:0;border-radius:10px;background:linear-gradient(135deg,#efc76b,#d99e35);color:#07111d;font-weight:900;font-size:19px}.send-btn:disabled{background:#14263b;color:#566a80;cursor:not-allowed}.footer-note{text-align:center;color:#647a91;font-size:9px;margin:7px 0 0}
.settings-dialog{width:min(560px,calc(100% - 24px));border:1px solid var(--line);border-radius:20px;background:#071423;color:var(--text);box-shadow:0 30px 100px rgba(0,0,0,.55);padding:0}.settings-dialog::backdrop{background:rgba(0,5,12,.72);backdrop-filter:blur(8px)}.settings-dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{font:700 26px "Space Grotesk";margin:3px 0 18px}.settings-dialog label{display:grid;gap:7px;margin:15px 0;font-size:11px;font-weight:700}.settings-dialog select,.settings-dialog textarea{width:100%;max-width:none;background:#05101d;border:1px solid var(--line);color:#dce8f4;border-radius:10px;padding:10px;resize:vertical}.settings-dialog input[type=range]{width:100%}.dialog-info{margin-top:15px;border:1px solid var(--line);background:#0b1d32;border-radius:12px;padding:12px}.dialog-info b{font-size:11px}.dialog-info p{font-size:9px;color:var(--muted);line-height:1.5;margin:4px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.primary-btn,.secondary-btn{padding:9px 13px;border-radius:9px;font-weight:800;font-size:11px}.primary-btn{border:0;background:var(--gold);color:#07111d}.secondary-btn{border:1px solid var(--line);background:transparent;color:#b9c9da}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:min(310px,88vw);z-index:20;transform:translateX(-102%);transition:transform .2s;box-shadow:20px 0 70px rgba(0,0,0,.45)}.sidebar.open{transform:none}.mobile-only{display:grid}.chat-header{padding:0 14px}.engine-pill span:last-child{display:none}.chat-scroll{padding-left:12px;padding-right:12px}.composer-wrap{padding-left:10px;padding-right:10px}.welcome{padding-top:5vh}.setup-head{align-items:stretch;flex-direction:column}.setup-head select{max-width:none;width:100%}.suggestion-grid{grid-template-columns:1fr}.messages{padding-bottom:55px}}
@media(max-width:480px){.welcome h2{font-size:34px}.welcome-copy{font-size:12px}.model-setup{padding:13px}.message{grid-template-columns:28px minmax(0,1fr);gap:9px}.avatar{width:28px;height:28px;border-radius:8px}.message-content{font-size:13px}.title-row h1{font-size:17px}.footer-note{font-size:8px}.chat-header{height:60px}.composer{border-radius:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}#network{display:none}}
.attachment-bar{margin:0 0 8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attachment-pill{display:flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid rgba(105,185,244,.25);background:#0b2138;border-radius:10px;color:#bcd4ec;font-size:10px}.attachment-pill b{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-pill button{border:0;background:transparent;color:#8fa4bd;padding:0 2px}.message-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.message-action{border:1px solid var(--line);background:#08182a;color:#a9c1d8;border-radius:8px;padding:6px 9px;font-size:9px;font-weight:700}.message-action:hover{border-color:rgba(232,190,99,.4);color:#fff}.tool-result{margin:10px 0;padding:11px 12px;border:1px solid rgba(105,214,168,.22);background:rgba(15,49,53,.28);border-radius:11px;color:#bfe9dd;font-size:11px;white-space:pre-wrap}.setting-hint{font-weight:400;color:var(--muted);font-size:9px}.settings-dialog input[type=url]{width:100%;background:#05101d;border:1px solid var(--line);color:#dce8f4;border-radius:10px;padding:10px}.capability-strip{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 0 18px}.capability-chip{font-size:9px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;color:#91a9c0;background:rgba(9,23,42,.45)}
@media(max-width:480px){.attachment-pill b{max-width:200px}.message-actions{gap:5px}.message-action{font-size:8px;padding:6px 7px}}
.source-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.source-link{display:inline-flex;max-width:100%;align-items:center;border:1px solid rgba(105,185,244,.24);background:#07192a;color:#9fc6e8;border-radius:8px;padding:6px 9px;font-size:9px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link:hover{border-color:rgba(232,190,99,.42);color:#fff}@media(max-width:480px){.source-link{max-width:100%;font-size:8px}}
.tool-chip.listening{border-color:rgba(105,214,168,.7);color:#bff4dd;box-shadow:0 0 0 3px rgba(105,214,168,.08)}
.attachment-preview{width:42px;height:42px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.vision-note{font-size:9px;color:#7890aa;margin-top:5px}
.message-action.speaking{border-color:rgba(105,214,168,.5);color:#bff4dd}

/* V15 final local history controls */
.conversation-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:2px;border-radius:10px}
.conversation-row.active{background:rgba(255,255,255,.025)}
.conversation-row .conversation-item{min-width:0}
.conversation-delete{width:26px;height:26px;border:1px solid transparent;border-radius:8px;background:transparent;color:#71879f;opacity:.18;display:grid;place-items:center;font-size:16px;line-height:1}
.conversation-row:hover .conversation-delete,.conversation-row.active .conversation-delete,.conversation-delete:focus-visible{opacity:1}
.conversation-delete:hover{color:#ffb3b3;border-color:rgba(255,117,117,.25);background:rgba(255,80,80,.08)}
.danger-soft{color:#c9a4a4}
.danger-soft:hover{color:#ffd1d1;background:rgba(255,75,75,.06)}
.data-management{margin-top:15px;border:1px solid rgba(255,117,117,.16);background:rgba(80,22,30,.12);border-radius:12px;padding:12px}
.data-management b{font-size:11px}
.data-management p{font-size:9px;color:var(--muted);line-height:1.5;margin:4px 0 10px}
.data-actions{display:flex;flex-wrap:wrap;gap:7px}
.danger-outline{border-color:rgba(255,117,117,.22);color:#e1b8b8}
.danger-outline:hover{background:rgba(255,80,80,.08);color:#fff;border-color:rgba(255,117,117,.4)}

/* V81 sharpness/startup polish */
.auto-model-setup{padding:12px 14px;opacity:.96}
.auto-model-setup .setup-head{gap:12px}
.auto-model-setup .manual-model-btn{min-height:34px;padding:7px 12px;font-size:12px;background:transparent;border:1px solid rgba(238,181,63,.34);color:var(--text,#eef4ff);margin-top:8px}
.auto-model-setup.loaded{display:none}
@media (max-width:820px){.auto-model-setup .setup-head{align-items:stretch}.auto-model-setup select{width:100%;max-width:none}}

/* V90 — NovaAI composer visual polish
   Keep keyboard accessibility across the site while replacing the generic
   global focus rectangle on the message field with NovaAI's own softer state. */
.composer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:rgba(147,181,220,.25);
  background:
    radial-gradient(130% 120% at 8% 0%,rgba(61,128,190,.08),transparent 43%),
    linear-gradient(145deg,rgba(9,23,41,.97),rgba(6,17,31,.95));
  box-shadow:0 16px 54px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.composer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(100deg,transparent 12%,rgba(243,207,120,.045) 46%,rgba(103,183,255,.035) 62%,transparent 88%);
  opacity:.55;
  z-index:-1;
}
.composer:focus-within{
  border-color:rgba(232,190,99,.58);
  box-shadow:
    0 0 0 1px rgba(232,190,99,.12),
    0 0 26px rgba(232,190,99,.09),
    0 18px 58px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.045);
}
html body #promptInput:focus,
html body #promptInput:focus-visible{
  outline:none!important;
  outline-offset:0!important;
  box-shadow:none!important;
}
#promptInput{caret-color:#efc76b;position:relative;z-index:1}
#promptInput::selection{background:rgba(103,183,255,.24);color:#fff}
.composer-bottom{position:relative;z-index:1}
.tool-chip{transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.tool-chip:hover,.tool-chip:focus-visible{transform:translateY(-1px);border-color:rgba(232,190,99,.34);background:#0d2138;color:#edf6ff}
.send-btn{box-shadow:0 8px 22px rgba(217,158,53,.15);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.send-btn:not(:disabled):hover,.send-btn:not(:disabled):focus-visible{transform:translateY(-1px);box-shadow:0 10px 28px rgba(217,158,53,.25);filter:saturate(1.06) brightness(1.03)}
.send-btn:not(:disabled):active{transform:translateY(0) scale(.97)}
@media (prefers-reduced-motion:reduce){.composer,.tool-chip,.send-btn{transition:none!important}}
@media(max-width:480px){
  .composer{box-shadow:0 10px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.03)}
  .composer:focus-within{box-shadow:0 0 0 1px rgba(232,190,99,.10),0 0 18px rgba(232,190,99,.07),0 12px 38px rgba(0,0,0,.34)}
}



/* V24 sidebar tool-group polish */
.sidebar-bottom > .nova-v4-nav,
.sidebar-bottom > .nova-v5-nav,
.sidebar-bottom > .nova-v6-nav,
.sidebar-bottom > .nova-v8-nav{margin-top:8px}
.sidebar-bottom > .nova-v4-nav button,
.sidebar-bottom > .nova-v5-nav button,
.sidebar-bottom > .nova-v6-nav button,
.sidebar-bottom > .nova-v8-nav button{width:100%}

/* V28 sidebar font consistency: middle tool groups match lower utility controls */
.sidebar-bottom > .nova-v5-nav button,
.sidebar-bottom > .nova-v6-nav button{
  min-height:40px;
  padding:10px 9px;
  font-size:11px;
  line-height:1.2;
  font-weight:500;
  border-radius:12px;
  background:rgba(13,18,30,.7);
  border:1px solid rgba(255,255,255,.12);
  color:#dce8ff;
  text-align:left;
}
.sidebar-bottom > .nova-v5-nav button:hover,
.sidebar-bottom > .nova-v6-nav button:hover{
  border-color:rgba(105,190,255,.48);
  box-shadow:0 0 18px rgba(75,150,255,.12);
  color:#fff;
}
