.project-chat{width:450px;max-width:calc(100vw - 32px);height:680px;max-height:calc(100dvh - 40px);margin:auto 24px 20px auto;border-radius:18px;background:#f6f8fb;color:#193049;border:1px solid #dce5ee;box-shadow:0 20px 80px #06142750}
.project-chat::backdrop{background:#03101b38;backdrop-filter:blur(2px)}
.project-chat[open]{display:flex;flex-direction:column}
.chat-head{padding:20px;background:#071629;color:#fff;gap:12px;flex-shrink:0}
.chat-head h2{font-size:17px;font-weight:650;margin-bottom:5px}
.chat-head p{color:#b7cbdc;font-size:11px;line-height:1.5}
.chat-close{height:40px;width:40px;flex-shrink:0;border-radius:9px;background:#ffffff0c;color:white}
.chat-progress{margin:0;padding:14px 20px 0;font-size:12px;font-weight:650;color:#345570;flex-shrink:0}
.chat-tools{display:flex;justify-content:space-between;gap:12px;padding:6px 14px 0;flex-shrink:0}
.chat-tools button{min-height:32px;border:0;background:transparent;color:#236080;font-family:inherit;font-size:11px;font-weight:500;line-height:1.4;padding:6px;border-radius:6px;cursor:pointer}
.chat-tools button[hidden]{display:none}
.chat-body{min-height:70px;max-height:none;flex:1 1 auto;overflow:auto;padding:14px 20px 20px}
.chat-message{background:#fff;border:1px solid #e1e8ef;color:#324e65;line-height:1.7;font-size:13px;max-width:100%;border-radius:12px 12px 12px 3px;padding:13px 15px}
.chat-message.from-user{background:#e3f2f8;color:#164762;border-color:#cce5ee;border-radius:12px 12px 3px 12px}
.chat-options{gap:8px;margin-top:14px;display:flex;flex-wrap:wrap}
.chat-options button,.chat-options a{display:flex;align-items:center;min-height:42px;padding:10px 13px;font-family:inherit;font-size:12px;line-height:1.4;border:1px solid #cad9e5;background:#fff;color:#26516c;border-radius:9px;text-align:left;cursor:pointer;text-decoration:none}
.chat-options button:hover,.chat-options a:hover{background:#e9f3f8;border-color:#94b8cb}
.chat-options .chat-choice-primary{width:100%;background:#102e46;color:#fff;border-color:#102e46;font-weight:600;justify-content:center}
.chat-options .chat-choice-primary:hover{background:#1c435f}
.chat-compose{margin:0 16px 12px;padding:10px 12px;background:#fff;border:1px solid #bdcedd;border-radius:12px;box-shadow:none;flex-shrink:0}
.chat-compose:focus-within{border-color:#2885ac;box-shadow:0 0 0 2px #2885ac18}
.chat-compose textarea{color:#193049;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;height:58px;min-height:48px;max-height:100px;padding:3px;resize:none}
.chat-compose textarea::placeholder{color:#788b9c;font-size:13px}
.chat-compose textarea:focus-visible{outline:0}
.chat-compose-bottom{margin-top:4px;gap:8px}
.chat-caption{color:#637b90;font-size:10px;line-height:1.5;flex:1}
.chat-mic{color:#41647e;width:38px;height:38px;flex-shrink:0}
.chat-mic[aria-pressed=true]{color:#087298;background:#e1f3f8}
.chat-send{height:40px;width:40px;background:#0d344f;color:white;flex-shrink:0;border-radius:9px;cursor:pointer}
.chat-send:disabled{background:#e5ebf1;color:#8c9dab;cursor:default}
.chat-bottom-note{font-size:10px;line-height:1.6;padding:0 20px 14px;color:#64798c;flex-shrink:0}
.chat-clear{color:#32617c;min-height:28px;padding:4px 0;display:block;font-size:10px}
.chat-handoff{padding:0 16px 12px;gap:8px;flex-shrink:0}
.chat-handoff a{flex:1;display:flex;justify-content:center;align-items:center;text-align:center;min-height:44px;font-size:12px;padding:10px;background:#ffe47a;color:#29220b;border-radius:9px}
.chat-handoff a+a{background:#e6edf4;color:#254964}
.chat-review{margin:2px 0 0;background:white;border:1px solid #dce6ee;border-radius:12px;padding:0 15px}
.chat-review>div{padding:12px 0;border-bottom:1px solid #e8eef3}.chat-review>div:last-child{border:0}
.chat-review dt{font-size:10px;color:#688095;font-weight:650;margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em}
.chat-review dd{font-size:13px;line-height:1.6;color:#243f56;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.project-chat :is(button,a):focus-visible{outline:2px solid #1684b3;outline-offset:3px}
.chat-launcher{background:#0a263f;border-color:#ffffff3b;min-height:50px;font-weight:500}
@media(max-width:600px){.project-chat{width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:8px;border-radius:16px}.chat-head{padding:16px}.chat-body{padding:14px 16px}.chat-progress{padding-inline:16px}.chat-compose{margin-inline:12px}.chat-compose textarea{font-size:16px}.chat-bottom-note{padding-inline:16px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.chat-handoff{padding-inline:12px}.chat-head p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-chat *{scroll-behavior:auto;transition:none}}
