:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif;line-height:1.4;font-weight:400;color-scheme:dark;color:#ffffffeb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}body{margin:0;background:radial-gradient(circle at 20% 10%,rgba(64,129,255,.22),transparent 45%),radial-gradient(circle at 90% 20%,rgba(92,216,196,.18),transparent 40%),radial-gradient(circle at 30% 80%,rgba(255,96,120,.18),transparent 42%),linear-gradient(180deg,#080b18,#0b1020)}*{box-sizing:border-box}textarea,select,button{font-family:inherit}.app{height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:#0a0e1ed6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modalOverlay{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding:18px;background:#00000094}.modal{width:min(560px,100%);border:1px solid rgba(255,255,255,.1);background:#0a0e1ef2;border-radius:16px;padding:14px;box-shadow:0 18px 45px #00000080}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal__title{font-weight:700;letter-spacing:.01em}.modal__body{display:grid;gap:12px}.modal__actions{display:flex;justify-content:flex-end;gap:10px}.brand__title{font-weight:700;letter-spacing:.01em}.brand__sub{color:#ffffffb8;font-size:.9rem}.topbar__right{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:10px}.layout{flex:1;display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px;padding:18px;min-height:0}.panel{border:1px solid rgba(255,255,255,.08);background:#ffffff0a;border-radius:16px;padding:14px;min-height:0}.panel h2{margin:0 0 10px;font-size:1rem;color:#ffffffdb}.panel--chat{display:flex;flex-direction:column;gap:12px}.chat{flex:1;overflow:auto;display:grid;align-content:start;gap:10px;padding:10px;border-radius:14px;background:#0000001f;border:1px solid rgba(255,255,255,.06)}.empty{padding:14px;border-radius:14px;border:1px dashed rgba(255,255,255,.14);background:#ffffff08}.empty__title{font-weight:700}.empty__sub{margin-top:6px;color:#ffffffb8}.msg{padding:12px 12px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;max-width:860px;width:fit-content}.msg--assistant{justify-self:start}.msg--user{justify-self:end;background:#5891ff1f;border-color:#5891ff3d}.msg__role{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e}.msg__content{margin-top:6px;white-space:pre-wrap;line-height:1.55}.msg__meta{margin-top:10px;font-size:.85rem;color:#ffffffad}.composer{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.composer textarea{width:100%;border-radius:14px;padding:12px;border:1px solid rgba(255,255,255,.1);background:#0a0e1e8c;color:#ffffffe6;resize:vertical;min-height:52px}.composer__actions{display:flex;align-items:center;gap:10px}.field{display:inline-flex;flex-direction:column;gap:6px;font-size:.85rem;color:#ffffffb8}.field--stack{display:grid}.field select,.field textarea{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0a0e1e8c;color:#ffffffe6;padding:10px 12px;font-family:inherit}.hint{margin-top:10px;font-size:.9rem;color:#ffffffad}.hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;color:#ffffffdb}.error{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,96,120,.3);background:#ff60781f;color:#ffffffeb}.button{border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0f;color:#ffffffeb;padding:10px 12px;font-weight:600;cursor:pointer}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:linear-gradient(135deg,#4081ffe6,#5cd8c4e6);border-color:#5cd8c45c}.button--danger{background:#ff607829;border-color:#ff60785c}@media(max-width:900px){.layout{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch}.topbar__right{justify-content:flex-start}}
