.astra-footer-with-helper {
    --helper-face: #eaf6ff;
    --helper-glass: linear-gradient(140deg,#f9fdff,#d7ecfc 55%,#edf9ff);
    --helper-ink: #09264b;
    --helper-muted: #36597b;
    --helper-border: #74afcf;
    --helper-bubble: linear-gradient(140deg,#fff,#d5ecfc);
    display: flow-root;
    padding-bottom: 16px;
}
[data-theme="Night"] .astra-footer-with-helper {
    --helper-face: #032138;
    --helper-glass: linear-gradient(145deg,#073b52,#001426 65%,#03283e);
    --helper-ink: #eef8ff;
    --helper-muted: #bad5e9;
    --helper-border: #589cbd;
    --helper-bubble: linear-gradient(145deg,#164e69,#032135);
}
.astra .astra-footer-with-helper .astra-footer-grid { grid-template-columns: minmax(0,1.1fr) repeat(3,minmax(0,1fr)); }
.astra-footer-with-helper .astra-footer :is(.astra-footer-brand,.astra-footer-group,.astra-footer-bottom) { min-width: 0; overflow-wrap: anywhere; }
.astra-helper { position: fixed; right: max(16px,env(safe-area-inset-right)); bottom: max(16px,env(safe-area-inset-bottom)); z-index: 55; min-width: 0; color: var(--helper-ink); font-size: 15px; line-height: 1.45; }
.astra-helper *, .astra-helper *::before, .astra-helper *::after { box-sizing: border-box; }
.astra-helper [hidden] { display: none !important; }
.astra-helper-launcher { display: flex; flex-direction: column; align-items: center; width: 120px; border: 0; padding: 0; background: none; color: var(--helper-ink); cursor: pointer; font: inherit; }
.astra-helper-launcher > img { display: block; width: 110px; height: 120px; object-fit: contain; filter: drop-shadow(0 6px 9px #0053b950); transition: transform .18s ease; }
.astra-helper-launcher > span { display: inline-flex; gap: 8px; align-items: center; justify-content: center; flex-wrap: wrap; max-width: 100%; overflow-wrap: anywhere; padding: 5px 12px; margin-top: -2px; min-height: 34px; border-radius: 18px; background: var(--helper-glass); border: 1px solid var(--helper-border); box-shadow: inset 0 1px 2px #ffffff90,0 3px 9px #001b4450; font-weight: 700; }
.astra-helper-launcher:hover > img { transform: translateY(-3px); }
.astra-helper :is(button,a,textarea):focus-visible { outline: 3px solid #13bffa; outline-offset: 4px; }
.astra-helper-panel {
    position: fixed;
    right: max(20px,env(safe-area-inset-right));
    bottom: 188px;
    z-index: 60;
    width: min(420px,calc(100% - 32px));
    max-height: calc(100dvh - 210px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    padding: 5px 12px 14px;
    border: 6px double #b4edff;
    border-radius: 26px 26px 28px 28px;
    background: var(--helper-glass);
    box-shadow: inset 0 0 0 2px #3a7da8,inset 0 2px 5px #fff,0 0 0 2px #326388,0 0 0 4px #ceebf8,0 15px 40px #00132980,0 0 24px #0abaff40;
    color: var(--helper-ink);
    isolation: isolate;
}
.astra-helper-header { display: flex; gap: 8px; align-items: center; position: sticky; top: -5px; z-index: 1; padding: 12px 0; border-bottom: 1px solid var(--helper-border); background: var(--helper-face); }
.astra-helper-header > img { flex: 0 0 48px; }
.astra-helper-header > div { min-width: 0; flex: 1; }
.astra-helper-header h2 { font-size: 22px; margin: 0; line-height: 1.15; overflow-wrap: anywhere; }
.astra-helper-header p { font-size: 12px; margin: 3px 0 0; color: var(--helper-muted); }
.astra-helper-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border-radius: 9px; border: 1px solid var(--helper-border); color: inherit; background: var(--helper-bubble); box-shadow: inset 0 1px 2px #ffffff60; cursor: pointer; font: inherit; font-size: 28px; }
.astra-helper-icon:hover { box-shadow: inset 0 0 0 2px #17bfff; }
.astra-helper-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.astra-helper-content { padding: 18px 4px 14px; }
.astra-helper-status { display: inline-block; font-size: 12px; font-weight: 700; color: var(--helper-muted); border: 1px solid var(--helper-border); border-radius: 20px; padding: 4px 10px; margin-bottom: 18px; }
.astra-helper-message { display: flex; align-items: flex-start; gap: 10px; }
.astra-helper-message > img { flex: 0 0 32px; }
.astra-helper-message p { margin: 0; border: 1px solid var(--helper-border); background: var(--helper-bubble); padding: 12px; border-radius: 18px 18px 18px 4px; box-shadow: inset 0 1px 2px #ffffff60,0 3px 6px #00132920; }
.astra-helper-notice { margin: 18px 0 12px 42px; font-size: 13px; color: var(--helper-muted); }
.astra-helper-link { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 7px 16px; margin-left: 42px; border-radius: 9px; color: var(--helper-ink); border: 1px solid var(--helper-border); background: var(--helper-bubble); box-shadow: inset 0 1px 2px #ffffffa0,0 3px 6px #00132930; text-decoration: none; font-weight: 600; }
.astra-helper-composer { border-top: 1px solid var(--helper-border); padding: 12px 4px 0; }
.astra-helper-composer > label { display: block; font-size: 12px; margin-bottom: 7px; color: var(--helper-muted); }
.astra-helper-composer > div { display: flex; align-items: stretch; gap: 8px; }
.astra-helper-composer textarea { width: 100%; min-width: 0; resize: none; padding: 10px 12px; min-height: 52px; color: var(--helper-muted); background: var(--helper-face); border: 1px solid var(--helper-border); border-radius: 10px; font: inherit; font-size: 14px; opacity: 1; }
.astra-helper-composer textarea::placeholder { color: var(--helper-muted); opacity: 1; }
.astra-helper-send { flex: 0 0 48px; min-height: 48px; border: 1px solid var(--helper-border); border-radius: 10px; color: var(--helper-muted); background: var(--helper-bubble); cursor: not-allowed; }
.astra-helper-send svg { width: 23px; height: 23px; }
.astra-helper-composer small { display: block; margin-top: 8px; font-size: 11px; color: var(--helper-muted); }
@media (max-width: 1450px) {
    .astra-helper-launcher { width: 82px; }
    .astra-helper-launcher > img { width: 72px; height: 79px; }
    .astra-helper-launcher > span { font-size: 12px; padding: 4px 8px; }
    .astra-footer-with-helper { padding-bottom: 138px; }
    .astra-helper-panel { bottom: 140px; max-height: calc(100dvh - 158px); }
}
@media (max-width: 650px), (max-height: 650px) {
    .astra-helper-panel { right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100% - 24px); max-width: 420px; max-height: calc(100dvh - 28px); padding: 5px 8px 12px; border-width: 4px; }
    .astra-helper-header { gap: 5px; flex-wrap: wrap; }
    .astra-helper-header > img { flex-basis: 36px; width: 36px; height: 36px; }
    .astra-helper-header h2 { font-size: 20px; }
    .astra-helper-notice { margin-left: 0; }
    .astra-helper-link { margin-left: 0; }
    .astra .astra-footer-with-helper .astra-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .astra-helper-composer textarea { font-size: 16px; }
}
@media (max-width: 480px) {
    .astra-helper-launcher > span { display: none; }
    .astra .astra-footer-with-helper .astra-footer-grid { grid-template-columns: minmax(0,1fr); }
    .astra-footer-with-helper .astra-footer .brand { flex-wrap: wrap; }
    .deck-text-large .astra-helper-header > div { flex: 1 0 calc(100% - 46px); }
    .deck-text-large .astra-helper-header [data-helper-minimize] { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .astra-helper-launcher > img { transition: none; }
    .astra-helper-launcher:hover > img { transform: none; }
}
@media print { .astra-footer-with-helper, .astra-helper-panel { display: none !important; } }
