*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{color:#e5e7eb;background:#020617;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer}input,button{font:inherit}.main-layout{flex-direction:column;min-height:100vh;display:flex}header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ae6;border-bottom:1px solid #94a3b866}.header-inner{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:.75rem 1rem;display:flex}.logo{letter-spacing:.05em;align-items:center;gap:.5rem;font-weight:600;display:flex}.logo-mark{border:2px solid #38bdf8;border-radius:999px;width:24px;height:24px;box-shadow:0 0 12px #38bdf8b3}main{flex:1}.page-container{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}.card{background:#0f172af2;border:1px solid #94a3b880;border-radius:.75rem;box-shadow:0 24px 60px #0f172acc}.card-inner{padding:1.5rem}h1,h2{letter-spacing:.02em}label{font-size:.875rem}input[type=text],input[type=email],input[type=password]{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b899;border-radius:.5rem;width:100%;padding:.55rem .8rem}input:focus-visible{outline-offset:2px;border-color:#38bdf8;outline:2px solid #38bdf8}.btn{border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.95rem;font-weight:500;display:inline-flex}.btn-primary{color:#0f172a;background:linear-gradient(135deg,#22c55e,#22d3ee)}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{color:#e5e7eb;background:0 0;border-color:#94a3b899}.text-muted{color:#9ca3af;font-size:.9rem}.error{color:#fca5a5;font-size:.85rem}.grid-2{gap:1rem;display:grid}@media (min-width:768px){.grid-2{grid-template-columns:2fr 1.4fr}}.chat-messages-inner{flex-direction:column;gap:.35rem;display:flex}.chat-input-row{gap:.5rem;margin-top:.5rem;display:flex}.chat-input-row input{flex:1}
