.assistant-entry{background:transparent;border:1px solid #f6abb5;color:#ffcad0}.hero-buttons{flex-wrap:wrap}.hero-buttons .hero-mini{flex-basis:100%}.assistant-launch{position:fixed;z-index:30;right:24px;bottom:24px;max-width:calc(100% - 48px);border:1px solid #e69da9;border-radius:999px;padding:15px 20px;background:#f6abb5;color:#281c22;font-weight:800;box-shadow:0 8px 30px #21171b26;font-size:14px}.assistant-dialog{padding:0;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid #e6c9ce;border-radius:24px;background:#fffaf8;color:#281c22;box-shadow:0 24px 100px #0005}.assistant-dialog::backdrop{background:#21171bbf}.assistant-header{display:flex;justify-content:space-between;gap:16px;padding:24px;background:#281c22;color:#fffaf8}.assistant-brand{letter-spacing:.24em;color:#ffc0c5;font-size:12px}.assistant-header h2{font-size:23px;letter-spacing:-.035em;margin:8px 0 0}.assistant-close{align-self:flex-start;background:transparent;border:0;color:#fffaf8;font-size:30px;line-height:1;padding:0 4px}.assistant-body{padding:24px}.assistant-progress{margin:0 0 8px;font-size:14px;color:#74555e}.assistant-body progress{width:100%;height:5px;accent-color:#be6e81;margin-bottom:24px}.assistant-question{font-size:24px;letter-spacing:-.035em;line-height:1.25;margin-bottom:12px}.assistant-note{font-size:15px;line-height:1.55;color:#72555e}.assistant-options{display:grid;gap:10px;margin:20px 0}.assistant-option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #ddc6cb;border-radius:12px;cursor:pointer;line-height:1.4;font-size:16px}.assistant-option:has(input:checked){border-color:#b46076;background:#ffe9ec}.assistant-option input{accent-color:#ab556b;width:18px;height:18px;flex:none}.assistant-dialog label:not(.assistant-option){display:block;font-size:14px;margin:16px 0 7px;font-weight:700}.assistant-dialog input:not([type=radio]),.assistant-dialog textarea{width:100%;border:1px solid #cdb5bd;border-radius:10px;padding:12px;background:#fff;color:#281c22;font:inherit;font-size:16px}.assistant-dialog textarea{min-height:88px;resize:vertical}.assistant-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.assistant-nav>button:first-child{padding:12px;background:transparent;border:0;text-decoration:underline;color:#76505e}.assistant-nav .btn{padding:14px 20px;font-size:15px}#assistant-error{color:#a22e45;font-size:14px;margin:12px 0 0}.assistant-review{margin:16px 0;border-top:1px solid #e4cdd3}.assistant-review div{padding:10px 0;border-bottom:1px solid #e4cdd3}.assistant-review dt{font-size:13px;color:#76505e}.assistant-review dd{margin:5px 0 0;font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}.assistant-dialog a{color:#9d425d;text-decoration:underline}.assistant-dialog button:focus-visible,.assistant-dialog input:focus-visible,.assistant-dialog textarea:focus-visible,.assistant-launch:focus-visible,.assistant-entry:focus-visible{outline:3px solid #ad5b77;outline-offset:3px}.assistant-dialog [hidden]{display:none!important}@media(max-width:600px){.assistant-launch{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);font-size:13px;padding:13px 16px}.assistant-header,.assistant-body{padding:20px}.assistant-question{font-size:22px}.assistant-nav .btn{white-space:normal}.assistant-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.hero-buttons .assistant-entry{white-space:normal}}

/* A brief highlight, then a long rest: keep the page calm and readable. */
.assistant-entry{animation:assistant-arrive .75s cubic-bezier(.22,1,.36,1) .25s backwards;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.assistant-entry:hover{transform:translateY(-3px);background:#ffc0c51a;box-shadow:0 6px 24px #f6abb523}
.assistant-entry:active{transform:translateY(0) scale(.98)}
.assistant-launch{isolation:isolate;animation:assistant-arrive .75s cubic-bezier(.22,1,.36,1) .6s backwards,assistant-breathe 8s ease-in-out 2s infinite;transition:background .2s ease,box-shadow .2s ease}
.assistant-launch::before{content:"";position:absolute;inset:-5px;border:1px solid #f6abb5;border-radius:inherit;opacity:0;pointer-events:none;animation:assistant-halo 8s ease-out 2s infinite}
.assistant-launch::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 25%,#fff9 47%,transparent 69%);background-size:300% 100%;background-position:150% 0;opacity:0;pointer-events:none;animation:assistant-sheen 8s ease-in-out 2s infinite}
.assistant-launch:hover{background:#ffc4cd;box-shadow:0 10px 34px #c6748c40;animation-play-state:paused}
.assistant-launch:hover::before,.assistant-launch:hover::after,.assistant-launch:focus-visible::before,.assistant-launch:focus-visible::after{animation-play-state:paused;opacity:0}
.assistant-launch:active{transform:scale(.98);animation:none}
body:has(.assistant-dialog[open]) .assistant-launch{visibility:hidden;animation-play-state:paused}
body:has(.assistant-dialog[open]) .assistant-launch::before,body:has(.assistant-dialog[open]) .assistant-launch::after{animation-play-state:paused}
@keyframes assistant-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes assistant-breathe{0%,26%,100%{transform:translateY(0) scale(1);box-shadow:0 8px 30px #21171b26}9%{transform:translateY(-3px) scale(1.035);box-shadow:0 10px 32px #ee91aa65}18%{transform:translateY(0) scale(1);box-shadow:0 8px 30px #21171b26}}
@keyframes assistant-halo{0%{opacity:0;transform:scale(.98)}6%{opacity:.5}23%{opacity:0;transform:scale(1.12,1.4)}24%,100%{opacity:0;transform:scale(1)}}
@keyframes assistant-sheen{0%,3%{opacity:0;background-position:150% 0}6%{opacity:.4}20%{opacity:0;background-position:-50% 0}21%,100%{opacity:0;background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.assistant-entry,.assistant-launch,.assistant-launch::before,.assistant-launch::after{animation:none;transition:none}.assistant-entry:hover,.assistant-entry:active,.assistant-launch:active{transform:none}}

/* Keep every review action beside its own answer, with a touch-sized target. */
.assistant-review>div{position:relative;padding:14px 54px 14px 0;min-height:68px}
.assistant-edit{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #edcbd2;border-radius:12px;background:#fff1f3;color:#a04c65;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.assistant-edit:hover{background:#ffe0e7;border-color:#bf758c}
.assistant-edit:active{background:#ffd1dc}
.assistant-edit svg{pointer-events:none}
