:root{--bg-canvas: #f5f1ea;--bg-sidebar: #efe9dd;--bg-surface: #faf6ee;--bg-chip: #ebe4d2;--border-subtle: #e5ddc9;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-muted: #9a9a9a;--accent-yellow: #f9d000;--button-primary: #0a0a0a;--critical: #b91c1c;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}body{min-height:100vh;display:flex}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}#root,.app{flex:1;display:flex;min-height:100vh}.sidebar{width:260px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow:hidden;transition:width .2s ease,border-color .2s ease}.app.sidebar-collapsed .sidebar{width:0;border-right-color:transparent}.sb-brand{padding:20px 16px 14px}.sb-brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sb-brand-logo{height:40px;width:auto;max-width:220px;display:block}.sb-toggle{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--text-secondary);flex-shrink:0;transition:background .1s,color .1s}.sb-toggle:hover{background:var(--bg-chip);color:var(--text-primary)}.sidebar-expand{position:fixed;top:14px;left:16px;z-index:50;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);transition:background .1s,color .1s}.sb-new{margin:4px 12px 10px;height:36px;background:var(--button-primary);color:#fff;border-radius:8px;font-size:13px;font-weight:500;display:grid;place-items:center;transition:transform .08s ease}.sb-new:hover{transform:translateY(-1px)}.sb-search{margin:0 12px 12px;height:36px;background:transparent;border:1px solid var(--border-subtle);border-radius:8px;display:flex;align-items:center;padding:0 10px;gap:8px}.sb-search input{flex:1;border:none;outline:none;background:none;font-size:13px;color:var(--text-primary);min-width:0}.sb-search input::placeholder{color:var(--text-muted)}.sb-kbd{font-family:var(--font-mono);font-size:11px;background:var(--bg-chip);color:var(--text-secondary);padding:2px 6px;border-radius:4px;font-weight:500}.sb-nav{padding:2px 0 6px}.sb-nav-item{position:relative;height:34px;display:flex;align-items:center;padding:0 16px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:6px;margin:0 8px;transition:background .1s ease}.sb-nav-item:hover,.sb-nav-item.active{background:var(--bg-surface);color:var(--text-primary)}.sb-nav-badge{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-muted)}.sb-convos{flex:1;overflow-y:auto;padding:8px 0 12px}.sb-subgroup-label{padding:12px 16px 4px;font-size:11px;font-weight:500;color:var(--text-muted)}.sb-convo{height:30px;padding:0 16px;margin:0 8px;border-radius:6px;display:flex;align-items:center;font-size:12.5px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-convo:hover{background:var(--bg-surface);color:var(--text-primary)}.sb-convo.active{background:var(--bg-surface);color:var(--text-primary);font-weight:500;position:relative}.sb-convo.active:after{content:"";position:absolute;right:14px;width:6px;height:6px;background:var(--accent-yellow);border-radius:50%}.sb-convo-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.sb-footer{border-top:1px solid var(--border-subtle);height:56px;padding:12px 16px;display:flex;align-items:center;gap:10px}.sb-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-chip);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--text-primary);flex-shrink:0}.sb-user-info{flex:1;min-width:0}.sb-user-name{font-size:12px;font-weight:600;line-height:1.2}.sb-user-role{font-size:11px;color:var(--text-secondary);line-height:1.3}.sb-user-select{font-size:11px;color:var(--text-secondary);background:transparent;border:1px solid var(--border-subtle);border-radius:5px;padding:2px 5px;cursor:pointer;font-family:inherit}.sb-user-select:hover{border-color:var(--text-primary)}.main{flex:1;display:flex;flex-direction:column;min-height:100vh;position:relative;min-width:0}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:16px 32px;height:64px;flex-shrink:0}.tb-btn{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--text-secondary);transition:background .1s,color .1s}.tb-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.tb-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-chip);border:1px solid var(--border-subtle);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--text-primary);margin-left:4px}.content{flex:1;display:block;overflow-y:auto;padding:24px 0 0;width:100%}.content-inner{width:720px;max-width:100%;margin:0 auto;padding:0 24px 200px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 24px 0}.empty-logo{width:56px;height:56px;border-radius:14px;margin-bottom:26px;object-fit:cover;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:8px}.empty-title{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:6px}.empty-sub{font-size:16px;color:var(--text-secondary);margin-bottom:28px}.empty-input{width:100%;max-width:620px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:10px;margin-bottom:32px}.empty-input input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--text-primary)}.empty-input input::placeholder{color:var(--text-muted)}.empty-send{width:32px;height:32px;background:var(--button-primary);color:#fff;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.suggest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:620px}.suggest-card{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;transition:background .1s,transform .08s,border-color .1s}.suggest-card:hover{background:var(--bg-chip);border-color:var(--text-primary);transform:translateY(-1px)}.suggest-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-chip);display:grid;place-items:center;flex-shrink:0;color:var(--text-primary)}.suggest-title{font-size:14px;font-weight:600;line-height:1.3;margin-bottom:2px}.suggest-sub{font-size:12px;color:var(--text-secondary)}.time-sep{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin:40px 0}.msg{display:flex;gap:14px;margin-bottom:32px}.msg-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:14px;font-weight:700;background:var(--bg-chip);color:var(--text-primary)}.msg-avatar.ai{object-fit:cover;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:4px}.msg-body{flex:1;min-width:0}.msg-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.msg-name{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.msg-time{font-size:13px;color:var(--text-secondary)}.msg-text{font-size:15px;line-height:1.6;color:var(--text-primary);text-wrap:pretty}.msg-text p{margin-bottom:12px}.msg-text p:last-child{margin-bottom:0}.msg-text strong{font-weight:600}.msg-text ul,.msg-text ol{list-style:none;padding:0;margin:8px 0 12px}.msg-text li{padding:4px 0 4px 18px;position:relative}.msg-text li:before{content:"·";position:absolute;left:4px;color:var(--text-muted);font-weight:700}.msg-text h1,.msg-text h2,.msg-text h3,.msg-text h4{font-size:15px;font-weight:600;margin:18px 0 8px}.msg-text em{font-style:italic;color:var(--text-secondary)}.prompt-cursor{display:inline-block;width:2px;height:1em;background:var(--text-primary);vertical-align:-2px;margin-left:1px;animation:blink 1s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.chip,.msg-text code{background:var(--bg-chip);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;white-space:nowrap}.diag{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #00000008}.diag-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap}.diag-head .diag-toggle{margin-left:auto;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer}.diag-head .diag-toggle:hover{color:var(--text-primary)}.diag-line{display:flex;align-items:flex-start;gap:12px;font-family:var(--font-mono);font-size:13px;line-height:1.5;padding:5px 0;color:var(--text-primary);animation:diag-fade .2s ease-out}@keyframes diag-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.diag-icon{flex-shrink:0;width:16px;height:16px;display:grid;place-items:center;margin-top:2px;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.diag-icon.warn{color:var(--accent-yellow)}.diag-icon.info{color:var(--text-secondary);font-style:italic}.diag-icon.check{color:#fff;background:var(--text-primary);border-radius:50%;font-size:10px;font-weight:700}.diag-icon.critical{color:#fff;background:var(--critical);border-radius:50%;font-size:10px;font-weight:700}.diag-line-text{flex:1}.diag-hi{color:var(--accent-yellow);font-weight:500}.diag.diag-post{margin-top:8px}.diag.diag-post .diag-head{color:var(--text-primary)}.diag-summary{font-size:14px;font-style:italic;color:var(--text-secondary);margin-top:14px;padding-top:12px;border-top:1px solid var(--border-subtle);line-height:1.55}.spinner{width:11px;height:11px;border:1.5px solid var(--border-subtle);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.btn{height:36px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;transition:transform .08s ease,background .1s}.btn-primary{background:var(--button-primary);color:#fff}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-chip)}.btn:disabled{opacity:.5;cursor:not-allowed}.source-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.source-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;transition:background .1s}.source-card:hover{background:var(--bg-chip)}.source-icon{width:28px;height:28px;border-radius:6px;background:var(--bg-chip);display:grid;place-items:center;flex-shrink:0;font-size:14px}.source-text{font-size:13px;line-height:1.3;font-weight:500}.source-meta{font-size:11px;color:var(--text-secondary);margin-top:2px;font-weight:400}.composer-wrap{position:fixed;bottom:0;left:260px;right:0;background:linear-gradient(to top,var(--bg-canvas) 70%,transparent);padding:24px 32px 28px;display:flex;justify-content:center;pointer-events:none;z-index:5}.composer{width:720px;max-width:100%;pointer-events:auto}.composer-input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 18px #0000000a}.composer-input input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--text-primary)}.composer-input input::placeholder{color:var(--text-muted)}.composer-send{width:32px;height:32px;border-radius:8px;background:var(--button-primary);color:#fff;display:grid;place-items:center;flex-shrink:0}.composer-disclaimer{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.runner-back{margin-bottom:4px;font-size:13px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer}.runner-back:hover{color:var(--text-primary)}
