

.ask {
    --ask-field-bg:       #fff;
    --ask-field-border:   rgba(0, 0, 0, .10);
    --ask-field-shadow:   0 2px 6px rgba(0, 0, 0, .06), 0 12px 32px rgba(0, 0, 0, .14);
    --ask-placeholder:    #6c757d;

    --ask-chip-bg:        rgba(33, 37, 41, .88);
    --ask-chip-bg-hover:  rgba(0, 0, 0, .95);
    --ask-chip-text:      #fff;

    --ask-submit-bg:      #e9ecef;
    --ask-submit-bg-on:   #212529;

    --ask-panel-bg:       rgba(42, 43, 40, .82);
    --ask-panel-text:     #fff;
    --ask-bubble-bg:      rgba(255, 255, 255, .16);

    --ask-w-collapsed:    20rem;    
    --ask-w-expanded:     35rem;    
    --ask-w-chat:         40rem;    
    --ask-ease:           cubic-bezier(.16, 1, .3, 1);

    position: fixed;
    inset-inline: 0;
    bottom: 2.5rem;
    z-index: 1040;

    display: flex;
    flex-direction: column;
    align-items: center;
    padding-inline: 1rem;

    
    pointer-events: none;
}

.ask > * { pointer-events: auto; }

.ask__form {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: var(--ask-w-collapsed);
    padding: .3125rem .3125rem .3125rem 1.25rem;
    border: 1px solid var(--ask-field-border);
    border-radius: 999px;
    background: var(--ask-field-bg);
    box-shadow: var(--ask-field-shadow);
    transition: max-width .45s var(--ask-ease);
}

.ask[data-state="expanded"] .ask__form {
    max-width: var(--ask-w-expanded);
}

.ask[data-state="chatting"] .ask__form {
    max-width: var(--ask-w-chat);
}

.ask__input {
    flex: 1;
    min-width: 0;
    padding: .5rem 0;
    border: 0;
    background: transparent;
    font-size: .9375rem;
    line-height: 1.4;
    color: #212529;
}

.ask__input::placeholder { color: var(--ask-placeholder); }
.ask__input:focus         { outline: 0; }

.ask__submit {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-left: .5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--ask-submit-bg);
    color: #212529;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

.ask__submit:hover,
.ask__submit:focus-visible { background: var(--ask-submit-bg-on); color: #fff; }
.ask__submit svg           { display: block; width: 1rem; height: 1rem; }

.ask__suggestions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    width: 100%;
    max-width: var(--ask-w-expanded);

    max-height: 0;
    margin-bottom: 0;
    overflow: hidden;
    visibility: hidden;
    transition: max-height .45s var(--ask-ease),
                margin-bottom .45s var(--ask-ease),
                visibility 0s linear .45s;
}

.ask[data-state="expanded"] .ask__suggestions {
    max-height: 15rem;
    margin-bottom: .75rem;
    visibility: visible;
    transition: max-height .45s var(--ask-ease),
                margin-bottom .45s var(--ask-ease),
                visibility 0s;
}

.ask__chip {
    padding: .625rem 1.0625rem;
    border: 0;
    border-radius: 999px;
    background: var(--ask-chip-bg);
    color: var(--ask-chip-text);
    font-size: .875rem;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    opacity: 0;
    transform: translateY(.5rem);
    transition: opacity .35s var(--ask-ease),
                transform .35s var(--ask-ease),
                background-color .2s ease;
}

.ask[data-state="expanded"] .ask__chip { opacity: 1; transform: none; }

.ask[data-state="expanded"] .ask__chip:nth-child(1) { transition-delay: .06s, .06s, 0s; }
.ask[data-state="expanded"] .ask__chip:nth-child(2) { transition-delay: .12s, .12s, 0s; }
.ask[data-state="expanded"] .ask__chip:nth-child(3) { transition-delay: .18s, .18s, 0s; }

.ask__chip:hover,
.ask__chip:focus-visible { background: var(--ask-chip-bg-hover); }

.ask__panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: var(--ask-w-chat);
    max-height: min(30rem, 62vh);
    margin-bottom: .75rem;
    border: 1px solid var(--ask-field-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .18);
    color: #212529;
    overflow: hidden;

    opacity: 0;
    transform: translateY(.75rem);
    transition: opacity .35s var(--ask-ease), transform .35s var(--ask-ease);
}

.ask__panel[hidden] { display: none; }
.ask[data-state="chatting"] .ask__panel { opacity: 1; transform: none; }

.ask__panel-head {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 1rem 1rem .75rem 1.25rem;
}

.ask__panel-title {
    margin: 0;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.3;
    color: #212529;
}

.ask__panel-badge {
    flex: 1;
    min-width: 0;
    font-size: .6875rem;
    color: #adb5bd;
}

.ask__panel-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    padding: 0;
    border: 1px solid var(--ask-field-border);
    border-radius: .5rem;
    background: #fff;
    color: var(--ask-placeholder);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.ask__panel-btn:hover {
    border-color: #c9ccd2;
    background: #f8f9fa;
    color: #212529;
}

.ask__panel-btn svg { display: block; width: .9375rem; height: .9375rem; }

.ask__thread {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: .25rem 1.25rem 1rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    font-size: .9375rem;
    line-height: 1.6;

    scrollbar-width: thin;
    scrollbar-color: #ced4da transparent;
}

.ask__thread::-webkit-scrollbar { width: .375rem; }
.ask__thread::-webkit-scrollbar-track { background: transparent; margin-block: .25rem; }
.ask__thread::-webkit-scrollbar-thumb { border-radius: 999px; background: #dee2e6; }
.ask__thread::-webkit-scrollbar-thumb:hover { background: #ced4da; }

.ask__para { margin: 0; }
.ask__para + .ask__para { margin-top: .875rem; }
.ask__para strong { font-weight: 700; }

.ask__list {
    margin: .875rem 0 0;
    padding-left: 1.125rem;
}

.ask__list li + li { margin-top: .5rem; }

.ask__list + .ask__para { margin-top: .875rem; }
.ask__list strong { font-weight: 700; }

.ask__actions {
    display: flex;
    gap: .25rem;
    margin-top: .875rem;
}

.ask__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: .375rem;
    background: transparent;
    color: #adb5bd;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

.ask__action:hover { background: #f1f3f5; color: #212529; }
.ask__action svg   { display: block; width: 1rem; height: 1rem; }
.ask__action.is-done { color: #198754; }

.ask__sources {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .375rem;
    margin-top: 1rem;
    padding-top: .875rem;
    border-top: 1px solid #eef0f3;
}

.ask__sources-label {
    font-size: .625rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #adb5bd;
}

.ask__source {
    padding: .1875rem .5rem;
    border: 1px solid var(--ask-field-border);
    border-radius: 999px;
    font-size: .75rem;
    color: var(--ask-placeholder);
}

@keyframes ask-blink {
    0%, 80%, 100% { opacity: .3; }
    40%           { opacity: 1; }
}

.ask__panel-foot {
    margin: 0;
    padding: .875rem 1.25rem 1rem;
    border-top: 1px solid #eef0f3;
    background: #fbfbfc;
    font-size: .75rem;
    line-height: 1.55;
    color: var(--ask-placeholder);
}

.ask__panel-foot a { color: #212529; }

.ask__note {
    max-width: var(--ask-w-expanded);
    margin: 0;
    padding: .375rem .875rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: .75rem;
    line-height: 1.4;
    color: #6c757d;
    text-align: center;

    max-height: 0;
    padding-block: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .45s var(--ask-ease),
                opacity .3s ease,
                margin-top .45s var(--ask-ease),
                padding-block .45s var(--ask-ease);
}

.ask[data-state="expanded"] .ask__note {
    max-height: 4rem;
    margin-top: .625rem;
    padding-block: .375rem;
    opacity: 1;
}

.ask__note strong { color: #212529; font-weight: 500; }@media (max-width: 575.98px) {
    .ask { bottom: 1rem; --ask-w-collapsed: 100%; --ask-w-expanded: 100%; --ask-w-chat: 100%; }
    .ask__chip { font-size: .8125rem; }}@media (prefers-reduced-motion: reduce) {
    .ask__form,
    .ask__suggestions,
    .ask__chip,
    .ask__panel,
    .ask__info,
    .ask__try,
    .ask__note { transition-duration: .01ms; }}

.ask__info,
.ask__try {
    width: 100%;
    max-width: var(--ask-w-expanded);

    max-height: 0;
    margin-bottom: 0;
    overflow: hidden;
    visibility: hidden;
    transition: max-height .45s var(--ask-ease),
                margin-bottom .45s var(--ask-ease),
                opacity .35s var(--ask-ease),
                visibility 0s linear .45s;
    opacity: 0;
}

.ask[data-state="expanded"] .ask__info {
    max-height: min(28rem, 52vh);
    margin-bottom: .75rem;
    visibility: visible;
    opacity: 1;
    transition: max-height .45s var(--ask-ease),
                margin-bottom .45s var(--ask-ease),
                opacity .35s var(--ask-ease),
                visibility 0s;
}

.ask[data-state="expanded"] .ask__try {
    max-height: 2.5rem;
    margin-bottom: .5rem;
    visibility: visible;
    opacity: 1;
    transition-delay: .04s;
    transition: max-height .45s var(--ask-ease),
                margin-bottom .45s var(--ask-ease),
                opacity .35s var(--ask-ease),
                visibility 0s;
}

.ask__info-body {
    overflow-y: auto;
    overscroll-behavior: contain;
    max-height: min(22rem, 42vh);
    
    mask-image: linear-gradient(to bottom, #000 calc(100% - 2rem), transparent);
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 2rem), transparent);
}

.ask__info {
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    border: 1px solid var(--ask-field-border);
    border-radius: 1rem;
    background: var(--ask-field-bg);
    box-shadow: var(--ask-field-shadow);
    text-align: left;
}

.ask__info-title {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.35;
    color: #212529;
}

.ask__facts {
    display: grid;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ask__fact {
    display: flex;
    gap: .625rem;
    padding: .75rem .875rem;
    border: 1px solid #eef0f3;
    border-radius: .625rem;
    font-size: .8125rem;
    line-height: 1.5;
    color: #212529;
}

.ask__fact-icon {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin-top: .15rem;
    color: var(--ask-placeholder);
}

.ask__about {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eef0f3;
    font-size: .8125rem;
    line-height: 1.6;
    color: var(--ask-placeholder);
}

.ask__about p { margin: 0; }
.ask__about p + p { margin-top: .75rem; }

.ask__try {
    margin-top: 0;
    text-align: left;
}

.ask__try > span {
    display: inline-block;
    padding: .25rem .5rem;
    border: 1px solid var(--ask-field-border);
    border-radius: 999px;
    background: #fff;
    font-size: .625rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ask-placeholder);
}@media (min-width: 36em) {
    .ask__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }}@media (prefers-reduced-motion: reduce) {
    .ask__info,
    .ask__try { transition: none; }}
/* ============================================================
   Ask widget — "thinking" loader + suggestion skeleton
   (moved out of ask.js so both are editable here)
   ============================================================ */

.loader-teravera__icons { display:flex; gap:.5rem; align-items:center; }
.loader-teravera__icons > span {
    display:inline-block;
    background-size:contain; background-repeat:no-repeat; background-position:center;
    transform-origin:50% 50%;
    animation:spin-pause 1.2s ease-in-out infinite;
}
.loader-teravera__icons > span:nth-child(1){ width:13px; height:13px; animation-delay:0s;   background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99.26 99.26'%3e%3cpath d='m55.14.03s0-.02,0-.03h-11.03s0,.02,0,.03c-.02,24.31-19.8,44.09-44.12,44.09v11.03c24.32,0,44.1,19.78,44.12,44.09,0,0,0,.02,0,.03h11.03s0-.02,0-.03c.02-24.31,19.8-44.09,44.12-44.09v-11.03C74.94,44.12,55.16,24.34,55.14.03Zm-5.51,75.21c-5.41-11.14-14.47-20.2-25.61-25.61,11.14-5.41,20.2-14.47,25.61-25.61,5.41,11.14,14.47,20.2,25.61,25.61-11.14,5.41-20.2,14.47-25.61,25.61Z' fill='%23a9c4f2'/%3e%3c/svg%3e"); }
.loader-teravera__icons > span:nth-child(2){ width:14px; height:14px; animation-delay:.12s; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99.26 99.26'%3e%3cpath d='m55.14.03s0-.02,0-.03h-11.03s0,.02,0,.03c-.02,24.31-19.8,44.09-44.12,44.09v11.03c24.32,0,44.1,19.78,44.12,44.09,0,0,0,.02,0,.03h11.03s0-.02,0-.03c.02-24.31,19.8-44.09,44.12-44.09v-11.03C74.94,44.12,55.16,24.34,55.14.03Zm-5.51,75.21c-5.41-11.14-14.47-20.2-25.61-25.61,11.14-5.41,20.2-14.47,25.61-25.61,5.41,11.14,14.47,20.2,25.61,25.61-11.14,5.41-20.2,14.47-25.61,25.61Z' fill='%2388abeb'/%3e%3c/svg%3e"); }
.loader-teravera__icons > span:nth-child(3){ width:15px; height:15px; animation-delay:.24s; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99.26 99.26'%3e%3cpath d='m55.14.03s0-.02,0-.03h-11.03s0,.02,0,.03c-.02,24.31-19.8,44.09-44.12,44.09v11.03c24.32,0,44.1,19.78,44.12,44.09,0,0,0,.02,0,.03h11.03s0-.02,0-.03c.02-24.31,19.8-44.09,44.12-44.09v-11.03C74.94,44.12,55.16,24.34,55.14.03Zm-5.51,75.21c-5.41-11.14-14.47-20.2-25.61-25.61,11.14-5.41,20.2-14.47,25.61-25.61,5.41,11.14,14.47,20.2,25.61,25.61-11.14,5.41-20.2,14.47-25.61,25.61Z' fill='%235f8fe0'/%3e%3c/svg%3e"); }
.loader-teravera__icons > span:nth-child(4){ width:16px; height:16px; animation-delay:.36s; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99.26 99.26'%3e%3cpath d='m55.14.03s0-.02,0-.03h-11.03s0,.02,0,.03c-.02,24.31-19.8,44.09-44.12,44.09v11.03c24.32,0,44.1,19.78,44.12,44.09,0,0,0,.02,0,.03h11.03s0-.02,0-.03c.02-24.31,19.8-44.09,44.12-44.09v-11.03C74.94,44.12,55.16,24.34,55.14.03Zm-5.51,75.21c-5.41-11.14-14.47-20.2-25.61-25.61,11.14-5.41,20.2-14.47,25.61-25.61,5.41,11.14,14.47,20.2,25.61,25.61-11.14,5.41-20.2,14.47-25.61,25.61Z' fill='%232f66cf'/%3e%3c/svg%3e"); }
.loader-teravera__icons > span:nth-child(5){ width:18px; height:18px; animation-delay:.48s; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99.26 99.26'%3e%3cpath d='m55.14.03s0-.02,0-.03h-11.03s0,.02,0,.03c-.02,24.31-19.8,44.09-44.12,44.09v11.03c24.32,0,44.1,19.78,44.12,44.09,0,0,0,.02,0,.03h11.03s0-.02,0-.03c.02-24.31,19.8-44.09,44.12-44.09v-11.03C74.94,44.12,55.16,24.34,55.14.03Zm-5.51,75.21c-5.41-11.14-14.47-20.2-25.61-25.61,11.14-5.41,20.2-14.47,25.61-25.61,5.41,11.14,14.47,20.2,25.61,25.61-11.14,5.41-20.2,14.47-25.61,25.61Z' fill='%230236ad'/%3e%3c/svg%3e"); }

@keyframes spin-pause { 0%{transform:rotate(0deg);} 40%{transform:rotate(360deg);} 100%{transform:rotate(360deg);} }

.ask__chip--skel {
    width:13rem;
    color:transparent !important; border-color:transparent !important; pointer-events:none;
    background:linear-gradient(100deg,#dde3ec 30%,#f2f6fb 50%,#dde3ec 70%) !important;
    background-size:200% 100% !important;
    animation:ask-shimmer 1.15s linear infinite;
}
@keyframes ask-shimmer { 0%{background-position:200% 0;} 100%{background-position:-200% 0;} }

@media (prefers-reduced-motion: reduce) {
    .loader-teravera__icons > span { animation-duration:2.6s; }
    .ask__chip--skel { animation:none; }
}
