.ai-mode {
    --ai-ink: var(--public-text);
    --ai-muted: var(--public-text-muted);
    --ai-line: var(--public-border);
    display: flex;
    min-height: calc(100vh - var(--public-header-height));
    min-height: calc(100dvh - var(--public-header-height));
    direction: ltr;
    background:
        radial-gradient(circle at 66% 9%, color-mix(in srgb, #d6a548 10%, transparent), transparent 25rem),
        var(--public-bg);
}

.ai-mode__rail {
    position: sticky;
    top: var(--public-header-height);
    display: flex;
    width: 248px;
    height: calc(100vh - var(--public-header-height));
    height: calc(100dvh - var(--public-header-height));
    flex: 0 0 248px;
    flex-direction: column;
    padding: 22px 16px 18px;
    border-inline-end: 1px solid var(--ai-line);
    background: color-mix(in srgb, var(--public-surface) 72%, var(--public-bg));
    direction: rtl;
}

.ai-mode__rail-head,
.ai-mode__mobile-bar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ai-mode__rail-head { padding: 0 8px 20px; }
.ai-mode__rail-head strong,
.ai-mode__mobile-bar strong { font-size: .86rem; }

.ai-mode__mini-mark {
    position: relative;
    display: block;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
}

.ai-mode__mini-mark i,
.ai-mode__mini-mark b {
    position: absolute;
    inset: 4px 8px;
    border-radius: 2px;
    background: #d5a34b;
    transform: skewY(-28deg);
}

.ai-mode__mini-mark b {
    inset: 9px 1px;
    background: #071b31;
    transform: skewX(-24deg);
}

.ai-mode__new-chat {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid var(--public-border-strong);
    border-radius: 14px;
    background: var(--public-surface-elevated);
    color: var(--ai-ink);
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
}

.ai-mode__new-chat:hover { border-color: color-mix(in srgb, var(--ai-ink) 28%, transparent); }
.ai-mode__new-chat svg { width: 17px; }

.ai-mode__thread-list { margin-top: 30px; min-height: 0; overflow-y: auto; }
.ai-mode__thread-list > p { margin: 0 9px 10px; color: var(--public-text-faint); font-size: .68rem; font-weight: 700; }
.ai-mode__thread-list ol { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.ai-mode__thread-list li button {
    width: 100%;
    overflow: hidden;
    padding: 10px 11px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--ai-muted);
    font-size: .75rem;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}
.ai-mode__thread-list li button:hover { background: var(--public-surface-elevated); color: var(--ai-ink); }
.ai-mode__rail-note { margin: auto 8px 0; color: var(--public-text-faint); font-size: .66rem; line-height: 1.8; }

.ai-mode__workspace {
    position: relative;
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    direction: rtl;
}

.ai-mode__mobile-bar { display: none; }

.ai-mode__conversation {
    width: min(100% - 40px, 830px);
    min-height: 0;
    flex: 1 1 auto;
    margin-inline: auto;
    padding: clamp(40px, 7vh, 84px) 0 186px;
}

.ai-mode__welcome {
    display: flex;
    max-width: 690px;
    min-height: min(560px, 62vh);
    margin-inline: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.ai-mode__orb {
    position: relative;
    width: 54px;
    height: 54px;
    margin-bottom: 24px;
    border: 1px solid color-mix(in srgb, #c89942 36%, transparent);
    border-radius: 18px;
    background: linear-gradient(145deg, color-mix(in srgb, #dfb55e 18%, var(--public-surface-elevated)), var(--public-surface-elevated));
    box-shadow: 0 16px 42px color-mix(in srgb, #9b6e1d 13%, transparent);
}

.ai-mode__orb::before,
.ai-mode__orb::after,
.ai-mode__orb span {
    position: absolute;
    content: '';
}

.ai-mode__orb::before {
    inset: 11px 20px;
    border-radius: 4px;
    background: #d8a74e;
    transform: skewY(-28deg);
}
.ai-mode__orb::after {
    inset: 22px 9px;
    border-radius: 4px;
    background: #0b2036;
    transform: skewX(-25deg);
}
.ai-mode__orb span { inset: 16px; border: 1px solid rgb(255 255 255 / 28%); border-radius: 50%; }

.ai-mode__welcome > p:first-of-type { margin: 0 0 11px; color: #a2762a; font-size: .75rem; font-weight: 800; }
.ai-mode__welcome h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.35; }
.ai-mode__welcome-lead { max-width: 590px; margin: 16px auto 0; color: var(--ai-muted); font-size: .9rem; line-height: 1.95; }

.ai-mode__suggestions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 34px;
}

.ai-mode__suggestions button {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    border: 1px solid var(--ai-line);
    border-radius: 17px;
    background: color-mix(in srgb, var(--public-surface-elevated) 82%, transparent);
    color: var(--ai-ink);
    font-size: .78rem;
    line-height: 1.65;
    text-align: right;
    cursor: pointer;
    transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}
.ai-mode__suggestions button:hover { border-color: var(--public-border-strong); background: var(--public-surface-elevated); transform: translateY(-1px); }
.ai-mode__suggestions svg { width: 16px; flex: 0 0 16px; color: var(--public-text-faint); transform: rotate(180deg); }

.ai-mode__turn { padding: 0 0 42px; animation: ai-turn-in 320ms ease both; }
.ai-mode__question {
    max-width: 680px;
    margin: 0 0 38px auto;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 520;
    letter-spacing: -.025em;
    line-height: 1.55;
}
.ai-mode__answer { position: relative; padding-inline-start: 46px; }
.ai-mode__answer-mark { position: absolute; inset: 3px auto auto 0; }
.ai-mode__answer-label { margin: 0 0 13px; color: #a2762a; font-size: .7rem; font-weight: 800; }
.ai-mode__answer p { margin: 0 0 12px; font-size: .94rem; line-height: 2.05; }
.ai-mode__inline-citation {
    display: inline-flex;
    min-width: 1.35rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    margin-inline: .16rem;
    padding-inline: .34rem;
    border: 1px solid color-mix(in srgb, #c4953f 42%, var(--ai-line));
    border-radius: 999px;
    background: color-mix(in srgb, #c4953f 12%, var(--public-surface-elevated));
    color: #8b641f;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    vertical-align: super;
    white-space: nowrap;
}
.ai-mode__inline-citation:hover,
.ai-mode__inline-citation:focus-visible {
    border-color: #c4953f;
    background: color-mix(in srgb, #c4953f 20%, var(--public-surface-elevated));
    outline: none;
}

.ai-mode__sources { margin-top: 28px; }
.ai-mode__sources h2 { margin: 0 0 12px; font-size: .76rem; }
.ai-mode__source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.ai-mode__source {
    display: flex;
    min-width: 0;
    min-height: 96px;
    flex-direction: column;
    justify-content: space-between;
    padding: 13px 14px;
    border: 1px solid var(--ai-line);
    border-radius: 15px;
    background: var(--public-surface-elevated);
    text-decoration: none;
}
.ai-mode__source:hover { border-color: var(--public-border-strong); }
.ai-mode__source strong { display: -webkit-box; overflow: hidden; font-size: .78rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ai-mode__source span { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; color: var(--public-text-faint); font-size: .65rem; }
.ai-mode__source span::before { width: 5px; height: 5px; border-radius: 50%; background: #d2a24a; content: ''; }

.ai-mode__follow-ups { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.ai-mode__follow-ups button {
    padding: 8px 12px;
    border: 1px solid var(--ai-line);
    border-radius: 999px;
    background: transparent;
    color: var(--ai-muted);
    font-size: .72rem;
    cursor: pointer;
}
.ai-mode__follow-ups button:hover { color: var(--ai-ink); border-color: var(--public-border-strong); }

.ai-mode__loading { display: flex; align-items: center; gap: 7px; padding: 20px 0 38px; color: var(--ai-muted); font-size: .76rem; }
.ai-mode__loading i { width: 7px; height: 7px; border-radius: 50%; background: #c4953f; animation: ai-think 1s infinite ease-in-out; }
.ai-mode__loading i:nth-child(2) { animation-delay: 120ms; }
.ai-mode__loading i:nth-child(3) { animation-delay: 240ms; }
.ai-mode__loading span { margin-inline-start: 5px; }
.ai-mode__error { padding: 14px 16px; border: 1px solid color-mix(in srgb, #b84a4a 28%, transparent); border-radius: 14px; color: #a83f3f; font-size: .8rem; line-height: 1.8; }

.ai-mode__composer-wrap {
    position: fixed;
    z-index: 30;
    right: 0;
    bottom: 0;
    left: 248px;
    padding: 20px max(20px, calc((100vw - 248px - 830px) / 2)) 14px;
    background: linear-gradient(to top, var(--public-bg) 70%, transparent);
}
.ai-mode__composer {
    width: min(100%, 830px);
    margin-inline: auto;
    padding: 13px 14px 10px 18px;
    border: 1px solid var(--public-border-strong);
    border-radius: 25px;
    background: var(--public-surface-elevated);
    box-shadow: 0 14px 50px rgb(30 27 23 / 10%);
}
.ai-mode__composer:focus-within { border-color: color-mix(in srgb, var(--public-text) 28%, var(--public-border-strong)); }
.ai-mode__composer textarea { display: block; width: 100%; max-height: 150px; resize: none; overflow-y: auto; padding: 4px 3px 8px; border: 0; outline: 0; background: transparent; font-size: .94rem; line-height: 1.8; }
.ai-mode__composer textarea::placeholder { color: var(--public-text-faint); }
.ai-mode__composer-tools { display: flex; align-items: center; justify-content: space-between; }
.ai-mode__grounded { display: inline-flex; align-items: center; gap: 7px; color: var(--public-text-faint); font-size: .66rem; }
.ai-mode__grounded i { width: 6px; height: 6px; border-radius: 50%; background: var(--public-positive); }
.ai-mode__composer button[type='submit'] { display: grid; width: 35px; height: 35px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--ai-ink); color: var(--public-bg); cursor: pointer; }
.ai-mode__composer button[type='submit']:disabled { opacity: .28; cursor: default; }
.ai-mode__composer button[type='submit'] svg { width: 17px; }
.ai-mode__disclaimer { margin: 8px auto 0; color: var(--public-text-faint); font-size: .62rem; text-align: center; }

@keyframes ai-turn-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ai-think { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }

@media (max-width: 900px) {
    .ai-mode__rail { display: none; }
    .ai-mode__mobile-bar { display: flex; min-height: 50px; justify-content: center; padding: 0 16px; border-block-end: 1px solid var(--ai-line); }
    .ai-mode__mobile-bar button { position: absolute; inset-inline-end: 14px; display: grid; width: 32px; height: 32px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--public-surface); color: var(--ai-ink); }
    .ai-mode__mobile-bar svg { width: 16px; }
    .ai-mode__conversation { padding-top: 26px; }
    .ai-mode__composer-wrap { left: 0; padding-inline: 18px; }
}

@media (max-width: 620px) {
    .ai-mode { min-height: calc(100dvh - var(--public-header-height)); }
    .ai-mode__conversation { width: calc(100% - 30px); padding-bottom: 166px; }
    .ai-mode__welcome { min-height: calc(100dvh - 280px); justify-content: flex-start; padding-top: 7vh; }
    .ai-mode__orb { width: 48px; height: 48px; margin-bottom: 20px; }
    .ai-mode__welcome h1 { max-width: 330px; font-size: 1.85rem; }
    .ai-mode__welcome-lead { max-width: 340px; font-size: .78rem; }
    .ai-mode__suggestions { grid-template-columns: 1fr; gap: 8px; margin-top: 26px; }
    .ai-mode__suggestions button { min-height: 52px; border-radius: 15px; }
    .ai-mode__question { margin-bottom: 28px; font-size: 1.45rem; }
    .ai-mode__answer { padding-inline-start: 35px; }
    .ai-mode__source-grid { grid-template-columns: 1fr; }
    .ai-mode__composer-wrap { padding: 16px 12px 9px; }
    .ai-mode__composer { border-radius: 21px; }
    .ai-mode__disclaimer { font-size: .56rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ai-mode__turn,
    .ai-mode__loading i { animation: none; }
}
