*{box-sizing:border-box}
:root{
  color-scheme:dark;
  --bg:#06090e;--bg2:#0a1018;--panel:rgba(13,19,28,.78);--panel-solid:#0e151f;--panel2:rgba(20,29,41,.82);
  --panel3:rgba(26,37,52,.76);--line:rgba(140,163,190,.16);--line-strong:rgba(151,181,210,.27);
  --text:#f2f7fc;--text-soft:#d9e4ef;--muted:#8999ac;--muted2:#68788c;
  --accent:#74edc3;--accent-strong:#9af6d8;--accent-rgb:116,237,195;--accent2:#8fa8ff;--accent2-rgb:143,168,255;
  --warning:#f6bf78;--danger:#ff909d;--radius:18px;--radius-sm:12px;
  --shadow:0 24px 80px rgba(0,0,0,.42);--shadow-soft:0 10px 35px rgba(0,0,0,.22);
  --glass:blur(24px) saturate(130%);--ghost-app-height:100dvh;
}
html,body{margin:0;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-feature-settings:"kern" 1,"liga" 1}
body{position:relative}
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(12px);opacity:.7}
body::before{width:52vw;height:52vw;min-width:440px;min-height:440px;left:-20vw;top:-28vw;background:radial-gradient(circle,rgba(var(--accent2-rgb),.11),transparent 68%);animation:ambient-drift 16s ease-in-out infinite alternate}
body::after{width:48vw;height:48vw;min-width:400px;min-height:400px;right:-22vw;bottom:-30vw;background:radial-gradient(circle,rgba(var(--accent-rgb),.08),transparent 68%);animation:ambient-drift 20s ease-in-out -6s infinite alternate-reverse}
button,textarea,input,select{font:inherit}button{color:inherit}button,input,textarea,select{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}
::selection{background:rgba(var(--accent-rgb),.25);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(144,164,188,.18);border:3px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(144,164,188,.3);border:3px solid transparent;background-clip:padding-box}

.app{position:relative;height:var(--ghost-app-height);max-height:var(--ghost-app-height);min-height:0;display:grid;grid-template-columns:286px minmax(0,1fr);overflow:hidden;background:linear-gradient(135deg,rgba(5,8,13,.78),rgba(7,12,19,.9))}
.app::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(var(--accent2-rgb),.025),transparent 32%,transparent 68%,rgba(var(--accent-rgb),.025));z-index:0}
.sidebar,.main{position:relative;z-index:1}
.sidebar{min-height:0;overflow:hidden;background:linear-gradient(180deg,rgba(15,21,31,.86),rgba(7,11,17,.9));border-right:1px solid var(--line);padding:18px 16px;display:flex;flex-direction:column;gap:14px;z-index:30;backdrop-filter:var(--glass);box-shadow:12px 0 45px rgba(0,0,0,.18)}
.brand{display:flex;align-items:center;gap:11px;font-weight:780;letter-spacing:.015em;font-size:.98rem;padding:2px 4px}.ghost-mark{position:relative;width:36px;height:36px;border:1px solid rgba(var(--accent-rgb),.23);border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(var(--accent-rgb),.18),rgba(var(--accent2-rgb),.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 24px rgba(0,0,0,.22),0 0 30px rgba(var(--accent-rgb),.05);overflow:hidden}.ghost-mark::after{content:"";position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translateX(-70%) rotate(10deg);animation:logo-sheen 8s ease-in-out infinite}
.new-chat,.icon-btn{border:1px solid var(--line);background:linear-gradient(180deg,rgba(28,39,54,.8),rgba(17,25,36,.82));border-radius:13px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.new-chat{padding:11px 13px;text-align:left;font-weight:680;color:#e7f0fa}.new-chat:hover,.icon-btn:hover{border-color:rgba(var(--accent-rgb),.28);background:linear-gradient(180deg,rgba(32,45,60,.92),rgba(19,29,41,.92));transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.18)}.new-chat:active,.icon-btn:active{transform:translateY(0) scale(.985)}
.history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 3px -2px;min-height:26px}.history-heading{display:flex;align-items:center;gap:7px;min-width:0}.history-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted2);font-weight:760;white-space:nowrap}.history-count{min-width:21px;height:19px;padding:0 6px;border:1px solid rgba(140,163,190,.12);border-radius:999px;display:grid;place-items:center;background:rgba(112,132,154,.06);color:#728397;font-size:.59rem;font-weight:760;letter-spacing:0}.qa-history-toggle{flex:0 0 auto;border:1px solid rgba(140,163,190,.13);background:rgba(17,25,36,.52);color:#74869a;border-radius:999px;min-height:24px;padding:3px 8px;font-size:.6rem;font-weight:760;letter-spacing:.035em;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.qa-history-toggle:hover{color:#c8d5e3;border-color:rgba(var(--accent-rgb),.2);background:rgba(25,36,49,.72)}.qa-history-toggle.active{color:#b9f2df;border-color:rgba(var(--accent-rgb),.25);background:rgba(var(--accent-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.035)}.qa-history-toggle[hidden]{display:none}.history{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;overflow:auto;overscroll-behavior:contain;min-height:0;padding:2px 4px 8px 1px;scrollbar-gutter:stable}.history::-webkit-scrollbar{width:7px}.history::-webkit-scrollbar-thumb{border-width:2px}.history-item{position:relative;width:100%;min-width:0;border:1px solid transparent;background:transparent;color:#acb9c8;text-align:left;padding:8px 9px 8px 10px;border-radius:10px;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.history-item-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.35}.history-item-time{font-size:.59rem;color:#59697b;font-variant-numeric:tabular-nums;white-space:nowrap;transition:color .16s ease}.history-item:hover{background:rgba(106,130,158,.08);border-color:rgba(140,163,190,.07);color:#f1f6fb;transform:translateX(1px)}.history-item:hover .history-item-time{color:#8393a5}.history-item.active{background:linear-gradient(90deg,rgba(var(--accent-rgb),.11),rgba(var(--accent2-rgb),.045));border-color:rgba(var(--accent-rgb),.09);color:#fff}.history-item.active::before{content:"";position:absolute;left:-1px;top:22%;bottom:22%;width:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px rgba(var(--accent-rgb),.6)}.history-item.active .history-item-time{color:#7da99a}.history-item.qa{color:#8190a2;background:rgba(18,25,34,.22)}.history-item.qa:hover{color:#c8d3df;background:rgba(27,36,48,.48)}.history-item.qa.active{color:#e9f2f8;background:linear-gradient(90deg,rgba(var(--accent2-rgb),.09),rgba(25,34,47,.3));border-color:rgba(var(--accent2-rgb),.09)}.history-item.qa.active::before{background:var(--accent2);box-shadow:0 0 12px rgba(var(--accent2-rgb),.55)}.history-section-divider{display:flex;align-items:center;gap:8px;margin:9px 5px 4px;color:#5f7083;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;font-weight:780}.history-section-divider::before{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(140,163,190,.13))}.history-section-divider span{order:2}.history-section-divider b{order:3;font-size:.56rem;font-weight:760;color:#73859a;border:1px solid rgba(140,163,190,.1);padding:1px 5px;border-radius:999px}.history-empty{margin:7px 4px;padding:11px 10px;border:1px dashed rgba(140,163,190,.11);border-radius:10px;color:#637386;font-size:.7rem;line-height:1.45;background:rgba(13,19,28,.3)}
.sidebar-footer{position:relative;flex:0 0 auto;margin-top:auto;border-top:1px solid var(--line);padding:13px 4px max(1px,env(safe-area-inset-bottom));font-size:.76rem;color:var(--muted);display:grid;gap:7px;background:linear-gradient(180deg,rgba(8,12,18,0),rgba(8,12,18,.6) 18%)}.status-row{display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:99px;background:#687585;transition:background .2s ease,box-shadow .2s ease}.dot.ok{background:var(--accent);box-shadow:0 0 13px rgba(var(--accent-rgb),.65)}.dot.bad{background:var(--danger);box-shadow:0 0 10px rgba(255,144,157,.35)}

.main{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:radial-gradient(circle at 55% -15%,rgba(var(--accent2-rgb),.11),transparent 33%),radial-gradient(circle at 85% 110%,rgba(var(--accent-rgb),.045),transparent 32%),linear-gradient(180deg,#080d14,#06090e)}
.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);backdrop-filter:var(--glass);background:rgba(8,12,18,.7);box-shadow:0 7px 26px rgba(0,0,0,.08)}.top-title{display:flex;align-items:center;gap:10px;font-size:.91rem}.top-title strong{font-weight:760;letter-spacing:.01em}.model-pill,.memory-pill{font-size:.69rem;border:1px solid var(--line);border-radius:999px;padding:5px 9px;backdrop-filter:blur(10px)}.model-pill{color:#b7c6d8;background:rgba(26,35,48,.52)}.memory-pill{color:#e4d9a9;background:rgba(120,96,36,.08);border-color:rgba(218,193,106,.13)}
.deploy-note{position:relative;padding:8px 17px;border-bottom:1px solid rgba(var(--accent-rgb),.12);background:linear-gradient(90deg,rgba(var(--accent-rgb),.035),rgba(var(--accent2-rgb),.025),rgba(var(--accent-rgb),.035));color:#a7dfcf;font-size:.71rem;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;animation:note-in .45s ease both}
.icon-btn{width:40px;height:40px;display:grid;place-items:center}.menu-btn{display:none}

.messages{min-height:0;overflow:auto;overscroll-behavior:contain;padding:34px max(22px,calc((100% - 860px)/2));scroll-behavior:smooth;mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 8px),transparent 100%)}
.empty{min-height:100%;display:grid;place-items:center;text-align:center;padding:34px}.empty-inner{max-width:650px;animation:empty-in .6s cubic-bezier(.2,.8,.2,1) both}.empty .ghost-mark{width:48px;height:48px;border-radius:17px;font-size:1.05rem}.empty h1{font-size:clamp(2.45rem,7vw,5.2rem);margin:0 0 12px;letter-spacing:-.06em;font-weight:790;background:linear-gradient(135deg,#fff 20%,#cbd9e8 60%,#98f0d4);-webkit-background-clip:text;background-clip:text;color:transparent}.empty p{color:#94a5b8;line-height:1.7;margin:0 auto;max-width:590px;font-size:.96rem}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:30px}.suggestion{position:relative;border:1px solid var(--line);background:linear-gradient(145deg,rgba(18,26,37,.68),rgba(12,18,27,.72));border-radius:16px;padding:15px 16px;text-align:left;color:#cbd8e6;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;overflow:hidden}.suggestion::after{content:"→";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:rgba(var(--accent-rgb),.65);opacity:0;transition:opacity .18s ease,transform .18s ease}.suggestion:hover{border-color:rgba(var(--accent-rgb),.22);background:linear-gradient(145deg,rgba(22,33,45,.9),rgba(14,22,31,.9));transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.18);padding-right:36px}.suggestion:hover::after{opacity:1;transform:translate(2px,-50%)}
.message{display:grid;grid-template-columns:35px minmax(0,1fr);gap:14px;margin:0 0 28px;animation:message-in .32s cubic-bezier(.2,.75,.25,1) both}.avatar{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;font-weight:790;font-size:.68rem;background:linear-gradient(145deg,#1a2532,#121a25);border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 7px 22px rgba(0,0,0,.15)}.message.user .avatar{background:linear-gradient(145deg,rgba(var(--accent-rgb),.15),rgba(20,41,34,.8));border-color:rgba(var(--accent-rgb),.2)}.message-body{min-width:0;padding-top:3px}.message-role{font-size:.72rem;color:var(--muted2);margin-bottom:7px;font-weight:650;letter-spacing:.015em}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.67;color:#edf3f9}.message.assistant .message-text{color:#dde7f1}.message.user .message-body{background:linear-gradient(145deg,rgba(var(--accent-rgb),.052),rgba(18,27,38,.32));border:1px solid rgba(var(--accent-rgb),.07);border-radius:15px;padding:10px 13px 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.015)}.message.user .message-role{margin-bottom:5px;color:#7f9e94}.cursor{display:inline-block;width:7px;height:1em;background:var(--accent);vertical-align:-2px;margin-left:3px;border-radius:2px;box-shadow:0 0 12px rgba(var(--accent-rgb),.55);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}

.composer-wrap{position:relative;z-index:12;flex:0 0 auto;padding:11px max(15px,calc((100% - 900px)/2)) calc(18px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(6,9,14,.98) 62%,rgba(6,9,14,.84) 82%,transparent)}.composer{position:relative;border:1px solid rgba(139,162,188,.2);background:linear-gradient(145deg,rgba(18,27,38,.92),rgba(12,18,27,.92));backdrop-filter:var(--glass);border-radius:20px;box-shadow:0 22px 65px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035);padding:10px 10px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.composer:focus-within{border-color:rgba(var(--accent-rgb),.28);box-shadow:0 24px 72px rgba(0,0,0,.38),0 0 0 3px rgba(var(--accent-rgb),.035),inset 0 1px 0 rgba(255,255,255,.045);transform:translateY(-1px)}.composer textarea{resize:none;border:0;outline:0;background:transparent;color:var(--text);min-height:28px;max-height:min(190px,32vh);padding:8px 9px;line-height:1.5}.composer textarea::placeholder{color:#647589}.send-btn{border:0;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--accent-strong),var(--accent));color:#07130f;font-weight:900;cursor:pointer;box-shadow:0 7px 20px rgba(var(--accent-rgb),.16),inset 0 1px 0 rgba(255,255,255,.42);transition:transform .17s ease,box-shadow .17s ease,filter .17s ease}.send-btn:hover{transform:translateY(-1px) scale(1.025);box-shadow:0 10px 28px rgba(var(--accent-rgb),.24)}.send-btn:active{transform:scale(.96)}.send-btn:disabled{opacity:.34;cursor:not-allowed;box-shadow:none}.composer-note{text-align:center;color:#5f7084;font-size:.68rem;margin-top:8px}
.error-banner{margin:0 auto 18px;max-width:860px;border:1px solid rgba(255,144,157,.28);background:linear-gradient(145deg,rgba(105,31,42,.24),rgba(66,24,34,.15));backdrop-filter:blur(12px);padding:11px 13px;border-radius:13px;color:#ffc2c9;font-size:.82rem;box-shadow:var(--shadow-soft);animation:message-in .25s ease both}.overlay{display:none}

@keyframes ambient-drift{from{transform:translate3d(-2%,0,0) scale(.98)}to{transform:translate3d(3%,4%,0) scale(1.04)}}
@keyframes logo-sheen{0%,72%{transform:translateX(-75%) rotate(10deg)}88%,100%{transform:translateX(85%) rotate(10deg)}}
@keyframes message-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes empty-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes note-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:900px){.app{grid-template-columns:260px minmax(0,1fr)}.messages{padding-left:18px;padding-right:18px}.history-item{padding-left:9px;padding-right:8px}.history-item-title{font-size:.8rem}.qa-history-toggle{padding-left:7px;padding-right:7px}}
@media(max-width:760px){
  .app{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;height:var(--ghost-app-height);max-height:var(--ghost-app-height);width:min(86vw,320px);transform:translateX(-105%);transition:transform .26s cubic-bezier(.2,.8,.2,1);box-shadow:30px 0 80px rgba(0,0,0,.5)}.sidebar.open{transform:translateX(0)}.overlay{position:fixed;inset:0;background:rgba(2,5,9,.6);backdrop-filter:blur(5px);z-index:20}.overlay.show{display:block;animation:fade-in .2s ease both}.menu-btn{display:grid}.messages{padding:20px 13px;mask-image:none}.topbar{height:58px;padding:0 11px;background:rgba(7,11,17,.78)}.memory-pill{display:none}.deploy-note{padding:7px 11px;font-size:.67rem}.suggestions{grid-template-columns:1fr}.empty{align-items:start;padding:9vh 18px 24px}.empty p{font-size:.9rem}.message{grid-template-columns:30px minmax(0,1fr);gap:10px;margin-bottom:23px}.avatar{width:29px;height:29px;border-radius:10px;font-size:.61rem}.message.user .message-body{padding:9px 11px}.composer-wrap{padding:8px 8px calc(10px + env(safe-area-inset-bottom))}.composer{border-radius:18px}.composer-note{display:none}.send-btn{width:40px;height:40px;border-radius:13px}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}