:root{color-scheme:dark;--bg:#101119;--panel:#171922;--surface:#1e202d;--line:#303345;--muted:#8d93ac;--text:#e6e8f4;--accent:#a993ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;display:flex;height:100dvh;overflow:hidden}button,input,textarea,select{font:inherit}button,select{color:inherit;background:transparent;border:1px solid var(--line);border-radius:10px;padding:8px 12px}button{cursor:pointer}button:hover{border-color:#8b78c7;background:#272437}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.primary{background:#8e74ef;color:#fff;border-color:#8e74ef}.primary:hover{background:#a18af2}.secondary{background:#1c1e2a}.wide{width:100%;margin-top:10px}aside{width:265px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:27px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-icon{width:43px;height:43px;border:1px solid #4b4366;border-radius:14px;display:grid;place-items:center;font-size:29px;color:#b09bff;background:#292239}.brand strong{font-size:21px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.eyebrow{color:#707891;font-size:11px;margin:24px 0 32px}.section-title{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:11px}.section-title button{border:0;font-size:20px;padding:0 5px}nav button{display:flex;align-items:center;gap:11px;width:100%;border:1px solid transparent;text-align:left;padding:13px 10px;margin-bottom:9px;border-radius:12px}nav button.active{background:#292437;border-color:#51476d}.nav-avatar{height:35px;width:35px;display:grid;place-items:center;border-radius:11px;background:#ffffff07;font-size:19px}nav strong,nav small{display:block}nav strong{font-size:14px;font-weight:500}nav small{font-size:10px;color:var(--muted);max-width:156px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sidebar-footer{margin-top:auto;padding-top:25px}.sidebar-footer small{display:block;color:#686f87;font-size:10px;line-height:1.8;margin-top:14px}main{min-width:0;flex:1;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 34px;border-bottom:1px solid var(--line);min-height:95px}.header-persona{display:flex;align-items:center;gap:13px}.avatar{height:42px;width:42px;display:grid;place-items:center;background:#242534;border:1px solid #3c3f55;border-radius:13px;font-size:22px}h1{font-size:18px;margin:0;font-weight:500}header p{font-size:11px;color:var(--muted);margin:2px 0 0}.header-actions{display:flex;gap:7px}.header-actions button,.header-actions select{font-size:11px;padding:6px 9px}.context-strip{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 34px;color:var(--muted);font-size:10px;background:#161722}.simulated{border:1px solid #424052;border-radius:5px;padding:1px 6px}.context-strip button{border:0;color:var(--accent);font-size:11px;padding:3px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#thread{flex:1;overflow:auto;padding:33px max(28px,calc((100% - 820px)/2));scroll-behavior:smooth}.welcome{padding:35px 0}.welcome .symbol{font-size:33px;margin-bottom:25px}.kicker{font-size:10px;letter-spacing:3px;color:#8c7cba}.welcome h2{font:500 34px/1.5 serif;letter-spacing:1px;margin:14px 0}.welcome p{color:var(--muted);font-size:13px;max-width:650px}.quick-prompts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.quick-prompts button{padding:17px;text-align:left;color:#b5bad1;font-size:12px;background:#191b27;border-radius:13px}.message{margin:16px 0 27px}.message-meta{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:9px}.message-meta time{margin-left:auto;font-size:10px;color:#666d88}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);padding:18px 20px;background:#1a1c29;border-radius:13px;line-height:1.9}.message.user{margin-left:60px}.message.user .message-body{background:#282239;border-color:#413653}.message.error .message-body{color:#e8aba7;border-color:#6b454c}footer{padding:5px max(28px,calc((100% - 820px)/2)) 74px}#chat-form{border:1px solid #414258;border-radius:15px;background:#1a1c28;padding:13px 16px}textarea,input{color:inherit;background:#11131c;border:1px solid #3c4057;border-radius:9px;padding:10px;outline:none}textarea:focus,input:focus{border-color:#ae95ff}#message-input{width:100%;background:transparent;border:0;resize:vertical;max-height:200px;min-height:54px;padding:2px;font-size:14px}.compose-actions{display:flex;align-items:center;gap:8px}.compose-actions small{color:#737b94;font-size:10px;margin-right:auto}.compose-actions button{font-size:12px}.privacy-note{font-size:9px;color:#656e87;text-align:center;margin:10px 0 0}#notice{font-size:12px;color:#c2b1f4;min-height:0;margin:3px 0 8px}dialog{color:var(--text);background:#1c1e2a;border:1px solid #4b4566;border-radius:17px;width:min(600px,94vw);padding:25px;max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#080910ba;backdrop-filter:blur(6px)}.dialog-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.dialog-title h2{font-size:20px;font-weight:500;margin:0}.dialog-title button{border:0;font-size:22px;padding:1px 7px}label{display:block;font-size:12px;margin:14px 0}label input,label textarea{display:block;width:100%;margin-top:6px}label textarea{resize:vertical}.muted{font-size:11px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.history-item{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;margin:10px 0;padding:14px;background:#242635}.history-item strong,.history-item small{display:block}.history-item small{font-size:10px;color:var(--muted)}.empty{color:var(--muted);font-size:12px}.mobile-menu,.scrim{display:none}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}@media(max-width:1100px){aside{width:225px;padding:24px 14px}header{padding:18px 22px}.header-actions{gap:4px}.header-actions button,.header-actions select{padding:6px}.context-strip{padding:9px 22px}}@media(max-width:760px){aside{position:fixed;top:0;left:0;bottom:0;width:260px;transform:translateX(-101%);transition:transform .2s}aside.open{transform:translateX(0)}.mobile-menu{display:block;border:0;font-size:21px;padding:0 4px}.scrim:not([hidden]){display:block;position:fixed;inset:0;background:#0009;z-index:19;border:0;border-radius:0}header{padding:14px 16px;gap:8px;min-height:80px}.header-persona{gap:8px}.avatar{display:none}header p{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{flex-wrap:wrap;justify-content:flex-end;max-width:180px}h1{font-size:16px}.context-strip{padding:9px 16px}#thread{padding:20px 18px}.welcome{padding:22px 0}.welcome h2{font-size:28px}.quick-prompts{grid-template-columns:1fr}.quick-prompts button{padding:13px}.message.user{margin-left:25px}.message-body{padding:14px}footer{padding:5px 14px 75px}.privacy-note{font-size:8px}.compose-actions small{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep a full persona catalog accessible without shifting chat controls. */
aside{min-height:0}#persona-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sidebar-footer,aside>.wide{flex-shrink:0}
