:root{color:#edf3f7;background:#0b1117;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 100% 0%,#17302f 0,#0b1117 42%)}button,input{font:inherit}button{cursor:pointer}.shell{width:min(100% - 32px,440px);margin:0 auto}.auth-shell{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:36px 0}.brand-mark,.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#24c98b;color:#06130f;font-weight:900;font-size:24px}.eyebrow{margin:0 0 8px;color:#82a49b;font-size:11px;font-weight:800;letter-spacing:.14em}h1{margin:0;font-size:clamp(28px,8vw,40px);line-height:1.08;letter-spacing:-.04em}.lede{margin:14px 0 28px;color:#9dadb8;line-height:1.55}.card{border:1px solid #25353e;border-radius:24px;background:#131d25e6;box-shadow:0 20px 70px #0000003d}.form-stack{display:grid;gap:16px;padding:20px}label{display:grid;gap:8px;color:#c1d0d7;font-size:13px;font-weight:700}input{width:100%;border:1px solid #2a3b46;border-radius:14px;background:#16232c;color:#f4f8fa;outline:none;padding:14px 15px}input:focus{border-color:#24c98b;box-shadow:0 0 0 3px #24c98b24}.primary,.send{border:0;border-radius:14px;background:#24c98b;color:#06130f;font-weight:800;padding:14px 18px}.primary:disabled{opacity:.55;cursor:wait}.link-button{border:0;background:transparent;color:#79dcb8;font-size:13px;font-weight:700;padding:12px}.link-button:hover{color:#b2f2d6}.form-stack small{color:#78909a;font-size:11px;line-height:1.4}.pending-card{display:grid;gap:8px;padding:20px;color:#c1d0d7;line-height:1.5}.pending-card strong{color:#24c98b;font-size:18px}.pending-card p{margin:0;color:#9dadb8;font-size:13px}.microcopy{color:#657983;font-size:12px;text-align:center}.error{margin:0;color:#ff9c98;font-size:13px}.chat-shell{display:grid;grid-template-rows:auto 1fr auto auto;width:min(100%,760px);min-height:100svh;margin:0 auto;background:#091016bf}.chat-header{display:flex;align-items:center;gap:12px;padding:18px max(18px,env(safe-area-inset-left)) 14px;border-bottom:1px solid #1b2a33;background:#0b1117f2}.chat-header .avatar{flex:0 0 42px;width:42px;height:42px;border-radius:14px;font-size:18px}.chat-header h1{font-size:18px;letter-spacing:-.02em}.status,.typing-status{margin:4px 0 0;color:#7e979f;font-size:12px}.icon-button{margin-left:auto;border:0;background:transparent;color:#a3b2b8;font-size:26px}.message-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:24px 16px;background-image:radial-gradient(#1d3232 1px,transparent 1px);background-size:20px 20px}.bubble{max-width:min(82%,520px);padding:11px 13px 8px;border:1px solid #24333b;border-radius:17px 17px 17px 5px;background:#17242b;box-shadow:0 5px 16px #0000001f}.bubble.mine{align-self:flex-end;border-color:#167d5c;border-radius:17px 17px 5px;background:#0f7757}.bubble.pending{opacity:.68;border-style:dashed}.bubble p{margin:0;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere}.bubble time{display:block;margin-top:6px;color:#90aaa9;font-size:10px;text-align:right}.empty-state{margin:auto;max-width:300px;color:#93a8af;text-align:center}.empty-state span{color:#24c98b;font-size:28px}.empty-state h2{margin:10px 0 5px;color:#e5eff1;font-size:20px}.empty-state p{margin:0;line-height:1.5}.typing-status{min-height:18px;padding:0 18px;color:#24c98b}.composer{display:flex;gap:10px;padding:10px 14px max(14px,env(safe-area-inset-bottom));background:#101a21}.composer input{border-radius:22px}.send{flex:0 0 48px;width:48px;height:48px;padding:0;border-radius:50%;font-size:24px}@media(min-width:700px){.chat-shell{margin:24px auto;min-height:calc(100svh - 48px);border:1px solid #20313a;border-radius:26px;overflow:hidden}}
