:root{font:16px system-ui,sans-serif;color:#e7edf6;background:#101722;color-scheme:dark}body{margin:0}header,main,footer{max-width:1050px;margin:auto;padding:24px}header{border-bottom:1px solid #344359}header strong{font-size:26px}.badge{margin-left:14px;color:#9dccff}section{background:#192536;border:1px solid #35455d;border-radius:12px;padding:22px;margin:20px 0}h1,h2{font-size:22px;margin-top:0}p,footer{color:#b6c4d8;line-height:1.6}label{display:block;margin:12px 0}input,textarea,select{display:block;box-sizing:border-box;width:100%;padding:10px;margin-top:6px;border:1px solid #65748b;border-radius:6px;background:#101722;color:inherit;font:inherit}textarea{min-height:96px}button,a#consent{display:inline-block;padding:10px 15px;margin:8px 8px 8px 0;border:0;border-radius:6px;background:#b3d6ff;color:#122238;font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}#messages p{padding:10px;border-left:3px solid #80b6ef;white-space:pre-wrap}#notice{color:#ffd497}[hidden]{display:none!important}summary{cursor:pointer;padding:10px 0}footer{font-size:14px}

body{padding-bottom:env(safe-area-inset-bottom)}header{padding-top:max(20px,env(safe-area-inset-top))}@media(max-width:600px){header,main,footer{padding-left:16px;padding-right:16px}section{padding:16px;margin:14px 0}.badge{display:inline-block;margin:8px 0 0 12px}button,a#consent{min-height:44px}input,textarea,select{font-size:16px}header strong{font-size:24px}pre{max-width:100%;overflow-wrap:anywhere}}


/* Annelie 3 team visual refresh: CSS-only, existing authenticated API unchanged */
:root{color-scheme:dark;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#f7f2ed;background:#0b1220}
body{min-height:100vh;background:radial-gradient(ellipse at 90% -5%,#4a3037 0%,transparent 39%),radial-gradient(ellipse at 0% 70%,#202a40,transparent 54%),linear-gradient(150deg,#0c1628,#111522 70%,#1d1722)}
header,main,footer{max-width:880px;padding-left:clamp(16px,4vw,34px);padding-right:clamp(16px,4vw,34px)}
header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid #58434b;border-radius:25px;margin-top:24px;background:linear-gradient(140deg,#172335f5,#1e1927f0);box-shadow:0 12px 35px #0005,inset 0 1px #f2b18a22}
header .ann-brand{display:flex;align-items:center;gap:16px;margin-right:auto}
.ann-logo{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,#ab5a44,#e6ae75);color:#171a27;font:bold italic 33px Georgia,serif;box-shadow:0 5px 25px #f19b7044}
.ann-brand strong{display:block;font-size:clamp(23px,3vw,31px);line-height:1.1;letter-spacing:-.5px}
.ann-brand em{font-style:normal;color:#f5b37d}
.ann-brand small{display:block;letter-spacing:2.5px;font-size:10px;color:#cbbec3;margin-top:5px}
header #account{width:100%;order:3;margin:0;color:#c4c5d2;font-size:13px}
header #signout{margin-left:auto}
#notice{max-width:100%;box-sizing:border-box;padding:13px 18px;border-radius:17px;background:#173234a6;color:#cbf4e3;border:1px solid #75aa9d78;box-shadow:inset 0 1px #ffffff18}
#notice:empty{display:none}
section{background:linear-gradient(160deg,#1c293cfa,#191e30ed 80%,#382a35e8);border:1px solid #76636e88;border-radius:23px;padding:clamp(18px,3vw,30px);box-shadow:0 9px 35px #0004,inset 0 1px #ffffff18}
section:first-of-type{border-color:#b8866a99}
h1,h2{font-size:clamp(21px,3vw,28px);letter-spacing:-.4px;margin-bottom:12px}
h1 span{font-size:.75em;color:#f3a97e;margin-right:8px}
p{color:#d0cdd5;line-height:1.55}
button,a#consent{border-radius:12px;background:linear-gradient(135deg,#eabb9a,#e49b79);color:#201925;font-weight:650;padding:11px 16px;border:1px solid #f6caac77;box-shadow:0 3px 11px #0004;transition:transform .12s,filter .12s}
button:hover:not(:disabled),a#consent:hover{transform:translateY(-1px);filter:brightness(1.08)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #f8ba8c;outline-offset:3px}
input,textarea,select{border:1px solid #657081;border-radius:13px;background:#101827;color:#f4f2f5;padding:13px 14px}
input:focus,textarea:focus{border-color:#d7a180}
#messages{display:flex;flex-direction:column;gap:10px;margin:18px 0}
#messages p{border-left:0;background:#24334a;border-radius:15px;padding:15px 16px;margin:0;line-height:1.5;overflow-wrap:anywhere}
#messages p:nth-child(2n){background:#243b3d}
#chat{border-top:1px solid #bdb3b324;margin-top:20px;padding-top:14px}
#chat textarea{min-height:96px;resize:vertical}
#chat button{margin-top:6px}
footer{color:#8f9aaa;font-size:12px;padding-bottom:35px}
details{border:1px solid #6a718047;border-radius:14px;padding:8px 15px;margin-top:14px}
summary{color:#e9bd9e}
pre{color:#e5edf9;font-size:13px}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#7e717b;border-radius:10px}
@media(max-width:600px){header{margin-top:12px;border-radius:19px;gap:8px;padding-top:18px}.ann-logo{height:42px;width:42px;font-size:27px}.ann-brand small{font-size:8px;letter-spacing:1.3px}section{border-radius:18px}header button{margin:4px 0}button{min-height:44px}}
/* Shared chat shell: Z / Team / P and searchable conversations */
body.chat-ready main{max-width:none;margin-left:min(320px,28vw);padding-top:14px}
.workspace-sidebar{position:fixed;top:18px;left:18px;bottom:18px;width:265px;box-sizing:border-box;border:1px solid #73616b70;border-radius:20px;background:linear-gradient(165deg,#131e30f5,#1b1e2df9);box-shadow:0 12px 32px #0007;z-index:5;padding:18px;display:flex;flex-direction:column;gap:11px}
.workspace-sidebar button{margin:0;text-align:left}
.workspace-sidebar .sidebar-new{width:100%;background:linear-gradient(140deg,#dca989,#e6c3a7);color:#1d1820;font-weight:750}
.sidebar-search-label,.sidebar-heading{color:#b4aebd;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.workspace-sidebar input{width:100%;border-radius:11px;margin:0;font-size:13px;padding:10px}
.mode-picker{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:5px}
.mode-picker button{font-size:13px;min-width:0;text-align:center;background:#293449;color:#e7e7f1;padding:10px 4px;border-color:#6d748660}
.mode-picker button[aria-pressed=true]{background:#e8ad8a;color:#241c22;box-shadow:0 2px 13px #dca88236}
.mode-picker small{display:block;font-size:10px}
#chat-list{overflow:auto;flex:1;min-height:40px;display:flex;flex-direction:column;gap:6px}
#chat-list .chat-entry{display:block;background:transparent;border:1px solid transparent;color:#d9dce5;font-size:13px;font-weight:450;box-shadow:none;padding:9px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#chat-list .chat-entry:hover{background:#2f3c50}
#chat-list .chat-entry.selected{background:#394254;border-color:#7f8088}
.empty-list,.sidebar-foot{color:#9b9caa;font-size:12px;margin:4px}
#tools-toggle{background:transparent;color:#f2dfcc;border-color:#77738650;box-shadow:none;font-size:12px}
.chat-ready #primary-chat{max-width:900px;margin:auto;min-height:60vh;display:flex;flex-direction:column}
.chat-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
#mode-label{border:1px solid #c0957980;background:#352f3b;border-radius:25px;padding:7px 12px;color:#f0cab1;font-size:12px}
#primary-chat #messages{flex:1;min-height:130px;max-height:55vh;overflow-y:auto}
#primary-chat #messages p.user-bubble{background:#3b394b;align-self:flex-end;max-width:82%;border-radius:18px 18px 4px 18px}
#primary-chat #messages p.assistant-bubble{background:#243546;align-self:flex-start;max-width:92%;border-radius:18px 18px 18px 4px}
#primary-chat #chat{margin-top:auto}
#primary-chat #chat textarea{min-height:75px;max-height:24vh}
.chat-ready .secondary-panel{display:none}
.chat-ready.tools-open .secondary-panel{display:block;max-width:900px;margin:16px auto}
#history-coverage{font-size:12px;color:#b9d6cc}
@media(max-width:980px){.workspace-sidebar{width:220px}body.chat-ready main{margin-left:240px}}
@media(max-width:700px){.workspace-sidebar{position:static;width:auto;height:auto;top:auto;left:auto;right:auto;bottom:auto;margin:12px 14px;padding:13px;gap:9px}.workspace-sidebar #chat-list{max-height:135px}.workspace-sidebar .sidebar-foot{display:none}.workspace-sidebar .mode-picker small{display:none}body.chat-ready main{margin-left:0}#primary-chat #messages{max-height:45vh}header{margin-top:12px}}


/* Annelie 3 direct input: white balloon above the existing character. */
#balloon-controls,#balloon-collapse{display:none}
body.balloon-mode{background:#fff!important;color:#25303a;color-scheme:light;min-height:100vh}
body.balloon-mode>header,body.balloon-mode>footer{display:none!important}
body.balloon-mode main{max-width:100%!important;margin:0!important;padding:12px!important;background:transparent}
body.balloon-mode .workspace-sidebar,body.balloon-mode .secondary-panel{display:none!important}
body.balloon-mode #workspace{display:block}
body.balloon-mode #primary-chat{
 width:min(345px,calc(100vw - 24px));box-sizing:border-box;
 max-width:none;min-height:0;height:auto;display:flex;flex-direction:column;
 margin:0 auto!important;padding:12px 13px 13px;
 background:#fff;border:1px solid #d8dce3;border-radius:22px;
 box-shadow:0 8px 20px #111a2d21,0 1px 4px #111a2d12;color:#28313f
}
body.balloon-mode #balloon-controls{display:flex;align-items:center;gap:7px;margin:0 0 5px}
body.balloon-mode #balloon-controls .balloon-name{font-size:13px;font-weight:700;margin-right:auto;color:#252f3f}
body.balloon-mode .balloon-online{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3ba77b;vertical-align:middle;margin-left:3px}
body.balloon-mode #balloon-mode{display:block;width:auto;max-width:115px;margin:0;padding:5px 6px;font-size:11px;background:#f4f6f9;border:1px solid #e1e5ed;border-radius:9px;color:#354052}
body.balloon-mode #balloon-expand{display:block;box-shadow:none;margin:0;padding:3px 8px;border-radius:9px;background:#eef1f5;border:0;color:#4b5d76;font-size:18px}
body.balloon-mode #primary-chat .chat-heading,
body.balloon-mode #primary-chat .intro-copy,
body.balloon-mode #primary-chat #new-chat,
body.balloon-mode #primary-chat #history-coverage{display:none!important}
body.balloon-mode #primary-chat #messages{display:flex;min-height:0;max-height:170px;overflow:auto;gap:5px;margin:2px 0 5px}
body.balloon-mode #primary-chat #messages:empty{display:none}
body.balloon-mode #primary-chat #messages p{padding:8px 10px;font-size:12px;line-height:1.35;border-radius:11px;max-width:98%}
body.balloon-mode #primary-chat #messages .user-bubble{background:#f3f4f7;color:#303847}
body.balloon-mode #primary-chat #messages .assistant-bubble{background:#eaf3ed;color:#234337}
body.balloon-mode #primary-chat #chat{display:flex;flex-direction:row;align-items:center;gap:7px;border:0;margin:0;padding:0}
body.balloon-mode #primary-chat #chat .composer-label{display:block;flex:1;min-width:0;margin:0;font-size:0;line-height:0}
body.balloon-mode #primary-chat #chat textarea{width:100%;box-sizing:border-box;display:block;min-height:45px;max-height:110px;margin:0;padding:11px 12px;resize:none;font-size:13px;line-height:1.4;color:#263143;background:#fafbfc;border:1px solid #d9dfe8;border-radius:13px}
body.balloon-mode #primary-chat #chat textarea::placeholder{color:#7f8794}
body.balloon-mode #primary-chat #chat button{margin:0;padding:0;width:43px;height:43px;flex:none;border-radius:13px;border:0;background:#dda989;color:#292130;font-size:0;display:grid;place-items:center;box-shadow:none}
body.balloon-mode #primary-chat #chat button::after{content:'➤';font-size:20px}
body.balloon-mode #notice{font-size:11px;max-width:345px;margin:7px auto 0!important;padding:6px 10px;border-radius:10px;background:#edf6f0;color:#33594b}
body.chat-ready:not(.balloon-mode) #balloon-collapse{display:inline-block;order:3;margin:0;padding:6px 11px;font-size:12px}
@media(max-width:700px){body.balloon-mode main{padding:9px!important}body.balloon-mode #primary-chat{width:100%;border-radius:18px}}
