/* Figma layout with the approved readability and control-size refinements. */
.dialog.ai-review-dialog {width:min(720px,calc(100vw - 48px));height:min(772px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border:1px solid #d7dfca;border-radius:24px;background:#fffef9;box-shadow:0 30px 100px -20px rgb(22 45 28 / 35%);}
.dialog.ai-review-dialog[open] {display:flex;flex-direction:column;}
.dialog:not(.draw-dialog):not(.tour-dialog).ai-review-dialog .dialog-header {position:static;padding:15px 39px;flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;border-bottom:1px solid #dce1d5;height:76px;}
.ai-review-dialog #dialog-title {font-size:19px;font-weight:600;line-height:28.5px;margin:0;letter-spacing:0;color:var(--ink);}
.ai-review-back {justify-self:start;display:flex;align-items:center;gap:3px;background:none;border:0;padding:6px 0;color:var(--muted);font:inherit;font-size:14px;line-height:20.8px;cursor:pointer;}
.ai-review-back .icon {width:16px;height:16px;}
.dialog:not(.draw-dialog):not(.tour-dialog).ai-review-dialog .dialog-body {padding:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;}
.ai-review-messages {flex:1;min-height:0;overflow-y:auto;padding:24px 39px;overscroll-behavior:contain;scrollbar-width:thin;}
.ai-review-message {margin:0;max-width:586.953px;width:fit-content;overflow-wrap:anywhere;}
.ai-review-message+.ai-review-message {margin-top:18px;}
.ai-review-message.is-assistant {width:92%;max-width:586.953px;}
.ai-review-bubble {white-space:pre-wrap;font-family:"PingFang SC",-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;font-size:16px;font-weight:400;line-height:28.8px;letter-spacing:-.3125px;color:#58695e;padding:14px 18px;background:#f1f4ec;border:1px solid #e5eadc;border-radius:12px;}
.ai-review-message.is-user {margin-left:auto;max-width:92%;}
.ai-review-message.is-user .ai-review-bubble {background:#e5efcb;}
.ai-review-marker {text-align:center;font-size:12px;color:var(--muted);padding:10px 0;line-height:1.5;margin:18px 0;}
.ai-review-composer {padding:20px 40px 41px;flex:none;background:var(--surface);}
.ai-review-input-row {position:relative;height:80px;}
.ai-review-input-row textarea {display:block;resize:none;width:100%;height:80px;border:1px solid #bdcbb6;border-radius:16px;background:#fffef9;color:var(--ink);font:inherit;font-size:14px;line-height:22.4px;padding:12px 76px 12px 14px;scrollbar-width:thin;}
.ai-review-input-row textarea::placeholder {color:#757575;opacity:1;}
.ai-review-send {position:absolute;right:14px;bottom:10px;display:grid;place-items:center;width:40px;height:32px;border:0;border-radius:10px;background:#163d33;padding:4px;cursor:pointer;}
.ai-review-send:disabled {background:#96a7a0;cursor:default;opacity:1;}
.ai-review-send .icon {width:16px;height:16px;transform:rotate(-90deg);}
.ai-review-input-row textarea[aria-invalid="true"] {border-color:#a06043;}
.ai-review-input-note {display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#826144;margin-top:8px;}
.ai-review-shortcuts {display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px;}
.ai-review-shortcuts button {display:flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;font:inherit;font-size:16px;line-height:28.8px;letter-spacing:-.3125px;color:#58695e;cursor:pointer;text-align:left;}
.ai-review-shortcuts .icon {width:16px;height:16px;flex:none;transform:rotate(-45deg);}
.ai-review-shortcuts button:hover {color:#163d33;text-decoration:underline;text-underline-offset:4px;}
.ai-review-error {font-size:12px;color:#826144;line-height:1.7;margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.ai-review-error button {border:0;background:none;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;padding:6px 0;}
.ai-review-thinking {font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;margin-top:18px;}
.ai-review-thinking i {width:7px;height:7px;border-radius:50%;background:#8dac70;animation:ai-pulse 1.4s ease-in-out infinite;}
.ai-review-dialog :focus-visible,.repair-ai-link:focus-visible,.repair-ai-primary:focus-visible {outline:2px solid #769750;outline-offset:3px;}
.ai-review-return-focus {outline:2px solid #acc47e;outline-offset:8px;transition:outline-color 1s;}
@keyframes ai-pulse {50% {opacity:.35;}}
@media (prefers-reduced-motion:reduce) {.ai-review-thinking i {animation:none;}}
.ai-review-dialog .visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.ai-review-input-row textarea:focus-visible {outline:none;border-color:#819571;}

.ai-review-send::before {content:"";position:absolute;inset:-6px -2px;}
.ai-review-bubble p {margin:0;}
.ai-review-bubble p+p {margin-top:10px;}
.ai-review-bubble strong {color:var(--ink);font-weight:600;}

.ai-review-question-error {font-size:13px;line-height:1.7;color:var(--muted);margin:0;}
.ai-review-question-error button {font-size:13px;text-decoration:underline;margin-top:4px;}

/* Context stays visible while the message history scrolls. */
.ai-review-topic {flex:none;display:flex;gap:4px;align-items:baseline;padding:12px 39px;background:#f7f8f2;border-bottom:1px solid #e5eadc;font-size:13px;line-height:21px;color:#58695e;}
.ai-review-topic>span {flex:none;}
.ai-review-topic>strong {font-weight:500;color:#163d33;overflow-wrap:anywhere;}
