@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--bg:#f5f6fb;--panel:#10131d;--panel2:#171b28;--line:#e4e7ef;--text:#202638;--muted:#7f8799;--blue:#4778ff;--blue2:#315ee8;--radius:18px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body{background:#05070b;color:var(--text);font-family:Inter,"DM Sans",system-ui,sans-serif;font-size:14px;min-height:100vh}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #7198ff;outline-offset:2px}.app-shell{display:flex;min-height:100vh;background:radial-gradient(ellipse at 55% 0%,rgba(23,132,180,.24),transparent 42%),#05070b;padding:0;gap:0}
/* Premium reference-inspired layout: deep navy navigation, bright clean workspace, restrained blue glow. */
.sidebar{width:244px;flex:0 0 244px;background:linear-gradient(180deg,#111521,#0b0e16);border-right:1px solid #252b39;padding:22px 13px 14px;display:flex;flex-direction:column;gap:5px;z-index:10;color:#e9edf8}.brand-row{display:flex;align-items:center;gap:10px;padding:0 9px 24px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#6fa7ff,#4775ff);box-shadow:0 0 24px #4979ff35;font-size:19px;color:white}.brand-name{font-weight:700;font-size:18px;letter-spacing:-.5px;color:#f8faff}.brand-name span{color:#8fb5ff}.icon-btn{border:0;background:transparent;color:#aeb8cc;border-radius:10px;width:36px;height:36px;font-size:21px;display:grid;place-items:center}.icon-btn:hover,.side-action:hover,.pill-btn:hover{background:#202638}.mobile-close{display:none;margin-left:auto}.side-action{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:#c4cada;font-size:12px;min-height:39px;width:100%;transition:background .15s,border-color .15s}.side-action>span:first-child{font-size:16px;width:18px;text-align:center;color:#aab8d4;flex:0 0 18px}.primary-side{background:#245df4;border-color:#3b70ff;color:#fff;margin-bottom:5px;box-shadow:0 5px 16px #225cf52a}.primary-side:hover{background:#3470ff}.primary-side>span:first-child{font-size:20px;color:#fff}.side-label{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.35px;color:#737d94;font-weight:700;padding:18px 10px 6px}.recent-label{padding-top:19px}.tiny-link{background:none;border:0;color:#8792aa;font-size:10px}.chat-list{display:flex;flex-direction:column;gap:3px;overflow:auto;max-height:28vh}.history-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent;border:0;text-align:left;padding:9px 11px;color:#9da7bc;border-radius:9px;font-size:11px}.history-item:hover,.history-item.active{background:#1c2231;color:#f2f5ff}.sidebar-spacer{flex:1;min-height:20px}.plan-card{display:flex;align-items:center;gap:10px;padding:12px 10px;background:linear-gradient(115deg,#1b2440,#151b2b);border:1px solid #2a3550;border-radius:12px;margin-bottom:6px}.plan-icon{width:30px;height:30px;border-radius:9px;background:#2b3e6b;display:grid;place-items:center;color:#c7d8ff;flex:0 0 30px}.plan-card strong,.plan-card small{display:block}.plan-card strong{font-size:11px;color:#f5f7ff}.plan-card small{font-size:10px;color:#929db5;margin-top:4px}.profile-action{border-top:1px solid #262d3d;border-radius:0;padding-top:13px}.shortcut{margin-left:auto!important;color:#68758f!important}
.main-panel{display:flex;flex-direction:column;min-width:0;flex:1;min-height:100vh;position:relative;background:radial-gradient(ellipse at 52% 0%,rgba(94,126,255,.07),transparent 35%),#f7f8fc}.topbar{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #e7e9f0;background:rgba(255,255,255,.83)}.topbar-title{display:flex;align-items:center;gap:9px;color:#687188;font-size:11px;font-weight:600}.status-dot{width:7px;height:7px;border-radius:50%;background:#37bf85;box-shadow:0 0 9px #37bf8540}.topbar-right{display:flex;align-items:center;gap:8px;position:relative}.topbar .icon-btn{color:#717b90}.topbar .icon-btn:hover{background:#edf0f7}.pill-btn{border:1px solid #e1e5ef;background:#fff;border-radius:20px;padding:8px 12px;font-size:11px;color:#59647b}.pill-btn span{color:#4778ff;margin-right:5px}.more-menu{position:absolute;right:0;top:45px;width:180px;background:#fff;border:1px solid #e1e5ef;border-radius:12px;padding:6px;z-index:20;box-shadow:0 16px 40px #25304b1a}.more-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:8px;color:#4c566c;font-size:12px}.more-menu button:hover{background:#f2f5fb}.hidden{display:none!important}.menu-toggle{display:none}
.conversation{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px 24px 12px;overflow:auto}.welcome{width:min(760px,100%);margin:auto 0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0 30px}.welcome-orb{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#3478ff,#3e4ee8);box-shadow:0 8px 25px #3868ff2e;margin-bottom:21px}.orb-core{font-size:25px;color:white;text-shadow:0 0 18px #fff7}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#607be1}.welcome h1{font-size:clamp(29px,3.4vw,42px);line-height:1.18;letter-spacing:-1.65px;margin:12px 0 12px;font-weight:650;color:#20283a}.welcome h1 span{background:linear-gradient(90deg,#34415e,#5275db);color:transparent;background-clip:text}.welcome p{color:#858da0;font-size:12px;line-height:1.65;margin:0 0 28px}.suggestion-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:11px;text-align:left}.suggestion{display:flex;align-items:center;gap:12px;padding:15px 14px;border-radius:13px;border:1px solid #e4e8f1;background:rgba(255,255,255,.92);text-align:left;min-width:0;transition:transform .15s,border-color .15s,box-shadow .15s;box-shadow:0 3px 12px #26304b05}.suggestion:hover{border-color:#b9c9ff;transform:translateY(-2px);box-shadow:0 8px 22px #263b7510;background:#fff}.suggestion-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:16px;flex:0 0 34px}.blue{background:#e9efff;color:#3767e9}.violet{background:#f0eaff;color:#8055d9}.pink{background:#ffedf5;color:#d85491}.green{background:#e4f7ef;color:#24966b}.suggestion b,.suggestion small{display:block}.suggestion b{font-size:11px;font-weight:650;margin-bottom:5px;color:#2a3348}.suggestion small{font-size:10px;color:#858da0;line-height:1.4}.suggestion-arrow{margin-left:auto;color:#929bb0;font-size:15px;flex:0 0 auto}
.messages{width:min(780px,100%);display:flex;flex-direction:column;gap:22px;padding:10px 0 25px}.message{display:flex;gap:12px;align-items:flex-start;animation:appear .18s ease}.message.user{flex-direction:row-reverse}.avatar{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:0 0 30px;background:#e7edff;color:#416be4;font-size:14px}.user .avatar{background:#e4e9f4;color:#44516c}.message-body{max-width:min(680px,calc(100% - 42px));line-height:1.7;font-size:13px;overflow-wrap:anywhere;color:#3d465a}.user .message-body{background:#edf2ff;border:1px solid #dce5ff;border-radius:16px 5px 16px 16px;padding:12px 15px}.assistant .message-body{padding:3px 0;color:#3e4658}.message-body pre{white-space:pre-wrap;background:#101522;color:#eef2ff;border:1px solid #2b3040;border-radius:12px;padding:14px;overflow:auto}.message-body code{font-family:ui-monospace,monospace;font-size:12px}.message-actions{display:flex;gap:8px;margin-top:10px}.message-actions button{border:1px solid #e0e5ef;background:#fff;color:#68738a;border-radius:8px;padding:5px 8px;font-size:10px}.typing{color:#68738a;display:flex;align-items:center;gap:8px;font-size:12px}.typing:before{content:"";width:7px;height:7px;border-radius:50%;background:#4778ff;box-shadow:0 0 12px #799fff}
.composer-wrap{width:min(800px,calc(100% - 48px));margin:0 auto;padding:8px 0 17px}.composer{display:flex;align-items:flex-end;gap:9px;border:1px solid #d9dfeb;border-radius:18px;padding:9px 10px;background:#fff;box-shadow:0 8px 28px #2736570a}.composer:focus-within{border-color:#9db4ff;box-shadow:0 0 0 3px #4d72c012,0 8px 28px #2736570a}.composer-icon{border:0;background:transparent;color:#748098;width:34px;height:36px;flex:0 0 34px;font-size:22px;border-radius:10px;display:grid;place-items:center}.composer-icon:hover{background:#f0f3fa}.mic-btn{color:#4778ff}.mic-btn.recording{background:#ffe8f0;color:#db477a;animation:pulse 1s infinite}.composer textarea{flex:1;resize:none;max-height:150px;min-height:34px;outline:none;border:0;background:transparent;color:#293247;padding:8px 2px;line-height:1.4}.composer textarea::placeholder{color:#9aa2b3}.send-btn{border:0;border-radius:11px;width:36px;height:36px;background:linear-gradient(140deg,#477fff,#315fe9);color:white;font-size:22px;font-weight:600;box-shadow:0 5px 16px #426bff24;display:grid;place-items:center;flex:0 0 36px}.send-btn:hover{filter:brightness(1.06)}.composer-bottom{display:flex;justify-content:space-between;gap:12px;color:#969daf;font-size:9px;padding:10px 7px 0}.attachment-strip{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.attachment-chip{font-size:10px;padding:7px 9px;background:#fff;border:1px solid #dfe5f0;border-radius:9px;color:#55617a}.attachment-chip button{border:0;background:transparent;color:#69748a}.modal{border:1px solid #dce2ee;background:#fff;color:#263047;border-radius:18px;padding:0;max-width:500px;width:calc(100% - 28px);box-shadow:0 25px 100px #0003}.modal::backdrop{background:#08102099;backdrop-filter:blur(5px)}.modal-card{padding:24px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:6px 0 0;font-size:23px}.modal-head .icon-btn{color:#6d7890}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-top:1px solid #edf0f5}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:13px;color:#30394e}.setting-row small{font-size:11px;line-height:1.5;color:#818ba0;margin-top:5px;max-width:290px}.setting-row input{accent-color:#4778ff;width:17px;height:17px}.outline-btn{border:1px solid #dce3f0;background:#f6f8fc;border-radius:10px;padding:9px 11px;font-size:11px;white-space:nowrap;color:#43516b}.modal-note{font-size:11px;color:#818ba0;line-height:1.6}.modal-done{width:100%;margin-top:14px}
@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{box-shadow:0 0 0 6px #ff7ba022}}
@media(max-width:800px){.sidebar{position:fixed;inset:0 auto 0 0;width:276px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 70px #0008}.sidebar.open{transform:translateX(0)}.mobile-close{display:grid}.menu-toggle{display:grid}.topbar{padding:0 13px;height:57px;flex-basis:57px}.topbar-title{margin-right:auto;margin-left:8px}.conversation{padding:12px 15px 8px}.welcome{padding:15px 0 20px}.welcome h1{font-size:clamp(27px,7vw,35px);letter-spacing:-1.2px}.welcome-orb{width:51px;height:51px;border-radius:16px;margin-bottom:19px}.suggestion-grid{grid-template-columns:1fr;gap:8px}.suggestion{padding:12px}.suggestion-icon{width:32px;height:32px;flex-basis:32px}.composer-wrap{width:calc(100% - 24px);padding-bottom:12px}.composer-bottom{font-size:8px}.composer-bottom span:last-child{display:none}.messages{gap:17px}.message-body{font-size:13px}.pill-btn{padding:7px 10px}.plan-card{margin-top:8px}.main-panel{min-height:100dvh}.suggestion b{font-size:12px}.suggestion small{font-size:10px}}
@media(min-width:801px){.conversation{min-height:0}.welcome{margin:auto 0}.main-panel{height:100vh}.conversation{overflow-y:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.field-label{display:flex;flex-direction:column;gap:7px;margin:12px 0;color:#59647b;font-size:12px;font-weight:600}.field-label input,.field-label textarea{width:100%;border:1px solid #dfe4ef;background:#fbfcff;color:#202638;border-radius:10px;padding:11px;font:inherit;font-weight:400;resize:vertical}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.artifact-list{display:grid;gap:6px;margin-top:12px}.artifact-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #e2e7f1;border-radius:9px;color:#4e5a70}.artifact-item button{border:1px solid #dfe4ef;border-radius:7px;background:#fff;padding:5px 8px}

/* Final polish: brand mark, clearer focus states, long-form dialogs and small-screen usability. */
.brand-mark{padding:0;overflow:hidden;background:transparent}
.brand-mark img{display:block;width:32px;height:32px}
.field-label select{width:100%;border:1px solid #dfe4ef;background:#fbfcff;color:#202638;border-radius:10px;padding:11px;font:inherit;font-weight:400}
.modal-card{max-height:min(84vh,900px);overflow:auto}
.modal[open]{animation:modal-in .16s ease-out}
@keyframes modal-in{from{opacity:0;transform:translateY(5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
button:disabled{opacity:.55;cursor:wait}
.message-body a{color:#315fe9;text-decoration:underline;text-underline-offset:3px}
.message-body ul,.message-body ol{padding-left:22px}
.message-body h1,.message-body h2,.message-body h3{line-height:1.25;letter-spacing:-.3px}
@media(max-width:480px){.topbar-right{gap:4px}.topbar-title{font-size:10px}.pill-btn{font-size:10px;padding:7px 9px}.composer{gap:4px;padding:7px}.composer-icon{width:30px;flex-basis:30px}.send-btn{width:34px;height:34px;flex-basis:34px}.modal-card{padding:18px}.modal-actions>*{flex:1}}

.upgrade-side{color:#315fe9!important;background:linear-gradient(110deg,#eef3ff,#f7f3ff)!important}
.payment-card{width:min(520px,94vw)}
.payment-intro{color:#687188;line-height:1.55}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.price-plan{display:flex;flex-direction:column;gap:7px;text-align:left;border:1px solid #dfe4ef;background:#fff;border-radius:14px;padding:16px;color:#202638;cursor:pointer}
.price-plan strong{font-size:28px;letter-spacing:-1px}.price-plan small{color:#687188}
.price-plan.selected{border-color:#5c70f2;box-shadow:0 0 0 2px #e4e8ff;background:#f8f9ff}
.payment-status{border-radius:10px;background:#f3f5fa;padding:12px;color:#4d5870;font-size:13px;line-height:1.5;margin:12px 0}
.payment-status.error{background:#fff0f0;color:#a42d35}.payment-status.success{background:#eaf9f0;color:#17663a}
.payment-submit{width:100%;justify-content:center}

/* NOVA VIP FINAL THEME — premium midnight glass, electric blue/violet accents */
:root{color-scheme:dark;--bg:#050b18;--panel:#071225;--panel2:#0b1930;--line:#1b3153;--text:#edf4ff;--muted:#91a7c8;--blue:#4c8dff;--blue2:#7557ff;--radius:18px}
body{background:#030817;color:#edf4ff}
.app-shell{background:radial-gradient(ellipse at 54% -10%,rgba(25,91,255,.24),transparent 42%),radial-gradient(ellipse at 88% 40%,rgba(92,39,207,.11),transparent 35%),#030817}
.sidebar{background:linear-gradient(180deg,#061226 0%,#030a16 100%);border-right:1px solid #183052;color:#eaf2ff}
.brand-mark{background:linear-gradient(135deg,#27d5ff,#4367ff 55%,#a34dff);box-shadow:0 0 28px #347aff50}
.brand-name span{color:#6fd8ff}
.side-action{color:#b8c9e4;border-color:transparent;border-radius:12px;min-height:42px;font-size:12px}
.side-action:hover,.side-action:focus-visible{background:#102746;border-color:#244c7b}
.primary-side{background:linear-gradient(110deg,#176dff,#7148ff);border:1px solid #478dff;color:#fff;box-shadow:0 7px 24px #275dff35}
.primary-side:hover{background:linear-gradient(110deg,#3185ff,#875cff)}
.side-label{color:#718bad}
.history-item{color:#9cb1d0}.history-item:hover,.history-item.active{background:#102443;color:#f5f8ff}
.plan-card{background:linear-gradient(120deg,#0e2b4a,#171b43);border-color:#254978}
.main-panel{background:radial-gradient(ellipse at 48% 0%,rgba(29,100,255,.15),transparent 43%),#050c1b}
.topbar{background:rgba(4,13,29,.91);border-bottom:1px solid #1b3153;backdrop-filter:blur(16px)}
.topbar-title{color:#a4bbdc}.topbar .icon-btn{color:#b9cce8}.topbar .icon-btn:hover{background:#132849}
.pill-btn{background:#0a1a31;border-color:#23446e;color:#c8dcfa}.pill-btn:hover{background:#12294b}
.more-menu{background:#0a1830;border-color:#24436a;box-shadow:0 18px 45px #0008}.more-menu button{color:#d5e4fb}.more-menu button:hover{background:#13294a}
.conversation{background:transparent}
.welcome{width:min(900px,100%);padding:24px 20px 30px;border:1px solid #183763;border-radius:24px;background:linear-gradient(125deg,rgba(10,27,62,.94),rgba(6,17,38,.92) 58%,rgba(20,18,65,.88));box-shadow:0 20px 65px #0003, inset 0 1px #ffffff0a;position:relative;overflow:hidden}
.welcome:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#20d5ff,#386bff,#a04dff,transparent)}
.welcome-orb{background:linear-gradient(140deg,#0cc8f4,#4264ff 58%,#9a49ff);box-shadow:0 0 35px #3c7bff55}
.eyebrow{color:#6dd7ff}.welcome h1{color:#f5f8ff}.welcome h1 span{background:linear-gradient(90deg,#64e0ff,#7196ff,#c08aff);color:transparent;background-clip:text}.welcome p{color:#a4b8d7}
.suggestion{background:linear-gradient(135deg,rgba(12,31,62,.96),rgba(10,19,43,.96));border-color:#203e67;box-shadow:0 6px 18px #0002}
.suggestion:hover{background:linear-gradient(135deg,#102d53,#151d49);border-color:#448bff;box-shadow:0 10px 30px #1a6dff20}
.suggestion b{color:#f1f6ff}.suggestion small{color:#9ab0d2}.suggestion-arrow{color:#77cfff}
.blue{background:#0b3c67;color:#60d7ff}.violet{background:#292054;color:#c09aff}.pink{background:#4a1d48;color:#ff9ed9}.green{background:#073f3e;color:#5ce6bf}
.messages{width:min(900px,100%)}.avatar{background:linear-gradient(140deg,#123f78,#3730a3);color:#b8e7ff}.user .avatar{background:#1b2d4b;color:#d4e4ff}
.message-body{color:#d5e3f8}.user .message-body{background:#10294b;border-color:#244a78;color:#f1f6ff}.assistant .message-body{color:#d7e5fb}.message-actions button{background:#0b1a30;border-color:#294568;color:#b5c9e8}
.message-body pre{background:#020916;border-color:#1e3d65;color:#dceaff}.message-body a{color:#65d9ff}
.composer-wrap{width:min(900px,calc(100% - 48px))}.composer{background:rgba(7,20,40,.97);border-color:#24466f;box-shadow:0 12px 38px #0004}.composer:focus-within{border-color:#4b91ff;box-shadow:0 0 0 3px #337fff22,0 12px 38px #0004}.composer-icon{color:#9cb5d8}.composer-icon:hover{background:#132b4b}.mic-btn{color:#69d9ff}.composer textarea{color:#f2f7ff}.composer textarea::placeholder{color:#7f99bd}.send-btn{background:linear-gradient(135deg,#168bff,#6553ff);box-shadow:0 5px 20px #286cff4d}.composer-bottom{color:#718bad}.attachment-chip{background:#0d2140;border-color:#28466c;color:#c3d8f5}
.modal{background:#07152b;color:#e8f2ff;border-color:#24456f;box-shadow:0 25px 100px #0009}.modal::backdrop{background:#010714cc}.modal-head .icon-btn{color:#b8cbe8}.setting-row{border-top-color:#1d3557}.setting-row b{color:#eaf3ff}.setting-row small,.modal-note{color:#91a9cb}.setting-row input{accent-color:#5b8fff}.outline-btn{background:#0d2342;border-color:#2b4b72;color:#d6e7ff}.field-label{color:#adc2e1}.field-label input,.field-label textarea,.field-label select{background:#061126;border-color:#28476d;color:#eff6ff}.artifact-item{border-color:#25466e;color:#d2e3fb}.artifact-item button{background:#102543;border-color:#2b4d75;color:#d6e7ff}
.upgrade-side{color:#d9e7ff!important;background:linear-gradient(110deg,#123c75,#35246b)!important;border-color:#2d5a96!important}
.price-plan{background:#0b1b34;border-color:#28466d;color:#eaf3ff}.price-plan small{color:#9bb3d5}.price-plan.selected{border-color:#6598ff;background:#10254b;box-shadow:0 0 0 2px #477eff25}.payment-intro{color:#a6bddf}.payment-status{background:#10213d;color:#c5d9f5}.payment-status.error{background:#421c2a;color:#ffc0ca}.payment-status.success{background:#0e3b34;color:#9ff1d8}
button:disabled{opacity:.5}
@media(max-width:800px){.welcome{padding:20px 13px;border-radius:19px}.composer-wrap{width:calc(100% - 20px)}.suggestion{background:rgba(10,25,49,.96)}}

/* VIP polish: make the selected Nova look consistent across desktop and mobile. */
.account-btn{border-color:#3567a5;background:linear-gradient(120deg,#0e2d55,#28205a);color:#eaf4ff;font-weight:700;box-shadow:inset 0 1px #ffffff10}
.account-btn:hover{border-color:#65cfff;background:linear-gradient(120deg,#123d70,#38276f)}
.topbar-right{gap:10px}
@media(min-width:1100px){.conversation{padding-top:30px}.welcome{box-shadow:0 22px 70px #0004,inset 0 1px #ffffff0b}.suggestion{min-height:76px}.composer{border-radius:20px}}
@media(max-width:800px){.account-btn{padding:7px 9px}.topbar-right{gap:5px}.topbar{padding:0 12px}}
