:root{color-scheme:light;--bg:#faf8ff;--surface:#fff;--text:#30293e;--muted:#73687f;--line:#e7e1ef;--soft:#eee9f7;--accent:#7860b7;--tint:#dfd1fa;--shadow:#49337412;font:16px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}:root[data-appearance=dark]{color-scheme:dark;--bg:#191722;--surface:#231f2e;--text:#f1edf8;--muted:#b9adc9;--line:#3e354d;--soft:#32293f;--accent:#bca1f2;--tint:#58416d;--shadow:#00000020}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){color-scheme:dark;--bg:#191722;--surface:#231f2e;--text:#f1edf8;--muted:#b9adc9;--line:#3e354d;--soft:#32293f;--accent:#bca1f2;--tint:#58416d;--shadow:#00000020}}:root[data-theme=ocean]{--accent:#226d87;--tint:#bce5ef;--soft:#e1f0f3}:root[data-theme=peach]{--accent:#a65038;--tint:#ffd8c8;--soft:#f7e9e1}:root[data-theme=forest]{--accent:#3b7253;--tint:#cee8c9;--soft:#e8f0e5}:root[data-appearance=dark][data-theme=ocean]{--accent:#80cce2;--tint:#285066;--soft:#243643}:root[data-appearance=dark][data-theme=peach]{--accent:#f4b499;--tint:#684333;--soft:#3c2c29}:root[data-appearance=dark][data-theme=forest]{--accent:#a6d29d;--tint:#3b573a;--soft:#29372b}@media(prefers-color-scheme:dark){:root:not([data-appearance=light])[data-theme=ocean]{--accent:#80cce2;--tint:#285066;--soft:#243643}:root:not([data-appearance=light])[data-theme=peach]{--accent:#f4b499;--tint:#684333;--soft:#3c2c29}:root:not([data-appearance=light])[data-theme=forest]{--accent:#a6d29d;--tint:#3b573a;--soft:#29372b}}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0;border-radius:14px;min-height:44px;padding:10px 15px;background:transparent;color:var(--text)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:hover{filter:brightness(.96)}h1,h2,h3,p{margin-top:0}h1{font-size:20px;margin:0;font-weight:650}h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin-bottom:18px}h3{font-size:18px;margin-bottom:15px}p{margin-bottom:16px}small,.muted{color:var(--muted);font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:650;margin-bottom:14px}#app{display:flex;height:100dvh;height:100svh}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh}header{display:flex;gap:12px;align-items:center;padding:calc(16px + env(safe-area-inset-top)) 20px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.header-title{flex:1;min-width:0}.header-title h1{overflow-wrap:anywhere}.header-title span{font-size:12px;color:var(--muted)}.avatar{display:grid;place-items:center;background:linear-gradient(140deg,var(--tint),var(--soft));color:var(--accent);font-size:45px;width:82px;height:82px;border-radius:28px;overflow:hidden;flex-shrink:0}.avatar.small{width:48px;height:48px;border-radius:17px;font-size:28px}.avatar img{width:100%;height:100%;object-fit:cover}.icon{padding:6px 10px;min-width:44px;font-size:21px}#sidebar{display:none}.view{min-height:0;flex:1}.view[hidden], [hidden]{display:none!important}#chat-view{display:flex;flex-direction:column}#messages{flex:1;overflow-y:auto;padding:24px max(20px,calc((100% - 740px)/2));scroll-behavior:smooth;overscroll-behavior:contain}.welcome{max-width:490px;margin:25px auto 35px;text-align:center}.welcome .avatar{margin:0 auto 22px}.welcome h2{font-size:32px}.welcome p{color:var(--muted)}.greeting{font-size:12px;color:var(--muted);text-align:center;margin:0 0 25px;letter-spacing:.5px}.message-row{margin:0 0 20px;display:flex;flex-direction:column;align-items:flex-start}.message-row.user{align-items:flex-end}.message-label{font-size:11px;color:var(--muted);margin:0 8px 6px}.bubble{background:var(--soft);border-radius:20px 20px 20px 5px;padding:14px 18px;max-width:91%;white-space:pre-wrap;overflow-wrap:anywhere}.user .bubble{background:var(--accent);color:var(--surface);border-radius:20px 20px 5px 20px}.message-actions button{font-size:12px;color:var(--muted);padding:3px 8px}.chat-bottom{padding:8px max(16px,calc((100% - 740px)/2)) 8px;background:var(--bg)}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.chips button{font-size:12px;background:var(--soft);padding:8px 12px}.composer-note{font-size:10px;text-align:center;color:var(--muted);padding:7px 0 0}#composer{display:flex;align-items:flex-end;gap:3px;background:var(--surface);padding:7px;border:1px solid var(--line);border-radius:23px;box-shadow:0 5px 20px var(--shadow)}#message{margin:0;resize:none;max-height:145px;min-height:44px;border:0;background:transparent;padding:10px;line-height:1.5}#composer .icon{font-size:19px}.send{background:var(--accent);color:var(--surface);border-radius:16px;min-width:44px;font-size:22px}nav{display:flex;justify-content:space-around;gap:4px;border-top:1px solid var(--line);background:var(--surface);padding:7px 9px calc(7px + env(safe-area-inset-bottom))}nav button{font-size:11px;display:flex;flex-direction:column;align-items:center;gap:0;flex:1;padding:5px}nav button span{font-size:24px;line-height:1.1}nav button.active{color:var(--accent);background:var(--soft)}.content{overflow-y:auto;padding:28px max(20px,calc((100% - 740px)/2)) 45px}.section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.primary{background:var(--accent);color:var(--surface);font-weight:600}.secondary{background:var(--soft);margin:4px 4px 4px 0;font-size:14px}.danger{color:#c44140;background:var(--surface);border:1px solid var(--line);font-size:14px}input,textarea,select{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--text);padding:12px;margin-top:7px;font-size:16px}textarea{resize:vertical;min-height:80px}label{display:block;font-size:14px;margin-bottom:17px}input[type=file]{font-size:13px}input[type=checkbox]{width:21px;height:21px;margin:0;flex-shrink:0}.check{display:flex;gap:12px;align-items:flex-start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.setting-card{padding:23px;border:1px solid var(--line);border-radius:22px;background:var(--surface);margin:20px 0}.history-item,.memory-item{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:12px 0;overflow-wrap:anywhere}.history-item .open-chat{width:100%;text-align:left;padding:0;font-weight:600}.history-item small{display:block}.item-buttons{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.item-buttons button{font-size:12px;color:var(--muted);padding:5px 10px;background:var(--soft)}#memory-form textarea{margin-bottom:12px}.memory-item textarea{margin-bottom:10px}.notice,.alert{padding:10px 20px;background:var(--soft);font-size:13px;overflow-wrap:anywhere}.alert{color:#a22e2d;background:#ffefef}#request-status{font-size:13px;color:var(--muted);padding:0 4px 5px}dialog{width:calc(100% - 32px);max-width:540px;max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:25px;background:var(--surface);color:var(--text);padding:24px;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#1d142c88;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.dialog-heading h2{font-size:23px}dialog p{font-size:14px}details{border-bottom:1px solid var(--line);padding:13px 0}summary{cursor:pointer;font-weight:600;min-height:38px}details p{color:var(--muted);margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#login-error{color:#be4242}#side-chats{margin-top:25px;overflow:auto;flex:1}#side-chats button{display:block;width:100%;text-align:left;margin:5px 0;overflow-wrap:anywhere}#side-chats button.active{background:var(--soft);color:var(--accent)}.side-foot{font-size:12px;color:var(--muted);padding-top:20px}.side-foot span{font-size:10px}.brand{font-size:22px;font-weight:650;margin:0 0 20px}.mini-star{color:var(--accent);font-size:30px;margin-right:5px}@media(min-width:760px){#sidebar{width:230px;flex-shrink:0;display:flex;flex-direction:column;padding:30px 22px;background:var(--surface);border-right:1px solid var(--line)}header{padding-left:28px;padding-right:28px}.workspace nav{justify-content:center}.workspace nav button{max-width:150px}#messages{padding-top:35px}.welcome{margin-top:45px}}@media(max-width:370px){header{padding-left:12px;padding-right:10px;gap:7px}.form-grid{grid-template-columns:1fr}.setting-card{padding:17px}.chips{gap:5px}.chips button{padding:7px 10px;font-size:11px}.bubble{max-width:96%}}@media(prefers-reduced-motion:reduce){#messages{scroll-behavior:auto}}

@media(min-width:1024px){#sidebar{width:275px}}
