/* Lexi 1.11.1. Shared, narrowly scoped overrides, loaded after the selected theme. */
#tssh-diana .tssh-diana__launcher-icon{display:none}
#tssh-diana[data-compact-launcher="1"] .tssh-diana__launcher:after{display:none;content:none}
#tssh-diana[data-compact-launcher="1"] .tssh-diana__launcher{
    padding:3px;border:1px solid rgba(28,42,58,.12);box-shadow:0 5px 18px rgba(28,42,58,.18);
}
#tssh-diana[data-compact-launcher="1"] .tssh-diana__launcher-photo{
    width:50px;height:50px;flex:0 0 50px;border:1px solid rgba(255,255,255,.8);
}
#tssh-diana .tssh-diana__launcher-photo img{
    display:block;width:100%;min-width:100%;max-width:100%;height:100%;
    aspect-ratio:1;object-fit:cover;object-position:center top;transform:none;
}
#tssh-diana .tssh-diana__restoring{
    padding:24px 20px;color:#52616e;font:inherit;font-size:14px;background:#fff;
}
#tssh-diana .tssh-diana__saved-notices{
    flex:0 0 auto;max-height:160px;overflow:auto;padding:12px 16px 0;background:#fff;
}
#tssh-diana .tssh-diana__saved-notice{
    padding:12px;margin:0 0 8px;border:1px solid #d9e5ed;border-radius:10px;background:#f1f7fb;
    display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;
}
#tssh-diana .tssh-diana__saved-notice p{
    flex:1 1 175px;margin:0;padding:0;color:#253749;font:inherit;font-size:12px;line-height:1.5;
}
#tssh-diana .tssh-diana__saved-notice button{
    min-height:40px;padding:8px 11px;border:1px solid #1c2a3a;border-radius:7px;
    background:#1c2a3a;color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;
}
#tssh-diana .tssh-diana__saved-notice button:focus-visible{
    outline:3px solid #73add9;outline-offset:3px;
}
#tssh-diana .tssh-diana__header>div{flex:1 1 auto;min-width:0}
#tssh-diana .tssh-diana__consent input[type="checkbox"]{
    flex:0 0 18px;width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;
    margin:1px 0 0!important;box-shadow:none;
}
/* Only photos inside existing Lexi entry points are normalized. No site-wide img rule. */
[data-lexi-inline-avatar-wrap]{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;
    height:28px!important;min-height:28px!important;max-height:28px!important;border-radius:50%!important;
    overflow:hidden!important;transform:none!important;animation:none!important;perspective:none!important;
}
img[data-lexi-inline-avatar]{
    display:block!important;flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;
    height:28px!important;min-height:28px!important;max-height:28px!important;aspect-ratio:1!important;
    object-fit:cover!important;object-position:center top!important;border-radius:50%!important;
    transform:none!important;animation:none!important;opacity:1!important;
}
@media(max-width:600px){
    #tssh-diana.tssh-diana{
        --lexi-obstacle-offset:0px;
        right:max(16px,env(safe-area-inset-right,0px));
        bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--lexi-obstacle-offset));
    }
    #tssh-diana.tssh-diana[data-dock-left="1"]{right:auto;left:max(16px,env(safe-area-inset-left,0px))}
    #tssh-diana.tssh-diana[data-open="0"]{width:52px;height:52px;pointer-events:none}
    #tssh-diana.tssh-diana[data-open="0"] .tssh-diana__launcher{
        display:flex;align-items:center;justify-content:center;gap:0;
        width:52px;min-width:52px;max-width:52px;height:52px;min-height:52px;max-height:52px;
        padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;
        background:#005a7d;color:#fff;box-shadow:0 4px 16px rgba(17,37,54,.18);
        transform:none;transition:background-color .18s ease;pointer-events:auto;
    }
    #tssh-diana.tssh-diana[data-theme="toss"][data-open="0"] .tssh-diana__launcher{background:#1c2a3a}
    #tssh-diana.tssh-diana .tssh-diana__launcher-photo,
    #tssh-diana.tssh-diana .tssh-diana__launcher-copy,
    #tssh-diana.tssh-diana .tssh-diana__launcher-close{display:none!important}
    #tssh-diana.tssh-diana .tssh-diana__launcher-icon{display:flex;align-items:center;justify-content:center;width:25px;height:25px}
    #tssh-diana.tssh-diana .tssh-diana__launcher-icon svg{display:block;width:25px;height:25px;fill:none}
    #tssh-diana.tssh-diana .tssh-diana__launcher:after{content:none;display:none}
    #tssh-diana.tssh-diana .tssh-diana__launcher:focus-visible{
        outline:3px solid #73add9;outline-offset:3px;transform:none;
    }
    #tssh-diana.tssh-diana .tssh-diana__unread-badge{
        top:-5px;right:-5px;min-width:20px;height:20px;padding:0 4px;
        border:2px solid #fff;font-size:10px;box-shadow:none;
    }
    #tssh-diana.tssh-diana .tssh-diana__panel{
        position:fixed;left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));
        bottom:calc(8px + env(safe-area-inset-bottom,0px) + var(--lexi-keyboard-offset,0px));
        width:auto;max-width:none;height:min(680px,calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));
        max-height:var(--lexi-panel-max-height,calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));
        border-radius:16px;box-shadow:0 12px 38px rgba(28,42,58,.22);
    }
    #tssh-diana.tssh-diana[data-open="1"] .tssh-diana__panel{
        height:min(680px,var(--lexi-panel-max-height,calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))));
    }
    #tssh-diana.tssh-diana .tssh-diana__gate{min-height:0;overflow:auto;overscroll-behavior:contain}
    #tssh-diana.tssh-diana .tssh-diana__header{flex:0 0 auto;min-height:68px;padding:10px 12px;gap:9px}
    #tssh-diana.tssh-diana .tssh-diana__header img{flex:0 0 42px;width:42px;height:42px;object-fit:cover}
    #tssh-diana.tssh-diana .tssh-diana__sound,
    #tssh-diana.tssh-diana .tssh-diana__minimize{flex:0 0 38px;width:38px;height:38px;min-width:38px}
    #tssh-diana.tssh-diana .tssh-diana__chat{flex:1 1 auto;min-height:0;height:auto;max-height:none;overflow:hidden}
    #tssh-diana.tssh-diana .tssh-diana__messages{flex:1 1 auto;min-height:60px;max-height:none;overscroll-behavior:contain}
    #tssh-diana.tssh-diana .tssh-diana__message-form{flex:0 0 auto}
    #tssh-diana.tssh-diana .tssh-diana__message-form textarea{min-width:0}
    #tssh-diana.tssh-diana input:not([type="checkbox"]),
    #tssh-diana.tssh-diana select,
    #tssh-diana.tssh-diana textarea{font-size:16px}
    #tssh-diana.tssh-diana .tssh-diana__saved-notices{max-height:140px}
}
@media(prefers-reduced-motion:reduce){
    #tssh-diana.tssh-diana .tssh-diana__launcher{transition:none}
}

/* Lexi 1.11.9 · TSSH premium UI refresh. Scoped to The Spanish Schoolhouse only. */
#tssh-diana[data-theme="tssh"].tssh-diana{
    --tssh-lexi-green:#639231;
    --tssh-lexi-green-dark:#4f7828;
    --tssh-lexi-green-soft:#f1f8ea;
    --tssh-lexi-green-pale:#f7fbf3;
    --tssh-lexi-blue:#00a8e6;
    --tssh-lexi-blue-dark:#005a7d;
    --tssh-lexi-blue-mid:#087da8;
    --tssh-lexi-ink:#233139;
    --tssh-lexi-muted:#64727b;
    --tssh-lexi-line:#d7e1e5;
    --tssh-lexi-white:#fff;
    color:var(--tssh-lexi-ink);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__launcher{
    min-height:64px;
    gap:11px;
    padding:7px 18px 7px 7px;
    border:1px solid rgba(0,90,125,.11);
    border-radius:999px;
    background:#fff;
    box-shadow:0 14px 36px rgba(0,62,86,.17);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__launcher:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__launcher:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(99,146,49,.48);
    box-shadow:0 18px 42px rgba(0,62,86,.22);
    outline:3px solid rgba(0,168,230,.16);
    outline-offset:2px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__launcher-photo{
    width:50px;height:50px;flex-basis:50px;
    border:2px solid rgba(99,146,49,.42);
    background:var(--tssh-lexi-green-soft);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__launcher-copy strong{
    color:var(--tssh-lexi-blue-dark);
    font-family:'Nunito',Helvetica,Arial,sans-serif;
    font-size:14px;
    font-weight:900;
    letter-spacing:-.01em;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__launcher-copy small{
    margin-top:2px;
    color:var(--tssh-lexi-muted);
    font-size:10px;
    font-weight:650;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__panel{
    width:min(420px,calc(100vw - 28px));
    height:min(650px,calc(100vh - 40px));
    border:1px solid rgba(0,90,125,.10);
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 74px rgba(0,54,75,.24);
}
#tssh-diana[data-theme="tssh"][data-open="1"] .tssh-diana__panel{
    animation:tssh-lexi-enter .2s ease-out both;
}
@keyframes tssh-lexi-enter{
    from{opacity:.45;transform:translateY(8px) scale(.988)}
    to{opacity:1;transform:translateY(0) scale(1)}
}
#tssh-diana[data-theme="tssh"] .tssh-diana__header{
    min-height:78px;
    gap:11px;
    padding:13px 15px;
    background:linear-gradient(135deg,var(--tssh-lexi-blue-dark) 0%,#066f96 100%);
    border-bottom:1px solid rgba(255,255,255,.09);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__header img{
    width:48px;height:48px;flex-basis:48px;
    border:3px solid rgba(179,215,137,.92);
    box-shadow:0 4px 13px rgba(0,0,0,.17);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__header strong{
    color:#fff;
    font-family:'Nunito',Helvetica,Arial,sans-serif;
    font-size:17px;
    font-weight:900;
    letter-spacing:-.015em;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__header span{
    margin-top:1px;
    color:rgba(255,255,255,.83);
    font-size:10px;
    font-weight:600;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__sound,
#tssh-diana[data-theme="tssh"] .tssh-diana__minimize{
    width:36px;height:36px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.10);
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__sound:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__sound:focus-visible,
#tssh-diana[data-theme="tssh"] .tssh-diana__minimize:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__minimize:focus-visible{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.34);
    background:rgba(255,255,255,.19);
    outline:2px solid rgba(255,255,255,.72);
    outline-offset:2px;
}
#tssh-diana[data-theme="tssh"][data-mode="human"] .tssh-diana__header{background:linear-gradient(135deg,#315d47,#3f7659)}
#tssh-diana[data-theme="tssh"][data-mode="handoff"] .tssh-diana__header{background:linear-gradient(135deg,#005a7d,#087da8)}
#tssh-diana[data-theme="tssh"] .tssh-diana__gate{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:0;
    padding:30px 24px 28px;
    background:linear-gradient(180deg,#fff 0%,var(--tssh-lexi-green-pale) 100%);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__intro{margin-bottom:24px}
#tssh-diana[data-theme="tssh"] .tssh-diana__intro strong{
    display:block;
    color:var(--tssh-lexi-blue-dark);
    font-family:'Nunito',Helvetica,Arial,sans-serif;
    font-size:27px;
    font-weight:900;
    line-height:1.08;
    letter-spacing:-.025em;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__intro p{
    margin:9px 0 0;
    color:var(--tssh-lexi-muted);
    font-size:14px;
    line-height:1.55;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form label{
    color:#36444c;
    font-size:12px;
    font-weight:800;
    letter-spacing:.005em;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form .tssh-diana__field{
    margin-bottom:14px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form input:not([type="checkbox"]),
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form select{
    min-height:50px;
    margin-top:7px;
    padding:12px 14px;
    border:1px solid #b9c9cf;
    border-radius:10px;
    background:#fff;
    color:var(--tssh-lexi-ink);
    font-family:'Open Sans',Arial,sans-serif;
    font-size:15px;
    line-height:1.35;
    box-shadow:0 1px 2px rgba(0,64,90,.035);
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form input:not([type="checkbox"]):hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form select:hover{
    border-color:#8eabb6;
    background:#fdfefe;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form input:not([type="checkbox"]):focus,
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form select:focus,
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form textarea:focus{
    border-color:var(--tssh-lexi-blue);
    outline:3px solid rgba(0,168,230,.16);
    outline-offset:1px;
    box-shadow:0 0 0 1px rgba(0,168,230,.04);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__field-error,
#tssh-diana[data-theme="tssh"] .tssh-diana__error{
    color:#a22a21;
    font-size:11px;
    font-weight:650;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__consent{
    gap:11px;
    margin:3px 0 14px!important;
    padding:11px 12px;
    border:1px solid #dfe8da;
    border-radius:10px;
    background:#fbfdf9;
    color:#536067!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.5;
    transition:border-color .16s ease,background-color .16s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__consent:hover{
    border-color:#c7d9bb;
    background:#f7fbf3;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__consent input[type="checkbox"]{
    width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;max-height:19px!important;
    margin:1px 0 0!important;
    accent-color:var(--tssh-lexi-green);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button,
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form button,
#tssh-diana[data-theme="tssh"] .tssh-diana__followup-form button{
    border:2px solid var(--tssh-lexi-green);
    border-radius:10px;
    background:var(--tssh-lexi-green);
    color:#fff;
    font-family:'Nunito',Helvetica,Arial,sans-serif;
    font-weight:900;
    transition:transform .17s ease,box-shadow .17s ease,background-color .17s ease,border-color .17s ease,color .17s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button{
    min-height:52px;
    padding:13px 16px;
    font-size:15px;
    letter-spacing:.005em;
    box-shadow:0 8px 18px rgba(99,146,49,.18);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button:focus-visible,
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form button:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form button:focus-visible,
#tssh-diana[data-theme="tssh"] .tssh-diana__followup-form button:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__followup-form button:focus-visible{
    transform:translateY(-1px);
    border-color:var(--tssh-lexi-green-dark);
    background:var(--tssh-lexi-green-dark);
    color:#fff;
    box-shadow:0 11px 24px rgba(79,120,40,.25);
    outline:3px solid rgba(99,146,49,.18);
    outline-offset:2px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button:active,
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form button:active,
#tssh-diana[data-theme="tssh"] .tssh-diana__followup-form button:active{
    transform:translateY(0);
    box-shadow:0 4px 11px rgba(79,120,40,.19);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button:disabled,
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form button:disabled{
    transform:none;
    box-shadow:none;
    opacity:.5;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__privacy{
    margin-top:13px;
    color:#78858b;
    font-size:10px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__privacy a{
    color:var(--tssh-lexi-blue-dark);
    font-weight:800;
    text-underline-offset:2px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__privacy a:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__privacy a:focus-visible{
    color:var(--tssh-lexi-green-dark);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__messages{
    padding:18px 17px 14px;
    background:linear-gradient(180deg,#f8fbfc 0%,#f2f7f8 100%);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__message-row{gap:8px;margin-bottom:12px}
#tssh-diana[data-theme="tssh"] .tssh-diana__message-avatar{
    width:30px;height:30px;flex-basis:30px;
    border:2px solid #fff;
    box-shadow:0 3px 9px rgba(0,65,88,.10);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__bubble{
    max-width:84%;
    padding:10px 12px;
    border-color:#dce5e8;
    border-radius:14px;
    color:#334149;
    font-size:13px;
    line-height:1.52;
    box-shadow:0 2px 7px rgba(0,60,82,.045);
}
#tssh-diana[data-theme="tssh"] .tssh-diana__bubble--visitor{
    border-color:var(--tssh-lexi-blue-dark);
    background:var(--tssh-lexi-blue-dark);
    color:#fff;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__bubble--assistant,
#tssh-diana[data-theme="tssh"] .tssh-diana__bubble--agent{
    background:#fff;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__bubble--agent{
    border-color:#d9e8cf;
    background:#f8fcf5;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form{
    gap:9px;
    padding:11px 12px 12px;
    border-top:1px solid #dfe7ea;
    background:#fff;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form textarea{
    min-height:46px;
    padding:11px 12px;
    border-color:#bccbd1;
    border-radius:11px;
    background:#fff;
    font-size:14px;
    line-height:1.42;
    transition:border-color .16s ease,box-shadow .16s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form textarea:hover{border-color:#97afb8}
#tssh-diana[data-theme="tssh"] .tssh-diana__message-form button{
    min-width:72px;
    height:46px;
    padding:0 15px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__human-offer{
    border-color:#d7e7cd;
    background:#f7fbf3;
    color:#426130;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__human-offer button{
    border-color:#c8d9bd;
    color:var(--tssh-lexi-green-dark);
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__human-offer button:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__human-offer button:focus-visible{
    transform:translateY(-1px);
    border-color:var(--tssh-lexi-green);
    background:#fff;
    outline:3px solid rgba(99,146,49,.14);
    outline-offset:2px;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__human-offer .tssh-diana__human-help{
    border-color:var(--tssh-lexi-blue-dark);
    background:var(--tssh-lexi-blue-dark);
    color:#fff;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__new-chat{
    border-color:var(--tssh-lexi-green);
    color:var(--tssh-lexi-green-dark);
    transition:transform .16s ease,background-color .16s ease,color .16s ease;
}
#tssh-diana[data-theme="tssh"] .tssh-diana__new-chat:hover,
#tssh-diana[data-theme="tssh"] .tssh-diana__new-chat:focus-visible{
    transform:translateY(-1px);
    background:var(--tssh-lexi-green);
    color:#fff;
    outline:3px solid rgba(99,146,49,.15);
    outline-offset:2px;
}

@media(max-width:600px){
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__panel{
        border-radius:18px;
    }
    #tssh-diana[data-theme="tssh"] .tssh-diana__gate{
        justify-content:flex-start;
        padding:24px 18px 22px;
    }
    #tssh-diana[data-theme="tssh"] .tssh-diana__intro{margin-bottom:20px}
    #tssh-diana[data-theme="tssh"] .tssh-diana__intro strong{font-size:25px}
    #tssh-diana[data-theme="tssh"] .tssh-diana__lead-form input:not([type="checkbox"]),
    #tssh-diana[data-theme="tssh"] .tssh-diana__lead-form select{min-height:50px}
    #tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button{min-height:52px}
    #tssh-diana[data-theme="tssh"].tssh-diana[data-open="0"] .tssh-diana__launcher:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
    #tssh-diana[data-theme="tssh"][data-open="1"] .tssh-diana__panel{animation:none}
    #tssh-diana[data-theme="tssh"] .tssh-diana__launcher,
    #tssh-diana[data-theme="tssh"] .tssh-diana__lead-form button,
    #tssh-diana[data-theme="tssh"] .tssh-diana__message-form button{transition:none}
}


/* Lexi 1.11.10 · Preserve the original compact TSSH launcher.
   The 1.11.9 premium panel refresh must not bleed into the minimized round launcher. */
#tssh-diana[data-theme="tssh"][data-compact-launcher="1"] .tssh-diana__launcher{
    width:58px;min-width:58px;max-width:58px;
    height:58px;min-height:58px;max-height:58px;
    padding:3px;gap:0;
    border:1px solid rgba(28,42,58,.12);
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 18px rgba(28,42,58,.18);
    transform:none;
}
#tssh-diana[data-theme="tssh"][data-compact-launcher="1"] .tssh-diana__launcher:hover,
#tssh-diana[data-theme="tssh"][data-compact-launcher="1"] .tssh-diana__launcher:focus-visible{
    transform:none;
    border-color:rgba(28,42,58,.16);
    box-shadow:0 7px 20px rgba(28,42,58,.21);
    outline:3px solid rgba(0,168,230,.14);
    outline-offset:2px;
}
#tssh-diana[data-theme="tssh"][data-compact-launcher="1"] .tssh-diana__launcher-photo{
    width:50px;min-width:50px;max-width:50px;
    height:50px;min-height:50px;max-height:50px;
    flex:0 0 50px;
    border:1px solid rgba(255,255,255,.8);
    background:#eef5e8;
}


/* Lexi 1.11.13: definitive visitor bubble sizing fix.
   Keep the visitor stack at the existing maximum chat width, then let the
   bubble itself shrink to the text's natural width. This avoids flex
   intrinsic-size collapse while preserving normal word wrapping. */
#tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack{
    flex:0 0 82% !important;
    width:82% !important;
    max-width:82% !important;
    min-width:0 !important;
    align-items:flex-end !important;
}
#tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack > .tssh-diana__bubble--visitor{
    display:block !important;
    width:fit-content !important;
    inline-size:fit-content !important;
    max-width:100% !important;
    max-inline-size:100% !important;
    min-width:0 !important;
    min-inline-size:0 !important;
    white-space:pre-wrap !important;
    overflow-wrap:anywhere !important;
    word-wrap:break-word !important;
    word-break:normal !important;
    hyphens:manual !important;
}
@media(max-width:600px){
    #tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack{
        flex-basis:88% !important;
        width:88% !important;
        max-width:88% !important;
    }
}


/* Lexi 1.11.15 · TSSH interaction-state hardening.
   Keep widget controls visually responsive even when Divi/site button hover rules are present. */
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]:not(:disabled){
    background:var(--tssh-lexi-green)!important;
    border-color:var(--tssh-lexi-green)!important;
    color:#fff!important;
    opacity:1!important;
    cursor:pointer!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]:not(:disabled):hover,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]:not(:disabled):focus-visible{
    background:var(--tssh-lexi-green-dark)!important;
    border-color:var(--tssh-lexi-green-dark)!important;
    color:#fff!important;
    opacity:1!important;
    transform:translateY(-1px)!important;
    box-shadow:0 9px 20px rgba(79,120,40,.26)!important;
    text-decoration:none!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]:disabled,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]:disabled:hover{
    background:var(--tssh-lexi-green)!important;
    border-color:var(--tssh-lexi-green)!important;
    color:#fff!important;
    opacity:.5!important;
    transform:none!important;
    box-shadow:none!important;
    cursor:not-allowed!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]::before,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]::after{
    content:none!important;
    display:none!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__end-chat{
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__end-chat:hover,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__end-chat:focus-visible{
    border-color:#d8a4a7!important;
    background:#fff5f5!important;
    color:#a61b24!important;
    transform:translateY(-1px)!important;
    box-shadow:0 4px 12px rgba(166,27,36,.10)!important;
    text-decoration:none!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__sound,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__minimize{
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__sound:hover,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__sound:focus-visible,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__minimize:hover,
#tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__minimize:focus-visible{
    background:rgba(255,255,255,.24)!important;
    border-color:rgba(255,255,255,.32)!important;
    color:#fff!important;
    transform:translateY(-1px)!important;
    box-shadow:0 5px 14px rgba(0,0,0,.12)!important;
}
@media(prefers-reduced-motion:reduce){
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"],
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__end-chat,
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__sound,
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__minimize{transition:none!important}
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__message-form button[type="submit"]:hover,
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__end-chat:hover,
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__sound:hover,
    #tssh-diana[data-theme="tssh"].tssh-diana .tssh-diana__minimize:hover{transform:none!important}
}


/* Lexi 1.11.16 · message-width regression fix.
   Every human/AI/visitor message gets a stable lane. The bubble may shrink to
   its natural readable width inside that lane. `break-word` is deliberate:
   unlike `anywhere`, emergency wrap points do not participate in min-content
   sizing, so short phrases cannot collapse into narrow multi-line columns. */
#tssh-diana.tssh-diana .tssh-diana__message-row--assistant > .tssh-diana__message-stack,
#tssh-diana.tssh-diana .tssh-diana__message-row--agent > .tssh-diana__message-stack,
#tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack{
    flex:0 0 82% !important;
    width:82% !important;
    max-width:82% !important;
    min-width:0 !important;
}
#tssh-diana.tssh-diana .tssh-diana__message-row--assistant > .tssh-diana__message-stack,
#tssh-diana.tssh-diana .tssh-diana__message-row--agent > .tssh-diana__message-stack{
    align-items:flex-start !important;
}
#tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack{
    align-items:flex-end !important;
}
#tssh-diana.tssh-diana .tssh-diana__message-row--assistant > .tssh-diana__message-stack > .tssh-diana__bubble--assistant,
#tssh-diana.tssh-diana .tssh-diana__message-row--agent > .tssh-diana__message-stack > .tssh-diana__bubble--agent,
#tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack > .tssh-diana__bubble--visitor{
    display:block !important;
    width:fit-content !important;
    inline-size:fit-content !important;
    max-width:100% !important;
    max-inline-size:100% !important;
    min-width:0 !important;
    min-inline-size:0 !important;
    overflow-wrap:break-word !important;
    word-wrap:break-word !important;
    word-break:normal !important;
    hyphens:manual !important;
}
#tssh-diana.tssh-diana .tssh-diana__message-row--assistant > .tssh-diana__message-stack > .tssh-diana__bubble--assistant,
#tssh-diana.tssh-diana .tssh-diana__message-row--agent > .tssh-diana__message-stack > .tssh-diana__bubble--agent{
    white-space:normal !important;
}
#tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack > .tssh-diana__bubble--visitor{
    white-space:pre-wrap !important;
}
@media(max-width:600px){
    #tssh-diana.tssh-diana .tssh-diana__message-row--assistant > .tssh-diana__message-stack,
    #tssh-diana.tssh-diana .tssh-diana__message-row--agent > .tssh-diana__message-stack,
    #tssh-diana.tssh-diana .tssh-diana__message-row--visitor > .tssh-diana__message-stack{
        flex-basis:88% !important;
        width:88% !important;
        max-width:88% !important;
    }
}

/* Lexi 1.11.17 · mobile minimized-launcher visibility fix.
   The compact TSSH launcher is styled later than the base mobile launcher and
   was restoring a white background while the mobile chat icon remained white.
   Keep the minimized mobile launcher high-contrast in every conversation state. */
@media(max-width:600px){
    #tssh-diana[data-theme="tssh"].tssh-diana[data-open="0"][data-compact-launcher="1"] .tssh-diana__launcher{
        background:#005a7d !important;
        color:#fff !important;
        border-color:rgba(255,255,255,.72) !important;
        box-shadow:0 5px 18px rgba(0,62,86,.26) !important;
    }
    #tssh-diana[data-theme="tssh"].tssh-diana[data-open="0"][data-compact-launcher="1"][data-mode="human"] .tssh-diana__launcher{
        background:#315d47 !important;
        color:#fff !important;
        box-shadow:0 5px 18px rgba(49,93,71,.28) !important;
    }
    #tssh-diana[data-theme="tssh"].tssh-diana[data-open="0"] .tssh-diana__launcher-icon{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:25px !important;
        height:25px !important;
        color:#fff !important;
        opacity:1 !important;
        visibility:visible !important;
    }
    #tssh-diana[data-theme="tssh"].tssh-diana[data-open="0"] .tssh-diana__launcher-icon svg{
        display:block !important;
        width:25px !important;
        height:25px !important;
        color:#fff !important;
        opacity:1 !important;
        visibility:visible !important;
        fill:none !important;
    }
    #tssh-diana[data-theme="tssh"].tssh-diana[data-open="0"] .tssh-diana__launcher-icon svg path{
        stroke:currentColor !important;
        opacity:1 !important;
    }
}
