@media(min-width:900px){body.mimir-public-chat{display:grid;grid-template-columns:220px minmax(0,1fr);background:#fff}.mimir-public-chat .mimir-topbar{position:sticky;top:0;align-self:start;width:auto;height:100vh;margin:0;padding:18px 14px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px;background:#f7f7f8;border-right:1px solid #e5e7eb;border-bottom:0}.mimir-public-chat .mimir-brand{min-height:46px;padding:4px 5px;color:#111827}.mimir-public-chat .mimir-brand small{font-size:.82rem}.mimir-public-chat .mimir-topbar nav{display:grid;gap:5px;align-content:start}.mimir-public-chat .mimir-topbar nav a:not([href="#mimir-prompt"]){display:none!important}.mimir-public-chat .mimir-topbar nav a,.mimir-public-chat .mimir-nav-more>summary{justify-content:flex-start;border:0;background:transparent;border-radius:9px;min-height:38px;padding:8px 10px;color:#3f3f46;font-size:.94rem}.mimir-public-chat .mimir-topbar nav a:hover,.mimir-public-chat .mimir-nav-more>summary:hover{background:#ececee;color:#111827}.mimir-public-chat .mimir-nav-more{position:static}.mimir-public-chat .mimir-nav-menu{position:static;width:auto;max-height:calc(100vh - 320px);overflow:auto;display:grid;grid-template-columns:1fr;gap:2px;margin-top:4px;padding:0 0 0 10px;border:0;border-left:1px solid #e2e2e5;border-radius:0;background:transparent;box-shadow:none}.mimir-public-chat .mimir-nav-menu a{min-height:30px;padding:5px 8px;font-size:.84rem;color:#71717a}.mimir-public-chat .mimir-chat-main{width:min(900px,calc(100% - 64px));min-height:100vh;margin:0 auto;padding:20px 0 26px;display:block}.mimir-public-chat .mimir-chat-center{min-height:calc(100vh - 46px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;align-items:stretch}.mimir-public-chat #mimir-chat-runtime{grid-row:1;order:1;align-self:stretch;width:min(820px,100%);margin:0 auto;display:grid;align-content:end}.mimir-public-chat .mimir-composer{grid-row:2;order:2;width:min(820px,100%);margin:0 auto;align-self:end;border-radius:22px;box-shadow:0 10px 34px rgba(17,24,39,.10);padding:12px}.mimir-public-chat .mimir-composer textarea{min-height:82px;max-height:220px;padding:12px 14px;font-size:1.02rem}.mimir-public-chat .composer-bar{padding:8px 4px 0;border-top:0}body.mimir-has-chat .mimir-composer{position:sticky;bottom:18px}body.mimir-has-chat .mimir-chat-main{padding-top:16px}.mimir-public-chat .mimir-chat-runtime{width:min(820px,100%);margin:0 auto}.mimir-public-chat .runtime-transcript{max-height:none;min-height:0;height:100%;align-content:end;gap:14px;overflow-y:auto;padding:32px 2px 18px}.mimir-has-chat .runtime-transcript{min-height:0;max-height:calc(100vh - 220px);overflow-y:auto}}
@media(max-width:899px){.mimir-public-chat .mimir-chat-main{min-height:calc(100vh - 6.5rem);display:block}.mimir-public-chat .mimir-chat-center{min-height:calc(100vh - 8rem);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.65rem}.mimir-public-chat .mimir-composer{align-self:end;margin-top:auto}.mimir-public-chat:not(.mimir-has-chat) .mimir-composer{position:sticky;bottom:calc(.7rem + env(safe-area-inset-bottom))}.mimir-public-chat .runtime-transcript{max-height:calc(100vh - 260px)}.mimir-public-chat .runtime-message{max-width:100%}.mimir-public-chat .runtime-message-user{max-width:86%}}
.mimir-public-chat .runtime-transcript{scrollbar-width:thin}.mimir-public-chat .runtime-message{box-shadow:none}.mimir-public-chat .runtime-message-label{font-size:.68rem;letter-spacing:0;text-transform:none}.mimir-public-chat .runtime-message-assistant{max-width:min(760px,100%);border:0;background:transparent;padding:9px 2px}.mimir-public-chat .runtime-message-user{max-width:min(640px,78%);border:0;background:#f4f4f5;color:#18181b;border-radius:18px;padding:10px 14px}.mimir-public-chat .runtime-message-assistant .runtime-message-label{color:#71717a;opacity:1}.mimir-public-chat .runtime-message-user .runtime-message-label{display:none}
@media(max-width:560px){.mimir-public-chat .composer-bar{align-items:flex-end;flex-direction:row;justify-content:flex-end}.mimir-public-chat .composer-actions{width:auto;margin-left:auto}.mimir-public-chat .composer-actions .btn,.mimir-public-chat .composer-actions #primary-chat-link{width:44px;min-width:44px;min-height:44px;padding:0}}

/* Public composer ownership: this file owns .mimir-public-chat toolbar/chip
   overrides. chat-runtime.css owns only base unscoped runtime/composer
   primitives. Minimal composer: show only +, privacy, model chooser, mic when
   supported and send. Capabilities live behind + and the model chooser. */
.mimir-public-chat .composer-mode-dock{position:static;display:grid;grid-template-areas:"tools" "live" "feedback";grid-template-columns:minmax(0,1fr);gap:8px;border-top:1px solid rgba(148,163,184,.14);padding:.55rem .3rem .3rem}
.mimir-public-chat:not(.mimir-has-chat) .composer-mode-dock{display:grid!important;grid-template-areas:"tools" "live" "feedback"!important;grid-template-columns:minmax(0,1fr)!important}
.mimir-public-chat .composer-tool-cluster,.mimir-public-chat .composer-live-cluster{min-width:0}
.mimir-public-chat :is(.composer-tool-cluster,.composer-live-cluster){flex-wrap:nowrap;min-width:0;row-gap:6px}
.mimir-public-chat .composer-live-cluster{justify-content:flex-start}
.mimir-public-chat:not(.mimir-has-chat) .composer-tool-cluster{display:flex!important;grid-area:tools!important;flex-wrap:wrap!important}
.mimir-public-chat:not(.mimir-has-chat) .composer-live-cluster{display:flex!important;grid-area:live!important;flex-wrap:wrap!important}
.mimir-public-chat:not(.mimir-has-chat) .composer-tool-cluster > :not(#composer-add-model):not([data-chat-mode="private"]){display:none!important}
.mimir-public-chat:not(.mimir-has-chat) .composer-live-cluster > :not(#runtime-model-chip):not(#composer-voice-input){display:none!important}
.mimir-public-chat .composer-live-chip,.mimir-public-chat .composer-mode-button{max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mimir-public-chat .composer-live-chip{min-height:28px;padding:0 9px;font-size:.76rem;font-weight:600;background:#f8fafc;border-color:rgba(148,163,184,.22);color:#64748b}
.mimir-public-chat .composer-live-chip[data-state="ready"]{border-color:rgba(4,120,87,.22);background:#f0fdf4;color:#15803d}
.mimir-public-chat .composer-live-chip[data-state="setup"],.mimir-public-chat .composer-live-chip[data-state="degraded"]{border-color:rgba(217,119,6,.24);background:#fffbeb;color:#b45309}
.mimir-public-chat .composer-live-chip[data-state="offline"]{border-color:rgba(185,28,28,.22);background:#fff1f2;color:#b91c1c}
.mimir-public-chat :is(#runtime-node-chip,#runtime-privacy-chip,#runtime-tunnel-chip,#runtime-resource-chip){display:none!important}
.mimir-public-chat #runtime-tunnel-chip[data-state="idle"],.mimir-public-chat #runtime-resource-chip[data-state="idle"]{display:none}
.mimir-public-chat .composer-mode-button:not([data-chat-mode="private"]){display:none!important}
/* Model chooser: shows the active model and opens the picker. */
.mimir-public-chat #runtime-model-chip{max-width:min(360px,90vw);font-size:.8rem;font-weight:650;color:#0f172a;border-color:rgba(100,116,139,.3);background:#fff}
.mimir-public-chat #runtime-model-chip::after{content:"";flex:0 0 auto;margin-left:7px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.5}
.mimir-public-chat .composer-bar{border-top:0;display:flex;justify-content:flex-end}
.mimir-public-chat .composer-actions{display:flex;width:auto}
.mimir-public-chat .composer-actions :is(.btn,#primary-chat-link){width:44px;min-width:44px;min-height:44px;padding:0}
/* Icon-only controls (no text) like Claude / ChatGPT. */
.mimir-public-chat #composer-add-model{width:38px;min-width:38px;height:38px;padding:0;font-size:1.4rem;line-height:1}
/* Privacy sign: shield icon, no text. */
.mimir-public-chat .composer-mode-button[data-chat-mode="private"]{width:38px;min-width:38px;height:38px;padding:0;font-size:0;color:transparent;border-color:rgba(37,99,235,.32);background-color:#eff6ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:19px 19px}
.mimir-public-chat #runtime-node-chip[data-state=ready],.mimir-public-chat #runtime-tunnel-chip[data-state=ready],.mimir-public-chat #runtime-resource-chip[data-state=ready],.mimir-public-chat #runtime-privacy-chip[data-state=ready]{color:#047857;background:#ecfdf5;border-color:rgba(4,120,87,.22)}
.mimir-public-chat #composer-add-model{font-size:1.3rem}
.mimir-public-chat .composer-action-feedback[data-state=idle],.mimir-public-chat .composer-action-feedback[data-state=ready]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:720px){.mimir-public-chat .composer-mode-dock{grid-template-areas:"tools" "live" "feedback";grid-template-columns:1fr}.mimir-public-chat :is(.composer-tool-cluster,.composer-live-cluster){display:flex;flex-wrap:wrap;row-gap:6px}.mimir-public-chat #runtime-model-chip{max-width:min(280px,78vw)}}
@media(max-width:560px){
  .mimir-public-chat .composer-mode-dock{grid-template-areas:"tools live" "feedback feedback";grid-template-columns:auto minmax(0,1fr);gap:8px}
  .mimir-public-chat .composer-tool-cluster,.mimir-public-chat .composer-live-cluster{flex-wrap:wrap;row-gap:6px}
  .mimir-public-chat .composer-live-cluster{justify-content:flex-start}
  .mimir-public-chat .composer-mode-button[data-chat-mode=super],.mimir-public-chat .composer-mode-button[data-chat-mode=vision],.mimir-public-chat .composer-mode-button[data-chat-mode=boost]{display:none}
  .mimir-public-chat .composer-mode-button[data-chat-mode=private]{max-width:8rem}
  .mimir-public-chat .composer-live-chip{max-width:80vw}
  .mimir-public-chat #composer-voice-input{width:40px;min-width:40px;padding:0;font-size:0;color:transparent}
  .mimir-public-chat #composer-voice-input::before{content:"Mic";font-size:.82rem;color:#0f172a}
}

/* ---- Open WebUI-style centered welcome for the empty (no-chat) state ---- */
/* Instead of a bottom-pinned composer floating in an empty void, center a
   greeting + the composer + starter suggestions, like Open WebUI's home. */
.mimir-public-chat:not(.mimir-has-chat) .mimir-chat-center{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:calc(100vh - 64px);padding:32px 16px}
.mimir-public-chat:not(.mimir-has-chat) #mimir-chat-runtime{display:none}
.mimir-public-chat:not(.mimir-has-chat) .mimir-greeting{position:static;width:auto;height:auto;margin:0;clip:auto;clip-path:none;overflow:visible;white-space:normal;text-align:center;max-width:680px;display:grid;gap:10px}
.mimir-public-chat:not(.mimir-has-chat) .mimir-greeting .eyebrow{color:#16a34a;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0}
.mimir-public-chat:not(.mimir-has-chat) .mimir-greeting h1{font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.18;color:#0f172a;font-weight:760;margin:0;letter-spacing:-.01em}
.mimir-public-chat:not(.mimir-has-chat) .mimir-greeting #active-chat-description{color:#64748b;font-size:1.02rem;line-height:1.5;margin:0}
.mimir-public-chat:not(.mimir-has-chat) .mimir-composer{position:static;width:min(720px,100%);margin:0}
.mimir-public-chat:not(.mimir-has-chat) #mmir-quick-suggestions{display:none!important}
.mimir-public-chat:not(.mimir-has-chat) #mmir-quick-suggestions button,.mimir-public-chat:not(.mimir-has-chat) #mmir-quick-suggestions a{border:1px solid rgba(100,116,139,.22)!important;background:#fff!important;color:#334155!important;border-radius:999px;padding:9px 15px;font-size:.86rem;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;min-height:38px;display:inline-flex;align-items:center;box-shadow:none!important;transition:border-color 120ms ease,background 120ms ease}
.mimir-public-chat:not(.mimir-has-chat) #mmir-quick-suggestions button:hover,.mimir-public-chat:not(.mimir-has-chat) #mmir-quick-suggestions a:hover{border-color:rgba(15,23,42,.3)!important;background:#f8fafc!important}
