:root{
  --mimir-page:#f7f7f8;
  --mimir-surface:#ffffff;
  --mimir-surface-soft:#f2f2f3;
  --mimir-line:#e5e5e8;
  --mimir-line-strong:#d5d5da;
  --mimir-text:#111827;
  --mimir-muted:#6b7280;
  --mimir-accent:#10a37f;
  --mimir-accent-dark:#0e8f70;
  --mimir-shadow:0 18px 44px rgba(17,24,39,.08);
}

body.mimir-public-chat{
  min-height:100vh;
  background:linear-gradient(180deg,#ffffff 0%, var(--mimir-page) 52%, #f4f4f5 100%);
  color:var(--mimir-text);
  overflow-x:hidden;
}

body.mimir-public-chat::before{display:none;}
body.mimir-public-chat a{color:var(--mimir-accent-dark);}

.mimir-topbar{width:min(1120px,92%);margin:0 auto;padding:1rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.mimir-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--mimir-text);}
.mimir-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:12px;background:var(--mimir-text);color:#fff;font-weight:850;box-shadow:0 8px 24px rgba(17,24,39,.14);}
.mimir-brand strong{display:block;font-size:1rem;letter-spacing:-.02em;}
.mimir-brand small{display:block;color:var(--mimir-muted);font-size:.78rem;margin-top:.03rem;}
.mimir-topbar nav{display:flex;gap:.45rem;align-items:center;}
.mimir-topbar nav a{text-decoration:none;color:var(--mimir-muted);background:var(--mimir-surface);border:1px solid var(--mimir-line);border-radius:999px;padding:.45rem .8rem;font-size:.9rem;}
.mimir-topbar nav a:hover{color:var(--mimir-text);border-color:var(--mimir-line-strong);}

.mimir-chat-main{width:min(920px,92%);min-height:calc(100vh - 5rem);margin:0 auto;display:grid;align-content:center;gap:1rem;padding:2rem 0 3rem;}
.mimir-chat-center{display:grid;gap:1.35rem;}
.mimir-greeting{text-align:center;max-width:760px;margin:0 auto;}
.mimir-greeting h1{font-size:clamp(2.35rem,6vw,4.3rem);line-height:1.02;letter-spacing:-.065em;margin:0 0 .75rem;color:var(--mimir-text);}
.mimir-greeting p{margin:0 auto;max-width:640px;color:var(--mimir-muted);font-size:1.02rem;}
.mimir-composer{background:var(--mimir-surface);border:1px solid var(--mimir-line);border-radius:28px;box-shadow:0 18px 60px rgba(17,24,39,.10);padding:.85rem;}
.mimir-composer textarea{width:100%;min-height:4.7rem;resize:vertical;border:0;outline:0;background:transparent;color:var(--mimir-text);font-size:1.05rem;padding:.55rem .65rem;}
.mimir-composer textarea::placeholder{color:#9ca3af;}
.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--mimir-line);padding:.75rem .25rem .1rem .65rem;}
.composer-context{display:flex;gap:.45rem;flex-wrap:wrap;color:var(--mimir-muted);font-size:.86rem;}
.composer-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;}
.quick-suggestions{display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap;}
.quick-suggestions a{text-decoration:none;color:var(--mimir-muted)!important;border:1px solid var(--mimir-line);background:rgba(255,255,255,.7);border-radius:999px;padding:.48rem .8rem;font-size:.88rem;}
.quick-suggestions a:hover{color:var(--mimir-text)!important;border-color:var(--mimir-line-strong);}

.mimir-model-library{border:1px solid var(--mimir-line);background:rgba(255,255,255,.72);border-radius:24px;box-shadow:0 12px 36px rgba(17,24,39,.06);padding:1rem;}
.library-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;}
.library-heading h2{margin:0;font-size:1.08rem;color:var(--mimir-text);}
.library-heading p{max-width:440px;color:var(--mimir-muted);font-size:.9rem;margin:0;}
.model-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;}
.model-card{display:grid;gap:.65rem;border:1px solid var(--mimir-line);background:#fff;border-radius:20px;padding:1rem;}
.model-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;}
.model-card h3{margin:0;color:var(--mimir-text);font-size:1rem;letter-spacing:-.02em;}
.model-card-header span{color:var(--mimir-muted);font-size:.72rem;border:1px solid var(--mimir-line);border-radius:999px;padding:.12rem .45rem;background:#fafafa;white-space:nowrap;}
.model-card p{color:var(--mimir-muted);font-size:.88rem;margin:0;}
.model-card dl{display:grid;gap:.35rem;margin:0;}
.model-card dl div{display:flex;justify-content:space-between;gap:.75rem;border-top:1px solid var(--mimir-line);padding-top:.35rem;}
.model-card dt{color:var(--mimir-muted);font-size:.74rem;}
.model-card dd{margin:0;color:var(--mimir-text);font-size:.74rem;text-align:right;}
.model-card button{justify-self:start;padding:.42rem .7rem;font-size:.82rem;}

.mimir-settings-drawer,.mimir-dashboard-drawer{border:1px solid var(--mimir-line);background:rgba(255,255,255,.72);border-radius:24px;box-shadow:0 12px 36px rgba(17,24,39,.06);overflow:hidden;}
.mimir-settings-drawer > summary,.mimir-dashboard-drawer > summary{cursor:pointer;padding:1rem 1.1rem;color:var(--mimir-muted);font-weight:700;list-style:none;}
.mimir-settings-drawer > summary::-webkit-details-marker,.mimir-dashboard-drawer > summary::-webkit-details-marker{display:none;}
.mimir-settings-drawer[open] > summary,.mimir-dashboard-drawer[open] > summary{border-bottom:1px solid var(--mimir-line);color:var(--mimir-text);}
.mimir-settings-drawer .mimir-console,.mimir-dashboard-drawer .mimir-dashboard{border:0;box-shadow:none;border-radius:0;}

.mimir-shell{width:min(1120px,92%);margin:0 auto;padding:2.6rem 0 3.5rem;display:grid;gap:1rem;}
.mimir-hero-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:1rem;align-items:stretch;}
.mimir-hero-copy,.mimir-live-card,.mimir-console,.mimir-dashboard,.mimir-footer-strip{border:1px solid var(--mimir-line);background:rgba(255,255,255,.9);box-shadow:var(--mimir-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.mimir-hero-copy{border-radius:28px;padding:clamp(1.5rem,4vw,3rem);}
.mimir-hero-copy h1{font-size:clamp(2.45rem,7vw,5.7rem);line-height:.98;letter-spacing:-.075em;margin:.1rem 0 1rem;max-width:830px;color:var(--mimir-text);}
.mimir-hero-copy p{color:var(--mimir-muted);font-size:clamp(1rem,1.8vw,1.18rem);max-width:720px;margin:0 0 1.35rem;}
.mimir-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;}
.mimir-public-chat .btn,.mimir-public-chat button,.mimir-public-chat .button-link{border-radius:999px;font-weight:650;}
.mimir-public-chat .btn-primary{background:var(--mimir-text);border-color:var(--mimir-text);color:#fff;box-shadow:none;}
.mimir-public-chat .btn-primary:hover{background:#000;border-color:#000;color:#fff;}
.mimir-public-chat .btn-secondary,.mimir-public-chat button,.mimir-public-chat .button-link{background:var(--mimir-surface);border:1px solid var(--mimir-line);color:var(--mimir-text);}
.mimir-public-chat .btn-secondary:hover,.mimir-public-chat button:hover,.mimir-public-chat .button-link:hover{border-color:var(--mimir-line-strong);background:#f9fafb;}
.mimir-live-card{border-radius:28px;padding:1.35rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:270px;background:linear-gradient(145deg,rgba(16,163,127,.10),rgba(255,255,255,.88)),var(--mimir-surface);}
.mimir-live-card h2{font-size:clamp(1.55rem,2.7vw,2.25rem);letter-spacing:-.04em;margin:auto 0 .65rem;color:var(--mimir-text);}
.mimir-live-card p{color:var(--mimir-muted);margin:0;}
.eyebrow,.surface-kicker{font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--mimir-accent-dark);margin:0 0 .45rem;}
.mimir-console{border-radius:28px;padding:1rem;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:1rem;}
.backend-panel,.chat-config-panel{background:var(--mimir-surface-soft);border:1px solid var(--mimir-line);border-radius:22px;padding:1rem;}
.panel-heading,.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.panel-heading h2,.panel-heading h3,.dashboard-heading h2{margin:0;font-size:1.08rem;color:var(--mimir-text);}
.backend-list{display:grid;gap:.6rem;}
.backend-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;text-align:left;width:100%;padding:.85rem;border-radius:18px;background:var(--mimir-surface);border:1px solid var(--mimir-line);color:var(--mimir-text);box-shadow:none;}
.backend-item:hover{border-color:var(--mimir-line-strong);transform:translateY(-1px);}
.backend-item strong,.backend-item small{display:block;}
.backend-item small{color:var(--mimir-muted);font-size:.78rem;margin-top:.18rem;}
.backend-item.selected{border-color:var(--mimir-accent);background:#f0faf7;}
.backend-item em{font-style:normal;font-size:.7rem;color:var(--mimir-accent-dark);border:1px solid rgba(16,163,127,.28);border-radius:999px;padding:.12rem .45rem;background:#ecfdf5;}
.empty-backends{color:var(--mimir-muted);margin:0;}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;}
.profile-grid label{font-weight:650;color:var(--mimir-muted);font-size:.86rem;}
.profile-grid input,.profile-grid select{margin-top:.32rem;background:#fff;border-color:var(--mimir-line);color:var(--mimir-text);}
.profile-grid input:focus,.profile-grid select:focus{border-color:var(--mimir-accent);}
.model-catalog-hint{margin:.1rem 0 1rem;border:1px solid var(--mimir-line);border-radius:18px;background:#fff;padding:.7rem .85rem;}
.model-catalog-hint summary{cursor:pointer;color:var(--mimir-muted);font-size:.88rem;font-weight:650;}
.model-catalog-hint p{color:var(--mimir-muted);font-size:.88rem;margin:.55rem 0 0;}
.backend-badge{align-self:flex-start;border:1px solid var(--mimir-line);border-radius:999px;padding:.24rem .6rem;color:var(--mimir-muted);font-size:.76rem;background:#fff;}
.portal-actions{align-items:center;}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:.5rem .8rem;}
.button-link.disabled,.btn.disabled{opacity:.48;pointer-events:none;}
.danger{border-color:#fecaca!important;color:#b91c1c!important;background:#fff7f7!important;}
.mimir-dashboard{border-radius:28px;padding:1rem;}
.dashboard-heading button{border-color:var(--mimir-line);background:#fff;}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}
.metric-card{border:1px solid var(--mimir-line);border-radius:20px;padding:1rem;background:#fff;}
.metric-card span,.metric-card small{display:block;color:var(--mimir-muted);}
.metric-card strong{display:block;font-size:1.55rem;line-height:1.1;margin:.25rem 0;color:var(--mimir-text);}
.dashboard-table-wrap{margin-top:1rem;overflow:auto;border:1px solid var(--mimir-line);border-radius:20px;background:#fff;}
.dashboard-table{width:100%;border-collapse:collapse;min-width:860px;}
.dashboard-table th,.dashboard-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--mimir-line);font-size:.9rem;color:var(--mimir-text);}
.dashboard-table th{color:var(--mimir-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;background:#fafafa;}
.dashboard-table tr:last-child td{border-bottom:0;}
.dashboard-note{color:var(--mimir-muted);font-size:.86rem;margin:.8rem 0 0;}
.health-chip{display:inline-flex;align-items:center;border:1px solid var(--mimir-line);border-radius:999px;padding:.12rem .45rem;font-size:.76rem;text-transform:capitalize;background:#fff;}
.health-ready{color:#047857;border-color:#bbf7d0;background:#ecfdf5;}
.health-degraded,.health-testing{color:#a16207;border-color:#fde68a;background:#fffbeb;}
.health-offline{color:#b91c1c;border-color:#fecaca;background:#fff1f2;}
.health-unknown{color:var(--mimir-muted);}
.mimir-footer-strip{border-radius:999px;padding:.72rem 1rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;color:var(--mimir-muted);font-size:.86rem;background:rgba(255,255,255,.75);}
.mimir-footer-strip span{display:inline-flex;align-items:center;gap:.35rem;}
.mimir-footer-strip span:before{content:'•';color:var(--mimir-accent);}
.mimir-footer-strip a{color:var(--mimir-text);text-decoration:none;}
.portal-main{display:grid;gap:1rem;padding-top:1rem;}
.portal-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:1rem;align-items:center;}
.hero-panel{display:grid;gap:.35rem;border:1px solid var(--mimir-line);border-radius:var(--card-radius);padding:1rem;background:#fff;}
.hero-panel span{color:var(--mimir-muted);font-size:.9rem;}
.hero-panel strong{font-size:1.2rem;color:var(--mimir-text);}
.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;}
.config-card,.handoff-card{display:grid;gap:.6rem;}
.surface-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.surface-card{border:1px solid var(--mimir-line);border-radius:var(--card-radius);padding:1rem;background:#fff;}
.surface-card.recommended{border-color:rgba(16,163,127,.32);}
.surface-card p{color:var(--mimir-muted);}
.checklist{display:grid;gap:.45rem;color:var(--mimir-muted);padding-left:1.2rem;}
@media(max-width:980px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:860px){.mimir-hero-panel,.mimir-console{grid-template-columns:1fr;}.mimir-live-card{min-height:210px;}.profile-grid{grid-template-columns:1fr;}.mimir-chat-main{align-content:start;padding-top:2rem;}.library-heading{display:block}.library-heading p{margin-top:.35rem}.model-library-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.mimir-topbar{align-items:flex-start;}.mimir-brand small{display:none;}.mimir-shell{padding-top:1rem;}.mimir-hero-copy,.mimir-live-card,.mimir-console,.mimir-dashboard{border-radius:22px;}.mimir-hero-actions .btn,.portal-actions button,.button-link{width:100%;}.dashboard-grid{grid-template-columns:1fr;}.mimir-footer-strip{border-radius:22px;justify-content:flex-start;}.composer-bar{align-items:flex-start;flex-direction:column;}.composer-actions,.composer-actions .btn{width:100%;}.mimir-greeting h1{text-align:left;}.mimir-greeting p{text-align:left;}.quick-suggestions{justify-content:flex-start;}}
