*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#07070a;color:#d6e8ee;line-height:1.45}button,input,textarea{font:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column}.auth-wrap{flex:1;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(420px,100%);background:linear-gradient(160deg,#11131a,#0c0d12);border:1px solid #243041;border-radius:18px;padding:24px 22px;box-shadow:0 18px 48px #00000073;animation:rise .45s ease}.auth-card h1{margin:0 0 6px;font-size:1.55rem;letter-spacing:.14em;text-transform:uppercase}.auth-card p{margin:0 0 18px;color:#8fa3ad;font-size:.92rem}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab{flex:1;border:1px solid #243041;background:#12151c;color:#b8c9d2;border-radius:10px;padding:10px;cursor:pointer}.tab.active{border-color:#4a9ebf;color:#d6e8ee;background:#162029}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:.78rem;color:#8fa3ad;font-weight:600}.field input,.field textarea{border:1px solid #243041;background:#0f1218;color:#d6e8ee;border-radius:10px;padding:10px 12px}.field input:focus,.field textarea:focus{outline:2px solid rgba(74,158,191,.45);border-color:#4a9ebf}.btn{border:none;border-radius:10px;padding:11px 14px;cursor:pointer;font-weight:700}.btn-primary{background:linear-gradient(135deg,#3d8aa8,#4a9ebf);color:#071016;width:100%}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid #243041;color:#b8c9d2}.status{margin-top:12px;font-size:.85rem;color:#f0a070;min-height:1.2em}.token-box{margin-top:14px;padding:12px;border-radius:10px;border:1px dashed #4a9ebf;background:#0f151a;font-size:.82rem;color:#b8c9d2;word-break:break-all}.chat-layout{flex:1;display:grid;grid-template-columns:minmax(240px,300px) 1fr;min-height:100vh}@media(max-width:760px){.chat-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.sidebar{border-right:1px solid #1a2330;background:#0a0c10;display:flex;flex-direction:column;min-height:0}.sidebar-head{padding:14px 14px 10px;border-bottom:1px solid #1a2330}.sidebar-head h2{margin:0;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.me-line{margin-top:6px;font-size:.78rem;color:#8fa3ad}.new-chat{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid #1a2330}.new-chat input{flex:1;border:1px solid #243041;background:#0f1218;color:#d6e8ee;border-radius:10px;padding:8px 10px}.conv-list{flex:1;overflow:auto;padding:8px}.conv-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#d6e8ee;border-radius:10px;padding:10px 12px;cursor:pointer;margin-bottom:4px}.conv-item:hover{background:#12151c}.conv-item.active{border-color:#4a9ebf;background:#152028}.conv-title{font-weight:700;font-size:.9rem}.conv-sub{font-size:.75rem;color:#8fa3ad;margin-top:2px}.chat-pane{display:flex;flex-direction:column;min-height:0;background:radial-gradient(circle at top,#10141c,#07070a 55%)}.chat-head{padding:14px 18px;border-bottom:1px solid #1a2330;display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-head h3{margin:0;font-size:1rem}.messages{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble-row.theirs{justify-content:flex-start}.bubble{max-width:min(78%,520px);padding:10px 12px;border-radius:14px;font-size:.92rem;animation:pop .28s ease}.bubble.mine{background:linear-gradient(135deg,#2f6f88,#4a9ebf);color:#061016;border-bottom-right-radius:4px}.bubble.theirs{background:#151a22;border:1px solid #243041;border-bottom-left-radius:4px}.bubble time{display:block;margin-top:4px;font-size:.68rem;opacity:.75}.composer{border-top:1px solid #1a2330;padding:12px 14px 16px;display:flex;gap:10px}.composer input{flex:1;border:1px solid #243041;background:#0f1218;color:#d6e8ee;border-radius:12px;padding:12px 14px}.empty-chat{flex:1;display:grid;place-items:center;color:#8fa3ad;padding:24px;text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
/*# sourceMappingURL=app.css.map */
