:root{color-scheme:dark;--bg:#090a0d;--panel:#111216;--ink:#f1f2f6;--muted:#9a9daa;--line:#ffffff15;--soft:#ffffff06;--accent:#e7eaf6;--button:#f0f2fa;--button-ink:#11121a;--glow:#b0c6ff;--code:#14161e;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:15px}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--panel:#fafafa;--ink:#17181c;--muted:#6d6f79;--line:#17181c19;--soft:#17181c04;--accent:#202127;--button:#181a21;--button-ink:#fff;--glow:#829ce0;--code:#f4f5f7}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:wait}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,label.attach:focus-within{outline:2px solid var(--accent);outline-offset:4px}textarea:focus{outline:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.brand{font-size:23px;letter-spacing:-1px;font-weight:500;line-height:1;border:0;background:none;padding:10px 0}.brand span{color:var(--muted);padding-left:3px}.plain,.more{border:0;background:none;color:var(--muted);min-height:44px;padding:10px;font-size:12px}.plain:hover,.more:hover{color:var(--ink)}.more{font-size:23px;letter-spacing:2px;line-height:1}.header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;flex-shrink:0}.header-actions{display:flex;gap:20px;align-items:center}#connection{font-size:11px;color:var(--muted)}#app{height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.surface{min-height:0;flex:1;display:flex;padding:0 12px 12px}.dialogue{min-width:0;flex:1;display:flex;flex-direction:column}.dialogue-scroll{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.turns{width:min(100%,760px);margin:0 auto;padding:30px 36px 45px}.turn{margin:0 0 42px}.user-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;padding:0 0 0 18px;border-left:1px solid var(--line);margin:0 0 24px 40px;max-width:calc(100% - 40px);width:fit-content;color:var(--muted);font-size:14px}.answer{line-height:1.95;overflow-wrap:anywhere;padding:0 3px}.answer>:first-child{margin-top:0}.answer>:last-child{margin-bottom:0}.answer p{white-space:pre-wrap;margin:0 0 16px}.answer h2,.answer h3{font-size:16px;margin:24px 0 10px;font-weight:550}.answer ul,.answer ol{padding-left:23px;margin:12px 0 20px}.answer li{margin:7px 0}.answer a{color:var(--accent);text-decoration-color:var(--muted);text-underline-offset:4px}.answer code{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;background:var(--code);padding:3px 5px;border-radius:3px}.answer pre{background:var(--code);border:1px solid var(--line);border-radius:8px;padding:16px;overflow:auto;max-width:100%;white-space:pre}.answer pre code{padding:0;background:none}.turn-status{font-size:12px;color:var(--muted);margin:16px 3px}.working:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:9px;box-shadow:0 0 12px var(--glow);animation:breathe 2.2s ease-in-out infinite}.turn-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.turn-actions .plain{padding:5px 3px;font-size:11px;min-height:36px}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.empty h1{font-size:clamp(23px,2.3vw,30px);font-weight:400;letter-spacing:.045em;margin:32px 0 0}.core-light{width:56px;height:56px;border-radius:50%;position:relative;border:1px solid var(--line);background:radial-gradient(circle at 65% 15%,#ffffff0c,transparent 70%)}.core-light:before{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 40deg,transparent 0deg 250deg,var(--glow) 293deg,transparent 340deg);mask:radial-gradient(transparent 68%,black 70%);-webkit-mask:radial-gradient(transparent 68%,black 70%);opacity:.9}.core-light:after{content:"";position:absolute;inset:-28px;border-radius:50%;background:radial-gradient(circle,#8ca7ff14,transparent 65%);pointer-events:none}.core-light i{position:absolute;left:26px;top:25px;width:3px;height:3px;background:var(--accent);border-radius:50%;box-shadow:0 0 15px var(--glow)}.is-empty .dialogue{justify-content:center;padding-bottom:12vh}.is-empty .dialogue-scroll{flex:none;overflow:visible;min-height:0}.is-empty .empty{padding:0 20px}.is-empty .turns{display:none}.compose-wrap{width:min(100%,760px);align-self:center;padding:12px 36px max(20px,env(safe-area-inset-bottom));flex-shrink:0}.is-empty .compose-wrap{width:min(100%,620px);margin-top:40px;padding-bottom:0}
#compose{position:relative;display:flex;align-items:flex-end;gap:12px;padding:11px 0 13px;border-bottom:1px solid var(--line);transition:border-color .2s}#compose:focus-within{border-color:var(--accent)}#compose:after{content:"";position:absolute;left:15%;right:15%;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--glow),transparent);opacity:0;transition:opacity .25s}#compose:focus-within:after{opacity:.9}.attach{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:44px;color:var(--muted);font-size:23px;font-weight:300;cursor:pointer}.attach:hover{color:var(--ink)}#prompt{resize:none;min-height:44px;max-height:190px;line-height:1.75;border:0;background:none;width:100%;padding:8px 0;overflow-y:auto;font-size:15px}#prompt::placeholder{color:var(--muted)}.send{width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:var(--button);color:var(--button-ink);font-size:25px;line-height:1;transition:transform .15s}.send:hover{transform:translateY(-2px)}.context{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding:0 3px}.context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context button{margin-left:auto}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.file-chip{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:6px;font-size:11px;color:var(--muted);max-width:100%;overflow-wrap:anywhere}.file-chip button{border:0;background:none;font-size:16px;color:var(--muted);cursor:pointer}.turn-files{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px 40px}.error{font-size:12px;color:#ffaaa3;margin:8px 4px 0}.error:empty{display:none}:root[data-theme=light] .error{color:#a83e33}
.result-link{display:flex;align-items:center;gap:14px;text-align:left;background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 3px;width:100%;margin-top:18px;color:var(--ink)}.result-link:hover{background:var(--soft)}.result-link .result-icon{color:var(--accent);font-size:19px}.result-link strong{font-size:14px;font-weight:500;display:block}.result-link small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.result-link .arrow{margin-left:auto;color:var(--muted)}.workspace{display:flex;flex-direction:column;flex:1.45;min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);margin:0 8px 0 12px}.workspace-bar{height:52px;padding:0 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);flex-shrink:0;font-size:12px}.workspace-bar #workspace-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-bar #back-to-chat{display:none}#view{border:0;width:100%;flex:1;min-height:0;background:white}.surface.has-workspace .dialogue{flex:1;max-width:540px}.surface.has-workspace .turns,.surface.has-workspace .compose-wrap{padding-left:24px;padding-right:24px}
dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:auto;padding:28px;width:min(620px,calc(100% - 36px));max-height:85dvh;overflow:auto;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#0008;backdrop-filter:blur(9px)}.small{max-width:430px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-heading h2{font-size:18px;font-weight:500;margin:0}.panel-heading .plain{font-size:24px;line-height:1}.tabs{display:flex;gap:22px;margin:10px 0 18px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;min-height:44px;padding:10px 0;color:var(--muted);font-size:12px}.tabs button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--accent)}#search,input[type=password],select{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--bg)}#search{margin-bottom:12px}.found-row{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);padding:17px 2px;background:none;color:var(--ink)}.found-row strong{display:block;font-size:13px;font-weight:450;overflow-wrap:anywhere;line-height:1.8}.found-row small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.muted{font-size:12px;line-height:1.8;color:var(--muted)}.field{display:block;font-size:13px;margin:0 0 22px}.field input,.field select{display:block;margin-top:8px}.permission{display:flex;align-items:center;gap:9px;font-size:13px}.permission input{accent-color:var(--accent)}.button{background:var(--button);color:var(--button-ink);border:0;border-radius:5px;min-height:44px;padding:10px 14px;font-size:12px}details{font-size:13px;margin:20px 0}summary{cursor:pointer;color:var(--muted);padding:10px 0}details .field{margin:14px 0}#logout{margin-top:20px;padding-left:0}.login{height:100dvh;display:flex;align-items:center;justify-content:center;padding:28px}.login-inner{width:100%;max-width:330px}.login .brand{margin-bottom:48px}.login label{font-size:12px;color:var(--muted);display:block;margin-bottom:12px}.login-field{display:flex;gap:10px}.login-field input{min-width:0}.login-field button{background:var(--button);border:0;color:var(--button-ink);border-radius:5px;padding:10px 18px;white-space:nowrap}.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--button);color:var(--button-ink);font-size:12px;padding:13px 18px;border-radius:6px;z-index:10;max-width:90%;width:max-content}.process{line-height:1.8;font-size:13px;overflow-wrap:anywhere}.process h3{font-size:14px;font-weight:500}.process pre,.root-card pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--code);border-radius:5px;padding:14px;font:12px/1.8 Consolas,monospace;max-height:340px}.event{border-top:1px solid var(--line);padding:12px 0}.event small{color:var(--muted)}.root-card{border:1px solid var(--line);border-radius:8px;padding:16px;margin:16px 0;font-size:13px;line-height:1.8}.root-card h3{font-size:14px;margin:0}.root-card .button{margin-right:10px}.root-card small{color:var(--muted)}
@keyframes breathe{50%{opacity:.3;box-shadow:0 0 4px var(--glow)}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(max-width:760px){.header{height:64px;padding:0 24px}.header-actions{gap:12px}.brand{font-size:22px}.surface{padding:0}.turns{padding:28px 24px 35px}.compose-wrap{padding:8px 24px max(20px,env(safe-area-inset-bottom))}.turn{margin-bottom:34px}.user-message{max-width:calc(100% - 20px);margin-left:20px;padding-left:14px;font-size:13px}.turn-files{margin-left:20px}.answer{font-size:14px}.workspace{border:0;border-radius:0;margin:0}.surface.has-workspace .dialogue{display:none}.surface.has-workspace .workspace{width:100%;flex:1}.workspace-bar #back-to-chat{display:block}.workspace-bar{padding:0 12px}.is-empty .dialogue{padding-bottom:13vh}.is-empty .compose-wrap{padding-left:28px;padding-right:28px;margin-top:34px}.empty h1{font-size:23px;letter-spacing:.04em}.core-light{width:48px;height:48px}.core-light i{left:22px;top:22px}dialog{width:calc(100% - 24px);padding:22px;max-height:88dvh;border-radius:10px}#connection{max-width:90px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.turn-actions{gap:10px}.found-row{padding:16px 0}.surface.has-workspace .dialogue .compose-wrap{padding:8px 24px 20px}}
