*{box-sizing:border-box} :root{color-scheme:dark;--bg:#0c0f17;--panel:#141925;--panel2:#1b2231;--panel3:#20283a;--text:#eff1fa;--muted:#929bb2;--accent:#7d69ff;--accent2:#5bb8e9;--green:#55d29b;--line:#252c3d}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}body{overflow:hidden}button,textarea,input{font:inherit}button{cursor:pointer;color:inherit;border:0}
.app-shell{height:100dvh;display:flex;background:var(--bg)}.sidebar{width:292px;flex:0 0 292px;background:#101520;border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;min-height:0}
.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 25px}.brand-mark,.empty-orb,.about-orb,.splash-orb{display:grid;place-items:center;background:linear-gradient(135deg,#8067ff,#39b5df);color:white;box-shadow:0 8px 32px #6655ed55}.brand-mark{width:42px;height:42px;border-radius:14px;font-size:25px}.brand-name{font-size:22px;font-weight:800;letter-spacing:-.8px}.brand-sub{font-size:9px;letter-spacing:1.8px;color:var(--muted);font-weight:700;margin-top:3px}
.primary-btn{background:linear-gradient(135deg,#856aff,#7158f0);color:white;border-radius:14px;padding:13px 16px;font-weight:700;box-shadow:0 8px 24px #7158f033;transition:.18s}.primary-btn:hover,.send-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.new-chat{width:100%;text-align:left;display:flex;gap:10px;align-items:center;margin-bottom:26px}.new-chat span{font-size:20px}
.side-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:800;padding:0 8px 10px;display:flex;align-items:center;justify-content:space-between}.icon-btn{width:42px;height:42px;border-radius:14px;background:var(--panel2);font-size:22px;display:grid;place-items:center;transition:.18s}.icon-btn:hover{background:#2b3450}.icon-btn.tiny{width:26px;height:26px;font-size:17px;border-radius:8px}
.chat-list{overflow:auto;flex:1;min-height:0}.chat-item{padding:12px 11px;border-radius:13px;display:flex;align-items:center;gap:8px;margin-bottom:6px;cursor:pointer;border:1px solid transparent;transition:.15s}.chat-item:hover{background:var(--panel2)}.chat-item.active{background:#302b58;border-color:#5549a1}.chat-item-main{min-width:0;flex:1}.chat-item-title{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-meta{font-size:10px;color:var(--muted);margin-top:5px}.chat-more{width:28px;height:30px;background:transparent;border-radius:8px;color:var(--muted);font-size:19px}.chat-more:hover{background:#3b4160;color:white}.side-loading{color:var(--muted);font-size:12px;padding:12px}
.sidebar-bottom{border-top:1px solid var(--line);padding-top:13px}.side-link{width:100%;background:transparent;text-align:left;padding:12px;border-radius:10px;color:#c7cbe0;font-size:12px}.side-link:hover{background:var(--panel2)}.side-link span{color:#a996ff;margin-right:9px}.developer{font-size:10px;color:#727d96;padding:12px 12px 0}.developer b{color:#a8b0c5}
.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.topbar{min-height:88px;padding:16px clamp(18px,4vw,48px);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:#0d111b}.topbar-spacer{flex:1}.model-current{min-width:260px;max-width:390px;width:34vw;background:var(--panel);border:1px solid #20283a;border-radius:15px;padding:10px 42px 10px 14px;text-align:left;position:relative;display:flex;flex-direction:column;gap:4px}.model-current:hover{border-color:#6759bd}.model-kicker{font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.5px}.model-current #currentModelName{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:23px;color:var(--muted)}.desktop-new{background:var(--accent);width:46px;height:46px;font-size:25px}.status{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;min-width:125px}.status i{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 12px #55d29b77}.status.busy i{background:#a18aff;animation:pulse 1s infinite}.status.error i{background:#ff6d83}
.conversation-wrap{flex:1;overflow:auto;scroll-behavior:smooth;padding:20px clamp(18px,5vw,70px) 18px}.messages{max-width:980px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end}.empty-state{margin:auto;max-width:560px;width:100%;text-align:center;padding:42px 12px}.empty-orb{width:96px;height:96px;border-radius:50%;font-size:47px;margin:0 auto 28px}.empty-state h1{font-size:30px;letter-spacing:-1px;margin:0 0 12px}.empty-state p{font-size:15px;color:var(--muted);line-height:1.5;margin:0 auto 24px;max-width:440px}.suggestions{display:grid;gap:10px}.suggestions button{background:var(--panel2);border:1px solid transparent;padding:15px 18px;border-radius:15px;text-align:left;color:#dfe3f2;font-size:13px;transition:.18s}.suggestions button:hover{border-color:#6557bd;background:#222b40}
.message-row{display:flex;margin:11px 0;animation:rise .2s ease both}.message-row.user{justify-content:flex-end}.bubble{max-width:min(82%,820px);padding:15px 18px 17px;border-radius:19px;background:var(--panel);line-height:1.65;overflow:hidden;min-width:100px}.user .bubble{background:#403b78;border-bottom-right-radius:6px;max-width:min(78%,700px)}.assistant .bubble{border-bottom-left-radius:6px}.message-label{font-size:10px;font-weight:800;letter-spacing:.4px;color:var(--green);margin-bottom:8px}.user .message-label{color:#d1caff}.message-content{font-size:15px;overflow-wrap:anywhere}.message-content p{margin:0 0 13px}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3{line-height:1.3;margin:23px 0 12px}.message-content h1{font-size:23px}.message-content h2{font-size:20px}.message-content h3{font-size:17px}.message-content ul,.message-content ol{padding-left:24px;margin:10px 0 17px}.message-content li{padding:2px 0}.message-content blockquote{border-left:3px solid var(--accent);padding:5px 14px;margin:12px 0;color:#b9c0d5;background:#111724;border-radius:0 9px 9px 0}.message-content a{color:#a99aff}.message-content table{border-collapse:collapse;width:100%;display:block;overflow:auto}.message-content th,.message-content td{border:1px solid #343d51;padding:8px 10px;text-align:left}.message-content th{background:#252d40}.message-content :not(pre)>code{background:#252c3b;color:#d5caff;padding:2px 6px;border-radius:5px;font-size:.9em}
.code-card{margin:16px 0;background:#090e18;border:1px solid #242d40;border-radius:15px;overflow:hidden}.code-head{height:52px;display:flex;align-items:center;gap:8px;padding:0 12px 0 16px;background:#0e1420;border-bottom:1px solid #20283a}.code-lang{font-size:10px;font-weight:800;color:#9ea9c4;letter-spacing:1px;flex:1;text-transform:uppercase}.code-action{background:#202a3d;color:#c5cce0;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:700}.code-action:hover{background:#393c68;color:white}.code-card pre{margin:0;padding:17px;overflow:auto;max-height:620px;tab-size:4}.code-card pre code{font:13px/1.65 'SFMono-Regular',Consolas,monospace;white-space:pre}.typing-caret{display:inline-block;width:7px;height:17px;background:#a895ff;vertical-align:middle;margin-left:3px;animation:blink .9s steps(2) infinite}
.composer-wrap{padding:12px clamp(18px,5vw,70px) 18px;background:linear-gradient(180deg,transparent,#0c0f17 22%)}.composer{max-width:980px;margin:auto;background:var(--panel);border:1px solid #222b3e;border-radius:23px;display:flex;align-items:flex-end;padding:9px 10px 9px 18px;box-shadow:0 12px 35px #0003}.composer:focus-within{border-color:#6658bf;box-shadow:0 0 0 3px #7d69ff17}.composer textarea{flex:1;resize:none;border:0;outline:0;background:transparent;color:var(--text);font-size:15px;line-height:1.5;padding:11px 4px;max-height:160px;min-height:44px}.composer textarea::placeholder{color:var(--muted)}.send-btn{width:52px;height:52px;flex:0 0 52px;border-radius:16px;background:var(--accent);color:white;font-size:26px;display:grid;place-items:center;transition:.18s}.send-btn:disabled{opacity:.5;cursor:not-allowed}.composer-hint{text-align:center;font-size:9px;color:#66718a;padding-top:8px}
.modal-backdrop{position:fixed;inset:0;background:#03050bd9;backdrop-filter:blur(12px);z-index:20;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex;animation:fade .16s ease}.modal{background:#0d111b;border:1px solid #252d42;border-radius:23px;width:min(600px,100%);max-height:min(82dvh,850px);display:flex;flex-direction:column;padding:22px;box-shadow:0 25px 90px #0009}.modal-head{display:flex;align-items:center;gap:9px;margin-bottom:16px}.modal-head>div{flex:1}.modal h2{font-size:22px;margin:0 0 5px}.modal-head p{font-size:12px;color:var(--muted);margin:0}.close-btn{background:transparent;color:var(--muted);font-size:26px;width:32px;height:32px}.model-search{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:white;outline:0;margin-bottom:12px}.model-list{overflow:auto;min-height:120px}.model-option{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid transparent;border-radius:15px;padding:12px;margin-bottom:8px;cursor:pointer;transition:.15s}.model-option:hover{border-color:#5b50a6}.model-option.selected{background:#302b58;border-color:#6253b5}.model-symbol{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);font-weight:800;color:#b7bed4;font-size:12px}.selected .model-symbol{background:var(--accent);color:white}.model-option-info{flex:1;min-width:0}.model-option-name{font-weight:700;font-size:13px}.model-option-sub{font-size:10px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis}.free-badge{background:#19483f;color:#61d5a8;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800}.model-check{background:var(--accent);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-weight:900}.modal-foot{border-top:1px solid var(--line);padding-top:13px;margin-top:10px;display:flex;align-items:center;gap:15px}.modal-foot span{font-size:10px;color:var(--muted);flex:1}.done-btn{min-width:105px;padding:11px 17px}.loading-card{padding:25px;text-align:center;color:var(--muted);font-size:12px}.about-modal{width:min(440px,100%);align-items:center;text-align:center;padding:34px}.about-close{position:absolute;align-self:flex-end;top:24px;right:24px}.about-orb{width:78px;height:78px;border-radius:50%;font-size:39px;margin-bottom:16px}.about-modal h2{font-size:26px}.about-tag{color:var(--muted);font-size:12px;margin:0 0 18px}.about-modal>p:not(.about-tag){font-size:13px;line-height:1.7;color:#cbd1e1}.about-credit{border-top:1px solid var(--line);width:100%;margin-top:15px;padding-top:17px;display:grid;gap:7px}.about-credit small{color:var(--muted);font-size:10px}.about-credit b{color:#ad9aff;font-size:17px}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#252d42;color:white;padding:12px 18px;border:1px solid #3b4560;border-radius:12px;font-size:12px;z-index:50;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.splash{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .45s,visibility .45s}.splash.hide{opacity:0;visibility:hidden}.splash-orb{width:100px;height:100px;border-radius:50%;font-size:48px;animation:orbIn .9s cubic-bezier(.2,.8,.2,1) both}.splash-name{font-size:30px;font-weight:800;margin-top:22px;animation:rise .7s .25s both}.splash-caption{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700;margin-top:7px;animation:rise .7s .4s both}
.mobile-only,.mobile-brand,.mobile-backdrop{display:none}
@keyframes pulse{50%{opacity:.35;box-shadow:0 0 0 6px #a18aff22}}@keyframes blink{50%{opacity:0}}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes orbIn{from{opacity:0;transform:scale(.55) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:850px){.sidebar{width:260px;flex-basis:260px}.topbar{min-height:76px;padding:12px 18px}.model-current{width:42vw;min-width:190px}.status{min-width:auto}.status span{display:none}}
@media(max-width:640px){body{overflow:hidden}.sidebar{position:fixed;z-index:31;left:0;top:0;bottom:0;width:min(310px,86vw);transform:translateX(-105%);transition:transform .25s;box-shadow:20px 0 60px #0008}.sidebar.open{transform:translateX(0)}.mobile-backdrop.show{display:block;position:fixed;inset:0;background:#0009;z-index:30}.mobile-only{display:grid}.mobile-brand{display:flex;flex-direction:column;gap:2px}.mobile-brand b{font-size:18px}.mobile-brand small{font-size:8px;letter-spacing:1px;color:var(--muted);font-weight:800}.topbar{min-height:66px;padding:9px 13px;gap:10px}.topbar-spacer{display:none}.model-current{margin-left:auto;min-width:0;width:auto;max-width:48%;padding:8px 29px 8px 10px;border-radius:12px}.model-kicker{font-size:8px}.model-current #currentModelName{font-size:10px;max-width:150px}.chevron{right:9px;font-size:18px}.status{display:none}.desktop-new{display:none}.conversation-wrap{padding:12px 12px 8px}.messages{min-height:100%}.empty-state{padding:28px 8px}.empty-orb{width:78px;height:78px;font-size:39px;margin-bottom:20px}.empty-state h1{font-size:24px}.empty-state p{font-size:13px}.suggestions{gap:8px}.suggestions button{font-size:12px;padding:13px 14px}.bubble{max-width:94%;padding:13px 14px 15px;border-radius:17px}.user .bubble{max-width:88%}.message-content{font-size:14px}.message-content h1{font-size:20px}.message-content h2{font-size:18px}.code-card{margin:13px 0}.code-head{height:48px}.code-action{padding:7px 9px;font-size:10px}.code-card pre{padding:13px}.code-card pre code{font-size:12px}.composer-wrap{padding:8px 12px max(12px,env(safe-area-inset-bottom));background:var(--bg)}.composer{border-radius:20px;padding:7px 8px 7px 13px}.composer textarea{font-size:14px;min-height:42px}.send-btn{width:47px;height:47px;flex-basis:47px;border-radius:14px}.composer-hint{display:none}.modal-backdrop{padding:10px}.modal{max-height:88dvh;padding:16px;border-radius:19px}.modal h2{font-size:20px}.model-option{padding:10px}.model-option-name{font-size:12px}.modal-foot span{font-size:9px}.about-modal{padding:28px 20px}.message-row{margin:8px 0}}
