:root{color-scheme:dark;--accent:#79d7b2;--accent-rgb:121,215,178;--bg:#0e1110;--panel:rgba(18,21,20,.86);--panel-solid:#151817;--surface:rgba(255,255,255,.055);--surface-hover:rgba(255,255,255,.085);--line:rgba(255,255,255,.105);--line-strong:rgba(255,255,255,.17);--text:#f1f4f2;--muted:#9ba39f;--faint:#707773;--main-bg:rgba(10,12,11,.34);--header-bg:rgba(12,14,13,.36);--composer-bg:rgba(25,29,27,.90);--assistant-text:#edf1ef;--shade:linear-gradient(120deg,rgba(8,10,9,.82),rgba(8,10,9,.48) 55%,rgba(8,10,9,.72));--shadow-color:rgba(0,0,0,.28);--wallpaper-image:none;--wallpaper-opacity:.34;--wallpaper-blur:0px;--sidebar-width:322px}
*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}button,input,textarea{font:inherit}button{color:inherit}
.wallpaper,.wallpaper-shade{position:fixed;inset:-24px;pointer-events:none}.wallpaper{z-index:-2;background-image:var(--wallpaper-image),radial-gradient(circle at 82% 8%,rgba(var(--accent-rgb),.20),transparent 32%),radial-gradient(circle at 18% 95%,rgba(92,113,210,.16),transparent 38%);background-size:cover;background-position:center;filter:blur(var(--wallpaper-blur));opacity:var(--wallpaper-opacity);transform:scale(1.035)}.wallpaper-shade{z-index:-1;background:var(--shade)}
#app{position:fixed;inset:0;width:100%;height:auto;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}#sidebar{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);backdrop-filter:blur(22px) saturate(125%);box-shadow:16px 0 45px rgba(0,0,0,.16)}
.brand{height:64px;padding:0 14px 0 18px;display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand-mark-small{font-size:27px;line-height:1;color:var(--accent);filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.3))}.brand strong{font-size:16px;letter-spacing:.2px}.brand #appearance{margin-left:auto}.brand #closeSidebar{display:none}.icon-button{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:var(--surface-hover);color:var(--text)}
.new-thread{margin:4px 12px 12px;padding:10px 12px;text-align:left;border:1px solid var(--line-strong);border-radius:11px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.13),var(--surface));color:var(--text);cursor:pointer;transition:.18s}.new-thread span{color:var(--accent);font-size:17px;margin-right:5px}.new-thread:hover{border-color:rgba(var(--accent-rgb),.42);transform:translateY(-1px)}
.sidebar-scroll{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.control-drawer{margin:0 10px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.10);flex:0 0 auto}.control-drawer summary{list-style:none;padding:9px 11px;color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}.control-drawer summary::-webkit-details-marker{display:none}.summary-arrow{font-size:18px;transition:.18s}.control-drawer[open] .summary-arrow{transform:rotate(90deg)}.library-head{flex:0 0 auto}.section-label{padding:0 15px 7px;color:var(--faint);font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.task-label{display:flex;justify-content:space-between}.task-label span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}
.thread-search{height:34px;margin:0 10px 8px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:rgba(0,0,0,.17);display:flex;align-items:center;gap:7px;color:var(--faint)}.thread-search:focus-within{border-color:rgba(var(--accent-rgb),.42);background:rgba(0,0,0,.26)}.thread-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.thread-search input::placeholder{color:var(--faint)}
#threads{min-height:0;flex:1;overflow:auto;padding:0 7px 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;overscroll-behavior:contain}.project{margin:2px 0 5px}.project-head{width:100%;min-height:40px;padding:5px 7px;border:0;border-radius:9px;background:transparent;display:grid;grid-template-columns:18px 28px minmax(0,1fr) auto;align-items:center;text-align:left;cursor:pointer;color:var(--text)}.project-head:hover{background:var(--surface)}.project-chevron{color:var(--faint);transition:.16s;font-size:16px}.project.collapsed .project-chevron{transform:rotate(-90deg)}.project-icon{width:25px;height:25px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:7px;background:rgba(var(--accent-rgb),.1);display:grid;place-items:center;color:var(--accent);font-size:12px}
.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;padding:16px 9px 6px;color:var(--faint);font-size:11px;font-weight:650;letter-spacing:.08em}.sidebar-section-title:first-child{padding-top:6px}.sidebar-section-title small{font-size:10px;font-weight:500;color:var(--faint)}
.load-more{display:block;width:calc(100% - 16px);margin:7px 8px 2px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer}.load-more:hover{background:var(--surface-hover);color:var(--text)}
.project-copy{min-width:0;padding-left:7px}.project-copy strong,.project-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-copy strong{font-size:12.5px;font-weight:600}.project-copy small{color:var(--faint);font-size:10px}.project-count{font-size:10px;color:var(--faint);padding:2px 6px;border-radius:10px;background:var(--surface)}.project-threads{padding:1px 0 3px 23px}.project.collapsed .project-threads{display:none}
.thread{position:relative;margin:1px 0;padding:8px 9px 8px 12px;border-radius:9px;cursor:pointer;color:#c9cfcc;overflow:hidden;transition:.14s}.thread:hover{background:var(--surface-hover);color:var(--text)}.thread.active{background:rgba(var(--accent-rgb),.13);color:var(--text)}.thread.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 9px rgba(var(--accent-rgb),.5)}.thread-row{display:flex;align-items:center;gap:5px;min-width:0}.thread-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.thread-pin{color:var(--accent);font-size:9px}.thread-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:2px;color:var(--faint);font-size:10px}.thread-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}.thread-time{white-space:nowrap;font-variant-numeric:tabular-nums}.no-results{padding:25px 12px;text-align:center;color:var(--faint);font-size:12px}
.sidebar-foot{height:52px;border-top:1px solid var(--line);padding:0 13px 0 16px;display:flex;align-items:center;gap:8px;color:var(--muted);background:rgba(0,0,0,.10);flex:0 0 auto}.sidebar-foot button{margin-left:auto}.dot{width:8px;height:8px;border-radius:50%;background:#69706c}.dot.online{background:#55d68b;box-shadow:0 0 10px #55d68baa}
main{height:auto;min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto auto;overflow:hidden;background:var(--main-bg);backdrop-filter:blur(5px)}header{border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;gap:12px;background:var(--header-bg);backdrop-filter:blur(16px);min-width:0}header #menu{display:none}.thread-heading{min-width:0;display:grid;line-height:1.25}.thread-heading strong,.thread-heading small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-heading strong{font-size:14px;font-weight:620}.thread-heading #projectName{color:var(--accent);font-size:10px;margin-bottom:2px}.thread-heading #cwd{color:var(--faint);font-size:10px;margin-top:2px}#turnState{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.header-action{flex:0 0 auto}
#messages{min-height:0;overflow:auto;padding:38px max(24px,calc((100% - 840px)/2)) 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;overscroll-behavior:contain}.empty{text-align:center;color:var(--muted);margin-top:17vh}.empty .logo{font-size:52px;color:var(--accent);filter:drop-shadow(0 0 18px rgba(var(--accent-rgb),.28))}.empty h2{color:var(--text);font-size:20px;font-weight:560;margin:10px 0 5px}.empty p{margin:0;color:var(--muted)}
.message{margin:0 0 26px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:auto;background:var(--surface);border:1px solid var(--line);padding:11px 14px;border-radius:15px 15px 4px 15px;max-width:min(78%,680px);width:max-content;box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 40%,transparent)}.message.assistant{font-size:14.5px;line-height:1.7;color:var(--assistant-text);max-width:100%}.message.assistant::before{content:"◇";display:block;color:var(--accent);font-size:18px;line-height:1;margin-bottom:8px}
#approval{padding:0 max(24px,calc((100% - 840px)/2));background:transparent}.approval-card{background:rgba(65,52,24,.82);border:1px solid #7c6731;padding:14px;border-radius:11px;margin-bottom:10px}.approval-card button{margin:9px 8px 0 0;padding:7px 12px;border-radius:7px;border:1px solid var(--line-strong);cursor:pointer}.approve{background:var(--text);color:#111}.deny{background:var(--panel-solid);color:var(--text)}
#composer{margin:0 auto calc(16px + env(safe-area-inset-bottom));width:min(calc(100% - 40px),840px);border:1px solid var(--line-strong);background:var(--composer-bg);backdrop-filter:blur(20px) saturate(130%);border-radius:17px;padding:10px 11px 7px;display:grid;grid-template-columns:minmax(0,1fr) 38px;box-shadow:0 18px 55px var(--shadow-color);z-index:2}#composer:focus-within{border-color:rgba(var(--accent-rgb),.56);box-shadow:0 18px 55px var(--shadow-color),0 0 0 3px rgba(var(--accent-rgb),.07)}#prompt{resize:none;max-height:180px;border:0;outline:0;background:transparent;color:var(--text);padding:5px 7px;line-height:1.5;min-width:0}#prompt::placeholder{color:var(--faint)}#send{align-self:end;border:0;border-radius:11px;width:36px;height:36px;background:var(--accent);color:var(--send-text,#0a1712);font-size:19px;font-weight:750;cursor:pointer;box-shadow:0 5px 18px rgba(var(--accent-rgb),.25)}#send:disabled{background:#777;color:#bbb;box-shadow:none}#composer small{grid-column:1/-1;padding:6px 4px 0;display:flex;justify-content:space-between;gap:10px;color:var(--faint);font-size:9.5px;white-space:nowrap;overflow:hidden}#composer small span{overflow:hidden;text-overflow:ellipsis}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(var(--accent-rgb),.2),#101312 58%)}.login-card{width:min(92vw,380px);padding:34px;border:1px solid var(--line);border-radius:18px;background:rgba(20,23,22,.9);backdrop-filter:blur(18px);box-shadow:0 24px 80px #0008;text-align:center}.brand-mark,.logo{font-size:42px}.login-card h1{margin:8px 0}.login-card p{color:var(--muted);margin:0 0 24px}.login-card input,.login-card button{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line)}.login-card input{background:#111;color:white;margin-bottom:12px}.login-card button{background:var(--accent);color:#102019;font-weight:650;cursor:pointer}#error{height:22px;color:#ff8787;margin-top:8px}
@media(max-width:760px){:root{--sidebar-width:min(88vw,350px)}#app{display:block}#sidebar{position:fixed;z-index:12;width:var(--sidebar-width);max-width:350px;height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:22px 0 70px #000b}#sidebar.open{transform:none}.brand #closeSidebar,header #menu{display:grid}.brand #appearance{margin-left:auto}main{height:100dvh}header{height:58px;padding:0 10px}.header-action{display:none}#messages{padding:24px 14px 12px}.message.user{max-width:90%}#approval{padding:0 12px}#composer{width:calc(100% - 18px);margin-bottom:calc(8px + env(safe-area-inset-bottom));border-radius:15px}#composer small span:last-child{display:none}.thread-heading #cwd{display:none}.empty{margin-top:14vh}#sidebar,main,header,#composer{backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
