*{box-sizing:border-box}:root{--bg:#fff;--sidebar:#f7f7f7;--border:#e7e7e7;--text:#111;--muted:#777}html,body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,textarea{font:inherit}button{cursor:pointer}#app{height:100vh;display:flex;overflow:hidden}.sidebar{width:255px;background:var(--sidebar);border-right:1px solid var(--border);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.brand{font-size:21px;font-weight:750;letter-spacing:-.5px;padding:6px 10px 16px}.nav{border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:10px;color:#222}.nav:hover,.recent:hover{background:#ececec}.nav.primary{font-weight:650}.section-label{font-size:11px;color:#8a8a8a;padding:20px 11px 6px;letter-spacing:.06em}.recent{padding:9px 11px;border-radius:9px;font-size:14px}.recent.active{background:#ececec}.sidebar-bottom{margin-top:auto}.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:relative}.mode-button,.private-button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:9px 13px;font-weight:600}.chevron{margin-left:6px;color:#777}.mode-menu{position:absolute;top:56px;left:22px;width:320px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.12);padding:10px;z-index:20;max-height:520px;overflow:auto}.menu-title{font-size:11px;color:#888;padding:9px 10px 5px;text-transform:uppercase;letter-spacing:.06em}.mode-option{width:100%;border:0;background:transparent;border-radius:11px;padding:10px;text-align:left;display:flex;flex-direction:column;gap:3px}.mode-option:hover{background:#f4f4f4}.mode-option span{color:#777;font-size:12px}.conversation{flex:1;overflow-y:auto;padding:30px max(24px,calc((100% - 820px)/2))}.empty-state{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1.6px;margin:0 0 10px}.empty-state p{color:var(--muted);margin:0}.message{max-width:760px;margin:0 auto 24px;line-height:1.6}.message.user{display:flex;justify-content:flex-end}.message.user .bubble{background:#f1f1f1;padding:12px 15px;border-radius:18px;max-width:78%}.message.ai .label{font-weight:750;margin-bottom:7px}.typing{color:#777;font-size:14px}.composer-wrap{padding:12px 24px 18px}.composer{max-width:820px;margin:0 auto;border:1px solid #dcdcdc;border-radius:22px;padding:12px 13px 10px;box-shadow:0 2px 10px rgba(0,0,0,.04);background:#fff}textarea{border:0;outline:0;width:100%;resize:none;max-height:180px;min-height:34px;font-size:16px;padding:4px 4px 8px}.composer-actions{display:flex;align-items:center;justify-content:space-between}.left-actions{display:flex;gap:4px}.icon-btn,.send-btn{width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center}.icon-btn{background:transparent}.icon-btn:hover{background:#f1f1f1}.send-btn{background:#111;color:#fff;font-size:19px}.send-btn:disabled{opacity:.35;cursor:default}.footer-note{text-align:center;color:#999;font-size:11px;margin-top:9px}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#111;color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;z-index:100}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.28);display:grid;place-items:center;z-index:50}.modal{width:min(460px,calc(100vw - 32px));background:#fff;border-radius:20px;padding:24px;box-shadow:0 18px 70px rgba(0,0,0,.18)}.modal h2{margin-top:0}.modal p,.modal li{color:#555;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.secondary-btn,.dark-btn{border-radius:10px;padding:10px 14px;border:1px solid #ddd}.secondary-btn{background:#fff}.dark-btn{background:#111;color:#fff;border-color:#111}@media(max-width:760px){.sidebar{display:none}.topbar{padding:0 14px}.conversation{padding:20px 16px}.composer-wrap{padding:10px 12px 14px}.mode-menu{left:14px;width:min(320px,calc(100vw - 28px))}}