:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#0b0f1a;color:#f5f7ff;min-height:100%}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top left,#16213e,#0b0f1a 55%,#05070c)}#root{min-height:100vh;display:flex;flex-direction:column}button{cursor:pointer}input,button,textarea{font:inherit}.app{flex:1;display:flex;flex-direction:column}.app__center{flex:1;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem}.login-form{width:min(520px,100%);background:#0c1324d9;border:1px solid rgba(85,124,255,.25);border-radius:1.25rem;padding:2.5rem 2rem;backdrop-filter:blur(12px);box-shadow:0 20px 35px #03071273;display:flex;flex-direction:column;gap:1rem}.login-form h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;letter-spacing:.02em}.login-form__description{margin:0 0 .75rem;color:#e5edffbf;font-size:.95rem;line-height:1.5}.login-form__label{font-size:.9rem;font-weight:600;color:#e5edffd9}.login-form__input{padding:.75rem .9rem;border-radius:.75rem;border:1px solid rgba(107,114,128,.35);background:#11182799;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.login-form__input:focus{outline:none;border-color:#6366f199;box-shadow:0 0 0 3px #6366f140}.login-form__button{margin-top:.5rem;padding:.85rem 1rem;border-radius:.85rem;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:600;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease}.login-form__button:disabled{opacity:.6;cursor:progress}.login-form__button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px #6366f159}.login-form__error{background:#7f1d1d59;border:1px solid rgba(239,68,68,.5);color:#fecaca;border-radius:.75rem;padding:.65rem .85rem;font-size:.9rem}.login-form__token-card{margin-top:.5rem;padding:1rem 1.15rem;border-radius:1rem;border:1px solid rgba(96,165,250,.25);background:#0d172a8c;display:flex;flex-direction:column;gap:.75rem}.login-form__token-text{color:#bfdbfee6;font-size:.9rem;line-height:1.5}.login-form__token-identity{font-weight:600;color:#93c5fd}.login-form__token-meta{color:#94a3b8d9;font-size:.8rem}.login-form__token-actions{display:flex;flex-wrap:wrap;gap:.75rem}.login-form__token-button,.login-form__token-remove{border-radius:.75rem;padding:.7rem 1rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.login-form__token-button{border:none;background:linear-gradient(135deg,#38bdf8,#6366f1);color:#f8fafc}.login-form__token-button:disabled{opacity:.65;cursor:progress}.login-form__token-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px #38bdf840}.login-form__token-remove{border:1px solid rgba(148,163,184,.35);background:transparent;color:#e2e8ffe6}.login-form__token-remove:disabled{opacity:.5;cursor:not-allowed}.login-form__token-remove:not(:disabled):hover{border-color:#f8717199;color:#fecaca}.chat-layout{flex:1;width:min(1100px,100%);margin:0 auto;padding:2.5rem 1.75rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.chat-layout__header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.chat-layout__header{display:flex;flex-direction:column;gap:.75rem}.chat-layout__title{font-size:1.5rem;font-weight:700}.chat-layout__session{display:inline-flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:baseline;color:#e2e8ffd9}.chat-layout__session-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8e6}.chat-layout__session-value{font-weight:600}.chat-layout__messages{flex:0 0 auto;overflow-y:auto;background:#0a0e1cbf;border:1px solid rgba(59,130,246,.2);border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:inset 0 0 0 1px #0f172a59}.chat-layout__logout{padding:.55rem 1.1rem;border-radius:.75rem;border:1px solid rgba(248,113,113,.4);background:#7f1d1d33;color:#fecaca;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:.35rem}.chat-layout__logout:hover{transform:translateY(-1px);box-shadow:0 10px 20px #7f1d1d59}.chat-layout__logout:active{transform:translateY(0)}.chat-layout__empty{margin:auto;text-align:center;color:#94a3b8cc}.message{display:grid;grid-template-columns:auto auto 1fr;gap:.65rem;align-items:start;font-size:.95rem;line-height:1.5}.message__time{font-size:.8rem;color:#94a3b8a6;min-width:4.2rem}.message__from{font-weight:600;color:#4ade80}.message__body{white-space:pre-wrap;word-break:break-word}.message__line{display:inline}.chat-layout__input-form{display:flex;flex-direction:column;gap:.6rem;background:#0c1220bf;border:1px solid rgba(79,70,229,.25);border-radius:1rem;padding:1.15rem 1.25rem;box-shadow:0 20px 30px #0206174d}.chat-layout__input-label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8d9}.chat-layout__input{padding:.8rem 1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.35);background:#0f172aa6;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.chat-layout__input:focus{outline:none;border-color:#6366f199;box-shadow:0 0 0 3px #6366f140}.chat-layout__hint{font-size:.85rem;color:#94a3b8bf}.chat-layout__status{padding:.9rem 1rem;border-radius:.95rem;background:#2563eb59;border:1px solid rgba(96,165,250,.35);color:#e0f2fe;font-size:.95rem;line-height:1.4}.chat-layout__status--error{background:#7f1d1d73;border-color:#f871718c;color:#fee2e2}@media (max-width: 720px){.chat-layout{padding:1.75rem 1.1rem;gap:1.25rem}.chat-layout__messages{padding:1rem}.chat-layout__header{flex-direction:column;align-items:flex-start}.message{grid-template-columns:auto 1fr;gap:.5rem}.message__time{grid-column:1 / -1}}
