/* Cora: a compact conversation, with the familiar floating identity. */
#cora-dialog.cora-clean{position:fixed;inset:auto 24px 100px auto;margin:0;padding:0;width:min(420px,calc(100vw - 32px));height:min(640px,calc(100dvh - 132px));max-width:none;max-height:none;border:1px solid #d8e1ef;border-radius:20px;background:#fff;color:#152747;box-shadow:0 20px 70px #10234326;overflow:hidden;font:400 17px/1.5 Instrument,Arial,sans-serif}
#cora-dialog.cora-clean[open]{display:flex;flex-direction:column}
#cora-dialog.cora-clean::backdrop{background:#10234326;backdrop-filter:none}
.cora-clean [hidden]{display:none!important}
.cora-chat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e7ecf3;flex:none}
.cora-chat-brand{display:flex;align-items:center;gap:12px}
.cora-chat-brand img{width:40px;height:40px;object-fit:contain}
.cora-chat-brand h2{font-size:23px;line-height:1.1;letter-spacing:-.025em;margin:0!important}
.cora-chat-brand p{font-size:15px;line-height:1.5;color:#526582;margin:4px 0 0}
.cora-close{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#fff;color:#526582;cursor:pointer}
.cora-close svg{width:22px;height:22px}
.cora-close:hover{background:#edf3fb;color:#122342}
.cora-chat-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 22px 16px;scrollbar-width:thin;scrollbar-color:#c2cfe3 transparent}
.cora-greeting{font-size:29px;line-height:1.18;letter-spacing:-.035em;font-weight:600;margin:10px 0 14px}
.cora-greeting-copy{font-size:17px;line-height:1.5;color:#526582;max-width:34ch;margin:0 0 20px}
.cora-starters{display:flex;flex-wrap:wrap;gap:8px}
.cora-starters button{font:500 15px/1.3 Instrument,Arial,sans-serif;border:1px solid #c7d5eb;border-radius:100px;min-height:44px;padding:10px 14px;background:#f5f8fd;color:#244f9f;cursor:pointer;transition:background .15s,border-color .15s}
.cora-starters button:hover{background:#e8effb;border-color:#7598ce}
.cora-message{margin:0 0 20px;max-width:100%;padding:0;background:none;border:0;border-radius:0}
.cora-message-label{display:block;color:#526582;font-size:15px;font-weight:600;letter-spacing:.02em;margin:0 0 7px}
.cora-message-copy{font-size:17px;line-height:1.55;overflow-wrap:anywhere}
.cora-message-copy p{margin:0 0 12px}
.cora-message-copy p:last-child{margin-bottom:0}
.cora-message-copy strong{font-size:inherit;font-weight:650}
.cora-message-copy :is(ul,ol){padding-left:22px;margin:10px 0}
.cora-message-copy li{margin:7px 0}
.cora-message-user{width:fit-content;max-width:90%;margin-left:auto;background:#edf3fb;padding:12px 16px;border-radius:16px 16px 4px 16px}
.cora-message-user .cora-message-label{font-size:15px;margin-bottom:3px}
.cora-message-user .cora-message-copy{white-space:pre-wrap}
.cora-reply-link{display:inline-flex;align-items:center;min-height:44px;color:#244f9f;font-size:16px;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
#cora-chat-status{font-size:15px;line-height:1.5;color:#526582;margin:0;overflow-wrap:anywhere}
#cora-chat-status.is-thinking::before{content:'';display:inline-block;width:7px;height:7px;border-radius:100%;background:#2b5ef5;margin-right:9px;animation:cora-breathe 1.2s ease-in-out infinite}
@keyframes cora-breathe{50%{opacity:.3}}
.cora-chat-footer{flex:none;padding:12px 18px 4px;border-top:1px solid #e7ecf3;background:#fff}
.cora-privacy{font-size:15px;line-height:1.5;color:#526582;margin:0 2px 12px}
.cora-privacy a{color:#244f9f;text-decoration:underline;text-underline-offset:3px}
#cora-chat-form{margin:0;border:0;padding:0}
.cora-input-row{display:flex;align-items:flex-end;gap:6px;border:1px solid #9eb2d1;border-radius:14px;padding:4px;background:#fff;transition:border-color .15s,box-shadow .15s}
.cora-input-row:focus-within{border-color:#2b5ef5;box-shadow:0 0 0 3px #245cf419}
#cora-question{display:block;flex:1;min-width:0;width:100%;height:48px;min-height:48px;max-height:112px;padding:12px 8px 10px;resize:none;border:0;border-radius:9px;font:400 16px/1.5 Instrument,Arial,sans-serif;color:#152747;background:#fff;box-sizing:border-box;outline:none;box-shadow:none}
#cora-question::placeholder{color:#63728a;opacity:1}
#cora-send{display:grid;place-items:center;flex:none;min-width:44px;width:44px;min-height:44px;height:44px;margin:2px;border:0;border-radius:11px;background:#245cf4;color:#fff;cursor:pointer;transition:background .15s}
#cora-send svg{width:23px;height:23px}
#cora-send:hover{background:#1648ca}
#cora-send:disabled{opacity:.6;cursor:wait}
.cora-human-link{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;color:#526582;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.cora-human-link:hover{color:#244f9f}
.cora-clean :is(button,a):focus-visible{outline:2px solid #245cf4;outline-offset:3px}
/* A single labeled assistant control, with the original transparent glass artwork. */
.cora-chat-brand img{background:transparent;border:0;border-radius:0}
.review-polish>button.cora-launcher{position:fixed;inset:auto 32px 22px auto;z-index:45;display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-height:56px;padding:0;gap:0;border:0;border-radius:100px;background:transparent;color:#152747;box-shadow:none;font:600 15px/1.3 Instrument,Arial,sans-serif;cursor:pointer}
.review-polish>button.cora-launcher .cora-orb{position:relative;display:block;flex:none;box-sizing:border-box;width:56px;height:56px;border:1px solid #d3dfef;border-radius:50%;background:#fff;box-shadow:0 4px 18px #12234214;transition:border-color .15s,box-shadow .15s}
.review-polish>button.cora-launcher .cora-orb img{display:block;box-sizing:border-box;width:100%;height:100%;padding:2px;object-fit:contain;border:0;border-radius:50%;background:transparent;box-shadow:none}
.review-polish>button.cora-launcher .cora-orb canvas{position:absolute;inset:2px;display:block;width:50px;height:50px;pointer-events:none;border-radius:50%;visibility:hidden}
.review-polish>button.cora-launcher .cora-orb.has-gpu canvas{visibility:visible}
.review-polish>button.cora-launcher .cora-orb.has-gpu img{visibility:hidden}
.review-polish>button.cora-launcher span{position:absolute;bottom:calc(100% + 8px);left:50%;display:block;width:max-content;max-width:none;margin:0;padding:6px 12px;border:1px solid #cad8eb;border-radius:100px;background:#fff;color:inherit;font:inherit;white-space:nowrap;box-shadow:0 3px 12px #12234210;opacity:1;visibility:visible;transform:translateX(-50%);transition:opacity .18s ease,transform .18s ease,visibility 0s}
.review-polish>button.cora-launcher.cora-past-hero span{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:opacity .18s ease,transform .18s ease,visibility 0s .18s}
.review-polish>button.cora-launcher:focus-visible span{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%);transition-delay:0s}
.review-polish>button.cora-launcher:hover{background:transparent;box-shadow:none}
.review-polish>button.cora-launcher:hover .cora-orb{border-color:#8daadd;box-shadow:0 5px 20px #12234220}
.review-polish>button.cora-launcher:focus-visible{outline:3px solid #245cf4;outline-offset:4px}
@media(hover:hover){.review-polish>button.cora-launcher.cora-past-hero:hover span{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%);transition-delay:0s}}
/* Equal desktop gutters keep page actions clear of the compact assistant. */
@media(min-width:1100px){.review-polish main .wrap,.review-polish .v-home .v-wrap,.review-polish .footer>.wrap,.review-polish .human-close{width:min(1280px,calc(100% - 320px))!important}}
@media(max-width:1099px){
 .review-polish .mobile-dock{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:auto;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fff;border:0;border-top:1px solid #d6e0ef;border-radius:0;box-shadow:0 -3px 20px #1223420a}
 .review-polish .mobile-dock>a{min-width:0;min-height:50px;width:100%;margin:0}
 .review-polish>button.cora-launcher{right:32px;bottom:calc(var(--mobile-dock-height,72px) + 14px);width:56px;height:56px;min-height:56px;padding:0;gap:0;border:0;border-radius:100px;background:transparent;box-shadow:none;font-size:15px}
 body.review-polish{padding-bottom:calc(var(--mobile-dock-height,72px) + 112px)}
 html{scroll-padding-bottom:calc(var(--mobile-dock-height,72px) + 124px)}
 #cora-dialog.cora-clean{inset:auto 14px max(88px,calc(env(safe-area-inset-bottom) + 80px)) auto;width:min(420px,calc(100vw - 28px));height:min(640px,calc(100dvh - 108px))}
}
@media(max-width:479px){.cora-chat-header{padding:13px 16px}.cora-chat-scroll{padding:18px 18px 14px}.cora-greeting{font-size:27px;margin-top:8px}.cora-chat-footer{padding-inline:14px}.cora-starters{gap:7px}.cora-starters button{padding:10px 12px;font-size:14px}}
@media(max-height:520px){#cora-dialog.cora-clean{inset:8px 12px auto auto;height:calc(100dvh - 16px);width:min(540px,calc(100vw - 24px))}.cora-chat-header{padding-block:7px}.cora-chat-footer{padding-top:8px}.cora-privacy{font-size:15px;margin-bottom:6px}.cora-chat-scroll{padding-top:12px}.cora-greeting{font-size:23px;margin:0 0 6px}.cora-greeting-copy{font-size:15px;max-width:none;margin-bottom:12px}.cora-starters button{font-size:14px}.cora-human-link{min-height:44px}}
@media(prefers-reduced-motion:reduce){.cora-clean *,.review-polish>button.cora-launcher,.review-polish>button.cora-launcher *{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.review-polish>button.cora-launcher .cora-orb canvas{visibility:hidden!important}.review-polish>button.cora-launcher .cora-orb img{visibility:visible!important}}
@media print{.review-polish>button.cora-launcher,#cora-dialog{display:none!important}}
/* The composer owns the focus ring; the textarea stays visually part of it. */
#cora-dialog.cora-clean #cora-question:focus-visible{outline:none!important;box-shadow:none}

.review-polish.locked>button.cora-launcher span{visibility:hidden!important;pointer-events:none!important}
