@font-face {
    font-family: 'SOPHIA-X Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('../fonts/manrope/Manrope-Variable.woff2') format('woff2');
}

.ai-event-planner-page {
    background: var(--site-bg, #040404);
}

.ai-event-planner-page .page-main {
    max-width: none;
    padding: var(--padding-md, 15px);
}

.ai-event-planner-page .column.main {
    padding: 0;
}

.sx-planner,
.sx-planner * {
    box-sizing: border-box;
}

.sx-planner {
    color: var(--text-strong-color, #fff);
    font-family: 'SOPHIA-X Manrope', 'Body Text', 'Robotic Rental', sans-serif;
    margin: 0 auto;
    max-width: 1320px;
    width: 100%;
}

.sx-planner [hidden] {
    display: none !important;
}

.sx-icon-sprite {
    height: 0;
    overflow: hidden;
    position: absolute;
    width: 0;
}

.sx-ui-icon {
    display: block;
    fill: none;
    flex: 0 0 auto;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
}

.ai-event-planner-page .sx-planner button {
    text-transform: none !important;
}

.sx-visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.sx-intro,
.sx-chat-shell {
    background: var(--site-bg, #040404);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    min-height: 720px;
    overflow: hidden;
    position: relative;
}

.sx-intro {
    isolation: isolate;
}

.sx-intro__media,
.sx-intro__shade {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.sx-intro__media {
    object-fit: cover;
    object-position: center;
    z-index: -2;
}

.sx-intro__shade {
    background: rgba(4, 4, 4, .74);
    z-index: -1;
}

.sx-intro__header,
.sx-chat-header {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    display: flex;
    justify-content: space-between;
    min-height: 82px;
    padding: var(--padding-md, 15px) 30px;
}

.sx-brand {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
    min-width: 0;
}

.sx-brand__avatar,
.sx-message__avatar {
    align-items: center;
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: 50%;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
}

.sx-brand__avatar {
    height: 42px;
    width: 42px;
}

.sx-brand > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sx-brand span:not(.sx-brand__avatar) {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
}

.sx-brand strong,
.sx-brand h1 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xlarge, 20px);
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    overflow-wrap: anywhere;
}

.sx-intro__content {
    align-items: center;
    display: grid;
    gap: 64px;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    min-height: 637px;
    padding: 54px 64px;
}

.sx-intro__copy {
    max-width: 610px;
}

.sx-eyebrow {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-medium, 14px);
    margin: 0 0 var(--padding-sm, 10px);
}

.sx-intro__copy h1 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xxxxxlarge, 26px);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 var(--padding-md, 15px);
    max-width: 520px;
}

.sx-intro__copy > p:not(.sx-eyebrow) {
    color: #d7d7d7;
    font-size: var(--ft-size-large, 16px);
    line-height: 1.65;
    margin: 0;
    max-width: 570px;
}

.sx-intro__prompts,
.sx-suggestions__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sx-intro__prompts {
    margin-top: 30px;
}

.sx-prompt,
.sx-choice {
    background: rgba(4, 4, 4, .78);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 400;
    line-height: 1.3;
    min-height: 38px;
    padding: 9px 13px;
    text-align: left;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.sx-prompt:hover,
.sx-prompt:focus-visible,
.sx-choice:hover,
.sx-choice:focus-visible {
    background: rgba(43, 209, 128, .1);
    border-color: var(--main-color, #2bd180);
    color: var(--main-color-hover, #3dffb0);
}

.sx-composer textarea {
    appearance: none !important;
    background: var(--secondary-bg, #1d1d1d) !important;
    border: 0 !important;
    border-radius: var(--border-radius-sm, 5px) !important;
    color: var(--text-strong-color, #fff) !important;
    font-family: inherit;
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.5 !important;
    margin: 0;
    outline: 0;
    width: 100%;
}

.sx-composer textarea:focus {
    border: 0 !important;
    box-shadow: none;
}

.sx-composer textarea::placeholder {
    color: #888;
}
.sx-chat__privacy a {
    color: var(--main-color, #2bd180);
}

.sx-primary-action,
.sx-composer__send {
    align-items: center;
    background: var(--main-color, #2bd180);
    border: 1px solid var(--main-color, #2bd180);
    border-radius: var(--border-radius-sm, 5px);
    color: #03130b;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    gap: 10px;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
}

.sx-primary-action:hover,
.sx-primary-action:focus-visible,
.sx-composer__send:hover,
.sx-composer__send:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    border-color: var(--main-color-hover, #3dffb0);
    color: #03130b;
}

.sx-primary-action:disabled,
.sx-composer__send:disabled {
    cursor: wait;
    opacity: .55;
}

.sx-chat-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: min(760px, calc(100vh - 170px));
    min-height: 640px;
}

.sx-chat-header {
    background: var(--secondary-bg, #1d1d1d);
}

.sx-chat-main {
    background: #080808;
    overflow-y: auto;
    padding: 18px max(24px, calc((100% - 860px) / 2));
    scrollbar-color: var(--border-color-light, #444) transparent;
    scrollbar-width: thin;
}

.sx-event-summary {
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    margin-bottom: 22px;
    padding-bottom: var(--padding-md, 15px);
}

.sx-event-summary summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    min-height: 46px;
}

.sx-event-summary summary::-webkit-details-marker {
    display: none;
}

.sx-event-summary summary > span {
    align-items: center;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: auto 1fr;
    min-width: 0;
}

.sx-event-summary summary > span > i {
    color: var(--main-color, #2bd180);
    grid-row: 1 / 3;
}

.sx-event-summary summary strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
}

.sx-event-summary summary small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    overflow-wrap: anywhere;
}

.sx-event-summary summary > i {
    color: var(--text-color, #b2b2b2);
    transition: transform .2s ease;
}

.sx-event-summary[open] summary > i {
    transform: rotate(180deg);
}

.sx-progress {
    background: var(--panel-bg, #262626);
    border-radius: var(--border-radius-sm, 5px);
    height: 4px;
    margin: var(--padding-sm, 10px) 0 var(--padding-md, 15px);
    overflow: hidden;
}

.sx-progress > span {
    background: var(--main-color, #2bd180);
    display: block;
    height: 100%;
    transition: width .25s ease;
    width: 0;
}

.sx-event-summary__fields {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.sx-event-summary__field {
    align-items: center;
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    display: grid;
    gap: 3px 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: 10px;
}

.sx-event-summary__field dt {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-event-summary__field dd {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-small, 12px);
    grid-column: 1;
    margin: 0;
    overflow-wrap: anywhere;
}

.sx-field-status {
    color: #777;
    grid-column: 2;
    grid-row: 1 / 3;
}

.sx-event-summary__field.is-complete {
    border-color: rgba(43, 209, 128, .46);
}

.sx-event-summary__field.is-complete .sx-field-status {
    color: var(--main-color, #2bd180);
}

.sx-chat__messages {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 260px;
}

.sx-message,
.sx-chat__typing {
    align-items: flex-start;
    display: flex;
    gap: var(--padding-sm, 10px);
    max-width: 78%;
}

.sx-message--user {
    align-items: flex-end;
    align-self: flex-end;
    flex-direction: column;
    gap: 4px;
    position: relative;
}

.sx-message__avatar {
    font-size: var(--ft-size-small, 12px);
    height: 30px;
    margin-top: 4px;
    width: 30px;
}

.sx-message--user .sx-message__avatar {
    border-color: #777;
    color: #ddd;
}

.sx-message__content {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.6;
    min-width: 0;
    padding: 13px 15px;
}

.sx-message--user .sx-message__content {
    background: rgba(43, 209, 128, .1);
    border-color: var(--main-color, #2bd180);
}

.sx-user-message-actions {
    align-items: center;
    display: flex;
    gap: 2px;
    justify-content: flex-end;
    min-height: 22px;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 100%;
}

.sx-message--user.is-editing .sx-user-message-actions,
.sx-message--user.is-edit-pending .sx-user-message-actions {
    display: none;
}

.sx-planner .sx-user-message-action {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    height: 22px;
    justify-content: center;
    opacity: .82;
    padding: 0;
    position: static;
    transform: none;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        opacity var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 22px;
}

.sx-message--user:hover .sx-user-message-actions,
.sx-message--user:focus-within .sx-user-message-actions {
    opacity: 1;
    pointer-events: auto;
}

.sx-planner .sx-user-message-action:hover,
.sx-planner .sx-user-message-action:focus-visible,
.sx-planner .sx-user-message-action.is-copied {
    background: var(--panel-bg, #262626);
    color: var(--main-color-hover, #3dffb0);
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

.sx-user-message-action__icon {
    display: block;
    height: 14px;
    width: 14px;
}

.sx-message--user.is-editing {
    max-width: min(620px, 100%);
    width: min(620px, 100%);
}

.sx-message--user.is-editing .sx-message__content {
    background: var(--panel-bg, #262626);
    border: 1px solid transparent;
    border-radius: var(--border-radius-lg, 20px);
    height: auto;
    min-height: 0;
    padding: 18px 20px 12px;
    transition:
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        box-shadow var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 100%;
}

.sx-message--user.is-editing .sx-message__content:focus-within {
    border-color: var(--border-color-light, #444);
    box-shadow: none;
}

.sx-user-message-edit {
    display: grid;
    gap: var(--padding-md, 15px);
    grid-template-rows: auto auto;
    height: auto;
    min-height: 0;
}

.sx-planner .sx-user-message-edit__input {
    appearance: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none;
    color: var(--text-strong-color, #fff);
    font-family: inherit;
    font-size: var(--ft-size-large, 16px);
    line-height: 1.55;
    max-height: none;
    min-height: 0;
    padding: 0 !important;
    resize: none;
    width: 100%;
}

.sx-planner .sx-user-message-edit__input:focus {
    border: 0 !important;
    box-shadow: none;
    outline: 0;
}

.sx-user-message-edit__status {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    margin: 0;
    min-height: 0;
}

.sx-user-message-edit__status:empty {
    display: none;
}

.sx-user-message-edit__actions {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
    justify-content: flex-end;
}

.sx-planner .sx-user-message-edit__cancel,
.sx-planner .sx-user-message-edit__save {
    border-radius: var(--border-radius-lg, 20px);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    min-height: 38px;
    padding: 0 var(--padding-md, 15px);
}

.sx-planner .sx-user-message-edit__cancel {
    background: var(--site-bg, #040404);
    border: 1px solid var(--border-color-light, #444);
    color: var(--text-strong-color, #fff);
}

.sx-planner .sx-user-message-edit__save {
    background: var(--text-strong-color, #fff);
    border: 1px solid var(--text-strong-color, #fff);
    color: var(--site-bg, #040404);
}

.sx-planner .sx-user-message-edit__cancel:hover,
.sx-planner .sx-user-message-edit__cancel:focus-visible,
.sx-planner .sx-user-message-edit__save:hover,
.sx-planner .sx-user-message-edit__save:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--site-bg, #040404);
}

.sx-planner .sx-user-message-edit__cancel:disabled,
.sx-planner .sx-user-message-edit__save:disabled,
.sx-user-message-edit__input:disabled {
    cursor: wait;
    opacity: .55;
}

@media (hover: none) {
    .sx-user-message-actions {
        opacity: 1;
        pointer-events: auto;
    }
}

.sx-message__content strong {
    color: var(--main-color, #2bd180);
    display: block;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    margin-bottom: 3px;
}

.sx-message__content p {
    margin: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.sx-message--error .sx-message__content {
    border-color: #a85d5d;
}

.sx-chat__typing {
    margin-top: 18px;
}

.sx-response-status {
    align-items: center;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: 10px;
    min-height: 42px;
    padding: 0 13px;
}

.sx-thinking-orb {
    display: block;
    flex: 0 0 48px;
    height: 48px;
    width: 48px;
}

.sx-typing-dots {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 5px;
    height: 20px;
}

.sx-typing-dots i {
    animation: sx-pulse 1.2s infinite ease-in-out;
    background: var(--main-color, #2bd180);
    border-radius: 50%;
    height: 5px;
    width: 5px;
}

.sx-typing-dots i:nth-child(2) {
    animation-delay: .15s;
}

.sx-typing-dots i:nth-child(3) {
    animation-delay: .3s;
}

.sx-message__activity,
.sx-message__structured,
.sx-message__sources,
.sx-followups,
.sx-message__actions {
    border-top: 1px solid var(--border-color-light, #444);
    margin-top: 11px;
    padding-top: 10px;
}

.sx-message__structured .sx-structured-title {
    color: var(--text-strong-color, #fff);
    display: block;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    margin: 0 0 var(--padding-sm, 10px);
}

.sx-structured-header {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
    justify-content: space-between;
    margin-bottom: var(--padding-sm, 10px);
}

.sx-structured-header .sx-structured-title {
    margin: 0;
}

.sx-structured-controls {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 5px;
}

.sx-planner .sx-structured-control {
    align-items: center;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: 50%;
    color: var(--text-strong-color, #fff);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0;
    width: 34px;
}

.sx-planner .sx-structured-control__icon {
    height: 18px;
    width: 18px;
}

.sx-planner .sx-structured-control:hover,
.sx-planner .sx-structured-control:focus-visible {
    border-color: var(--main-color, #2bd180);
    color: var(--main-color, #2bd180);
}

.sx-planner .sx-structured-control:disabled {
    cursor: default;
    opacity: .4;
}

.sx-structured-grid {
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-structured-grid--carousel {
    display: flex;
    margin-inline: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 0 var(--padding-sm, 10px);
    scroll-padding-inline: 0;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
}

.sx-structured-grid--carousel::-webkit-scrollbar {
    display: none;
}

.sx-structured-grid--carousel .sx-structured-card {
    flex: 0 0 min(320px, calc(100% - var(--padding-md, 15px)));
    scroll-snap-align: start;
}

.sx-structured-card {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr);
    min-height: 138px;
    overflow: hidden;
    text-decoration: none;
}

.sx-structured-card:hover,
.sx-structured-card:focus-visible {
    border-color: var(--main-color, #2bd180);
    color: var(--text-strong-color, #fff);
    text-decoration: none;
}

.sx-structured-card img {
    background: var(--site-bg, #040404);
    display: block;
    height: 100%;
    object-fit: contain;
    width: 138px;
}

.sx-structured-grid--story-list .sx-structured-card--success-story {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}

.sx-structured-grid--story-list .sx-structured-card--success-story img {
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.sx-structured-grid--story-list.is-single-card {
    grid-template-columns: minmax(0, 1fr);
    max-width: 560px;
}

.sx-message__structured--success-stories .sx-structured-card--success-story {
    background: var(--secondary-bg, #1d1d1d);
    border-radius: calc(var(--border-radius-sm, 5px) * 2);
    overflow: hidden;
    transition:
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-message__structured--success-stories .sx-structured-card--success-story:hover,
.sx-message__structured--success-stories .sx-structured-card--success-story:focus-visible {
    border-color: var(--main-color, #2bd180);
    transform: translateY(-2px);
}

.sx-message__structured--success-stories .sx-structured-card__body {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.sx-message__structured--success-stories .sx-structured-card__body > strong {
    font-size: var(--ft-size-large, 16px);
    line-height: 1.35;
}

.sx-message__structured--success-stories .sx-structured-card__action {
    margin-top: auto;
}

.sx-structured-card.is-image-missing {
    grid-template-columns: minmax(0, 1fr);
}

.sx-structured-grid.is-evidence-only {
    display: block;
}

.sx-structured-card--evidence {
    max-width: 520px;
    min-height: 0;
    width: 100%;
}

.sx-structured-card__body {
    align-content: start;
    display: grid;
    gap: var(--padding-sm, 10px);
    padding: var(--padding-md, 15px);
}

.sx-structured-card__body strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.sx-structured-card__body span {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
}

.sx-structured-card__body .sx-structured-card__price {
    color: var(--text-strong-color, #fff);
    font-weight: 500;
}

.sx-structured-card__body .sx-structured-card__eyebrow {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    display: inline-flex;
    gap: 6px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sx-structured-card__eyebrow i {
    color: var(--main-color, #2bd180);
}

.sx-structured-card__body .sx-structured-card__image-reference {
    color: var(--text-color, #b2b2b2);
}

.sx-structured-card__body .sx-structured-card__action {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    justify-self: start;
}

.sx-structured-card__action i {
    font-size: inherit;
}

.sx-structured-match-count {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    margin-left: auto;
    padding: 5px 9px;
    white-space: nowrap;
}

.sx-structured-grid.is-rental-recommendations:not(.sx-structured-grid--carousel) {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.sx-structured-grid.is-rental-recommendations.is-single-card:not(.sx-structured-grid--carousel) {
    grid-template-columns: minmax(0, 1fr);
    max-width: 420px;
    width: 100%;
}

.sx-structured-grid--carousel.is-rental-recommendations .sx-structured-card--rental {
    flex: 0 0 min(320px, calc(100% - var(--padding-md, 15px)));
}

.sx-structured-grid--carousel.is-rental-recommendations.is-single-card .sx-structured-card--rental {
    flex-basis: min(520px, 100%);
}

.sx-structured-card--rental,
.sx-structured-card--rental.is-image-missing {
    background: var(--secondary-bg, #1d1d1d);
    border-color: var(--border-color-light, #444);
    border-radius: calc(var(--border-radius-sm, 5px) * 2);
    display: grid;
    gap: var(--padding-md, 15px);
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-rows: minmax(120px, auto) auto;
    min-height: 0;
    padding: var(--padding-md, 15px);
}

.sx-structured-card--rental:hover {
    border-color: var(--text-color, #b2b2b2);
}

.sx-structured-card--rental:focus-within {
    border-color: var(--main-color, #2bd180);
}

.sx-rental-card__media {
    align-items: center;
    background: var(--site-bg, #040404);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--main-color, #2bd180);
    display: flex;
    height: 112px;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

.sx-structured-card--rental .sx-rental-card__media img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.sx-rental-card__placeholder {
    align-items: center;
    display: inline-flex;
    font-size: 44px;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.sx-rental-card__body {
    align-content: start;
    gap: 4px;
    padding: 0;
}

.sx-structured-card__body .sx-rental-card__badge {
    color: var(--text-color, #b2b2b2);
    font-size: 10px;
    font-weight: 500;
}

.sx-rental-card__title {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.sx-rental-card__title:hover,
.sx-rental-card__title:focus-visible {
    color: var(--main-color-hover, #3dffb0);
    text-decoration: none;
}

.sx-structured-card__body .sx-rental-card__source {
    color: var(--text-color, #b2b2b2);
    line-height: 1.3;
}

.sx-structured-card__body .sx-rental-card__availability {
    align-items: center;
    border-top: 0;
    color: var(--text-color, #b2b2b2);
    display: inline-flex;
    gap: 6px;
    margin-top: var(--padding-xs, 5px);
    padding-top: 0;
}

.sx-rental-card__availability i {
    background: var(--main-color, #2bd180);
    border-radius: 50%;
    display: inline-block;
    height: 6px;
    width: 6px;
}

.sx-structured-card__body .sx-rental-card__price {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-large, 16px);
    line-height: 1.2;
    margin-top: 2px;
}

.sx-rental-card__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--padding-xs, 5px);
    grid-column: 1 / -1;
    justify-content: flex-start;
}

.sx-planner .sx-rental-card__action {
    align-items: center;
    appearance: none;
    border-radius: var(--border-radius-sm, 5px);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    gap: 6px;
    justify-content: center;
    line-height: 1.2;
    margin: 0;
    min-height: 32px;
    padding: 0 var(--padding-sm, 10px);
    box-shadow: none;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-planner .sx-rental-card__action--primary {
    background-color: var(--panel-bg, #262626);
    border: 1px solid var(--border-color-light, #444);
    color: var(--text-strong-color, #fff);
}

.sx-planner .sx-rental-card__action--secondary {
    background-color: transparent;
    border: 1px solid transparent;
    color: var(--text-color, #b2b2b2);
    padding-inline: 8px;
}

.sx-planner .sx-rental-card__action--primary i {
    color: var(--main-color, #2bd180);
}

.sx-planner .sx-rental-card__action--primary:hover,
.sx-planner .sx-rental-card__action--primary:focus-visible {
    background-color: var(--panel-bg, #262626);
    border-color: var(--main-color, #2bd180);
    color: var(--main-color-hover, #3dffb0);
}

.sx-planner .sx-rental-card__action--secondary:hover,
.sx-planner .sx-rental-card__action--secondary:focus-visible {
    background-color: var(--panel-bg, #262626);
    border-color: var(--text-color, #b2b2b2);
    color: var(--text-strong-color, #fff);
}

.sx-planner .sx-rental-card__action:active {
    transform: scale(.97);
}

.sx-rental-card__action i {
    transition: transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-rental-related {
    border-top: 1px solid var(--border-color-light, #444);
    margin-top: 12px;
    padding-top: var(--padding-sm, 10px);
}

.sx-rental-related__heading {
    color: var(--text-strong-color, #fff);
    display: block;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    margin-bottom: 8px;
}

.sx-rental-gallery__list {
    align-items: start;
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sx-rental-gallery--lead {
    margin: 0 0 var(--padding-md, 15px);
    max-width: 860px;
}

.sx-rental-gallery__item {
    align-items: center;
    appearance: none;
    background: var(--site-bg, #040404);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    cursor: zoom-in;
    display: flex;
    justify-content: center;
    aspect-ratio: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    transition:
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 100%;
}

.sx-rental-gallery__item img {
    display: block;
    height: 100%;
    object-fit: contain;
    object-position: center;
    width: 100%;
}

.sx-success-story-images .sx-rental-gallery__item {
    aspect-ratio: auto;
    flex: 0 0 min(78%, 560px);
    scroll-snap-align: start;
}

.sx-success-story-images .sx-rental-gallery__item img {
    height: auto;
    max-height: min(62vh, 560px);
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.sx-success-story-images .sx-rental-gallery__list {
    align-items: center;
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: var(--padding-sm, 10px);
    scroll-padding-inline: 0;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
}

.sx-planner--floating .sx-rental-gallery__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-rental-gallery__item:hover,
.sx-rental-gallery__item:focus-visible {
    background-color: transparent !important;
    background-image: none !important;
    border-color: var(--main-color, #2bd180);
    outline: none !important;
}

.sx-image-lightbox {
    background: transparent;
    border: 0;
    color: var(--text-strong-color, #fff);
    max-height: 100dvh;
    max-width: 100vw;
    opacity: 0;
    padding: var(--padding-md, 15px);
    transform: scale(.96);
    transition:
        opacity var(--sx-motion-standard) var(--sx-motion-ease-out),
        transform var(--sx-motion-standard) var(--sx-motion-ease-out);
    width: 100%;
}

.sx-image-lightbox[open].is-visible {
    opacity: 1;
    transform: scale(1);
}

.sx-image-lightbox::backdrop {
    background: rgba(0, 0, 0, .86);
}

.sx-image-lightbox__frame {
    background: var(--site-bg, #040404);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    display: grid;
    gap: var(--padding-sm, 10px);
    margin: auto;
    max-width: 1180px;
    min-height: min(720px, calc(100dvh - 30px));
    padding: var(--padding-md, 15px);
    position: relative;
}

.sx-image-lightbox__close,
.sx-image-lightbox__control {
    align-items: center;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: 50%;
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    padding: 0;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 40px;
}

.sx-image-lightbox__close {
    position: absolute;
    right: var(--padding-md, 15px);
    top: var(--padding-md, 15px);
    z-index: 1;
}

.sx-image-lightbox__close:hover,
.sx-image-lightbox__close:focus-visible,
.sx-image-lightbox__control:hover,
.sx-image-lightbox__control:focus-visible {
    background: var(--main-color, #2bd180);
    border-color: var(--main-color, #2bd180);
    color: var(--site-bg, #040404);
}

.sx-image-lightbox__close:focus-visible,
.sx-image-lightbox__control:focus-visible {
    outline: 1px solid var(--main-color-hover, #3dffb0);
    outline-offset: 2px;
}

.sx-image-lightbox__figure {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    min-height: 0;
}

.sx-image-lightbox__image {
    display: block;
    height: auto;
    max-height: calc(100dvh - 150px);
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.sx-image-lightbox__caption {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    margin-top: var(--padding-sm, 10px);
    text-align: center;
}

.sx-image-lightbox__controls {
    align-items: center;
    display: flex;
    gap: var(--padding-md, 15px);
    justify-content: center;
}

.sx-image-lightbox__counter {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-small, 12px);
    min-width: 48px;
    text-align: center;
}

.sx-image-lightbox__control:disabled {
    cursor: default;
    opacity: .4;
}

.sx-rental-stories__list {
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-rental-story {
    align-items: stretch;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    color: var(--text-strong-color, #fff);
    display: grid;
    gap: var(--padding-md, 12px);
    grid-template-columns: minmax(120px, 34%) minmax(0, 1fr);
    min-height: 132px;
    overflow: hidden;
    padding: 8px;
    text-decoration: none;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-rental-story:only-child {
    grid-column: 1 / -1;
    grid-template-columns: clamp(144px, 18vw, 180px) minmax(0, 1fr);
}

.sx-rental-story:hover,
.sx-rental-story:focus-visible {
    background: color-mix(in srgb, var(--secondary-bg, #1d1d1d) 92%, var(--main-color, #2bd180));
    border-color: var(--main-color, #2bd180);
    color: var(--text-strong-color, #fff);
    text-decoration: none;
}

.sx-rental-story__visual {
    align-items: center;
    background: var(--site-bg, #040404);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--main-color, #2bd180);
    display: inline-flex;
    height: 100%;
    justify-content: center;
    min-height: 116px;
    overflow: hidden;
    width: 100%;
}

.sx-rental-story__visual img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sx-rental-story__copy {
    align-content: center;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: var(--padding-xs, 5px) var(--padding-sm, 10px) var(--padding-xs, 5px) 0;
}

.sx-rental-story__eyebrow {
    color: var(--main-color, #2bd180);
    display: block;
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sx-rental-story__copy strong {
    color: var(--text-strong-color, #fff);
    display: block;
    font-size: var(--ft-size-large, 16px);
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.sx-rental-story__description {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.45;
    margin-top: 2px;
}

.sx-rental-story__action {
    align-items: center;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    gap: 7px;
    margin-top: var(--padding-xs, 5px);
}

.sx-rental-story__arrow {
    color: currentColor;
    font-size: 10px;
    transition: transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

@media (max-width: 680px) {
    .sx-rental-gallery__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sx-rental-stories__list {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-rental-story {
        grid-template-columns: minmax(96px, 30%) minmax(0, 1fr);
        min-height: 118px;
    }

    .sx-rental-story:only-child {
        grid-template-columns: minmax(96px, 30%) minmax(0, 1fr);
    }

    .sx-rental-story__visual {
        min-height: 102px;
    }

    .sx-rental-story__copy strong {
        font-size: var(--ft-size-medium, 14px);
    }
}

@media (max-width: 520px) {
    .sx-rental-gallery__list,
    .sx-planner--floating .sx-rental-gallery__list {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-structured-match-count {
        display: none;
    }
}

.sx-response-fields {
    display: grid;
    grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr);
    margin: var(--padding-sm, 10px) 0;
}

.sx-response-fields dt,
.sx-response-fields dd {
    border-top: 1px solid var(--border-color-light, #444);
    margin: 0;
    overflow-wrap: anywhere;
    padding: var(--padding-sm, 10px) 0;
}

.sx-response-fields dt {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    padding-right: var(--padding-md, 15px);
}

.sx-response-fields dd {
    color: var(--text-strong-color, #fff);
}

.sx-message__content .sx-followups__heading {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    margin-bottom: var(--padding-sm, 10px);
}

.sx-followups__list {
    display: grid;
    gap: 0;
}

.sx-planner .sx-followups__item {
    appearance: none;
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--border-color-light, #444);
    border-radius: 0;
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    gap: var(--padding-sm, 10px);
    grid-template-columns: 18px minmax(0, 1fr);
    min-height: 36px;
    padding: 7px 4px;
    text-align: left;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 100%;
}

.sx-followups__icon {
    color: var(--text-color, #b2b2b2);
    font-size: 10px;
}

.sx-planner .sx-followups__item > span:nth-child(2) {
    line-height: 1.35;
}

.sx-planner .sx-followups__item:hover,
.sx-planner .sx-followups__item:focus-visible {
    background-color: color-mix(in srgb, var(--main-color, #2bd180) 8%, var(--secondary-bg, #1d1d1d));
    color: var(--main-color-hover, #3dffb0);
}

.sx-planner .sx-followups__item:hover .sx-followups__icon,
.sx-planner .sx-followups__item:focus-visible .sx-followups__icon {
    color: var(--main-color-hover, #3dffb0);
}

.sx-planner .sx-followups__item:focus-visible {
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

.sx-structured-grid--comparison,
.sx-structured-grid--story-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-structured-grid--detail {
    grid-template-columns: minmax(0, 1fr);
    max-width: 560px;
}

.sx-planner .sx-structured-show-more {
    align-items: center;
    background: transparent;
    border: 1px solid var(--main-color, #2bd180);
    border-radius: var(--border-radius-md, 10px);
    color: var(--main-color, #2bd180);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    justify-content: center;
    margin-top: var(--padding-sm, 10px);
    min-height: 40px;
    padding: 7px var(--padding-md, 12px);
}

.sx-planner .sx-structured-show-more:hover,
.sx-planner .sx-structured-show-more:focus-visible {
    background: color-mix(in srgb, var(--main-color, #2bd180) 9%, var(--secondary-bg, #1d1d1d));
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-color-hover, #3dffb0);
}

.sx-planner .sx-structured-show-more:focus-visible {
    outline: 1px solid var(--main-color-hover, #3dffb0);
    outline-offset: 2px;
}

.sx-structured-videos {
    border-top: 1px solid var(--border-color-light, #444);
    margin-top: var(--padding-md, 12px);
    padding-top: var(--padding-sm, 10px);
}

.sx-structured-videos__list {
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-structured-video {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    overflow: hidden;
    width: 100%;
}

.sx-structured-video:focus-visible {
    border-color: var(--main-color, #2bd180);
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .sx-structured-grid--grid,
    .sx-structured-grid--comparison,
    .sx-structured-grid--story-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-structured-videos__list {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 420px) {
    .sx-structured-card {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 112px;
    }

    .sx-structured-card img {
        width: 96px;
    }

    .sx-structured-card.is-image-missing {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-structured-card__body {
        padding: var(--padding-sm, 10px);
    }

    .sx-response-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-response-fields dt {
        padding-bottom: 0;
        padding-right: 0;
    }

    .sx-response-fields dd {
        border-top: 0;
        padding-top: 4px;
    }
}

.sx-message__activity summary {
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    font-size: var(--ft-size-small, 12px);
    list-style-position: inside;
}

.sx-message__activity ul {
    display: grid;
    gap: 5px;
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

.sx-message__activity li {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.45;
    padding-left: 16px;
    position: relative;
}

.sx-message__activity li::before {
    color: var(--main-color, #2bd180);
    content: '✓';
    left: 0;
    position: absolute;
}

.sx-message__sources summary {
    list-style: none;
}

.sx-message__sources summary::-webkit-details-marker {
    display: none;
}

.sx-source-summary {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: 6px;
    min-height: 30px;
    padding: 3px 6px;
}

.sx-source-summary:hover,
.sx-source-summary:focus-visible,
.sx-message__sources[open] .sx-source-summary {
    background: var(--panel-bg, #262626);
    color: var(--text-strong-color, #fff);
}

.sx-source-summary__icons {
    display: inline-flex;
    padding-left: 4px;
}

.sx-source-summary__avatar {
    align-items: center;
    background: var(--panel-bg, #262626);
    border: 1px solid var(--site-bg, #040404);
    border-radius: 50%;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: 8px;
    height: 18px;
    justify-content: center;
    margin-left: -4px;
    overflow: hidden;
    width: 18px;
}

.sx-source-summary__avatar img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sx-source-summary__count {
    color: var(--text-color, #b2b2b2);
    white-space: nowrap;
}

.sx-source-summary__chevron {
    font-size: 10px;
    transition: transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-message__sources[open] .sx-source-summary__chevron {
    transform: rotate(180deg);
}

.sx-source-panel {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: calc(var(--border-radius-sm, 5px) * 2);
    margin-top: 5px;
    max-height: min(44vh, 320px);
    max-width: 520px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 4px;
}

.sx-message__sources .sx-source-list {
    display: grid;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sx-message__sources .sx-source-item {
    border: 0;
    margin: 0;
    padding: 0;
}

.sx-message__sources .sx-source-item::before {
    content: none;
}

.sx-source-item > a {
    align-items: center;
    color: var(--text-strong-color, #fff);
    display: grid;
    border-radius: var(--border-radius-sm, 5px);
    gap: 8px;
    grid-template-columns: 24px minmax(0, 1fr) minmax(88px, auto);
    min-height: 36px;
    padding: 5px 7px;
    text-decoration: none;
}

.sx-source-item > a:hover,
.sx-source-item > a:focus-visible {
    background: var(--panel-bg, #262626);
    color: var(--text-strong-color, #fff);
    text-decoration: none;
}

.sx-source-item__visual {
    align-items: center;
    background: var(--panel-bg, #262626);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--main-color, #2bd180);
    display: inline-flex;
    height: 22px;
    justify-content: center;
    overflow: hidden;
    width: 22px;
}

.sx-source-item__visual img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sx-source-summary__avatar img.sx-source-favicon,
.sx-source-item__visual img.sx-source-favicon {
    background: var(--site-bg, #040404);
    object-fit: contain;
    padding: 2px;
}

.sx-source-item__copy {
    display: block;
    min-width: 0;
}

.sx-source-item__copy strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-source-item__meta {
    color: var(--text-color, #b2b2b2);
    font-size: 11px;
    justify-self: end;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-message__actions > .sx-message__sources {
    margin: 0 0 0 6px;
    max-width: none;
    padding: 0;
}

.sx-message__actions > .sx-message__sources[open] {
    flex-basis: 100%;
    margin-left: 0;
}

@media (max-width: 520px) {
    .sx-source-panel {
        max-width: 100%;
    }

    .sx-source-item > a {
        grid-template-columns: 22px minmax(0, 1fr);
    }

    .sx-source-item__meta {
        display: none;
    }
}

.sx-message__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.sx-message-action {
    background: transparent;
    border: 0;
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    min-height: 30px;
    padding: 2px 6px;
}

.sx-feedback-actions {
    align-items: center;
    border-left: none;
    display: inline-flex;
    gap: 0;
    margin-left: 0;
    padding-left: 0;
}

.sx-feedback-action.is-active {
    color: var(--main-color, #2bd180);
}

.sx-feedback-confirmation {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
    margin-left: 6px;
}

.sx-feedback-dialog {
    background: transparent;
    border: 0;
    color: var(--text-strong-color, #fff);
    max-height: calc(100dvh - 32px);
    max-width: min(520px, calc(100vw - 32px));
    padding: 0;
    width: 100%;
}

.sx-feedback-dialog::backdrop {
    background: rgba(0, 0, 0, .72);
}

.sx-feedback-form {
    background: var(--site-bg, #040404);
    border: 1px solid var(--border-color-light, #444);
    border-top: 2px solid var(--main-color, #2bd180);
    border-radius: var(--border-radius-sm, 5px);
    box-shadow: var(--box-shadow, 0 10px 30px rgba(0, 0, 0, .45));
    display: grid;
    gap: var(--padding-md, 15px);
    padding: 20px;
}

.sx-feedback-form > header {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
    justify-content: space-between;
}

.sx-feedback-form h3 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xlarge, 18px);
    font-weight: 500;
    margin: 0;
}

.sx-feedback-dialog__close {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    padding: 0;
    width: 36px;
}

.sx-feedback-dialog__intro,
.sx-feedback-dialog__status {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.5;
    margin: 0;
}

.sx-feedback-reasons {
    border: 0;
    margin: 0;
    padding: 0;
}

.sx-feedback-reasons legend,
.sx-feedback-comment > span {
    color: var(--text-strong-color, #fff);
    display: block;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    margin-bottom: 8px;
}

.sx-feedback-reasons__list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.sx-feedback-reasons__list label {
    cursor: pointer;
    position: relative;
}

.sx-feedback-reasons__list input {
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.sx-feedback-reasons__list span {
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    display: block;
    font-size: var(--ft-size-small, 12px);
    min-height: 34px;
    padding: 7px 10px;
}

.sx-feedback-reasons__list input:checked + span,
.sx-feedback-reasons__list input:focus-visible + span {
    border-color: var(--main-color, #2bd180);
    color: var(--main-color-hover, #3dffb0);
}

.sx-feedback-comment__input {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    font-family: inherit;
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.5;
    min-height: 96px;
    padding: 11px 12px;
    resize: vertical;
    width: 100%;
}

.sx-feedback-comment__input:focus {
    border-color: var(--main-color, #2bd180);
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 1px;
}

.sx-feedback-dialog__footer {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.sx-feedback-dialog__cancel,
.sx-feedback-dialog__submit {
    border-radius: var(--border-radius-sm, 5px);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    min-height: 40px;
    padding: 8px 14px;
}

.sx-feedback-dialog__cancel {
    background: transparent;
    border: 1px solid var(--border-color-light, #444);
    color: var(--text-strong-color, #fff);
}

.sx-feedback-dialog__submit {
    background: var(--main-color, #2bd180);
    border: 1px solid var(--main-color, #2bd180);
    color: #03130b;
}

.sx-feedback-dialog__submit:disabled {
    cursor: wait;
    opacity: .55;
}

@media (max-width: 520px) {
    .sx-feedback-dialog {
        margin: auto 12px 12px;
        max-height: calc(100dvh - 24px);
        max-width: calc(100vw - 24px);
    }

    .sx-feedback-form {
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
        padding: var(--padding-md, 15px);
    }

    .sx-feedback-dialog__footer,
    .sx-feedback-dialog__cancel,
    .sx-feedback-dialog__submit {
        width: 100%;
    }

    .sx-feedback-dialog__footer {
        flex-direction: column-reverse;
    }
}

.sx-confirm-dialog {
    background: transparent;
    border: 0;
    color: var(--text-strong-color, #fff);
    max-width: min(460px, calc(100vw - 32px));
    padding: 0;
    width: 100%;
}

.sx-confirm-dialog::backdrop {
    background: rgba(0, 0, 0, .78);
}

.sx-confirm-dialog__panel {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    box-shadow: var(--box-shadow, 0 10px 30px rgba(0, 0, 0, .45));
    display: grid;
    gap: var(--padding-md, 15px);
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 22px;
}

.sx-confirm-dialog__icon {
    align-items: center;
    align-self: start;
    background: color-mix(in srgb, #ff6b6b 12%, var(--site-bg, #040404));
    border: 1px solid color-mix(in srgb, #ff6b6b 38%, transparent);
    border-radius: var(--border-radius-md, 10px);
    color: #ff8b8b;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.sx-confirm-dialog__icon .sx-session-menu__icon {
    height: 22px;
    width: 22px;
}

.sx-confirm-dialog__copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.sx-confirm-dialog__copy h3 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xlarge, 18px);
    font-weight: 500;
    line-height: 1.3;
    margin: 0;
}

.sx-confirm-dialog__copy p {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.55;
    margin: 0;
}

.sx-confirm-dialog__chat-title {
    background: var(--site-bg, #040404);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    display: block;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    line-height: 1.45;
    overflow: hidden;
    padding: 9px 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-confirm-dialog__status:empty {
    display: none;
}

.sx-confirm-dialog__status:not(:empty) {
    color: #ff8b8b;
}

.sx-confirm-dialog__footer {
    display: flex;
    gap: var(--padding-sm, 10px);
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 2px;
}

.sx-confirm-dialog__cancel,
.sx-confirm-dialog__confirm {
    border-radius: var(--border-radius-sm, 5px);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    min-height: 42px;
    padding: 8px 16px;
}

.sx-confirm-dialog__cancel {
    background: transparent;
    border: 1px solid var(--border-color-light, #444);
    color: var(--text-strong-color, #fff);
}

.sx-confirm-dialog__cancel:hover,
.sx-confirm-dialog__cancel:focus-visible {
    border-color: var(--text-color, #b2b2b2);
    outline: 1px solid var(--text-color, #b2b2b2);
    outline-offset: 2px;
}

.sx-confirm-dialog__confirm {
    background: #ff6b6b;
    border: 1px solid #ff6b6b;
    color: var(--site-bg, #040404);
}

.sx-confirm-dialog__confirm:hover,
.sx-confirm-dialog__confirm:focus-visible {
    background: #ff8b8b;
    border-color: #ff8b8b;
    outline: 1px solid #ff8b8b;
    outline-offset: 2px;
}

.sx-confirm-dialog__cancel:disabled,
.sx-confirm-dialog__confirm:disabled {
    cursor: wait;
    opacity: .55;
}

@media (max-width: 520px) {
    .sx-confirm-dialog {
        margin: auto 12px 12px;
        max-width: calc(100vw - 24px);
    }

    .sx-confirm-dialog__panel {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: var(--padding-md, 15px);
    }

    .sx-confirm-dialog__icon {
        height: 42px;
        width: 42px;
    }

    .sx-confirm-dialog__footer {
        flex-direction: column-reverse;
    }

    .sx-confirm-dialog__cancel,
    .sx-confirm-dialog__confirm {
        width: 100%;
    }
}

.sx-message-action:hover,
.sx-message-action:focus-visible {
    color: var(--main-color, #2bd180);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sx-suggestions {
    margin-top: 24px;
}

.sx-suggestions > p {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    margin: 0 0 9px;
}

.sx-login-notice {
    align-items: start;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    display: grid;
    gap: var(--padding-md, 12px);
    grid-template-columns: 40px minmax(0, 1fr);
    margin-top: var(--padding-lg, 20px);
    overflow: hidden;
    padding: var(--padding-md, 12px);
}

.sx-chat-shell--command .sx-composer.is-disabled {
    opacity: .62;
}

.sx-chat-shell--command .sx-composer.is-disabled::before {
    display: none;
}

.sx-chat-shell--command .sx-composer textarea:disabled {
    color: var(--text-color, #b2b2b2);
    cursor: not-allowed;
    -webkit-text-fill-color: var(--text-color, #b2b2b2);
}

.sx-chat-shell--command .sx-composer.is-disabled button {
    cursor: not-allowed;
}

.sx-login-notice__icon {
    align-items: center;
    background: var(--panel-bg, #262626);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-large, 16px);
    height: 40px;
    justify-content: center;
    width: 40px;
}

.sx-login-notice__copy {
    align-self: center;
    min-width: 0;
}

.sx-login-notice__copy strong {
    color: var(--text-strong-color, #fff);
    display: block;
    font-size: var(--ft-size-large, 16px);
    font-weight: 500;
    line-height: 1.3;
}

.sx-login-notice__copy p {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.55;
    margin: var(--padding-xs, 5px) 0 0;
}

.sx-login-notice__actions {
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
}

.sx-login-notice__action {
    align-items: center;
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    display: inline-flex;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 600;
    gap: var(--padding-sm, 10px);
    justify-content: center;
    min-height: 44px;
    padding: 0 var(--padding-md, 12px);
    text-decoration: none;
    text-transform: none;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-login-notice__action--primary,
.sx-login-notice__action--primary:visited {
    background: var(--main-color, #2bd180);
    border-color: var(--main-color, #2bd180);
    color: var(--site-bg, #040404);
    justify-content: space-between;
}

.sx-login-notice__action--secondary,
.sx-login-notice__action--secondary:visited {
    background: var(--site-bg, #040404);
    color: var(--text-strong-color, #fff);
}

.sx-login-notice__action:hover,
.sx-login-notice__action:focus-visible {
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-color-hover, #3dffb0);
    text-decoration: none;
    transform: translateY(-1px);
}

.sx-login-notice__action--primary:hover,
.sx-login-notice__action--primary:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    color: var(--site-bg, #040404);
}

.sx-login-notice__action:focus-visible {
    outline: 2px solid var(--main-color-hover, #3dffb0);
    outline-offset: 2px;
}

.sx-login-notice__action:active {
    transform: scale(.98);
}

.sx-login-notice__action > .sx-ui-icon {
    height: 16px;
    width: 16px;
}

.sx-chat-footer {
    background: var(--secondary-bg, #1d1d1d);
    border-top: 1px solid var(--border-color-light, #444);
    padding: 14px max(24px, calc((100% - 860px) / 2)) 12px;
}

.sx-composer {
    background: #111;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 54px;
}

.sx-composer:focus-within {
    border: 0;
    box-shadow: none;
}

.sx-composer textarea {
    background: transparent;
    border: 0;
    box-shadow: none;
    max-height: 150px;
    min-height: 52px;
    overflow-y: hidden;
    padding: 14px;
    resize: none;
}

.sx-composer textarea:focus {
    border: 0;
    box-shadow: none;
}

.sx-composer__footer {
    align-items: center;
    display: flex;
    gap: 10px;
    padding: 7px;
}

.sx-composer__count {
    color: #777;
    font-size: var(--ft-size-small, 12px);
    white-space: nowrap;
}

.sx-composer__send {
    height: 40px;
    min-height: 40px;
    padding: 0;
    width: 40px;
}

.sx-chat__privacy {
    color: #888;
    font-size: var(--ft-size-small, 12px);
    margin: 8px 0 0;
    text-align: center;
}

/* Conversation mode keeps the assistant readable without framing the whole page as a dashboard. */
.sx-chat-shell {
    background: var(--site-bg, #040404);
    border: 0;
    border-radius: 0;
    height: min(780px, calc(100vh - 150px));
    min-height: 680px;
    overflow: visible;
}

.sx-chat-header {
    background: var(--site-bg, #040404);
    border-bottom-color: var(--border-color-light, #444);
    min-height: 64px;
    padding: var(--padding-sm, 10px) max(var(--padding-md, 12px), calc((100% - 920px) / 2));
}

.sx-chat-header .sx-brand__avatar {
    height: 36px;
    width: 36px;
}

.sx-chat-header .sx-brand h1 {
    font-size: var(--ft-size-xlarge, 18px);
}

.sx-chat-main {
    background: var(--site-bg, #040404);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 18px max(var(--padding-md, 12px), calc((100% - 820px) / 2)) 30px;
}

.sx-event-summary {
    border: 0;
    margin: 0 0 20px;
    padding: 0;
}

.sx-event-summary summary {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    min-height: 44px;
    padding: 7px var(--padding-md, 12px);
}

.sx-event-summary[open] summary {
    border-color: var(--main-color, #2bd180);
}

.sx-event-summary .sx-progress,
.sx-event-summary__fields {
    margin-left: var(--padding-md, 12px);
    margin-right: var(--padding-md, 12px);
}

.sx-event-summary .sx-progress {
    margin-top: var(--padding-md, 12px);
}

.sx-chat-welcome {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: auto;
    max-width: 680px;
    padding: 44px 0 22px;
    text-align: center;
}

.sx-chat-welcome__mark {
    align-items: center;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: 50%;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    height: 44px;
    justify-content: center;
    margin-bottom: var(--padding-md, 12px);
    width: 44px;
}

.sx-chat-welcome p {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
    margin: 0 0 7px;
}

.sx-chat-welcome h2 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xxxxxlarge, 26px);
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
    text-wrap: balance;
}

.sx-chat-welcome > span:last-child {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.6;
    margin-top: var(--padding-sm, 10px);
    max-width: 590px;
    text-wrap: pretty;
}

.sx-chat__messages {
    gap: 26px;
    min-height: 0;
}

.sx-message,
.sx-chat__typing {
    max-width: 100%;
    width: 100%;
}

.sx-message--assistant {
    align-self: stretch;
}

.sx-message--user {
    align-self: flex-end;
    max-width: 74%;
    width: auto;
}

.sx-message--user .sx-message__avatar {
    display: none;
}

.sx-message__avatar {
    background: var(--secondary-bg, #1d1d1d);
    height: 32px;
    margin-top: 0;
    width: 32px;
}

.sx-message__content {
    background: transparent;
    border: 0;
    border-radius: 0;
    flex: 1 1 auto;
    font-size: var(--ft-size-large, 16px);
    line-height: 1.65;
    padding: 2px 0 0;
}

.sx-message--user .sx-message__content {
    background: var(--panel-bg, #262626);
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    flex: 0 1 auto;
    font-size: var(--ft-size-medium, 14px);
    padding: 10px 14px;
}

.sx-message__body {
    max-width: 720px;
}

.sx-message--user .sx-message__body {
    max-width: 100%;
}

.sx-message__body p {
    font-family: inherit !important;
    font-weight: 400;
    letter-spacing: normal;
    margin: 0 0 var(--padding-sm, 10px);
    overflow-wrap: anywhere;
    word-spacing: normal;
    white-space: pre-wrap;
}

.sx-message__body p:last-child {
    margin-bottom: 0;
}

.sx-message__body h2 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-large, 16px);
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 var(--padding-sm, 10px);
}

.sx-message__body strong {
    color: var(--text-strong-color, #fff);
    display: inline;
    font-size: inherit;
    font-weight: 600;
    margin: 0;
}

.sx-message__body ul,
.sx-message__body ol {
    display: block;
    margin: var(--padding-sm, 10px) 0;
    padding-left: calc(var(--padding-md, 15px) + var(--padding-xs, 5px));
}

.sx-message__body ul {
    list-style: disc outside;
}

.sx-message__body li::marker {
    color: var(--main-color, #2bd180);
}

.sx-message__body li.sx-stream-list-item::marker {
    color: transparent;
}

.sx-message__body li.sx-stream-list-item.is-visible::marker,
.sx-message__body.is-stream-complete li.sx-stream-list-item::marker {
    color: var(--main-color, #2bd180);
}

.sx-message__body li {
    line-height: 1.55;
    padding-left: var(--padding-xs, 5px);
}

.sx-message__body li + li {
    margin-top: var(--padding-xs, 5px);
}

.sx-message__body ul > li {
    background: transparent;
    border: 0;
}

.sx-message__body blockquote {
    border-left: 2px solid var(--main-color, #2bd180);
    color: var(--text-color, #b2b2b2);
    margin: var(--padding-sm, 10px) 0;
    padding-left: var(--padding-md, 15px);
}

.sx-message__body .sx-contact-link {
    color: var(--main-color, #2bd180);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sx-message__body .sx-contact-link:hover,
.sx-message__body .sx-contact-link:focus-visible {
    color: var(--main-color-hover, #3dffb0);
}

.sx-message__body .sx-inline-source-link {
    color: var(--main-color, #2bd180);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sx-message__body .sx-inline-source-link:hover,
.sx-message__body .sx-inline-source-link:focus-visible {
    color: var(--main-color-hover, #3dffb0);
}

.sx-message__body .sx-inline-action-link {
    color: var(--main-color, #2bd180);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sx-message__body .sx-inline-action-link:hover,
.sx-message__body .sx-inline-action-link:focus-visible {
    color: var(--main-color-hover, #3dffb0);
}

.sx-comparison-table {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    margin: var(--padding-md, 15px) 0;
    max-width: 100%;
    overflow-x: auto;
    position: relative;
    scrollbar-color: var(--main-color, #2bd180) var(--secondary-bg, #1d1d1d);
}

.sx-comparison-table:focus-visible {
    border-color: var(--main-color, #2bd180);
    outline: 2px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

.sx-comparison-table__table {
    border-collapse: separate;
    border-spacing: 0;
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.5;
    margin: 0;
    table-layout: auto;
    width: 100%;
}

.sx-comparison-table--multiple .sx-comparison-table__table {
    min-width: 680px;
}

.sx-comparison-table__table th,
.sx-comparison-table__table td {
    border-bottom: 1px solid var(--border-color-light, #444);
    border-right: 1px solid var(--border-color-light, #444);
    padding: var(--padding-md, 15px);
    text-align: left;
    vertical-align: top;
}

.sx-comparison-table__table [data-align="center"] {
    text-align: center;
}

.sx-comparison-table__table [data-align="right"] {
    text-align: right;
}

.sx-comparison-table__table thead th {
    background: var(--panel-bg, #262626);
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
}

.sx-comparison-table__table thead .sx-comparison-table__option {
    border-top: 2px solid var(--main-color, #2bd180);
}

.sx-comparison-table__table .sx-comparison-table__criterion {
    background: var(--secondary-bg, #1d1d1d);
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    width: 25%;
}

.sx-comparison-table--single .sx-comparison-table__criterion {
    min-width: 120px;
    width: 28%;
}

.sx-comparison-table__table tbody tr:nth-child(odd) td {
    background: var(--site-bg, #040404);
}

.sx-comparison-table__table tbody tr:nth-child(even) td,
.sx-comparison-table__table tbody tr:nth-child(even) .sx-comparison-table__criterion {
    background: var(--panel-bg, #262626);
}

.sx-comparison-table__table tr > :first-child {
    left: 0;
    padding-left: var(--padding-md, 15px);
    position: sticky;
    z-index: 1;
}

.sx-comparison-table__table thead tr > :first-child {
    z-index: 2;
}

.sx-comparison-table__table tr > :last-child {
    border-right: 0;
}

.sx-comparison-table__table tbody tr:last-child > * {
    border-bottom: 0;
}

.sx-comparison-table__table strong {
    color: var(--main-color, #2bd180);
}

.sx-comparison-table__table thead strong {
    color: var(--text-strong-color, #fff);
}

.sx-comparison-table__price-row td {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-large, 16px);
}

.sx-message__verified-actions {
    border-top: 1px solid var(--border-color-light, #444);
    display: grid;
    gap: 8px;
    margin-top: var(--padding-md, 15px);
    padding-top: var(--padding-sm, 10px);
}

.sx-message__verified-actions-label {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-message__verified-actions-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sx-verified-action {
    align-items: center;
    background: transparent;
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    min-height: 34px;
    padding: 6px var(--padding-sm, 10px);
    text-decoration: none;
}

.sx-verified-action:hover,
.sx-verified-action:focus-visible {
    background: var(--panel-bg, #262626);
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-color-hover, #3dffb0);
    text-decoration: none;
}

.sx-message__body code {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    font-family: monospace;
    padding: 1px 5px;
}

.sx-message--error {
    align-self: flex-start;
    max-width: 720px;
    width: auto;
}

.sx-message--error .sx-message__content {
    background: transparent;
    border: 0;
    max-width: 720px;
    padding: 0;
    width: 100%;
}

.sx-error-state {
    align-items: start;
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: 32px minmax(0, 1fr);
    padding: var(--padding-sm, 10px) 0;
}

.sx-error-state__icon {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.sx-error-state__svg {
    display: block;
    height: 18px;
    width: 18px;
}

.sx-error-state--limit .sx-error-state__icon,
.sx-error-state--action .sx-error-state__icon {
    color: var(--main-color, #2bd180);
}

.sx-error-state--connection .sx-error-state__icon {
    color: var(--text-strong-color, #fff);
}

.sx-error-state--critical .sx-error-state__icon {
    color: #ff8b8b;
}

.sx-error-state__body {
    min-width: 0;
}

.sx-error-state__body > p {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.6;
    margin: 0;
    white-space: normal;
}

.sx-error-state__meta {
    color: var(--text-color, #b2b2b2);
    display: block;
    font-size: var(--ft-size-small, 12px);
    line-height: 1.4;
    margin-top: var(--padding-sm, 10px);
}

.sx-error-state__actions {
    display: flex;
    margin-top: var(--padding-sm, 10px);
}

.sx-planner .sx-error-state__action {
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--main-color, #2bd180);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    min-height: 0;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sx-planner .sx-error-state__action:hover,
.sx-planner .sx-error-state__action:focus-visible {
    background: transparent;
    color: var(--main-color-hover, #3dffb0);
}

.sx-planner .sx-error-state__action:focus-visible {
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 3px;
}

@media (max-width: 520px) {
    .sx-error-state {
        gap: var(--padding-sm, 10px);
        grid-template-columns: 32px minmax(0, 1fr);
        padding: var(--padding-sm, 10px) 0;
    }
}

.sx-chat__typing {
    margin-top: 24px;
}

.sx-response-status {
    background: transparent;
    border: 0;
    padding: 0;
}

.sx-message__activity,
.sx-message__sources,
.sx-followups,
.sx-message__actions {
    border-top: 0;
    max-width: 720px;
    margin-top: var(--padding-md, 12px);
    padding-top: 0;
}

.sx-message__actions {
    gap: 2px;
}

.sx-message-action {
    align-items: center;
    border-radius: var(--border-radius-sm, 5px);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    min-height: 34px;
    padding: 0;
    transition: background-color .2s ease, color .2s ease;
    width: 34px;
}

.sx-message-action:hover,
.sx-message-action:focus-visible {
    background: var(--secondary-bg, #1d1d1d);
    text-decoration: none;
}

.sx-suggestions {
    margin: 0 auto auto;
    max-width: 720px;
    padding-bottom: 26px;
    width: 100%;
}

.sx-suggestions > p {
    text-align: center;
}

.sx-suggestions__list {
    justify-content: center;
}

.is-conversation-active .sx-suggestions {
    margin: 24px 0 0 42px;
    padding-bottom: 0;
    width: calc(100% - 42px);
}

.is-conversation-active .sx-suggestions > p,
.is-conversation-active .sx-suggestions__list {
    justify-content: flex-start;
    text-align: left;
}

.sx-chat-footer {
    background: var(--site-bg, #040404);
    border-top: 0;
    padding: 14px max(var(--padding-md, 12px), calc((100% - 820px) / 2)) 10px;
}

.sx-composer {
    background: var(--secondary-bg, #1d1d1d);
    border-color: var(--border-color-light, #444);
    box-shadow: var(--box-shadow, 0 10px 30px rgba(0, 0, 0, .25));
    min-height: 64px;
}

.sx-composer textarea {
    min-height: 62px;
    padding: 19px 16px;
}

.sx-composer__footer {
    align-self: end;
    padding: 11px;
}

.sx-composer__count {
    opacity: .72;
}

.sx-chat__privacy {
    margin-top: var(--padding-sm, 10px);
}

@keyframes sx-pulse {
    0%,
    80%,
    100% {
        opacity: .35;
        transform: translateY(0);
    }
    40% {
        opacity: 1;
        transform: translateY(-3px);
    }
}

@media (max-width: 1024px) {
    .sx-intro__content {
        gap: 36px;
        grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
        padding: 44px 36px;
    }

    .sx-message,
    .sx-chat__typing {
        max-width: 86%;
    }
}

@media (max-width: 768px) {
    .ai-event-planner-page .page-main {
        padding: var(--padding-sm, 10px);
    }

    .sx-intro,
    .sx-chat-shell {
        min-height: 680px;
    }

    .sx-intro__header,
    .sx-chat-header {
        min-height: 72px;
        padding: var(--padding-md, 15px);
    }

    .sx-intro__content {
        align-items: start;
        display: flex;
        flex-direction: column;
        gap: 28px;
        padding: 36px var(--padding-md, 15px);
    }

    .sx-intro__copy {
        max-width: none;
        width: 100%;
    }

    .sx-intro__media {
        object-position: 66% center;
    }

    .sx-intro__shade {
        background: rgba(4, 4, 4, .82);
    }

    .sx-intro__prompts {
        margin-top: 22px;
    }

    .sx-chat-shell {
        height: calc(100vh - 110px);
    }

    .sx-chat-main,
    .sx-chat-footer {
        padding-left: var(--padding-md, 15px);
        padding-right: var(--padding-md, 15px);
    }

    .sx-event-summary__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sx-message,
    .sx-chat__typing {
        max-width: 94%;
    }
}

@media (max-width: 520px) {
    .sx-primary-action {
        width: 100%;
    }

    .sx-event-summary__fields {
        grid-template-columns: 1fr;
    }

    .sx-message,
    .sx-chat__typing {
        max-width: 100%;
    }

    .sx-message__avatar {
        height: 28px;
        width: 28px;
    }

    .sx-message__content {
        padding: 11px 12px;
    }

    .sx-response-status__label {
        max-width: 190px;
    }

    .sx-composer {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-composer__footer {
        border-top: 1px solid var(--border-color-light, #444);
        justify-content: space-between;
    }
}

/* Premium start, authenticated chat, and account-gate states. */
.sx-chat-shell--command {
    grid-template-rows: minmax(0, 1fr) auto;
    height: min(840px, calc(100dvh - 130px));
    min-height: 700px;
}

.sx-chat-toolbar {
    align-items: center;
    justify-content: space-between;
}

.sx-auth-state {
    align-items: center;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: 7px;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-main {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    padding: 0;
    position: relative;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-toolbar {
    border: 0;
    margin: 0;
    padding: var(--padding-md, 15px);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
    align-items: center;
    border: 0;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 100%;
    overflow: hidden;
    padding: 48px var(--padding-md, 15px) 34px;
    position: relative;
    text-align: center;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome__content {
    max-width: 760px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.sx-chat-welcome__icon {
    display: block;
    height: 84px;
    margin: 0 auto var(--padding-md, 15px);
    object-fit: contain;
    width: 84px;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome p {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
    margin: 0 0 var(--padding-sm, 10px);
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome h2 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xxxxxlarge, 26px);
    font-weight: 500;
    line-height: 1.25;
    margin: 0 auto;
    max-width: 520px;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome__content > span {
    color: var(--text-color, #b2b2b2);
    display: block;
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.6;
    margin: var(--padding-sm, 10px) auto 0;
    max-width: 620px;
}

.sx-capability-list {
    display: grid;
    gap: var(--padding-md, 12px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 30px;
}

.sx-capability-heading {
    align-items: center;
    color: var(--main-color, #2bd180);
    display: flex;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    gap: var(--padding-sm, 10px);
    margin: 24px 0 0;
    text-align: left;
}

.sx-capability-heading::after {
    background: var(--border-color-light, #444);
    content: '';
    flex: 1 1 auto;
    height: 1px;
}

.sx-capability-heading + .sx-capability-list {
    margin-top: var(--padding-sm, 10px);
}

.sx-agent-skill-card {
    align-items: start;
    appearance: none;
    background: color-mix(
        in srgb,
        var(--secondary-bg, #1d1d1d) 92%,
        var(--site-bg, #040404)
    );
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    color: inherit;
    cursor: pointer;
    display: grid;
    column-gap: var(--padding-md, 15px);
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    grid-template-rows: auto auto;
    min-height: 0;
    min-width: 0;
    padding: var(--padding-md, 15px);
    position: relative;
    row-gap: var(--padding-xs, 5px);
    text-align: left;
    text-transform: none;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        box-shadow var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-agent-skill-card:hover,
.sx-agent-skill-card:focus-visible {
    background: var(--panel-bg, #262626);
    border-color: var(--main-color, #2bd180);
    box-shadow: none;
    transform: none;
}

.sx-agent-skill-card:focus-visible {
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

.sx-agent-skill-card__icon {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-large, 16px);
    align-items: center;
    background: color-mix(in srgb, var(--main-color, #2bd180) 12%, transparent);
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-md, 10px);
    display: inline-flex;
    grid-column: 1;
    grid-row: 1 / 3;
    height: 34px;
    justify-content: center;
    justify-self: start;
    width: 34px;
}

.sx-agent-skill-card__icon .sx-ui-icon {
    height: var(--ft-size-xlarge, 18px);
    width: var(--ft-size-xlarge, 18px);
}

.sx-agent-skill-card strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    grid-column: 2;
    line-height: 1.35;
}

.sx-agent-skill-card__description {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    grid-column: 2;
    line-height: 1.55;
}

.sx-agent-skill-card .sx-agent-skill-card__arrow {
    align-self: center;
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-small, 12px);
    grid-column: 3;
    grid-row: 1 / 3;
    justify-self: end;
    position: static;
    transition:
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-agent-skill-card:hover .sx-agent-skill-card__arrow,
.sx-agent-skill-card:focus-visible .sx-agent-skill-card__arrow {
    color: var(--main-color-hover, #3dffb0);
    transform: none;
}

.sx-login-gate {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100%;
    overflow-y: auto;
    padding: calc(var(--padding-lg, 20px) * 2) var(--padding-md, 12px);
    position: relative;
}

.sx-login-gate__content {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-lg, 20px);
    display: grid;
    gap: var(--padding-md, 12px);
    max-width: 520px;
    padding: calc(var(--padding-lg, 20px) + var(--padding-sm, 10px));
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 1;
}

.sx-login-gate__content > .sx-login-gate__icon {
    align-items: center;
    background: color-mix(in srgb, var(--main-color, #2bd180) 12%, var(--panel-bg, #262626));
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: 50%;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    height: 48px;
    justify-content: center;
    margin: 0 auto;
    width: 48px;
}

.sx-login-gate__icon > .sx-ui-icon {
    height: var(--ft-size-xxlarge, 20px);
    width: var(--ft-size-xxlarge, 20px);
}

.sx-login-gate__content h2 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xxxxlarge, 24px);
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
}

.sx-login-gate__content > span {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-medium, 14px);
    line-height: 1.55;
}

.sx-login-gate__actions {
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: var(--padding-xs, 5px);
}

.sx-login-gate__primary,
.sx-login-gate__secondary {
    align-items: center;
    border: 1px solid var(--main-color, #2bd180);
    border-radius: var(--border-radius-md, 10px);
    display: inline-flex;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 600;
    gap: var(--padding-sm, 10px);
    justify-content: center;
    min-height: 50px;
    padding: 0 18px;
    text-decoration: none;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        box-shadow var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-login-gate__primary,
.sx-login-gate__primary:visited {
    background: var(--main-color, #2bd180);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--main-color, #2bd180) 18%, transparent);
    color: var(--site-bg, #040404);
}

.sx-login-gate__secondary,
.sx-login-gate__secondary:visited {
    background: transparent;
    border-color: var(--border-color-accent, #2bd1803d);
    color: var(--main-color, #2bd180);
}

.sx-login-gate__primary:hover,
.sx-login-gate__primary:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    border-color: var(--main-color-hover, #3dffb0);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--main-color-hover, #3dffb0) 22%, transparent);
    color: var(--site-bg, #040404);
    text-decoration: none;
    transform: translateY(-1px);
}

.sx-login-gate__secondary:hover,
.sx-login-gate__secondary:focus-visible {
    background: color-mix(in srgb, var(--main-color, #2bd180) 10%, var(--secondary-bg, #1d1d1d));
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-color-hover, #3dffb0);
    text-decoration: none;
    transform: translateY(-1px);
}

.sx-login-gate__primary:focus-visible,
.sx-login-gate__secondary:focus-visible {
    outline: 2px solid var(--main-color-hover, #3dffb0);
    outline-offset: 2px;
}

.sx-login-gate__primary:active,
.sx-login-gate__secondary:active {
    transform: scale(.98);
}

.sx-login-gate__primary > i,
.sx-login-gate__secondary > i {
    color: currentColor;
    font-size: var(--ft-size-large, 16px);
}

.sx-chat-shell--command.is-login-required .sx-chat-main {
    overflow-y: auto;
    padding: 0;
}

.sx-chat-shell--command.is-login-required .sx-chat-welcome,
.sx-chat-shell--command.is-login-required .sx-chat__messages,
.sx-chat-shell--command.is-login-required .sx-chat__typing,
.sx-chat-shell--command.is-login-required .sx-login-notice,
.sx-chat-shell--command.is-login-required .sx-chat-footer {
    display: none !important;
}

.ai-event-planner-page .sx-chat-shell--command.is-login-required .sx-chat-toolbar {
    display: flex !important;
    justify-content: flex-end;
}

.ai-event-planner-page .sx-chat-shell--command.is-login-required .sx-chat-toolbar__primary {
    display: none;
}

.sx-chat-shell--command .sx-composer {
    align-items: end;
    background: var(--secondary-bg, #1d1d1d);
    border: 0;
    border-radius: 30px;
    box-shadow: none;
    grid-template-columns: minmax(0, 1fr);
    min-height: 58px;
    position: relative;
    overflow: hidden;
}

.sx-chat-shell--command .sx-composer textarea {
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none;
    height: 58px;
    line-height: 1.45;
    min-height: 58px;
    overflow-y: auto;
    padding: 17px 8px 13px 20px;
    resize: none;
}

.sx-chat-shell--command .sx-composer textarea:focus,
.sx-chat-shell--command .sx-composer textarea:focus-visible,
.sx-chat-shell--command .sx-composer textarea[aria-invalid="true"] {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none;
    outline: 0;
}

.sx-chat-shell--command .sx-composer__footer {
    display: flex;
    gap: 7px;
    grid-column: 2;
    min-height: 56px;
    padding: 7px 10px 7px 0;
}

.sx-chat-shell--command .sx-composer__count {
    display: none;
}

.sx-chat-shell--command .sx-composer__send {
    align-self: center;
    border-radius: 50%;
    height: 42px;
    min-height: 42px;
    width: 42px;
}

.sx-chat-shell--command .sx-composer:not(.has-text) .sx-composer__send {
    display: none;
}

.sx-composer__send-icon {
    display: block;
    height: 18px;
    width: 18px;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-footer {
    padding-bottom: 50px;
}

.sx-chat-shell--command .sx-composer {
    margin-left: auto;
    margin-right: auto;
    max-width: 760px;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-composer {
    margin-top: 20px;
}

@media (max-width: 768px) {
    .sx-chat-shell--command {
        height: calc(100dvh - 90px);
        min-height: 620px;
    }

    .sx-capability-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
        padding-top: 70px;
    }

    .sx-login-gate {
        padding: calc(var(--padding-lg, 20px) * 2) var(--padding-md, 12px);
    }
}

@media (max-width: 520px) {
    .sx-chat-shell--command {
        min-height: 580px;
    }

    .sx-capability-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 22px;
    }

    .sx-agent-skill-card__description {
        display: none;
    }

    .sx-agent-skill-card {
        min-height: 118px;
        padding: var(--padding-md, 12px);
    }

    .sx-agent-skill-card__icon {
        height: 30px;
        width: 30px;
    }

    .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
        padding-bottom: 24px;
        padding-top: 60px;
    }

    .sx-login-gate__content h2,
    .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome h2 {
        font-size: var(--ft-size-xxxxlarge, 24px);
    }

    .sx-login-gate {
        padding: var(--padding-lg, 20px) var(--padding-md, 12px);
    }

    .sx-login-gate__content {
        padding: var(--padding-lg, 20px) var(--padding-md, 12px);
    }

    .sx-login-gate__actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-chat-shell--command .sx-composer textarea {
        padding-left: var(--padding-md, 15px);
    }

    .sx-chat-shell--command .sx-composer__send {
        height: 38px;
        min-height: 38px;
        width: 38px;
    }

}

/* The dedicated planner is a full-viewport application, not a framed store page. */
.ai-event-planner-page .page-wrapper,
.ai-event-planner-page .page-main,
.ai-event-planner-page .columns,
.ai-event-planner-page .column.main,
.ai-event-planner-page .sx-planner {
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
}

.ai-event-planner-page .page-wrapper,
.ai-event-planner-page .page-main,
.ai-event-planner-page .columns,
.ai-event-planner-page .column.main {
    min-height: 100dvh;
}

.ai-event-planner-page .sx-chat-shell--command {
    border: 0;
    border-radius: 0;
    height: 100dvh;
    margin: 0;
    max-width: none;
    min-height: 700px;
    width: 100%;
}

.ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
    justify-content: center;
}

.ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome__content {
    width: 100%;
}

.ai-event-planner-page .gtranslate_wrapper-outer {
    display: none !important;
}

@media (max-width: 520px) {
    .ai-event-planner-page .sx-chat-shell--command {
        min-height: 580px;
    }
}

/* Authenticated conversation navigation follows an off-canvas chat sidebar. */
.sx-chat-shell--command {
    --sx-chat-toolbar-height: 38px;
    position: relative;
}

.sx-chat-shell--command .sx-chat-toolbar,
.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-toolbar {
    border: 0;
    display: flex;
    justify-content: space-between;
    left: var(--padding-md, 15px);
    margin: 0;
    padding: 0;
    position: absolute;
    right: var(--padding-md, 15px);
    top: var(--padding-md, 15px);
    z-index: 10;
}

.sx-chat-toolbar__primary {
    align-items: center;
    display: inline-flex;
    gap: var(--padding-xs, 5px);
}

.sx-storefront-link {
    align-items: center;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: 8px;
    min-height: var(--sx-chat-toolbar-height);
    padding: 0 13px;
    text-decoration: none;
}

.sx-storefront-link:hover,
.sx-storefront-link:focus-visible {
    background: var(--panel-bg, #262626);
    border-color: var(--main-color, #2bd180);
    color: var(--main-color-hover, #3dffb0);
    text-decoration: none;
}

.sx-chat-toolbar__secondary,
.sx-guest-toolbar-auth {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
}

.sx-chat-toolbar__secondary {
    margin-left: auto;
}

.sx-guest-toolbar-auth__login,
.sx-guest-toolbar-auth__register {
    align-items: center;
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-md, 10px);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    justify-content: center;
    min-height: 38px;
    padding: 0 var(--padding-md, 15px);
    text-decoration: none;
    white-space: nowrap;
    width: calc(var(--padding-xl, 30px) * 3.25);
}

.sx-guest-toolbar-auth__login,
.sx-guest-toolbar-auth__login:visited {
    background: var(--text-strong-color, #fff);
    border-color: var(--text-strong-color, #fff);
    color: var(--site-bg, #040404);
}

.sx-guest-toolbar-auth__register,
.sx-guest-toolbar-auth__register:visited {
    background: var(--secondary-bg, #1d1d1d);
    color: var(--text-strong-color, #fff);
}

.sx-guest-toolbar-auth__login:hover,
.sx-guest-toolbar-auth__login:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--site-bg, #040404);
    text-decoration: none;
}

.sx-guest-toolbar-auth__register:hover,
.sx-guest-toolbar-auth__register:focus-visible {
    background: var(--panel-bg, #262626);
    border-color: var(--main-color, #2bd180);
    color: var(--main-color-hover, #3dffb0);
    text-decoration: none;
}

.sx-guest-toolbar-auth__login:focus-visible,
.sx-guest-toolbar-auth__register:focus-visible {
    outline: 2px solid var(--main-color-hover, #3dffb0);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .sx-chat-toolbar__secondary,
    .sx-guest-toolbar-auth {
        gap: var(--padding-xs, 5px);
    }

    .sx-guest-toolbar-auth__login,
    .sx-guest-toolbar-auth__register {
        min-height: 34px;
        padding-left: var(--padding-sm, 10px);
        padding-right: var(--padding-sm, 10px);
    }

    .sx-chat-toolbar__secondary .sx-storefront-link {
        min-height: 34px;
        padding: 0;
        width: 34px;
    }

    .sx-chat-toolbar__secondary .sx-storefront-link > span {
        display: none;
    }
}

.sx-sidebar-toggle,
.sx-toolbar-new-chat,
.sx-sidebar-new-chat,
.sx-chat-sidebar .sx-session-panel__close {
    align-items: center;
    background: transparent;
    border: none;
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    justify-content: center;
}

.sx-sidebar-toggle,
.sx-toolbar-new-chat,
.sx-chat-sidebar .sx-session-panel__close {
    border-radius: 50%;
    height: 38px;
    padding: 0;
    width: 38px;
}

.sx-chat-shell--command.is-guest .sx-sidebar-toggle {
    display: none;
}

.sx-sidebar-toggle .sx-iconify-icon,
.sx-chat-sidebar .sx-session-panel__close .sx-iconify-icon {
    height: var(--ft-size-xlarge, 18px);
    width: var(--ft-size-xlarge, 18px);
}

.sx-sidebar-toggle:hover,
.sx-sidebar-toggle:focus-visible,
.sx-toolbar-new-chat:hover,
.sx-toolbar-new-chat:focus-visible,
.sx-sidebar-new-chat:hover,
.sx-sidebar-new-chat:focus-visible,
.sx-chat-sidebar .sx-session-panel__close:hover,
.sx-chat-sidebar .sx-session-panel__close:focus-visible {
    background: var(--secondary-bg, #1d1d1d);
    border-color: var(--main-color, #2bd180);
    color: var(--main-color, #2bd180);
}

.sx-chat-sidebar.sx-session-panel {
    background: #111;
    border: 0;
    border-radius: 0;
    border-right: 1px solid var(--border-color-light, #444);
    display: grid;
    gap: var(--padding-md, 15px);
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
    inset: 0 auto 0 0;
    margin: 0;
    max-width: 88%;
    padding: 18px var(--padding-md, 15px);
    pointer-events: none;
    position: absolute;
    transform: translateX(-100%);
    transition: transform .2s ease, visibility .2s ease;
    visibility: hidden;
    width: 310px;
    z-index: 30;
}

.sx-chat-shell--command.is-sidebar-open .sx-chat-sidebar {
    pointer-events: auto;
    transform: translateX(0);
    visibility: visible;
}

.sx-chat-sidebar .sx-session-panel__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.sx-sidebar-new-chat {
    border-radius: var(--border-radius-sm, 5px);
    gap: var(--padding-sm, 10px);
    justify-content: flex-start;
    min-height: 44px;
    padding: 0 var(--padding-md, 15px);
    width: 100%;
}

.sx-session-panel__label {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
}

.sx-chat-sidebar .sx-session-panel__status {
    margin: 0;
}

.sx-chat-sidebar .sx-session-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 4px 0 0;
}

.sx-chat-sidebar .sx-session-item {
    background: transparent;
    border: 1px solid transparent;
    flex: 0 0 auto;
    min-height: 54px;
    padding: var(--padding-sm, 10px);
    width: 100%;
}

.sx-chat-sidebar .sx-session-item:hover,
.sx-chat-sidebar .sx-session-item:focus-visible,
.sx-chat-sidebar .sx-session-row.is-active .sx-session-item {
    background: var(--panel-bg, #262626);
    border-color: var(--border-color-light, #444);
}

.sx-chat-sidebar__footer {
    border-top: 0;
    padding-top: 0;
}

.sx-customer-usage-alert {
    align-items: center;
    appearance: none;
    background: color-mix(in srgb, #ff6b6b 12%, var(--secondary-bg, #1d1d1d));
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    font-family: inherit;
    gap: var(--padding-sm, 10px);
    grid-template-columns: 28px minmax(0, 1fr) 16px;
    margin: 0 0 8px;
    padding: var(--padding-sm, 10px);
    text-align: left;
    width: 100%;
}

.sx-customer-usage-alert:hover,
.sx-customer-usage-alert:focus-visible {
    background: color-mix(in srgb, #ff6b6b 18%, var(--secondary-bg, #1d1d1d));
    outline: 1px solid #ff6b6b;
    outline-offset: -1px;
}

.sx-customer-usage-alert > .sx-iconify-icon:first-child {
    color: #ff6b6b;
    height: 24px;
    width: 24px;
}

.sx-customer-usage-alert > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sx-customer-usage-alert strong,
.sx-customer-usage-alert small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-customer-usage-alert strong {
    color: #ff8b8b;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
}

.sx-customer-usage-alert small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-customer-usage-alert__arrow {
    color: #ff6b6b;
    height: 16px;
    width: 16px;
}

.sx-chat-sidebar__scrim {
    background: #000 !important;
    border: 0;
    box-shadow: none !important;
    cursor: default;
    inset: 0;
    opacity: .96;
    padding: 0;
    position: absolute;
    transition: none !important;
    z-index: 20;
}

@media (max-width: 520px) {
    .sx-chat-sidebar.sx-session-panel {
        padding: var(--padding-md, 15px);
        width: min(310px, 88%);
    }
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
    background: var(--site-bg, #040404);
    justify-content: flex-start;
    padding-top: 72px;
}

@media (max-width: 520px) {
    .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
        padding-top: 44px;
    }
}

/* Dedicated guest account invitation: restrained value hierarchy and compact actions. */
.sx-chat-shell--command.is-guest .sx-sidebar-toggle {
    display: inline-flex;
}

.sx-chat-shell--command.is-guest .sx-account-benefits-panel {
    background: color-mix(in srgb, var(--secondary-bg, #1d1d1d) 62%, var(--site-bg, #040404));
    gap: 0;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    max-width: var(--sx-persistent-sidebar-width);
    padding: var(--padding-lg, 20px) var(--padding-md, 15px) var(--padding-md, 15px);
    width: var(--sx-persistent-sidebar-width);
}

.sx-account-benefits-panel__header {
    align-items: center;
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: minmax(0, 1fr) 32px;
    margin-bottom: calc(var(--padding-lg, 20px) * 2);
}

.sx-account-benefits-panel__brand {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
    min-width: 0;
}

.sx-account-benefits-panel__brand > img {
    height: 34px;
    object-fit: contain;
    width: 34px;
}

.sx-account-benefits-panel__brand > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sx-account-benefits-panel__brand strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    line-height: 1.2;
}

.sx-account-benefits-panel__brand small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.2;
}

.sx-account-benefits-panel__intro {
    display: grid;
    gap: var(--padding-xs, 5px);
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: calc(var(--padding-lg, 20px) + var(--padding-sm, 10px));
}

.sx-account-benefits-panel__intro h2 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xlarge, 18px);
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
}

.sx-account-benefits-panel__intro p {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.5;
    margin: 0;
}

.sx-account-benefits-panel__list {
    align-content: start;
    display: grid;
    gap: 0;
    list-style: none;
    margin: 0;
    min-height: 0;
    overflow-y: auto;
    padding: 0;
}

.sx-account-benefits-panel__list li {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    border-top: 1px solid var(--border-color-light, #444);
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: 24px minmax(0, 1fr);
    padding: var(--padding-md, 15px) 0;
}

.sx-account-benefits-panel__list li:last-child {
    border-bottom: 1px solid var(--border-color-light, #444);
}

.sx-account-benefits-panel__feature-icon {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.sx-account-benefits-panel__feature-icon .sx-ui-icon {
    height: var(--ft-size-medium, 14px);
    width: var(--ft-size-medium, 14px);
}

.sx-account-benefits-panel__list li > span:last-child {
    display: block;
}

.sx-account-benefits-panel__list strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    line-height: 1.3;
}

.sx-account-benefits-panel__list small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.45;
}

.sx-account-benefits-panel__quota {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: var(--padding-xs, 5px);
    margin: var(--padding-md, 15px) 0;
}

.sx-account-benefits-panel__quota .sx-ui-icon {
    color: var(--main-color, #2bd180);
    height: var(--ft-size-medium, 14px);
    width: var(--ft-size-medium, 14px);
}

.sx-account-benefits-panel__actions {
    display: grid;
    gap: var(--padding-xs, 5px);
    grid-template-columns: minmax(0, 1fr);
}

.sx-account-benefits-panel__actions .sx-login-notice__action--primary,
.sx-account-benefits-panel__actions .sx-login-notice__action--primary:visited {
    justify-content: space-between;
}

.sx-account-benefits-panel__actions .sx-login-notice__action--secondary,
.sx-account-benefits-panel__actions .sx-login-notice__action--secondary:visited {
    background: transparent;
    border-color: transparent;
    min-height: 36px;
}

@media (min-width: 1025px) {
    .sx-chat-shell--command.is-guest.is-sidebar-open .sx-account-invitation {
        display: none;
    }
}

.sx-chat-shell--command .sx-account-invitation {
    align-items: center;
    background: color-mix(
        in srgb,
        var(--secondary-bg, #1d1d1d) 88%,
        var(--site-bg, #040404)
    );
    border-color: color-mix(
        in srgb,
        var(--main-color, #2bd180) 24%,
        var(--border-color-light, #444)
    );
    border-radius: var(--border-radius-lg, 20px);
    box-shadow: none;
    gap: var(--padding-md, 15px);
    grid-template-columns: 40px minmax(0, 1fr) minmax(40%, .85fr);
    margin: var(--padding-lg, 20px) auto 0;
    max-width: none;
    overflow: hidden;
    padding: var(--padding-md, 15px);
    position: relative;
    text-align: left;
    width: 100%;
}

.sx-chat-shell--command .sx-account-invitation::before {
    background: var(--main-color, #2bd180);
    content: '';
    inset: 0 auto 0 0;
    position: absolute;
    width: 2px;
}

.sx-account-invitation .sx-login-notice__icon {
    align-self: start;
    background: color-mix(in srgb, var(--main-color, #2bd180) 10%, var(--panel-bg, #262626));
    border-color: var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-md, 10px);
}

.sx-account-invitation .sx-login-notice__copy {
    display: grid;
    gap: var(--padding-xs, 5px);
}

.sx-account-invitation .sx-login-notice__copy strong {
    font-size: var(--ft-size-xlarge, 18px);
    line-height: 1.25;
}

.sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required)
    .sx-chat-welcome .sx-account-invitation .sx-login-notice__copy p {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.5;
    margin: 0;
}

.sx-account-invitation__quota {
    align-items: center;
    background: color-mix(in srgb, var(--main-color, #2bd180) 8%, transparent);
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: var(--padding-xs, 5px);
    justify-self: start;
    line-height: 1.35;
    margin-top: var(--padding-xs, 5px);
    padding: var(--padding-xs, 5px) var(--padding-sm, 10px);
}

.sx-account-invitation .sx-login-notice__actions {
    align-self: center;
    grid-column: 3;
    grid-row: 1;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
}

.sx-account-invitation .sx-login-notice__action {
    min-height: 44px;
    padding-left: var(--padding-sm, 10px);
    padding-right: var(--padding-sm, 10px);
}

.sx-account-invitation .sx-login-notice__action--primary,
.sx-account-invitation .sx-login-notice__action--primary:visited {
    justify-content: center;
}

.sx-account-invitation .sx-login-notice__action--secondary,
.sx-account-invitation .sx-login-notice__action--secondary:visited {
    background: color-mix(in srgb, var(--panel-bg, #262626) 72%, var(--site-bg, #040404));
}

@media (max-width: 1024px) {
    .sx-chat-shell--command .sx-account-invitation {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .sx-account-invitation .sx-login-notice__actions {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

@media (max-width: 767px) {
    .sx-chat-shell--command .sx-account-invitation {
        border-radius: var(--border-radius-md, 10px);
        gap: var(--padding-sm, 10px);
        margin-top: var(--padding-sm, 10px);
        padding: var(--padding-md, 15px);
    }

    .sx-account-invitation .sx-login-notice__copy strong {
        font-size: var(--ft-size-large, 16px);
    }

    .sx-account-invitation .sx-login-notice__actions {
        gap: var(--padding-sm, 10px);
        grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sx-planner *,
    .sx-planner *::before,
    .sx-planner *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 1ms !important;
    }
}

@media (max-width: 1024px) {
    .ai-event-planner-page .sx-chat-shell--command:not(.is-sidebar-open) .sx-chat-sidebar.sx-session-panel {
        overflow: hidden;
    }

    .sx-message,
    .sx-chat__typing {
        max-width: 100%;
    }

    .sx-message--user {
        max-width: 78%;
    }
}

@media (max-width: 768px) {
    .sx-chat-shell {
        height: calc(100dvh - 100px);
        min-height: 620px;
    }

    .sx-chat-header {
        min-height: 62px;
        padding: var(--padding-sm, 10px) var(--padding-md, 12px);
    }

    .sx-chat-main,
    .sx-chat-footer {
        padding-left: var(--padding-md, 12px);
        padding-right: var(--padding-md, 12px);
    }

    .sx-chat-welcome {
        padding-top: 30px;
    }

    .sx-message--user {
        max-width: 84%;
    }
}

@media (max-width: 520px) {
    .sx-chat-header .sx-brand span:not(.sx-brand__avatar) {
        display: none;
    }

    .sx-chat-welcome h2 {
        font-size: var(--ft-size-xxxxlarge, 24px);
    }

    .sx-chat-welcome {
        padding-top: 18px;
    }

    .sx-chat-welcome__mark {
        height: 38px;
        width: 38px;
    }

    .sx-event-summary summary small {
        display: none;
    }

    .sx-chat-welcome > span:last-child {
        font-size: var(--ft-size-medium, 14px);
    }

    .sx-message--user {
        max-width: 90%;
    }

    .sx-message__content {
        padding: 2px 0 0;
    }

    .sx-message--user .sx-message__content {
        padding: 10px 12px;
    }

    .sx-message__avatar {
        height: 30px;
        width: 30px;
    }

    .is-conversation-active .sx-suggestions {
        margin-left: 40px;
        width: calc(100% - 40px);
    }

    .sx-composer {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .sx-composer__footer {
        border-top: 0;
        justify-content: flex-end;
    }

    .sx-composer__count {
        display: none;
    }

    .sx-chat__privacy {
        line-height: 1.45;
    }
}

/* Command-first chat layout selected for the SOPHIA-X storefront experience. */
.sx-chat-shell--command {
    background: var(--site-bg, #040404);
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    height: min(720px, calc(100dvh - 190px));
    margin: 0 auto;
    max-width: 1040px;
    min-height: 560px;
    overflow: hidden;
}

.sx-chat-toolbar {
    align-items: center;
    border-bottom: 1px solid var(--border-color-light, #444);
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--padding-md, 15px);
    padding-bottom: var(--padding-sm, 10px);
}

.sx-chat-toolbar .sx-session-actions {
    position: static;
    transform: none;
}

.sx-command-header {
    border-bottom: 0;
    background: var(--site-bg, #040404);
    justify-content: center;
    min-height: 80px;
    padding: var(--padding-sm, 10px) max(var(--padding-md, 15px), calc((100% - 980px) / 2));
    position: relative;
}

.sx-command-profile {
    align-items: center;
    display: flex;
    gap: var(--padding-md, 15px);
    min-width: 0;
}

.sx-command-profile__image {
    display: block;
    flex: 0 0 58px;
    height: 58px;
    width: 58px;
}

.sx-command-profile__image img,
.sx-brand__avatar img,
.sx-message__avatar img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.sx-command-profile__copy {
    min-width: 0;
}

.sx-command-profile__title {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
}

.sx-command-profile__copy h1 {
    font-size: var(--ft-size-xxlarge, 22px);
    font-weight: 400;
    letter-spacing: .22em;
    margin: 0;
    overflow-wrap: anywhere;
}

.sx-command-profile__copy > span {
    color: var(--text-color, #b2b2b2);
    display: block;
    font-size: var(--ft-size-small, 12px);
    margin-top: 3px;
}

.sx-command-status {
    align-items: center;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: 7px;
    margin: 0;
}

.sx-command-status i {
    background: var(--main-color, #2bd180);
    border-radius: 50%;
    display: block;
    height: 7px;
    width: 7px;
}

.sx-session-actions {
    align-items: center;
    display: flex;
    gap: var(--padding-sm, 10px);
    position: absolute;
    right: max(var(--padding-md, 15px), calc((100% - 980px) / 2));
    top: 50%;
    transform: translateY(-50%);
}

.sx-session-action,
.sx-session-panel__close {
    align-items: center;
    background: transparent;
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    gap: 7px;
    justify-content: center;
    min-height: 36px;
    padding: 0 11px;
}

.sx-session-action:hover,
.sx-session-action:focus-visible,
.sx-session-panel__close:hover,
.sx-session-panel__close:focus-visible {
    border-color: var(--main-color, #2bd180);
    color: var(--main-color, #2bd180);
}

.sx-session-panel {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    margin-bottom: var(--padding-md, 15px);
    padding: var(--padding-md, 15px);
}

.sx-session-panel__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.sx-session-panel__header strong {
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
}

.sx-session-panel__close {
    min-height: 32px;
    padding: 0;
    width: 32px;
}

.sx-session-panel__status {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    margin: var(--padding-sm, 10px) 0 0;
}

.sx-session-list {
    display: flex;
    gap: var(--padding-sm, 10px);
    margin-top: var(--padding-sm, 10px);
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-color: var(--border-color-light, #444) transparent;
    scrollbar-width: thin;
}

.sx-session-item {
    background: var(--panel-bg, #262626);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    flex: 0 0 220px;
    font-family: inherit;
    gap: 4px;
    min-height: 64px;
    padding: var(--padding-sm, 10px);
    text-align: left;
}

.sx-session-item:hover,
.sx-session-item:focus-visible,
.sx-session-row.is-active .sx-session-item {
    border-color: var(--main-color, #2bd180);
}

.sx-session-item strong {
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-session-item span {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-chat-shell--command .sx-chat-footer {
    background: var(--site-bg, #040404);
    border: 0;
    padding: 0 max(var(--padding-md, 15px), calc((100% - 980px) / 2));
    padding-bottom: 30px;
}

.sx-chat-shell--command .sx-composer {
    background: #111;
    border-color: var(--main-color, #2bd180);
    box-shadow: none;
    grid-template-columns: minmax(0, 1fr);
    min-height: 92px;
}

.sx-chat-shell--command .sx-composer textarea {
    min-height: 52px;
    padding: 14px 17px 4px;
}

.sx-chat-shell--command .sx-composer textarea[aria-invalid="true"] {
    border: 0;
    box-shadow: inset 0 -2px 0 #a85d5d;
}

.sx-chat-shell--command .sx-composer__footer {
    align-self: auto;
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 40px;
    padding: 4px 8px 6px 17px;
}

.sx-chat-shell--command .sx-composer__count {
    align-items: center;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    opacity: 1;
    white-space: nowrap;
}

.sx-chat-shell--command .sx-composer__count.is-error {
    color: #a85d5d;
    font-weight: 500;
}

.sx-chat-shell--command .sx-composer__send {
    align-self: end;
    border-radius: var(--border-radius-sm, 5px);
}

.sx-chat-shell--command .sx-composer__send:disabled {
    cursor: not-allowed;
    opacity: .35;
}

.sx-chat-shell--command .sx-chat__privacy {
    font-size: var(--ft-size-small, 12px);
    line-height: 1.2;
    margin: 4px auto 0;
    text-align: center;
}

.sx-chat-shell--command .sx-chat-main {
    background: var(--site-bg, #040404);
    overflow-y: auto;
    padding: calc(
        var(--sx-chat-toolbar-height) + var(--padding-md, 15px) + var(--padding-md, 15px)
    ) max(var(--padding-md, 15px), calc((100% - 980px) / 2)) 22px;
    scroll-padding-top: calc(
        var(--sx-chat-toolbar-height) + var(--padding-md, 15px) + var(--padding-md, 15px)
    );
}

.sx-chat-shell--command .sx-chat-welcome {
    align-items: flex-start;
    border-top: 1px solid var(--border-color-light, #444);
    flex-direction: row;
    gap: 0;
    margin: 0;
    max-width: 100%;
    padding: 16px 0 20px;
    text-align: left;
}

.sx-chat-welcome__avatar {
    display: block;
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
}

.sx-chat-welcome__avatar img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.sx-chat-welcome__content {
    min-width: 0;
}

.sx-chat-shell--command .sx-chat-welcome p {
    margin-bottom: 4px;
}

.sx-chat-shell--command .sx-chat-welcome h2 {
    font-size: var(--ft-size-large, 16px);
    font-weight: 500;
}

.sx-chat-shell--command .sx-chat-welcome__content > span {
    color: var(--text-color, #b2b2b2);
    display: block;
    font-size: var(--ft-size-medium, 14px);
    margin-top: 6px;
}

.sx-chat-shell--command .sx-chat__messages {
    flex: 0 0 auto;
    gap: 0;
    min-height: auto;
}

.sx-chat-shell--command .sx-message,
.sx-chat-shell--command .sx-chat__typing {
    flex-shrink: 0;
    max-width: 100%;
    padding: 18px 0;
    width: 100%;
}

.sx-chat-shell--command .sx-message--user {
    align-items: flex-end;
    align-self: flex-end;
    border-top: 0;
    flex-direction: column;
    gap: 4px;
    justify-content: flex-end;
    max-width: min(78%, 760px);
    padding-bottom: var(--padding-sm, 10px);
    padding-top: var(--padding-sm, 10px);
    width: auto;
}

.sx-chat-shell--command .sx-message--user .sx-message__avatar {
    display: none;
}

.sx-chat-shell--command .sx-message__avatar {
    display: none;
}

.sx-chat-shell--command .sx-message__content {
    max-width: 860px;
    padding-top: 3px;
}

.sx-chat-shell--command .sx-message--assistant .sx-message__content {
    position: relative;
}

.sx-chat-shell--command .sx-message--user .sx-message__content {
    background: var(--secondary-bg, #1d1d1d);
    border: none;
    border-radius: var(--border-radius-md, 10px);
    flex: 0 1 auto;
    max-width: 100%;
    min-width: 120px;
    padding: var(--padding-md, 12px) var(--padding-lg, 20px);
}

.sx-message__delivery {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    display: inline-flex;
    font-size: 11px;
    gap: var(--padding-xs, 5px);
    justify-content: flex-end;
    min-height: 18px;
}

.sx-message__delivery .sx-ui-icon {
    height: 12px;
    width: 12px;
}

.sx-message__delivery--failed {
    color: #ff8b8b;
}

.sx-chat-shell--command .sx-message--user.is-editing {
    max-width: min(620px, 100%);
    width: min(620px, 100%);
}

.sx-chat-shell--command .sx-message--user.is-editing .sx-message__content {
    background: var(--panel-bg, #262626);
    border: 1px solid transparent;
    border-radius: var(--border-radius-lg, 20px);
    height: auto;
    min-height: 0;
    padding: 18px 20px 12px;
    width: 100%;
}

.sx-chat-shell--command .sx-message--user.is-editing .sx-message__content:focus-within {
    border-color: var(--border-color-light, #444);
}

.sx-chat-shell--command .sx-message__body {
    max-width: 760px;
}

.sx-chat-shell--command .sx-chat__typing {
    margin: 0;
}

.sx-chat-shell--command .sx-response-status {
    min-height: 34px;
}

.sx-response-status {
    align-items: center;
    display: inline-flex;
    gap: var(--padding-sm, 10px);
}

.sx-response-status__copy {
    display: grid;
    gap: 2px;
}

.sx-response-status__copy strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    line-height: 1.35;
}

.sx-response-status__copy small {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    display: flex;
    font-size: 11px;
    gap: var(--padding-xs, 5px);
    line-height: 1.35;
}

.sx-chat-shell--command .sx-thinking-orb {
    flex-basis: 42px;
    height: 42px;
    width: 42px;
}

.sx-chat-shell--command .sx-message-action {
    border-radius: var(--border-radius-md, 10px);
    color: var(--text-color, #b2b2b2);
    height: 32px;
    min-height: 32px;
    position: relative;
    width: 32px;
}

.sx-chat-shell--command .sx-message-action .sx-message-action__icon {
    height: 16px;
    width: 16px;
}

.sx-chat-shell--command .sx-message-action:hover,
.sx-chat-shell--command .sx-message-action:focus-visible {
    background: var(--secondary-bg, #1d1d1d);
    color: var(--main-color-hover, #3dffb0);
    outline: 1px solid var(--border-color-light, #444);
    outline-offset: 0;
}

.sx-chat-shell--command .sx-message-action::after {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    bottom: calc(100% + var(--padding-xs, 5px));
    color: var(--text-strong-color, #fff);
    content: attr(aria-label);
    font-size: 11px;
    left: 50%;
    opacity: 0;
    padding: var(--padding-xs, 5px) var(--padding-sm, 10px);
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    transition: opacity var(--sx-motion-fast) var(--sx-motion-ease-out);
    white-space: nowrap;
    z-index: 4;
}

.sx-chat-shell--command .sx-message-action:hover::after,
.sx-chat-shell--command .sx-message-action:focus-visible::after {
    opacity: 1;
}

.sx-chat-shell--command .sx-login-notice {
    flex: 0 0 auto;
    margin-bottom: 0;
}

.sx-chat-shell--command .sx-chat-welcome,
.sx-chat-shell--command .sx-session-panel {
    flex: 0 0 auto;
}

@media (max-width: 768px) {
    .sx-chat-shell--command {
        height: calc(100dvh - 90px);
        max-width: none;
        min-height: 560px;
    }

    .sx-command-header {
        align-content: center;
        flex-wrap: wrap;
        gap: var(--padding-sm, 10px);
        min-height: 76px;
        padding: var(--padding-sm, 10px) var(--padding-md, 15px);
    }

    .sx-session-actions {
        justify-content: center;
        position: static;
        transform: none;
        width: 100%;
    }

    .sx-command-profile__image {
        flex-basis: 46px;
        height: 46px;
        width: 46px;
    }

    .sx-command-profile__copy h1 {
        font-size: var(--ft-size-xlarge, 18px);
        letter-spacing: .15em;
    }

    .sx-chat-shell--command .sx-chat-footer,
    .sx-chat-shell--command .sx-chat-main {
        padding-left: var(--padding-md, 15px);
        padding-right: var(--padding-md, 15px);
    }

    .ai-event-planner-page .sx-chat-shell--command .sx-chat-footer {
        padding-bottom: calc(var(--padding-sm, 10px) + env(safe-area-inset-bottom));
    }

    .sx-chat-shell--command .sx-message,
    .sx-chat-shell--command .sx-chat__typing {
        padding: 18px 0;
    }

    .sx-chat-shell--command .sx-message--user {
        max-width: 85%;
        padding-bottom: var(--padding-sm, 10px);
        padding-top: var(--padding-sm, 10px);
    }

    .sx-chat-shell--command .sx-message--user.is-editing {
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .sx-command-status {
        display: none;
    }

    .sx-chat-shell--command .sx-composer {
        grid-template-columns: minmax(0, 1fr);
        min-height: 104px;
    }

    .sx-chat-shell--command .sx-composer__footer {
        border-top: 0;
        grid-template-columns: minmax(0, 1fr) auto auto;
        padding-left: 13px;
    }

    .sx-chat-shell--command .sx-composer__count {
        display: inline-flex;
        justify-self: start;
    }

    .sx-chat-shell--command .sx-chat-welcome {
        padding: var(--padding-md, 15px) 0 22px;
    }

    .sx-chat-shell--command .sx-message__content {
        font-size: var(--ft-size-medium, 14px);
    }

    .sx-chat-shell--command .sx-message--user {
        max-width: 92%;
        padding-bottom: 8px;
        padding-top: 8px;
    }

    .sx-chat-shell--command .sx-message--user.is-editing {
        max-width: 100%;
    }

    .sx-chat-shell--command .sx-message--user.is-editing .sx-message__content {
        border-radius: var(--border-radius-md, 10px);
        height: auto;
        min-height: 0;
        padding: var(--padding-md, 15px) var(--padding-md, 15px) var(--padding-sm, 10px);
    }

    .sx-user-message-edit {
        min-height: 0;
    }

}

.sx-skill-card {
    align-self: stretch;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-sm, 5px);
    margin: 12px 0 18px 48px;
    max-width: 760px;
    padding: 20px;
    scroll-margin-top: calc(var(--sx-chat-toolbar-height, 38px) + var(--padding-md, 15px));
}

.sx-skill-card header {
    align-items: center;
    border-bottom: 1px solid var(--border-color-light, #444);
    display: flex;
    gap: var(--padding-sm, 10px);
    padding-bottom: 14px;
}

.sx-skill-card header i {
    color: var(--main-color, #2bd180);
}

.sx-skill-card header strong,
.sx-skill-card__body > span {
    font-weight: 500;
    letter-spacing: 0;
}

.sx-skill-card__ready {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
    margin-left: auto;
    white-space: nowrap;
}

.sx-skill-card__ready::before {
    content: '\2022';
    margin-right: 6px;
}

.sx-skill-card > p,
.sx-skill-card__status {
    color: var(--text-muted-color, #aaa);
    margin: 9px 0 0;
}

.sx-skill-card__body {
    margin-top: 16px;
}

.sx-skill-card__body ul {
    margin: 10px 0 0;
}

.sx-skill-card__body dl {
    display: grid;
    gap: 0 var(--padding-md, 15px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.sx-skill-card__field {
    border-top: 1px solid var(--border-color-light, #444);
    min-width: 0;
    padding: 11px 0;
}

.sx-skill-card__group {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    grid-column: 1 / -1;
    letter-spacing: .04em;
    margin-top: var(--padding-sm, 10px);
    padding-top: 4px;
    text-transform: uppercase;
}

.sx-skill-card__group:first-child {
    margin-top: 0;
    padding-top: 0;
}

.sx-skill-card__group + .sx-skill-card__field {
    border-top: 0;
}

.sx-skill-card__field--robot-requirements {
    grid-column: 1 / -1;
}

.sx-skill-card__body dt {
    color: var(--text-muted-color, #aaa);
    font-size: var(--ft-size-small, 12px);
    font-weight: 400;
}

.sx-skill-card__body dd {
    color: var(--text-strong-color, #fff);
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
    padding-top: 3px;
}

.sx-skill-card__footer {
    align-items: center;
    border-top: 1px solid var(--border-color-light, #444);
    display: flex;
    gap: var(--padding-md, 15px);
    justify-content: space-between;
    margin-top: 5px;
    padding-top: 14px;
}

.sx-skill-card__consent {
    color: var(--text-muted-color, #aaa);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.5;
    margin: 0;
    max-width: 430px;
}

.sx-skill-card__submit {
    background: var(--main-color, #2bd180);
    border: 1px solid var(--main-color, #2bd180);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--site-bg, #040404);
    font-weight: 500;
    min-height: 42px;
    padding: 0 18px;
}

.sx-skill-card__submit:hover,
.sx-skill-card__submit:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    border-color: var(--main-color-hover, #3dffb0);
}

.sx-skill-card__submit:disabled {
    cursor: wait;
    opacity: .55;
}

@media (max-width: 520px) {
    .sx-skill-card {
        margin-left: 0;
        padding: 17px;
        width: 100%;
    }

    .sx-skill-card__body dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .sx-skill-card__field {
        border-top: 1px solid var(--border-color-light, #444);
    }

    .sx-skill-card__group + .sx-skill-card__field {
        border-top: 0;
    }

    .sx-skill-card__field--robot-requirements {
        grid-column: auto;
    }

    .sx-skill-card__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .sx-skill-card__submit {
        width: 100%;
    }

}

/* Keep the premium state layer after the legacy command-chat rules. */
.sx-chat-shell--command {
    grid-template-rows: minmax(0, 1fr) auto;
    height: min(840px, calc(100dvh - 130px));
    min-height: 700px;
}

.sx-chat-shell--command .sx-composer {
    background: var(--secondary-bg, #1d1d1d);
    border: 0;
    border-radius: 30px;
    box-shadow: none;
    grid-template-columns: minmax(0, 1fr);
    isolation: isolate;
    min-height: 58px;
    position: relative;
    transition: none;
}

.sx-composer-limit {
    align-items: center;
    background: color-mix(in srgb, #ff6b6b 14%, var(--secondary-bg, #1d1d1d));
    border-bottom: 1px solid color-mix(in srgb, #ff6b6b 42%, transparent);
    border-radius: 30px 30px var(--border-radius-sm, 5px) var(--border-radius-sm, 5px);
    display: flex;
    gap: var(--padding-sm, 10px);
    left: 0;
    min-height: 34px;
    padding: 5px 14px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 4;
}

.sx-composer-limit__copy {
    align-items: center;
    display: flex;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
}

.sx-composer-limit__copy strong {
    color: #ff8b8b;
    flex: 0 0 auto;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
}

.sx-composer-limit__copy small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-chat-shell--command .sx-composer.is-usage-exhausted {
    min-height: 94px;
}

.sx-chat-shell--command .sx-composer.is-usage-exhausted > textarea {
    min-height: 94px;
    opacity: .68;
    padding-top: 45px;
}

.sx-chat-shell--command .sx-composer.is-usage-exhausted > textarea.has-rotating-prompt::placeholder {
    color: var(--text-color, #b2b2b2);
    opacity: .72;
}

.sx-composer.is-usage-exhausted > .sx-composer__rotating-prompt,
.sx-composer.is-usage-exhausted > .sx-composer__scrollbar {
    pointer-events: none;
    visibility: hidden;
}

.sx-composer.is-usage-exhausted > .sx-dictation-panel,
.sx-composer.is-usage-exhausted > .sx-dictation-status {
    display: none !important;
}

.sx-planner [data-sx-prompt]:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.sx-planner.is-usage-exhausted [data-sx-prompt] {
    cursor: not-allowed;
    opacity: .45;
    pointer-events: none;
}

.sx-planner.is-usage-exhausted .sx-error-state__action:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.sx-chat-shell--command .sx-composer::before {
    background: linear-gradient(
        90deg,
        transparent,
        color-mix(in srgb, var(--main-color, #2bd180) 18%, transparent),
        transparent
    );
    border-radius: inherit;
    content: '';
    inset: 0 auto 0 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(-120%);
    width: 55%;
    z-index: 0;
}

.sx-chat-shell--command .sx-composer.is-sending::before {
    animation: sx-composer-send-sweep 1.2s linear infinite;
    opacity: 1;
}

.sx-chat-shell--command .sx-composer textarea,
.sx-chat-shell--command .sx-composer__footer {
    position: relative;
    z-index: 1;
}

.sx-composer:not(.has-text) > .sx-composer__scrollbar {
    display: none;
}

.sx-chat-shell--command .sx-composer:focus-within {
    border: 0;
    box-shadow: none;
}

.sx-chat-shell--command .sx-composer textarea {
    color: var(--text-strong-color, #fff);
    grid-column: 1 / -1;
    max-height: 280px;
    min-height: 56px;
    overflow-x: hidden;
    padding: 17px 68px 13px 20px;
    scrollbar-width: none;
}

.sx-chat-shell--command .sx-composer textarea::-webkit-scrollbar {
    display: none;
}

.sx-composer__scrollbar {
    bottom: 58px;
    pointer-events: none;
    position: absolute;
    right: 4px;
    top: 14px;
    width: 4px;
    z-index: 3;
}

.sx-composer__scrollbar > span {
    background: rgba(43, 209, 128, .68);
    border-radius: 999px;
    display: block;
    min-height: 24px;
    width: 100%;
}

.sx-chat-shell--command .sx-composer textarea::placeholder {
    color: var(--text-color, #b2b2b2);
    opacity: .78;
}

.sx-chat-shell--command .sx-composer textarea.has-rotating-prompt::placeholder {
    color: transparent;
}

.sx-composer__rotating-prompt {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-medium, 14px);
    left: 20px;
    line-height: 1.5;
    opacity: .78;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 68px;
    text-overflow: ellipsis;
    top: 17px;
    white-space: nowrap;
    z-index: 1;
}

.sx-chat-shell--command .sx-composer__footer {
    align-self: end;
    border-top: 0;
    display: flex;
    gap: 7px;
    bottom: 8px;
    grid-column: auto;
    min-height: 42px;
    padding: 0;
    position: absolute;
    right: 10px;
    z-index: 2;
}

.sx-chat-shell--command .sx-composer__count {
    display: none;
}

.sx-chat-shell--command .sx-composer__send {
    align-self: center;
    border-radius: 50%;
    height: 42px;
    min-height: 42px;
    padding: 0;
    width: 42px;
}

.sx-chat-shell--command .sx-composer__send:not(:disabled) {
    box-shadow: 0 0 20px rgba(43, 209, 128, .34);
}

.sx-chat-shell--command .sx-composer__send:not(:disabled):hover,
.sx-chat-shell--command .sx-composer__send:not(:disabled):focus-visible {
    box-shadow: 0 0 26px rgba(43, 209, 128, .48);
}

.sx-chat-shell--command .sx-chat__privacy {
    color: var(--text-color, #b2b2b2);
}

.sx-chat__accuracy-notice {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.4;
    margin: 7px auto 0;
    max-width: 62ch;
    opacity: .78;
    text-align: center;
}

.ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text {
    border-radius: calc(var(--border-radius-lg, 20px) + var(--padding-xs, 5px));
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    min-height: 116px;
}

.ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text textarea {
    grid-column: 1;
    min-height: 58px;
    padding: 18px var(--padding-lg, 20px);
}

.ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text .sx-composer__footer {
    align-items: center;
    background: linear-gradient(
        180deg,
        transparent,
        var(--secondary-bg, #1d1d1d) 38%
    );
    bottom: auto;
    grid-column: 1;
    grid-row: 2;
    justify-content: flex-end;
    margin-top: -12px;
    min-height: 58px;
    padding: 16px var(--padding-md, 12px) var(--padding-sm, 10px);
    position: relative;
    right: auto;
    width: 100%;
}

.ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text .sx-composer__scrollbar {
    bottom: 62px;
    position: absolute;
    right: 4px;
    top: 18px;
}

@media (max-width: 768px) {
    .sx-chat-shell--command {
        height: calc(100dvh - 90px);
        min-height: 620px;
    }
}

@media (max-width: 520px) {
    .sx-chat-shell--command {
        min-height: 580px;
    }

    .sx-chat-shell--command .sx-composer {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 54px;
    }

    .sx-chat-shell--command .sx-composer textarea {
        height: 54px;
        min-height: 54px;
        padding-left: var(--padding-md, 15px);
    }

    .sx-composer-limit {
        min-height: 32px;
        padding: 4px var(--padding-sm, 10px);
    }

    .sx-chat-shell--command .sx-composer.is-usage-exhausted,
    .sx-chat-shell--command .sx-composer.is-usage-exhausted > textarea {
        height: 88px;
        min-height: 88px;
    }

    .sx-chat-shell--command .sx-composer.is-usage-exhausted > textarea {
        padding-top: 40px;
    }

    .sx-composer__rotating-prompt {
        left: var(--padding-md, 15px);
        right: 60px;
    }

    .sx-chat-shell--command .sx-composer__footer {
        bottom: 1px;
        grid-column: 2;
        min-height: 52px;
        padding-left: 0;
    }

    .sx-chat-shell--command .sx-composer__send {
        height: 38px;
        min-height: 38px;
        width: 38px;
    }

    .ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text {
        border-radius: var(--border-radius-lg, 20px);
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        min-height: 104px;
    }

    .ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text textarea {
        grid-column: 1;
        min-height: 54px;
        padding: var(--padding-md, 15px) var(--padding-lg, 20px) var(--padding-sm, 10px);
    }

    .ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text .sx-composer__footer {
        align-items: center;
        bottom: auto;
        grid-column: 1;
        grid-row: 2;
        justify-content: flex-end;
        min-height: 50px;
        margin-top: -10px;
        padding: 12px var(--padding-sm, 10px) var(--padding-sm, 10px);
        position: relative;
        right: auto;
        width: 100%;
    }

    .ai-event-planner-page .sx-chat-shell--command .sx-composer.has-text .sx-composer__scrollbar {
        bottom: 60px;
        position: absolute;
        right: 4px;
        top: var(--padding-md, 15px);
    }
}

/* Keep conversation history as a compact title-only sidebar list. */
.sx-chat-sidebar .sx-session-list {
    display: flex;
    flex-direction: column;
    overflow-x: visible;
    overflow-y: auto;
}

.sx-chat-sidebar .sx-session-row {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    min-width: 0;
    position: relative;
}

.sx-chat-sidebar .sx-session-row .sx-session-item {
    align-items: center;
    background: transparent;
    border: 0;
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
    min-height: 34px;
    min-width: 0;
    padding: 8px 10px;
    width: 100%;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    overflow-x: visible;
    overflow-y: auto;
    padding: 0 4px 0 0;
    scrollbar-color: color-mix(in srgb, var(--text-color, #b2b2b2) 34%, transparent) transparent;
    scrollbar-width: thin;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-list::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-list::-webkit-scrollbar-track,
.ai-event-planner-page .sx-chat-sidebar .sx-session-list::-webkit-scrollbar-corner {
    background: transparent;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-list::-webkit-scrollbar-thumb {
    background-color: color-mix(in srgb, var(--text-color, #b2b2b2) 34%, transparent);
    border-radius: var(--border-radius-lg, 20px);
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-list::-webkit-scrollbar-thumb:hover {
    background-color: color-mix(in srgb, var(--text-color, #b2b2b2) 52%, transparent);
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-list::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-row {
    align-items: center;
    background: transparent;
    border-radius: var(--border-radius-sm, 5px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    min-width: 0;
    position: relative;
    transition: background-color var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 100%;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-item {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
    min-height: 34px;
    padding: 8px 10px;
    text-align: left;
    text-transform: none;
    width: 100%;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-row:hover,
.ai-event-planner-page .sx-chat-sidebar .sx-session-row:focus-within {
    background: var(--secondary-bg, #1d1d1d);
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-row.is-active {
    background: var(--panel-bg, #262626);
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-row .sx-session-item:hover,
.ai-event-planner-page .sx-chat-sidebar .sx-session-row .sx-session-item:focus-visible,
.ai-event-planner-page .sx-chat-sidebar .sx-session-row.is-active .sx-session-item,
.ai-event-planner-page .sx-chat-sidebar .sx-session-row.is-active .sx-session-menu-toggle {
    background: transparent;
}

.sx-session-item__pin {
    color: var(--text-color, #b2b2b2);
    flex: 0 0 auto;
    font-size: var(--ft-size-small, 12px);
    pointer-events: none;
    position: absolute;
    right: 38px;
    transition:
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        opacity var(--sx-motion-fast) var(--sx-motion-ease-out);
}

.sx-chat-sidebar .sx-session-row.is-pinned .sx-session-item {
    padding-right: 38px;
}

.sx-session-menu-toggle {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    padding: 0;
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        opacity var(--sx-motion-fast) var(--sx-motion-ease-out);
    width: 32px;
}

@media (hover: hover) and (pointer: fine) {
    .sx-chat-sidebar .sx-session-item__pin,
    .sx-chat-sidebar .sx-session-menu-toggle {
        opacity: 0;
    }

    .sx-chat-sidebar .sx-session-menu-toggle {
        pointer-events: none;
    }

    .sx-chat-sidebar .sx-session-row:hover .sx-session-item__pin,
    .sx-chat-sidebar .sx-session-row:focus-within .sx-session-item__pin,
    .sx-chat-sidebar .sx-session-row:hover .sx-session-menu-toggle,
    .sx-chat-sidebar .sx-session-row:focus-within .sx-session-menu-toggle,
    .sx-chat-sidebar .sx-session-menu-toggle[aria-expanded="true"] {
        opacity: 1;
    }

    .sx-chat-sidebar .sx-session-row:hover .sx-session-item__pin,
    .sx-chat-sidebar .sx-session-row:focus-within .sx-session-item__pin {
        color: var(--text-strong-color, #fff);
    }

    .sx-chat-sidebar .sx-session-row:hover .sx-session-menu-toggle,
    .sx-chat-sidebar .sx-session-row:focus-within .sx-session-menu-toggle,
    .sx-chat-sidebar .sx-session-menu-toggle[aria-expanded="true"] {
        pointer-events: auto;
    }
}

.sx-session-menu-toggle:hover,
.sx-session-menu-toggle:focus-visible,
.sx-session-menu-toggle[aria-expanded="true"] {
    background: var(--panel-bg, #262626);
    color: var(--text-strong-color, #fff);
}

.sx-session-menu {
    background: var(--panel-bg, #262626);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    box-shadow: var(--box-shadow, 0 10px 30px rgba(0, 0, 0, .25));
    display: grid;
    max-width: calc(100vw - 24px);
    min-width: 184px;
    padding: 5px;
    position: absolute;
    right: 0;
    top: calc(100% - 2px);
    z-index: 20;
}

.sx-session-menu.is-portal {
    position: fixed;
    right: auto;
    z-index: 1000002;
}

.sx-session-menu__action {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    font-weight: 400;
    gap: 8px;
    grid-template-columns: 18px minmax(0, 1fr);
    min-height: 34px;
    padding: 7px 8px;
    text-align: left;
    width: 100%;
}

.sx-session-menu__action > span {
    font-weight: 400;
}

.sx-session-menu__icon {
    display: block;
    height: 16px;
    width: 16px;
}

.sx-session-menu__action:hover,
.sx-session-menu__action:focus-visible {
    background: var(--secondary-bg, #1d1d1d);
    color: var(--text-strong-color, #fff);
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: -1px;
}

.sx-session-menu__action--delete {
    color: #ff8b8b;
}

.sx-session-rename {
    display: grid;
    gap: 6px;
    grid-column: 1 / -1;
    padding: 4px;
}

.sx-session-rename input {
    appearance: none;
    background: var(--site-bg, #040404);
    border: 1px solid var(--main-color, #2bd180);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    height: 36px;
    padding: 0 8px;
    width: 100%;
}

.sx-session-rename__actions {
    display: flex;
    gap: 5px;
    justify-content: flex-end;
}

.sx-session-rename__actions button {
    background: transparent;
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    font-size: var(--ft-size-small, 12px);
    min-height: 30px;
    padding: 4px 8px;
}

.sx-session-rename__actions button[type="submit"] {
    border-color: var(--main-color, #2bd180);
    color: var(--main-color, #2bd180);
}

.sx-session-row[aria-busy="true"] {
    opacity: .6;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-item strong {
    color: var(--text-strong-color, #fff);
    display: block;
    flex: 1 1 auto;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 400;
    line-height: 1.4;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat {
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    min-height: 36px;
    padding: 8px 10px;
    text-transform: none;
}

.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat:hover,
.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat:focus-visible {
    background: var(--secondary-bg, #1d1d1d);
}

/* Persistent desktop conversation navigation. Mobile and tablet remain off-canvas. */
.sx-chat-shell--command {
    --sx-collapsed-sidebar-width: 64px;
    --sx-persistent-sidebar-width: 288px;
    transition: padding-left .2s ease;
}

.sx-sidebar-rail {
    display: none;
}

/* Compact SOPHIA-X navigation inspired by familiar workspace sidebars. */
.sx-chat-shell--command.is-authenticated .sx-chat-sidebar.sx-session-panel {
    background: var(--secondary-bg, #1d1d1d);
    gap: 0;
    grid-template-areas:
        "navigation"
        "heading"
        "search"
        "status"
        "sessions"
        "footer";
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
    max-width: 88%;
    padding: 14px 12px 12px;
    width: var(--sx-persistent-sidebar-width);
}

.sx-chat-shell--command.is-authenticated .sx-sidebar-navigation {
    display: grid;
    gap: 2px;
    grid-area: navigation;
    margin-bottom: 18px;
}

.sx-sidebar-navigation__primary {
    align-items: center;
    display: grid;
    gap: 4px;
    grid-template-columns: minmax(0, 1fr) 32px;
}

.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat,
.sx-sidebar-home {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    display: flex;
    font-size: var(--ft-size-medium, 14px);
    font-weight: 400;
    gap: 10px;
    justify-content: flex-start;
    min-height: 36px;
    padding: 8px;
    text-decoration: none;
    width: 100%;
}

.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat i,
.sx-sidebar-home i {
    color: currentColor;
    font-size: 14px;
    text-align: center;
    width: 17px;
}

.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat:hover,
.ai-event-planner-page .sx-chat-sidebar .sx-sidebar-new-chat:focus-visible,
.sx-sidebar-home:hover,
.sx-sidebar-home:focus-visible {
    background: var(--panel-bg, #262626);
    color: var(--text-strong-color, #fff);
    text-decoration: none;
}

.sx-chat-sidebar .sx-sidebar-navigation .sx-session-panel__close {
    background: transparent;
    border: 0;
    color: var(--text-color, #b2b2b2);
    min-height: 32px;
    padding: 0;
    width: 32px;
}

.sx-chat-sidebar .sx-sidebar-navigation .sx-session-panel__close:hover,
.sx-chat-sidebar .sx-sidebar-navigation .sx-session-panel__close:focus-visible {
    background: var(--panel-bg, #262626);
    border: 0;
    color: var(--main-color-hover, #3dffb0);
}

.sx-chat-shell--command.is-authenticated .sx-session-panel__heading {
    align-items: center;
    display: flex;
    grid-area: heading;
    justify-content: space-between;
    margin-bottom: 6px;
}

.sx-session-panel__toggle,
.sx-session-panel__search-toggle {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    min-height: 32px;
}

.sx-session-panel__toggle {
    gap: 8px;
    padding: 0 8px;
}

.sx-session-panel__toggle i {
    font-size: 9px;
    transition: transform .18s ease;
}

.sx-session-panel__search-toggle {
    justify-content: center;
    padding: 0;
    width: 32px;
}

.sx-session-panel__toggle:hover,
.sx-session-panel__toggle:focus-visible,
.sx-session-panel__search-toggle:hover,
.sx-session-panel__search-toggle:focus-visible,
.sx-session-panel__search-toggle.is-active {
    background: var(--panel-bg, #262626);
    color: var(--main-color-hover, #3dffb0);
}

.sx-chat-sidebar.is-chat-list-collapsed .sx-session-panel__toggle i {
    transform: rotate(-90deg);
}

.sx-chat-shell--command.is-authenticated .sx-session-search {
    grid-area: search;
    margin: 0 4px 8px;
}

.sx-session-search input {
    appearance: none;
    background: #111;
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    font-family: inherit;
    font-size: var(--ft-size-small, 12px);
    height: 36px;
    padding: 0 10px;
    width: 100%;
}

.sx-session-search input:focus {
    border-color: var(--main-color, #2bd180);
    box-shadow: 0 0 0 1px var(--main-color, #2bd180);
    outline: 0;
}

.sx-session-search input::placeholder {
    color: var(--text-color, #b2b2b2);
}

.sx-chat-shell--command.is-authenticated .sx-chat-sidebar .sx-session-panel__status {
    grid-area: status;
    margin: 2px 8px 8px;
}

.sx-chat-shell--command.is-authenticated .sx-chat-sidebar .sx-session-list {
    grid-area: sessions;
}

.sx-chat-shell--command.is-authenticated .sx-chat-sidebar__footer {
    grid-area: footer;
    margin-top: 10px;
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-item strong {
    color: var(--text-color, #b2b2b2);
}

.ai-event-planner-page .sx-chat-sidebar .sx-session-item:hover strong,
.ai-event-planner-page .sx-chat-sidebar .sx-session-item:focus-visible strong,
.ai-event-planner-page .sx-chat-sidebar .sx-session-row.is-active .sx-session-item strong {
    color: var(--text-strong-color, #fff);
}

@media (min-width: 1025px) {
    .sx-toolbar-new-chat {
        display: none;
    }

    .sx-planner:not(.sx-planner--floating) .sx-chat-shell--command.is-sidebar-open {
        padding-left: var(--sx-persistent-sidebar-width);
    }

    .sx-planner:not(.sx-planner--floating) .sx-chat-shell--command:not(.is-sidebar-open) {
        padding-left: var(--sx-collapsed-sidebar-width);
    }

    .sx-planner:not(.sx-planner--floating) .sx-chat-shell--command.is-authenticated.is-sidebar-open {
        padding-left: var(--sx-persistent-sidebar-width);
    }

    .sx-sidebar-rail {
        align-items: center;
        background: transparent !important;
        border-right: 1px solid var(--border-color-light, #444);
        display: flex;
        flex-direction: column;
        gap: 4px;
        inset: 0 auto 0 0;
        padding: 14px 0;
        position: absolute;
        width: var(--sx-collapsed-sidebar-width);
        z-index: 24;
    }

    .sx-sidebar-rail__action {
        align-items: center;
        appearance: none;
        background: transparent;
        border: 0;
        border-radius: var(--border-radius-sm, 5px);
        color: var(--text-strong-color, #fff);
        cursor: pointer;
        display: inline-flex;
        height: 40px;
        justify-content: center;
        padding: 0;
        text-decoration: none;
        width: 40px;
    }

    .sx-sidebar-rail__action:hover,
    .sx-sidebar-rail__action:focus-visible {
        background: var(--panel-bg, #262626);
        color: var(--main-color-hover, #3dffb0);
    }

    .sx-sidebar-rail__action:hover {
        outline: 0;
    }

    .sx-sidebar-rail__action:focus-visible {
        outline: 1px solid var(--main-color, #2bd180);
        outline-offset: -1px;
    }

    .sx-sidebar-rail__action svg {
        fill: none;
        height: 20px;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
        width: 20px;
    }

    .sx-sidebar-rail__brand {
        margin-bottom: 6px;
        position: relative;
    }

    .sx-sidebar-rail__brand img {
        display: block;
        height: 28px;
        object-fit: contain;
        width: 28px;
    }

    .sx-sidebar-rail__brand .sx-sidebar-rail__open-icon {
        display: none;
    }

    .sx-sidebar-rail__brand:hover img,
    .sx-sidebar-rail__brand:focus-visible img {
        display: none;
    }

    .sx-sidebar-rail__brand:hover .sx-sidebar-rail__open-icon,
    .sx-sidebar-rail__brand:focus-visible .sx-sidebar-rail__open-icon {
        display: block;
    }

    .sx-sidebar-rail__tooltip {
        background: var(--secondary-bg, #1d1d1d);
        border: 1px solid var(--border-color-light, #444);
        border-radius: var(--border-radius-sm, 5px);
        color: var(--text-strong-color, #fff);
        font-size: var(--ft-size-small, 12px);
        left: calc(100% + var(--padding-xs, 5px));
        opacity: 0;
        padding: var(--padding-xs, 5px) var(--padding-sm, 10px);
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: opacity var(--sx-motion-fast) var(--sx-motion-ease-out);
        white-space: nowrap;
        z-index: 2;
    }

    .sx-sidebar-rail__brand:hover .sx-sidebar-rail__tooltip,
    .sx-sidebar-rail__brand:focus-visible .sx-sidebar-rail__tooltip {
        opacity: 1;
    }

    .sx-sidebar-rail__profile {
        margin-top: auto;
    }

    .sx-sidebar-rail__profile-avatar {
        align-items: center;
        background: var(--secondary-bg, #1d1d1d);
        border: 1px solid var(--border-color-accent, #2bd1803d);
        border-radius: 50%;
        color: var(--main-color-hover, #3dffb0);
        display: inline-flex;
        font-size: var(--ft-size-small, 12px);
        height: 34px;
        justify-content: center;
        overflow: hidden;
        width: 34px;
    }

    .sx-sidebar-rail__profile-avatar img {
        display: block;
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    .sx-chat-shell--command .sx-chat-sidebar.sx-session-panel {
        max-width: var(--sx-persistent-sidebar-width);
        width: var(--sx-persistent-sidebar-width);
    }

    .sx-chat-shell--command .sx-chat-sidebar__scrim {
        display: none;
    }

    .sx-planner:not(.sx-planner--floating) .sx-chat-shell--command .sx-sidebar-toggle,
    .sx-chat-shell--command.is-sidebar-open .sx-sidebar-toggle {
        display: none;
    }

    .sx-chat-shell--command.is-authenticated .sx-chat-toolbar,
    .sx-chat-shell--command.is-authenticated:not(.is-conversation-active):not(.is-login-required) .sx-chat-toolbar {
        justify-content: flex-end;
    }
}

.sx-chat-shell--command .sx-chat-sidebar .sx-session-item:hover,
.sx-chat-shell--command .sx-chat-sidebar .sx-session-item:focus-visible {
    background: transparent;
    color: var(--text-strong-color, #fff);
}

.sx-chat-shell--command .sx-chat-sidebar .sx-session-row.is-active .sx-session-item {
    background: transparent;
    color: var(--text-strong-color, #fff);
}

.sx-chat-shell--command .sx-chat-sidebar .sx-session-item:hover span,
.sx-chat-shell--command .sx-chat-sidebar .sx-session-item:focus-visible span,
.sx-chat-shell--command .sx-chat-sidebar .sx-session-row.is-active .sx-session-item span {
    color: var(--text-strong-color, #fff);
}

.sx-customer-profile {
    align-items: center;
    appearance: none;
    background: #131a16;
    border: 1px solid rgba(43, 209, 128, .3);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    font-family: inherit;
    gap: var(--padding-sm, 10px);
    grid-template-columns: 36px minmax(0, 1fr) auto;
    min-height: 62px;
    padding: 9px 10px;
    text-align: left;
    text-decoration: none;
    width: 100%;
}

.sx-customer-profile:hover,
.sx-customer-profile:focus-visible {
    background: #18271f;
    border-color: var(--main-color, #2bd180);
    color: var(--text-strong-color, #fff);
    text-decoration: none;
}

.sx-customer-profile__avatar {
    align-items: center;
    background: #102219;
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: 50%;
    color: var(--main-color-hover, #3dffb0);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    height: 40px;
    justify-content: center;
    letter-spacing: .04em;
    width: 40px;
}

.sx-customer-profile__avatar img {
    border-radius: inherit;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sx-customer-profile__copy {
    display: block;
    min-width: 0;
}

.sx-customer-profile__copy strong,
.sx-customer-profile__copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-customer-profile__copy strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
}

.sx-customer-profile__copy span {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    margin-top: 2px;
}

.sx-customer-profile__arrow {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    transition: transform .18s ease;
}

.sx-customer-profile:hover .sx-customer-profile__arrow,
.sx-customer-profile:focus-visible .sx-customer-profile__arrow {
    color: var(--main-color-hover, #3dffb0);
}

.sx-customer-account {
    position: relative;
}

.sx-customer-account__menu {
    background: #151815;
    border: 1px solid #384039;
    border-radius: var(--border-radius-sm, 5px);
    bottom: calc(100% + 8px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .52);
    left: 0;
    padding: 8px;
    position: absolute;
    right: 0;
    z-index: 40;
}

.sx-customer-account__menu a,
.sx-customer-account__menu button {
    align-items: center;
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    display: flex;
    font-size: var(--ft-size-medium, 14px);
    gap: var(--padding-sm, 10px);
    min-height: 42px;
    padding: 9px 10px;
    text-decoration: none;
}

.sx-customer-account__menu button {
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    width: 100%;
}

.sx-customer-account__menu a i,
.sx-customer-account__menu button i {
    color: var(--main-color, #2bd180);
    text-align: center;
    width: 18px;
}

.sx-customer-account__menu a:hover,
.sx-customer-account__menu a:focus-visible,
.sx-customer-account__menu button:hover,
.sx-customer-account__menu button:focus-visible {
    background: #222923;
    color: var(--text-strong-color, #fff);
    text-decoration: none;
}

.sx-customer-account__menu button:disabled {
    cursor: wait;
    opacity: .65;
}

.sx-customer-account__status {
    background: rgba(43, 209, 128, .08);
    border-left: 2px solid var(--main-color, #2bd180);
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.4;
    margin: 4px 2px 8px;
    padding: 7px 9px;
}

.sx-customer-account__status.is-error {
    background: rgba(255, 107, 107, .08);
    border-left-color: #ff6b6b;
    color: #ff6b6b;
}

.sx-customer-account__usage {
    background: color-mix(in srgb, var(--secondary-bg, #1d1d1d) 88%, var(--site-bg, #040404));
    border: 1px solid color-mix(in srgb, var(--border-color-light, #444) 78%, transparent);
    border-radius: var(--border-radius-md, 10px);
    display: grid;
    gap: var(--padding-sm, 10px);
    margin-bottom: var(--padding-sm, 10px);
    padding: 12px;
}

.sx-customer-account__usage.is-exhausted {
    background: color-mix(in srgb, #ff6b6b 8%, var(--secondary-bg, #1d1d1d));
    border-color: color-mix(in srgb, #ff6b6b 42%, transparent);
}

.sx-customer-account__usage.is-exhausted .sx-customer-account__usage-track > span {
    background: #ff6b6b;
}

.sx-customer-account__language {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 2px 8px;
}

.sx-customer-account__language > span {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-customer-account__language > div {
    background: #0f1913;
    border: 1px solid #374037;
    border-radius: var(--border-radius-sm, 5px);
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
}

.sx-customer-account__language button {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    min-height: 30px;
    padding: 0 9px;
}

.sx-customer-account__language button.is-active {
    background: var(--main-color, #2bd180);
    color: #03130b;
}

.sx-customer-account__usage > div {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
}

.sx-customer-account__usage span,
.sx-customer-account__usage small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-customer-account__usage strong {
    align-items: center;
    background: var(--panel-bg, #262626);
    border-radius: var(--border-radius-lg, 20px);
    color: var(--text-strong-color, #fff);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
    gap: 4px;
    padding: 3px 8px;
}

.sx-customer-account__usage .sx-customer-account__usage-separator {
    color: var(--text-color, #b2b2b2);
    opacity: .8;
}

.sx-customer-account__usage-track {
    background: color-mix(in srgb, var(--text-color, #b2b2b2) 18%, transparent);
    border-radius: 999px;
    display: block;
    height: 5px;
    overflow: hidden;
}

.sx-customer-account__usage-track > span {
    background: var(--main-color, #2bd180);
    display: block;
    height: 100%;
    min-width: 2px;
}

.sx-customer-account__usage .sx-customer-account__usage-reset {
    color: var(--text-strong-color, #fff);
    line-height: 1.45;
    padding-top: 2px;
}

.sx-customer-account__menu .sx-customer-account__usage-contact {
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-md, 10px);
    color: var(--main-color, #2bd180);
    justify-content: center;
    min-height: 38px;
    padding: 6px var(--padding-sm, 10px);
}

.sx-customer-account__usage-contact .sx-iconify-icon {
    height: 16px;
    width: 16px;
}

.sx-customer-account__usage-contact > span {
    color: inherit;
    font-weight: 500;
}

.sx-customer-account__photo {
    align-items: center;
    display: grid !important;
    gap: 9px;
    grid-template-columns: 20px minmax(0, 1fr) 20px;
    width: 100%;
}

.sx-customer-account__photo-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sx-customer-account__photo-copy strong,
.sx-customer-account__photo-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-customer-account__photo-copy strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
}

.sx-customer-account__photo-copy small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
}

.sx-customer-account__photo > i:last-child {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    width: auto;
}

.sx-customer-account__logout {
    border-top: 1px solid var(--border-color-light, #444);
    margin-top: 4px;
}

.sx-customer-profile.is-open .sx-customer-profile__arrow {
    color: var(--main-color-hover, #3dffb0);
    transform: rotate(180deg);
}

/* Shared contextual SOPHIA-X entry point. The full planner remains the deep-work surface. */
.sx-floating-assistant {
    position: relative;
    z-index: 1000000;
}

.sx-floating-assistant [hidden] {
    display: none !important;
}

.sx-floating-launcher {
    align-items: center;
    background: color-mix(in srgb, var(--panel-bg, #262626) 88%, var(--site-bg, #040404));
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-md, 10px);
    bottom: max(22px, env(safe-area-inset-bottom));
    box-shadow: 0 12px 28px color-mix(in srgb, var(--site-bg, #040404) 74%, transparent);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    font-family: inherit;
    gap: var(--padding-sm, 10px);
    grid-template-columns: 44px minmax(0, 1fr) 30px;
    min-height: 64px;
    min-width: 220px;
    padding: 7px 9px 7px 7px;
    position: fixed;
    right: max(22px, env(safe-area-inset-right));
    text-align: left;
    z-index: 999;
}

.sx-floating-launcher:hover,
.sx-floating-launcher:focus-visible,
.sx-floating-assistant.is-open .sx-floating-launcher {
    background: color-mix(in srgb, var(--panel-bg, #262626) 78%, var(--main-color, #2bd180));
    border-color: var(--main-color, #2bd180);
    box-shadow: 0 14px 32px color-mix(in srgb, var(--site-bg, #040404) 82%, transparent);
    color: var(--text-strong-color, #fff);
}

.sx-floating-launcher__icon {
    align-items: center;
    background: var(--site-bg, #040404);
    border: 0;
    border-radius: var(--border-radius-sm, 5px);
    box-sizing: border-box;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    padding: var(--padding-xs, 5px);
    position: relative;
    width: 44px;
}

.sx-floating-launcher__icon img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.sx-floating-launcher__copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sx-floating-launcher__copy strong,
.sx-floating-launcher__copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-floating-launcher__copy strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 600;
    line-height: 1.2;
}

.sx-floating-launcher__copy small {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.3;
}

.sx-floating-launcher__label-stack,
.sx-floating-launcher__label-sizer {
    display: grid;
    min-width: 0;
}

.sx-floating-launcher__label-stack > *,
.sx-floating-launcher__label-sizer > * {
    grid-area: 1 / 1;
}

.sx-floating-launcher__label-sizer {
    visibility: hidden;
}

.sx-floating-launcher__open {
    align-items: center;
    border: 1px solid var(--border-color-light, #444);
    border-radius: 50%;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.sx-floating-launcher__open svg {
    fill: none;
    height: 15px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 15px;
}

.sx-floating-scrim {
    background: rgba(0, 0, 0, .68);
    inset: 0;
    position: fixed;
    z-index: 1000;
}

.sx-floating-drawer {
    background: var(--site-bg, #040404);
    border-left: 1px solid var(--border-color-light, #444);
    box-shadow: -24px 0 54px rgba(0, 0, 0, .56);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: var(--sx-visual-viewport-height, 100dvh);
    max-width: 100%;
    position: fixed;
    right: 0;
    top: var(--sx-visual-viewport-offset, 0);
    transform: translateX(100%);
    transition: transform .22s ease;
    width: 420px;
    z-index: 1001;
}

.sx-floating-assistant.is-open .sx-floating-drawer {
    transform: translateX(0);
}

.sx-floating-drawer__header {
    align-items: center;
    background: var(--site-bg, #040404);
    border-bottom: 1px solid var(--border-color-light, #444);
    display: grid;
    gap: var(--padding-sm, 10px);
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 66px;
    padding: var(--padding-sm, 10px) var(--padding-md, 15px);
}

.sx-floating-drawer__header > img {
    background: color-mix(in srgb, var(--main-color, #2bd180) 10%, var(--secondary-bg, #1d1d1d));
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: 50%;
    box-sizing: border-box;
    height: 42px;
    object-fit: contain;
    padding: var(--padding-xs, 5px);
    width: 42px;
}

.sx-floating-drawer__header > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sx-floating-drawer__header strong,
.sx-floating-drawer__header small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-floating-drawer__header strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-large, 16px);
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.2;
}

.sx-floating-drawer__header small {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    display: flex;
    gap: var(--padding-xs, 5px);
    line-height: 1.3;
    margin-top: 0;
}

.sx-floating-drawer__header small i {
    background: var(--main-color, #2bd180);
    border-radius: 50%;
    display: inline-block;
    height: 6px;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color, #2bd180) 12%, transparent);
    flex: 0 0 auto;
    width: 6px;
}

.sx-floating-drawer__actions {
    align-items: center;
    display: inline-flex;
    gap: 4px;
}

.sx-floating-drawer__action {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    width: 38px;
}

.sx-floating-drawer__action:hover,
.sx-floating-drawer__action:focus-visible {
    background: var(--secondary-bg, #1d1d1d);
    color: var(--main-color-hover, #3dffb0);
}

.sx-floating-drawer__action:disabled {
    cursor: default;
    opacity: .45;
}

.sx-floating-drawer__action svg {
    fill: none;
    height: 19px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 19px;
}

.sx-floating-drawer__close svg {
    height: 20px;
    stroke-width: 2;
    width: 20px;
}

.sx-floating-drawer__content {
    min-height: 0;
    overflow: hidden;
}

.sx-floating-loading,
.sx-floating-error {
    color: var(--text-color, #b2b2b2);
    margin: 0;
    padding: var(--padding-lg, 20px);
}

.sx-floating-loading {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    justify-content: center;
    text-align: center;
}

.sx-floating-error button {
    background: transparent;
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--main-color, #2bd180);
    cursor: pointer;
    display: block;
    margin-top: var(--padding-md, 15px);
    min-height: 38px;
    padding: 0 var(--padding-md, 15px);
}

.sx-planner--floating,
.sx-planner--floating .sx-chat-shell--command {
    height: 100%;
    max-width: none;
    min-height: 0;
}

.sx-planner--floating .sx-chat-shell--command {
    grid-template-rows: minmax(0, 1fr) auto;
}

.sx-planner--floating .sx-chat-toolbar {
    display: none !important;
}

.sx-planner--floating .sx-chat-shell--command .sx-chat-sidebar.sx-session-panel {
    max-width: 100%;
    width: 100%;
}

.sx-planner--floating .sx-chat-sidebar .sx-session-list {
    align-items: stretch;
}

.sx-planner--floating .sx-chat-sidebar .sx-session-item,
.sx-planner--floating .sx-chat-sidebar .sx-session-item strong {
    justify-content: flex-start;
    text-align: left;
    width: 100%;
}

@media (min-width: 1025px) {
    .sx-planner--floating .sx-chat-shell--command.is-sidebar-open {
        padding-left: 0;
    }

    .sx-planner--floating .sx-chat-shell--command.is-sidebar-open .sx-chat-sidebar__scrim {
        display: none;
    }
}

.sx-planner--floating .sx-chat-main {
    background: #070807;
    padding: 16px;
}

.sx-planner--floating .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-main {
    justify-content: flex-start;
    overflow-y: auto;
    padding: 24px 16px 42px;
}

.sx-planner--floating .sx-chat-shell--command:not(.is-login-required) .sx-chat-footer {
    background: #070807;
    border-top: none;
    padding: 16px;
}

.sx-planner--floating .sx-floating-full-chat {
    align-items: center;
    color: var(--text-color, #b2b2b2);
    display: flex;
    font-size: var(--ft-size-small, 12px);
    gap: 8px;
    justify-content: center;
    margin: var(--padding-sm, 10px) auto 0;
    text-decoration: none;
    width: 100%;
}

.sx-planner--floating .sx-floating-full-chat svg {
    display: block;
    height: 16px;
    width: 16px;
}

.sx-planner--floating .sx-floating-full-chat:hover,
.sx-planner--floating .sx-floating-full-chat:focus-visible {
    color: var(--main-color-hover, #3dffb0);
    outline: none;
    text-decoration: none;
}

.sx-planner--floating .sx-floating-full-chat:focus-visible {
    outline: 2px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

.sx-planner--floating .sx-chat-shell--command .sx-message--user.is-editing {
    max-width: 100%;
    width: 100%;
}

.sx-planner--floating .sx-chat-shell--command .sx-message--user.is-editing .sx-message__content {
    border-radius: var(--border-radius-md, 10px);
    height: auto;
    min-height: 0;
    padding: var(--padding-md, 15px) var(--padding-md, 15px) var(--padding-sm, 10px);
}

.sx-planner--floating .sx-user-message-edit {
    min-height: 0;
}

.sx-planner--floating .sx-composer {
    border: 0;
    border-radius: 24px;
    box-shadow: none;
    margin-top: 0;
    max-width: none;
    min-height: 58px;
}

.sx-planner--floating .sx-composer:focus-within {
    border: 0;
    box-shadow: none;
}

.sx-planner--floating .sx-composer.has-text {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    min-height: 110px;
}

.sx-planner--floating .sx-composer.has-text textarea {
    grid-column: 1;
    max-height: min(220px, 32dvh);
    min-height: 58px;
    padding:
        var(--padding-md, 12px)
        calc(var(--padding-sm, 10px) + var(--padding-xs, 5px));
}

.sx-planner--floating .sx-composer.has-text .sx-composer__footer {
    align-items: center;
    background: linear-gradient(
        180deg,
        transparent,
        var(--secondary-bg, #1d1d1d) 38%
    );
    bottom: auto;
    grid-column: 1;
    grid-row: 2;
    justify-content: flex-end;
    margin-top: calc(var(--padding-sm, 10px) * -1);
    min-height: 54px;
    padding: var(--padding-md, 12px) var(--padding-sm, 10px) 8px;
    position: relative;
    right: auto;
    width: 100%;
}

.sx-planner--floating .sx-composer.has-text .sx-composer__scrollbar {
    bottom: 58px;
    right: 4px;
    top: var(--padding-md, 15px);
}

.sx-chat-welcome--floating {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    display: block;
    margin: 0;
    min-height: 0;
    padding: 0;
    text-align: center;
}

.sx-planner--floating .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome--floating {
    align-items: center;
    border: 0;
    display: block;
    justify-content: initial;
    min-height: 0;
    overflow: visible;
    padding: 0;
    position: static;
    text-align: center;
}

.sx-floating-start {
    align-items: stretch;
    display: grid;
    gap: 8px;
    max-width: none;
    padding: 0;
    text-align: center;
}

.sx-floating-start > p,
.sx-floating-start > h2,
.sx-floating-start > span {
    margin: 0;
    max-width: none;
}

.sx-floating-start > h2 {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-xxlarge, 22px);
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}

.sx-floating-start > span {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-medium, 14px);
    justify-self: center;
    line-height: 1.5;
    max-width: 38ch;
    text-align: center;
}

.sx-floating-start > .sx-floating-start__heading {
    color: var(--main-color, #2bd180);
    font-size: var(--ft-size-small, 12px);
    letter-spacing: 0;
    margin-top: 8px;
    text-align: center;
    text-transform: none;
}

.sx-floating-capabilities {
    display: grid;
    gap: 8px;
}

.sx-floating-capability {
    align-items: center;
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    color: var(--text-strong-color, #fff);
    cursor: pointer;
    display: grid;
    font-family: inherit;
    gap: var(--padding-sm, 10px);
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 64px;
    padding: var(--padding-sm, 10px);
    text-align: left;
    width: 100%;
}

.sx-floating-capability > i:first-child,
.sx-floating-capability > i:last-child,
.sx-floating-capability > .sx-ui-icon {
    color: var(--main-color, #2bd180);
}

.sx-floating-capability > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.sx-floating-capability strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-small, 12px);
    font-weight: 500;
}

.sx-floating-capability small {
    color: var(--text-color, #b2b2b2);
    font-size: 11px;
    line-height: 1.35;
}

.sx-planner--floating .sx-floating-capability:hover,
.sx-planner--floating .sx-floating-capability:focus-visible {
    background: color-mix(
        in srgb,
        var(--panel-bg, #262626) 88%,
        var(--main-color, #2bd180)
    ) !important;
    border-color: color-mix(
        in srgb,
        var(--main-color, #2bd180) 68%,
        var(--border-color-light, #444)
    );
    color: var(--text-strong-color, #fff) !important;
    transform: translateY(-2px);
}

.sx-planner--floating .sx-floating-capability:focus-visible {
    outline: 1px solid var(--main-color, #2bd180);
    outline-offset: 2px;
}

.sx-planner--floating .sx-floating-capability:hover strong,
.sx-planner--floating .sx-floating-capability:focus-visible strong {
    color: var(--text-strong-color, #fff);
}

.sx-planner--floating .sx-floating-capability:hover small,
.sx-planner--floating .sx-floating-capability:focus-visible small {
    color: var(--text-color, #b2b2b2);
}

.sx-planner--floating .sx-floating-capability:hover > i,
.sx-planner--floating .sx-floating-capability:focus-visible > i,
.sx-planner--floating .sx-floating-capability:hover > .sx-ui-icon,
.sx-planner--floating .sx-floating-capability:focus-visible > .sx-ui-icon {
    color: var(--main-color-hover, #3dffb0);
}

.sx-floating-account-access {
    background: var(--secondary-bg, #1d1d1d);
    border: 1px solid var(--border-color-light, #444);
    border-radius: var(--border-radius-sm, 5px);
    display: grid;
    gap: 8px;
    margin-top: 0;
    padding: 8px var(--padding-sm, 10px);
    position: relative;
}

.sx-floating-account-access__copy {
    display: grid;
    gap: 4px;
    padding-right: calc(32px + var(--padding-xs, 5px));
}

.sx-floating-account-access__dismiss {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: var(--text-color, #b2b2b2);
    cursor: pointer;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: var(--padding-sm, 10px);
    top: var(--padding-sm, 10px);
    width: 32px;
}

.sx-floating-account-access__dismiss:hover,
.sx-floating-account-access__dismiss:focus-visible {
    background: var(--panel-bg, #262626);
    color: var(--main-color-hover, #3dffb0);
    outline: 1px solid var(--border-color-light, #444);
}

.sx-floating-account-access__dismiss .sx-ui-icon {
    height: 14px;
    width: 14px;
}

.sx-floating-account-access__quota {
    align-items: center;
    color: var(--main-color, #2bd180);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: var(--padding-xs, 5px);
    line-height: 1.35;
}

.sx-floating-account-access__copy strong {
    color: var(--text-strong-color, #fff);
    font-size: var(--ft-size-medium, 14px);
    font-weight: 500;
    line-height: 1.3;
}

.sx-floating-account-access__copy > span {
    color: var(--text-color, #b2b2b2);
    font-size: var(--ft-size-small, 12px);
    line-height: 1.45;
}

.sx-floating-account-access__actions {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-floating-account-access__primary,
.sx-floating-account-access__secondary {
    align-items: center;
    border: 1px solid var(--border-color-accent, #2bd1803d);
    border-radius: var(--border-radius-sm, 5px);
    display: inline-flex;
    font-size: var(--ft-size-small, 12px);
    gap: 7px;
    justify-content: center;
    min-height: 35px;
    padding: 4px 10px;
    text-align: center;
    text-decoration: none;
}

.sx-floating-account-access__primary,
.sx-floating-account-access__primary:visited {
    background: var(--main-color, #2bd180);
    color: var(--main-bg, #000);
}

.sx-floating-account-access__secondary,
.sx-floating-account-access__secondary:visited {
    background: transparent;
    color: var(--main-color, #2bd180);
}

.sx-floating-account-access__primary:hover,
.sx-floating-account-access__primary:focus-visible {
    background: var(--main-color-hover, #3dffb0);
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-bg, #000);
}

.sx-floating-account-access__secondary:hover,
.sx-floating-account-access__secondary:focus-visible {
    background: var(--panel-bg, #222);
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-color-hover, #3dffb0);
}

.sx-planner--floating .sx-floating-account-access--welcome {
    background: color-mix(in srgb, var(--secondary-bg, #1d1d1d) 90%, var(--site-bg, #040404));
    border-color: color-mix(in srgb, var(--border-color-light, #444) 82%, transparent);
    border-radius: var(--border-radius-md, 10px);
    gap: 14px;
    margin-top: calc(var(--padding-lg, 20px) + var(--padding-xs, 5px));
    padding: 16px;
    text-align: left;
}

.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__copy {
    gap: 6px;
}

.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__actions {
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__primary,
.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__secondary {
    justify-content: center;
    min-height: 40px;
    padding: 6px 10px;
}

.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__secondary {
    background: transparent;
    border: 1px solid var(--border-color-accent, #2bd1803d);
    color: var(--main-color, #2bd180);
    text-decoration: none;
}

.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__secondary:hover,
.sx-planner--floating .sx-floating-account-access--welcome .sx-floating-account-access__secondary:focus-visible {
    background: var(--panel-bg, #222);
    border-color: var(--main-color-hover, #3dffb0);
    color: var(--main-color-hover, #3dffb0);
}

@media (max-width: 767px) {
    body.sx-floating-assistant-open {
        overflow: hidden;
    }

    body.sx-floating-assistant-open .gtranslate_wrapper-outer {
        display: none !important;
    }

    .sx-floating-drawer {
        border-left: 0;
        width: 100%;
    }

    .sx-floating-drawer__header {
        min-height: 62px;
    }

    .sx-planner--floating .sx-chat-main {
        padding: 14px;
    }

    .sx-planner--floating .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-main {
        padding: 20px 14px 34px;
    }

    .sx-planner--floating .sx-chat-footer {
        padding: 10px 14px calc(8px + env(safe-area-inset-bottom));
    }

    .sx-floating-launcher {
        bottom: max(14px, env(safe-area-inset-bottom));
        right: max(14px, env(safe-area-inset-right));
    }
}

@media (max-width: 480px) {
    .sx-floating-launcher {
        background: var(--site-bg, #040404);
        border: 1px solid var(--border-color-accent, #2bd1803d);
        border-radius: var(--border-radius-md, 10px);
        box-shadow: none;
        gap: 2px;
        grid-template-columns: 50px;
        justify-items: center;
        min-height: 66px;
        min-width: 0;
        padding: var(--padding-xs, 5px);
    }

    .sx-floating-launcher:hover,
    .sx-floating-launcher:focus-visible,
    .sx-floating-assistant.is-open .sx-floating-launcher {
        background: var(--site-bg, #040404);
        border-color: var(--main-color, #2bd180);
        box-shadow: none;
    }

    .sx-floating-launcher:focus-visible {
        outline: 1px solid var(--main-color, #2bd180);
        outline-offset: var(--padding-xs, 5px);
    }

    .sx-floating-launcher__open {
        display: none;
    }

    .sx-floating-launcher__copy {
        display: block;
        grid-row: 2;
        text-align: center;
    }

    .sx-floating-launcher__copy strong {
        color: var(--main-color, #2bd180);
        font-size: 8px;
        font-weight: 500;
        letter-spacing: .04em;
        line-height: 1.1;
        text-transform: uppercase;
    }

    .sx-floating-launcher__copy small {
        display: none;
    }

    .sx-floating-drawer__header {
        padding-left: var(--padding-sm, 10px);
        padding-right: var(--padding-sm, 10px);
    }


    .sx-chat-welcome--floating,
    .sx-planner--floating .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome--floating {
        padding: 0;
    }
}

/* Mobile parent planner: compact, scroll-safe start experience. */
@media (max-width: 767px) {
    .ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-main {
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        padding: 0;
        scroll-padding-bottom: var(--padding-lg, 20px);
    }

    .ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome {
        align-items: flex-start;
        justify-content: flex-start;
        min-height: auto;
        overflow: visible;
        padding: calc(var(--sx-chat-toolbar-height) + (var(--padding-lg, 20px) * 2))
            var(--padding-md, 15px)
            calc((var(--padding-lg, 20px) * 6) + env(safe-area-inset-bottom));
        text-align: center;
    }

    .ai-event-planner-page .sx-chat-welcome__content {
        max-width: none;
        width: 100%;
    }

    .ai-event-planner-page .sx-chat-welcome__icon {
        height: 58px;
        margin-bottom: 8px;
        width: 58px;
    }

    .ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome h2 {
        font-size: var(--ft-size-xxlarge, 22px);
        line-height: 1.25;
        max-width: none;
    }

    .ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-welcome__content > span {
        line-height: 1.45;
        margin-top: 6px;
        max-width: none;
    }

    .ai-event-planner-page .sx-capability-heading {
        margin-top: var(--padding-sm, 10px);
    }

    .ai-event-planner-page .sx-capability-list {
        gap: 8px;
        grid-template-columns: minmax(0, 1fr);
        margin-top: 8px;
    }

    .ai-event-planner-page .sx-agent-skill-card {
        align-items: center;
        gap: var(--padding-sm, 10px);
        grid-template-columns: 34px minmax(0, 1fr) 18px;
        grid-template-rows: auto;
        min-height: 66px;
        padding: var(--padding-sm, 10px) var(--padding-md, 15px);
    }

    .ai-event-planner-page .sx-agent-skill-card__icon {
        grid-column: 1;
        height: 34px;
        width: 34px;
    }

    .ai-event-planner-page .sx-agent-skill-card strong {
        grid-column: 2;
    }

    .ai-event-planner-page .sx-agent-skill-card__description {
        display: none;
    }

    .ai-event-planner-page .sx-agent-skill-card .sx-agent-skill-card__arrow {
        grid-column: 3;
        justify-self: end;
        position: static;
    }

    .ai-event-planner-page .sx-account-invitation {
        display: none;
    }

    .ai-event-planner-page .sx-chat-shell--command:not(.is-conversation-active):not(.is-login-required) .sx-chat-footer {
        padding: 8px var(--padding-md, 15px) calc(8px + env(safe-area-inset-bottom));
    }
}

/* Purposeful SOPHIA-X motion: spatial drawer movement, new-content feedback and press response. */
.sx-planner,
.sx-floating-assistant {
    --sx-motion-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    --sx-motion-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    --sx-motion-fast: 140ms;
    --sx-motion-standard: 220ms;
    --sx-motion-drawer: 260ms;
}

.sx-floating-scrim {
    opacity: 0;
    transition: opacity var(--sx-motion-drawer) var(--sx-motion-ease-out);
}

.sx-floating-assistant.is-open .sx-floating-scrim {
    opacity: 1;
}

.sx-floating-drawer {
    transition: transform var(--sx-motion-drawer) var(--sx-motion-ease-drawer);
}

.sx-floating-launcher,
.sx-floating-drawer__action,
.sx-planner .sx-composer__send,
.sx-planner .sx-error-state__action {
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out) !important;
}

.sx-floating-capability {
    transition:
        background-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        border-color var(--sx-motion-fast) var(--sx-motion-ease-out),
        color var(--sx-motion-fast) var(--sx-motion-ease-out),
        transform var(--sx-motion-fast) var(--sx-motion-ease-out) !important;
}

.sx-floating-launcher:active,
.sx-floating-drawer__action:active,
.sx-floating-capability:active,
.sx-planner .sx-composer__send:not(:disabled):active,
.sx-planner .sx-error-state__action:active {
    transform: scale(.97);
}

.sx-message--entering {
    animation: sx-message-enter var(--sx-motion-standard) var(--sx-motion-ease-out) both;
}

.sx-stream-word {
    display: none;
    opacity: 0;
}

.sx-stream-word.is-visible {
    animation: sx-stream-word-in 180ms var(--sx-motion-ease-out) both;
    display: inline;
}

.sx-message__body.is-stream-complete .sx-stream-word {
    animation: none;
    display: inline;
    opacity: 1;
}

.sx-message--entering .sx-structured-card {
    animation: sx-card-enter 180ms var(--sx-motion-ease-out) both;
    animation-delay: 40ms;
}

.sx-message--entering .sx-structured-card:nth-child(2) {
    animation-delay: 70ms;
}

.sx-message--entering .sx-structured-card:nth-child(3) {
    animation-delay: 100ms;
}

.sx-message--entering .sx-structured-card:nth-child(n + 4) {
    animation-delay: 130ms;
}

.sx-chat-welcome--floating {
    animation: sx-panel-content-enter var(--sx-motion-standard) var(--sx-motion-ease-out) both;
}

@keyframes sx-message-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sx-stream-word-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes sx-card-enter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes sx-panel-content-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sx-motion-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes sx-composer-send-sweep {
    from {
        transform: translateX(-120%);
    }

    to {
        transform: translateX(240%);
    }
}

@media (hover: hover) and (pointer: fine) {
    .sx-planner .sx-rental-card__action:hover {
        transform: translateY(-2px);
    }

    .sx-planner .sx-rental-card__action:hover i {
        transform: translateX(2px);
    }

    .sx-planner .sx-rental-card__action:active {
        transform: scale(.97);
    }

    .sx-planner .sx-followups__item:hover {
        transform: translateX(3px);
    }

    .sx-source-item > a:hover .sx-source-item__open {
        transform: translate(2px, -2px);
    }

    .sx-rental-gallery__item:hover,
    .sx-rental-story:hover {
        transform: translateY(-2px);
    }

    .sx-rental-story:hover .sx-rental-story__arrow {
        transform: translate(2px, -2px);
    }
}

@media (min-width: 1025px) {
    .sx-chat-shell--command .sx-login-notice {
        box-shadow: var(--box-shadow, 0 10px 30px rgba(0, 0, 0, .25));
        margin: var(--padding-xl, 30px) auto 0;
        max-width: 760px;
        padding: var(--padding-lg, 20px);
        width: calc(100% - 40px);
    }

    .sx-chat-shell--command .sx-login-notice__copy strong {
        font-size: var(--ft-size-xlarge, 18px);
    }

    .sx-chat-shell--command .sx-login-notice__actions {
        gap: var(--padding-md, 12px);
    }

    .sx-chat-shell--command .sx-login-notice__action {
        min-height: 48px;
    }

    .sx-chat-shell--command .sx-composer.is-disabled {
        opacity: .78;
    }

    .sx-chat-shell--command .sx-composer textarea:disabled::placeholder {
        color: var(--text-color, #b2b2b2);
        opacity: .86;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sx-chat-shell--command .sx-composer.is-sending::before {
        animation: none;
        opacity: .12;
        transform: translateX(40%);
    }

    .sx-user-message-edit-trigger {
        transition-duration: 1ms;
    }

    .sx-floating-drawer {
        transition-duration: 1ms;
    }

    .sx-floating-scrim {
        transition: opacity 160ms var(--sx-motion-ease-out);
    }

    .sx-message--entering,
    .sx-message--entering .sx-structured-card,
    .sx-chat-welcome--floating {
        animation: sx-motion-fade 160ms var(--sx-motion-ease-out) both !important;
        transform: none !important;
    }

    .sx-stream-word,
    .sx-stream-word.is-visible {
        animation: none !important;
        display: inline;
        opacity: 1;
    }

    .sx-image-lightbox {
        transform: none !important;
        transition: opacity 160ms var(--sx-motion-ease-out);
    }

    .sx-planner .sx-rental-card__action,
    .sx-rental-card__action i,
    .sx-planner .sx-followups__item,
    .sx-source-item__open,
    .sx-rental-gallery__item,
    .sx-rental-story,
    .sx-rental-story__arrow,
    .sx-floating-capability,
    .sx-agent-skill-card {
        transform: none !important;
        transition-duration: 1ms;
    }
}
