@font-face{font-family:ChatWeb UI;src:url(/assets/fonts/Roboto-Medium.woff2) format("woff2");font-weight:500;font-style:normal}:root{--cw-bg: #dbe5ec;--cw-surface: rgba(255, 255, 255, .9);--cw-border: rgba(15, 23, 42, .08);--cw-primary: #3390ec;--cw-primary-soft: rgba(51, 144, 236, .14);--cw-text: #17212b;--cw-subtle: #6d7f90;--cw-user: #d9fdd3;--cw-assistant: #ffffff;--cw-shadow: 0 24px 60px rgba(21, 38, 56, .14)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:ChatWeb UI,Segoe UI,sans-serif;color:var(--cw-text);background:radial-gradient(circle at top left,rgba(51,144,236,.18),transparent 30%),linear-gradient(180deg,#dfe8ef,#cdd8e2)}button,textarea,input{font:inherit}#app{min-height:100vh}.bridge-app{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;min-height:100vh;gap:1rem;padding:1rem}.bridge-app__sidebar,.bridge-app__main,.bridge-app__details{min-height:calc(100vh - 2rem)}.bridge-app__sidebar,.bridge-app__details,.bridge-app__main{border:1px solid var(--cw-border);border-radius:1.4rem;background:var(--cw-surface);box-shadow:var(--cw-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bridge-app__sidebar,.bridge-app__details{padding:1.1rem}.bridge-app__brand{display:flex;align-items:center;gap:.9rem;margin-bottom:1.25rem}.bridge-app__brand-badge{display:grid;place-items:center;width:3rem;height:3rem;border-radius:1rem;color:#fff;font-size:1.2rem;background:linear-gradient(135deg,#3390ec,#2f6fde)}.bridge-app__brand-title{font-size:1rem;font-weight:700}.bridge-app__brand-subtitle,.bridge-app__session-meta,.bridge-app__chat-subtitle,.bridge-app__topbar-meta,.bridge-app__section-label{color:var(--cw-subtle)}.bridge-app__new-chat{width:100%;border:none;border-radius:1rem;padding:.9rem 1rem;margin-bottom:1rem;color:#fff;background:linear-gradient(135deg,#3390ec,#537fe7);cursor:pointer}.bridge-app__section-label{margin-bottom:.65rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.bridge-app__session-list{display:grid;gap:.55rem}.bridge-app__session{width:100%;border:1px solid transparent;border-radius:1rem;padding:.9rem 1rem;text-align:left;background:#f4f7fae6;cursor:pointer}.bridge-app__session.is-active{border-color:#3390ec40;background:var(--cw-primary-soft)}.bridge-app__session-title{font-weight:700;margin-bottom:.25rem}.bridge-app__main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.bridge-app__topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.3rem;border-bottom:1px solid var(--cw-border)}.bridge-app__chat-title{font-size:1.05rem;font-weight:700}.bridge-app__topbar-meta{font-size:.82rem;text-align:right}.bridge-app__status-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.45rem;border-radius:999px;background:#f59e0b}.bridge-app__status-dot.is-online{background:#10b981}.bridge-app__status-dot.is-offline{background:#ef4444}.bridge-app__messages{display:grid;align-content:start;gap:.85rem;padding:1.2rem 1.2rem 1.4rem;overflow:auto;background:linear-gradient(#f4f8fcd1,#f4f8fcd1),url(/assets/img/pattern.svg)}.bridge-app__message-row{display:flex}.bridge-app__message-row.role-user{justify-content:flex-end}.bridge-app__bubble{max-width:min(78%,50rem);border-radius:1.2rem;padding:.9rem 1rem;box-shadow:0 10px 24px #17212b14}.bridge-app__bubble.role-user{background:var(--cw-user);border-bottom-right-radius:.4rem}.bridge-app__bubble.role-assistant,.bridge-app__bubble.role-system{background:var(--cw-assistant);border-bottom-left-radius:.4rem}.bridge-app__bubble.is-error{border:1px solid rgba(239,68,68,.4);background:#ef44441a}.bridge-app__bubble-author{margin-bottom:.4rem;font-size:.78rem;font-weight:700;color:var(--cw-subtle);text-transform:uppercase;letter-spacing:.06em}.bridge-app__bubble-text{white-space:pre-wrap;line-height:1.55}.bridge-app__composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:1rem 1.2rem 1.2rem;border-top:1px solid var(--cw-border);background:#ffffffe0}.bridge-app__composer textarea,.bridge-app__prompt-editor,.bridge-app__input{width:100%;min-height:3.6rem;resize:vertical;border:1px solid rgba(148,163,184,.28);border-radius:1rem;padding:.9rem 1rem;outline:none;background:#f8fafcf2}.bridge-app__composer textarea:focus,.bridge-app__prompt-editor:focus,.bridge-app__input:focus{border-color:#3390ec6b}.bridge-app__input{min-height:auto;margin-top:.7rem;resize:none}.bridge-app__composer button{min-width:6.4rem;border:none;border-radius:1rem;padding:0 1.2rem;color:#fff;background:linear-gradient(135deg,#3390ec,#537fe7);cursor:pointer}.bridge-app__details{display:grid;align-content:start;gap:1rem}.bridge-app__panel{border:1px solid rgba(148,163,184,.16);border-radius:1rem;padding:1rem;background:#f8fafca8}.bridge-app__hint{margin-bottom:.2rem;color:var(--cw-subtle);font-size:.88rem;line-height:1.45}.bridge-app__panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.8rem}.bridge-app__panel-button{border:none;border-radius:.9rem;padding:.85rem 1rem;color:#fff;background:linear-gradient(135deg,#3390ec,#537fe7);cursor:pointer}.bridge-app__panel-button.is-secondary{color:var(--cw-text);background:#ffffffdb;border:1px solid rgba(148,163,184,.28)}.bridge-app__config-meta{display:grid;gap:.35rem;margin-top:.85rem;color:var(--cw-subtle);font-size:.84rem}.bridge-app__alert{margin-top:.8rem;border:1px solid rgba(239,68,68,.3);border-radius:.9rem;padding:.8rem .9rem;color:#b42318;background:#fef2f2eb;line-height:1.45}.bridge-app__topology{display:grid;gap:.55rem}.bridge-app__topology div,.bridge-app__status-list div{padding:.75rem .85rem;border-radius:.8rem;background:#ffffffb8}.bridge-app__status-list{display:grid;gap:.6rem}.bridge-app__status-list span{display:block;margin-bottom:.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cw-subtle)}.bridge-app__status-list strong{display:block;overflow-wrap:anywhere;font-size:.9rem}@media (max-width: 1200px){.bridge-app{grid-template-columns:280px minmax(0,1fr)}.bridge-app__details{grid-column:1/-1;min-height:auto;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.bridge-app{grid-template-columns:1fr}.bridge-app__sidebar,.bridge-app__main,.bridge-app__details{min-height:auto}.bridge-app__details,.bridge-app__topbar,.bridge-app__composer{grid-template-columns:1fr}.bridge-app__bubble{max-width:92%}}
