/* /Components/Layout/AccountMenu.razor.rz.scp.css */
/* The banner across the top on a laptop (the Azure portal's layout): the name, search in the middle, tools, the account.
   On a phone the rail's own top bar and Menu have these things, so the banner is hidden. */
.ld-banner[b-t06d9wkgi7] {
    position: sticky; top: 0; z-index: 950; height: var(--ld-banner-h); display: flex; align-items: center; gap: 14px;
    padding: 0 14px 0 18px; background: var(--ld-bar); color: var(--ld-bar-fg); border-bottom: 1px solid var(--ld-bar-line);
}
.ld-banner-brand[b-t06d9wkgi7] { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; width: 204px; color: var(--ld-bar-fg); font-weight: 600;
    font-size: 16.5px; letter-spacing: -.01em; text-decoration: none; }
.ld-banner-brand[b-t06d9wkgi7]::before { content: ""; width: 24px; height: 24px; flex: 0 0 24px; background: url("/brand/mark.svg") center / contain no-repeat; }
.ld-banner-brand:hover[b-t06d9wkgi7] { color: #fff; }

/* the tools: notifications, settings, help - icon buttons, as in the portal */
.ld-banner-tools[b-t06d9wkgi7] { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.ld-banner-icon[b-t06d9wkgi7] { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 6px; color: var(--ld-bar-fg) !important; cursor: pointer; list-style: none; }
.ld-banner-icon[b-t06d9wkgi7]::-webkit-details-marker { display: none; }
.ld-banner-icon:hover[b-t06d9wkgi7], details[open] > .ld-banner-icon[b-t06d9wkgi7] { background: var(--ld-bar-hover); }
.ld-banner-icon:focus-visible[b-t06d9wkgi7] { outline: 2px solid var(--ld-bar-fg); outline-offset: -2px; }
.ld-banner-icon svg[b-t06d9wkgi7] { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ld-banner-badge[b-t06d9wkgi7] { position: absolute; top: 5px; right: 4px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--ld-danger);
    color: #fff; font: 700 10px/16px var(--ld-font); text-align: center; }
.ld-bell[b-t06d9wkgi7] { position: relative; }

.ld-account[b-t06d9wkgi7] { position: relative; }

/* the account: the name over the plan, right-aligned, then the initials - the portal's top-right corner */
.ld-chip[b-t06d9wkgi7] {
    list-style: none; cursor: pointer; user-select: none; display: flex; align-items: center; gap: 10px;
    height: 40px; padding: 0 6px 0 10px; border-radius: 6px; transition: background-color .15s;
}
.ld-chip[b-t06d9wkgi7]::-webkit-details-marker { display: none; }
.ld-chip:hover[b-t06d9wkgi7], .ld-account[open] > .ld-chip[b-t06d9wkgi7] { background: var(--ld-bar-hover); }
.ld-chip:focus-visible[b-t06d9wkgi7] { outline: 2px solid var(--ld-bar-fg); outline-offset: -2px; }

.ld-avatar[b-t06d9wkgi7] {
    display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 999px;
    background: linear-gradient(135deg, var(--ld-accent), var(--ld-accent-hover)); color: var(--ld-accent-fg);
    font: 600 12.5px/1 var(--ld-font); letter-spacing: .03em;
}
.ld-chip-text[b-t06d9wkgi7] { display: flex; flex-direction: column; align-items: flex-end; min-width: 0; line-height: 1.2; }
.ld-chip-name[b-t06d9wkgi7] { font-size: 13.5px; font-weight: 600; color: var(--ld-bar-fg); max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-chip-status[b-t06d9wkgi7] { font-size: 11px; color: var(--ld-bar-muted); white-space: nowrap; text-transform: uppercase; letter-spacing: .04em; }
.ld-chip-status.is-trial[b-t06d9wkgi7] { color: var(--ld-bar-accent); }
.ld-chip-status.is-ending[b-t06d9wkgi7] { color: var(--ld-warn); font-weight: 600; }

.ld-menu-note[b-t06d9wkgi7] { float: right; font-size: 12px; color: var(--ld-accent); }

.ld-account-menu[b-t06d9wkgi7] {
    position: absolute; right: 0; top: calc(100% + 8px); z-index: 960; width: 280px; padding: 6px;
    background: var(--ld-surface); color: var(--ld-fg); border: 1px solid var(--ld-line); border-radius: var(--ld-radius);
    box-shadow: var(--ld-shadow-lg); display: flex; flex-direction: column;
}
.ld-account-who[b-t06d9wkgi7] { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px 10px; border-bottom: 1px solid var(--ld-line); margin-bottom: 4px; }
.ld-account-who b[b-t06d9wkgi7] { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-account-who span[b-t06d9wkgi7] { font-size: 12.5px; color: var(--ld-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-account-who .ld-account-plan[b-t06d9wkgi7] { color: var(--ld-accent); }

.ld-account-menu > a[b-t06d9wkgi7], .ld-account-signout button[b-t06d9wkgi7] {
    display: block; width: 100%; text-align: left; padding: 7px 10px; border-radius: 6px; border: 0; background: none;
    color: var(--ld-fg); font: 14px/1.35 var(--ld-font); text-decoration: none; cursor: pointer;
}
.ld-account-menu > a:hover[b-t06d9wkgi7], .ld-account-signout button:hover[b-t06d9wkgi7] { background: var(--ld-surface-2); color: var(--ld-accent); }

.ld-account-label[b-t06d9wkgi7] { margin: 8px 10px 4px; font-size: 10.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--ld-muted); }
.ld-account-skins[b-t06d9wkgi7] { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 0 4px 6px; }
.ld-account-skins form[b-t06d9wkgi7] { margin: 0; }
.ld-account-skins button[b-t06d9wkgi7] {
    width: 100%; display: flex; align-items: center; gap: 7px; padding: 6px 8px; border-radius: 6px; cursor: pointer;
    border: 1px solid var(--ld-line); background: var(--ld-surface); color: var(--ld-fg); font: 12.5px/1.2 var(--ld-font); text-align: left;
}
.ld-account-skins button:hover[b-t06d9wkgi7] { border-color: var(--ld-accent); }
.ld-account-skins button.is-current[b-t06d9wkgi7] { border-color: var(--ld-accent); background: var(--ld-accent-soft); font-weight: 600; }
.ld-skin-dot[b-t06d9wkgi7] { width: 12px; height: 12px; flex: 0 0 12px; border-radius: 999px; border: 1px solid rgba(0, 0, 0, .15); }
.ld-skin-dot.is-porcelain[b-t06d9wkgi7] { background: linear-gradient(135deg, #fbfaf7 50%, #156b5b 50%); }
.ld-skin-dot.is-evergreen[b-t06d9wkgi7] { background: linear-gradient(135deg, #f5f7f6 50%, #11302a 50%); }
.ld-skin-dot.is-midnight[b-t06d9wkgi7] { background: linear-gradient(135deg, #151e1c 50%, #5cc2b1 50%); }
.ld-skin-dot.is-system[b-t06d9wkgi7] { background: linear-gradient(135deg, #fbfaf7 50%, #151e1c 50%); }

.ld-account-signout[b-t06d9wkgi7] { margin: 4px 0 0; padding-top: 4px; border-top: 1px solid var(--ld-line); }

/* the notifications list under the bell */
.ld-bell-menu[b-t06d9wkgi7] { width: 340px; max-height: 70vh; overflow-y: auto; }
.ld-bell-head[b-t06d9wkgi7] { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; border-bottom: 1px solid var(--ld-line); margin-bottom: 4px; }
.ld-bell-head form[b-t06d9wkgi7] { margin: 0; }
.ld-bell-clear[b-t06d9wkgi7] { border: 0; background: none; color: var(--ld-accent); font: 12.5px var(--ld-font); cursor: pointer; padding: 2px 4px; }
.ld-bell-empty[b-t06d9wkgi7] { margin: 10px; font-size: 13px; color: var(--ld-muted); }
/* a column for the "new" dot beside the title, so every title starts at the same place whether new or not */
.ld-bell-menu > a.ld-bell-item[b-t06d9wkgi7] { display: grid; grid-template-columns: 8px minmax(0, 1fr); column-gap: 10px; row-gap: 2px; align-items: start; padding: 8px 10px; }
.ld-bell-item[b-t06d9wkgi7]::before { content: ""; grid-column: 1; grid-row: 1 / span 2; width: 8px; height: 8px; margin-top: 6px; border-radius: 4px; background: transparent; }
.ld-bell-item.is-new[b-t06d9wkgi7]::before { background: var(--ld-accent); }
.ld-bell-item.is-new .ld-bell-title[b-t06d9wkgi7] { font-weight: 600; }
.ld-bell-title[b-t06d9wkgi7] { grid-column: 2; font-size: 13.5px; line-height: 1.35; }
.ld-bell-when[b-t06d9wkgi7] { grid-column: 2; font-size: 11.5px; color: var(--ld-muted); }

/* a narrow laptop: just the initials, so the banner never crowds */
@media (max-width: 1100px) {
    .ld-chip-text[b-t06d9wkgi7] { display: none; }
    .ld-banner-brand[b-t06d9wkgi7] { width: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .ld-chip[b-t06d9wkgi7] { transition: none; }
}

@media (max-width: 820px) {
    .ld-banner[b-t06d9wkgi7] { display: none; }
}

/* the search box in the middle of the banner (on a phone: Search in the menu) */
.ld-search[b-t06d9wkgi7] { position: relative; flex: 0 1 560px; margin: 0 auto; }
.ld-search-icon[b-t06d9wkgi7] { position: absolute; left: 11px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); fill: none; stroke: var(--ld-bar-muted);
    stroke-width: 2; stroke-linecap: round; pointer-events: none; }
.ld-search input[b-t06d9wkgi7] { width: 100%; height: 34px; padding: 0 12px 0 34px; border: 1px solid var(--ld-bar-line); border-radius: 6px;
    background: var(--ld-bar-field); color: var(--ld-bar-fg); font-size: 14px; }
.ld-search input[b-t06d9wkgi7]::placeholder { color: var(--ld-bar-muted); }
.ld-search input:hover[b-t06d9wkgi7] { border-color: var(--ld-bar-muted); }
.ld-search input:focus[b-t06d9wkgi7] { outline: none; border-color: var(--ld-bar-fg); background: var(--ld-bar-field-focus); }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.ld-shell[b-s1yqcjzpn0] { display: flex; min-height: 100vh; }
.ld-rail[b-s1yqcjzpn0] { width: 236px; flex: 0 0 236px; background: var(--ld-rail); color: var(--ld-rail-fg); position: relative; border-right: 1px solid var(--ld-rail-line); }
/* the bottom padding keeps the last row clear of the Ask button (fixed, bottom right) */
.ld-main[b-s1yqcjzpn0] { flex: 1 1 auto; min-width: 0; padding: 28px max(16px, 3.2vw) 96px; }

/* laptop and wider: the menu stays on screen under the banner and scrolls on its own, so a long menu never makes the
   page longer */
@media (min-width: 821px) {
    .ld-shell[b-s1yqcjzpn0] { min-height: calc(100vh - var(--ld-banner-h)); }
    .ld-rail[b-s1yqcjzpn0] { position: sticky; top: var(--ld-banner-h); height: calc(100vh - var(--ld-banner-h)); overflow-y: auto; scrollbar-width: thin; }
}

@media (max-width: 820px) {
    .ld-shell[b-s1yqcjzpn0] { flex-direction: column; }
    .ld-rail[b-s1yqcjzpn0] { width: 100%; flex-basis: auto; }
    .ld-main[b-s1yqcjzpn0] { padding: 18px 16px 88px; }
}

#blazor-error-ui[b-s1yqcjzpn0] {
    background: var(--ld-warn-soft); color: var(--ld-fg); bottom: 0; box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none; left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem; position: fixed; width: 100%; z-index: 1000;
}
#blazor-error-ui .dismiss[b-s1yqcjzpn0] { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.ld-brand[b-nxgqhovgwx] { padding: 20px 20px 14px; }
.ld-brand a[b-nxgqhovgwx] { color: var(--ld-brand); font-weight: 600; font-size: 19px; text-decoration: none; letter-spacing: -.01em; display: inline-flex; align-items: center; gap: 9px; }
/* the LinguistDesk mark (the same file as the website's) */
.ld-brand a[b-nxgqhovgwx]::before { content: ""; width: 26px; height: 26px; flex: 0 0 26px; background: url("/brand/mark.svg") center / contain no-repeat; }

.ld-nav[b-nxgqhovgwx] { display: flex; flex-direction: column; padding: 2px 10px 14px; gap: 1px; }
.ld-nav[b-nxgqhovgwx]  a, .ld-nav .is-soon[b-nxgqhovgwx] { display: flex; align-items: center; gap: 10px;
    padding: 5px 10px; border-radius: 6px; color: var(--ld-rail-fg); text-decoration: none; font-size: 14px; line-height: 1.35; }
.ld-nav[b-nxgqhovgwx]  a:hover { background: var(--ld-rail-hover); color: var(--ld-rail-active-fg); }
.ld-nav[b-nxgqhovgwx]  a.active { background: var(--ld-rail-active); color: var(--ld-rail-active-fg); font-weight: 600; }
.ld-nav[b-nxgqhovgwx]  .ld-nav-icon { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.7;
    stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.ld-nav[b-nxgqhovgwx]  a.active .ld-nav-icon { opacity: 1; }
.ld-nav .is-soon[b-nxgqhovgwx] { opacity: .55; cursor: default; }
.ld-nav .is-soon small[b-nxgqhovgwx] { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.ld-nav-group[b-nxgqhovgwx] { margin: 14px 10px 4px; font-size: 10.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--ld-rail-muted); }
.ld-nav-sep[b-nxgqhovgwx] { height: 1px; margin: 10px 10px 6px; background: var(--ld-rail-line); }

.ld-signout[b-nxgqhovgwx] { display: flex; flex-direction: column; gap: 6px; padding: 12px 22px 22px; border-top: 1px solid var(--ld-rail-line); font-size: 13px; color: var(--ld-rail-fg); }
.ld-signout span[b-nxgqhovgwx] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .8; }
.ld-signout button[b-nxgqhovgwx] { align-self: flex-start; background: none; border: 1px solid var(--ld-rail-line); color: var(--ld-rail-fg);
    border-radius: 6px; padding: 4px 10px; font-size: 13px; cursor: pointer; }
.ld-signout button:hover[b-nxgqhovgwx] { border-color: var(--ld-rail-active-fg); color: var(--ld-rail-active-fg); }

/* laptop: the name, who is signed in, Sign out and admin are in the banner across the top */
@media (min-width: 821px) {
    .ld-signout[b-nxgqhovgwx], .ld-nav[b-nxgqhovgwx]  a.ld-phone-only { display: none; }
    .ld-brand[b-nxgqhovgwx] { display: none; }
    .ld-nav[b-nxgqhovgwx] { padding-top: 14px; }
}

.ld-menu-toggle[b-nxgqhovgwx] { position: absolute; opacity: 0; pointer-events: none; }
.ld-menu-button[b-nxgqhovgwx] { display: none; }

/* phone: the rail is a top bar; the menu opens with the Menu button (no script needed) */
@media (max-width: 820px) {
    .ld-brand[b-nxgqhovgwx] { padding: 14px 16px; }
    .ld-menu-button[b-nxgqhovgwx] { display: inline-flex; position: absolute; top: 10px; right: 16px; padding: 6px 12px; border-radius: 6px;
        border: 1px solid var(--ld-rail-line); color: var(--ld-rail-fg); font-size: 14px; cursor: pointer; }
    .ld-menu-toggle:focus-visible + .ld-menu-button[b-nxgqhovgwx] { outline: 2px solid var(--ld-accent); }
    .ld-nav[b-nxgqhovgwx], .ld-signout[b-nxgqhovgwx] { display: none; }
    .ld-menu-toggle:checked ~ .ld-nav[b-nxgqhovgwx] { display: flex; }
    .ld-menu-toggle:checked ~ .ld-signout[b-nxgqhovgwx] { display: flex; flex-direction: row; align-items: center; justify-content: space-between; }
}

/* how many are waiting (jobs to mark done, overdue invoices, emails to check, offers to answer) */
.ld-nav[b-nxgqhovgwx]  .ld-nav-count { margin-left: auto; min-width: 20px; padding: 0 6px; border-radius: 10px; background: var(--ld-accent);
    color: var(--ld-accent-fg); font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }
.ld-nav[b-nxgqhovgwx]  .ld-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-nfv3advuho],
.components-reconnect-repeated-attempt-visible[b-nfv3advuho],
.components-reconnect-failed-visible[b-nfv3advuho],
.components-pause-visible[b-nfv3advuho],
.components-resume-failed-visible[b-nfv3advuho],
.components-rejoining-animation[b-nfv3advuho] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-retrying[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-failed[b-nfv3advuho],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-nfv3advuho] {
    display: block;
}


#components-reconnect-modal[b-nfv3advuho] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-nfv3advuho 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-nfv3advuho 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-nfv3advuho 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-nfv3advuho]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-nfv3advuho 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-nfv3advuho {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-nfv3advuho {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-nfv3advuho {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-nfv3advuho] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-nfv3advuho] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-nfv3advuho] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-nfv3advuho] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-nfv3advuho] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-nfv3advuho] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-nfv3advuho] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-nfv3advuho 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-nfv3advuho] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-nfv3advuho {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Shared/AssistantPanel.razor.rz.scp.css */
/* Ask LinguistDesk: a round button bottom-right; the panel slides over the right side (full screen on a phone). */
.ld-ask-fab[b-xnbeydt31y] {
    position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 900;
    display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px 10px 12px;
    border: 0; border-radius: 999px; background: var(--ld-accent); color: var(--ld-accent-fg);
    font: 500 14px/1 var(--ld-font); box-shadow: var(--ld-shadow-lg); cursor: pointer;
}
.ld-ask-fab:hover[b-xnbeydt31y] { background: var(--ld-accent-hover); }
.ld-ask-fab:focus-visible[b-xnbeydt31y] { outline: 3px solid var(--ld-accent-soft); outline-offset: 2px; }
.ld-ask-fab svg[b-xnbeydt31y] { width: 20px; height: 20px; fill: currentColor; }

.ld-ask[b-xnbeydt31y] {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 950; width: min(420px, 100vw);
    display: flex; flex-direction: column; background: var(--ld-surface); color: var(--ld-fg);
    border-left: 1px solid var(--ld-line); box-shadow: var(--ld-shadow-lg);
}
.ld-ask-head[b-xnbeydt31y] {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
    padding: 14px 16px; border-bottom: 1px solid var(--ld-line);
}
.ld-ask-head b[b-xnbeydt31y] { display: block; font-size: 15px; }
.ld-ask-head-actions[b-xnbeydt31y] { display: flex; align-items: center; gap: 8px; }
.ld-ask-close[b-xnbeydt31y] { border: 0; background: none; color: var(--ld-muted); font-size: 24px; line-height: 1; cursor: pointer; padding: 0 4px; }
.ld-ask-close:hover[b-xnbeydt31y] { color: var(--ld-fg); }

.ld-ask-body[b-xnbeydt31y] { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.ld-ask-intro[b-xnbeydt31y] { color: var(--ld-muted); margin: 0; }
.ld-ask-suggest[b-xnbeydt31y] { display: flex; flex-wrap: wrap; gap: 8px; }
.ld-ask-chip[b-xnbeydt31y] {
    border: 1px solid var(--ld-line-strong); background: var(--ld-surface-2); color: var(--ld-fg);
    border-radius: 999px; padding: 6px 12px; font: 13px/1.3 var(--ld-font); cursor: pointer; text-align: left;
}
.ld-ask-chip:hover[b-xnbeydt31y] { border-color: var(--ld-accent); color: var(--ld-accent); }

.ld-ask-q[b-xnbeydt31y] {
    align-self: flex-end; max-width: 85%; padding: 8px 12px; border-radius: 12px 12px 2px 12px;
    background: var(--ld-accent-soft); white-space: pre-wrap; overflow-wrap: anywhere;
}
.ld-ask-a[b-xnbeydt31y] { max-width: 100%; overflow-wrap: anywhere; }
.ld-ask-a[b-xnbeydt31y]  p { margin: 0 0 6px; }
.ld-ask-a[b-xnbeydt31y]  ul { margin: 0 0 6px; padding-left: 18px; }
.ld-ask-a[b-xnbeydt31y]  a { color: var(--ld-accent); }
.ld-ask-thinking[b-xnbeydt31y] { color: var(--ld-muted); }
.ld-ask-thinking span[b-xnbeydt31y] { animation: ld-ask-dot-b-xnbeydt31y 1.2s infinite; }
.ld-ask-thinking span:nth-child(2)[b-xnbeydt31y] { animation-delay: .2s; }
.ld-ask-thinking span:nth-child(3)[b-xnbeydt31y] { animation-delay: .4s; }
@keyframes ld-ask-dot-b-xnbeydt31y { 0%, 60%, 100% { opacity: .2; } 30% { opacity: 1; } }

.ld-ask-card[b-xnbeydt31y] {
    border: 1px solid var(--ld-line-strong); border-left: 3px solid var(--ld-accent); border-radius: var(--ld-radius);
    padding: 10px 12px; background: var(--ld-surface-2);
}
.ld-ask-card ul[b-xnbeydt31y] { margin: 6px 0 8px; padding-left: 18px; white-space: pre-wrap; overflow-wrap: anywhere; }
.ld-ask-card.is-done[b-xnbeydt31y] { border-left-color: var(--ld-muted); }
.ld-ask-card.is-dismissed[b-xnbeydt31y] { opacity: .6; border-left-color: var(--ld-line-strong); }
.ld-ask-card-actions[b-xnbeydt31y] { display: flex; justify-content: flex-end; gap: 8px; }
.ld-ask-done[b-xnbeydt31y] { margin: 0; color: var(--ld-accent); }
.ld-ask-error[b-xnbeydt31y] { color: var(--ld-danger); background: var(--ld-surface-2); border: 1px solid var(--ld-line); border-radius: var(--ld-radius); padding: 8px 12px; }

.ld-ask-input[b-xnbeydt31y] {
    display: flex; gap: 8px; align-items: flex-end; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--ld-line);
}
.ld-ask-input textarea[b-xnbeydt31y] {
    flex: 1; resize: none; min-height: 44px; max-height: 160px; padding: 8px 10px; border-radius: 8px;
    border: 1px solid var(--ld-line-strong); background: var(--ld-surface); color: var(--ld-fg); font: 14px/1.4 var(--ld-font);
}
.ld-ask-input textarea:focus[b-xnbeydt31y] { outline: 2px solid var(--ld-accent-soft); border-color: var(--ld-accent); }

@media (max-width: 640px) {
    .ld-ask[b-xnbeydt31y] { width: 100vw; border-left: 0; }
    .ld-ask-fab[b-xnbeydt31y] { right: 14px; bottom: calc(16px + env(safe-area-inset-bottom)); }
}
