/* A fixed decorative scene, independent of the scrolling conversation. */
.qa-panel { isolation:isolate; --qa-composer-border:rgba(255,255,255,.78); --qa-hint-color:#666; --qa-model-idle-border:rgba(144,157,172,.48); }
.qa-landscape {
  position:absolute;
  inset:48px 0 0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
  contain:strict;
  background:#d2e0ef;
}
.qa-landscape-scene {
  position:absolute;
  top:0;
  left:50%;
  width:100%;
  height:100%;
  transform:translateX(-50%);
}
.qa-landscape-art {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.qa-landscape-boat,
.qa-landscape-mountain {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.qa-landscape-mountain { user-select:none; }
.qa-landscape-mountain-middle { z-index:2; }
.qa-landscape-boat { z-index:3; }
.qa-landscape-boat[data-leg="far"] { z-index:1; }
.qa-landscape-mountain-near { z-index:4; }
.qa-panel .qa-panel-body { background:transparent; min-height:0; }
.qa-panel .qa-message-assistant {
  background:rgba(239,246,252,.5);
  border-color:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 14px rgba(36,73,101,.08);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
  backdrop-filter:blur(16px) saturate(115%);
}
.qa-panel .qa-panel-input {
  position:relative;
  background:transparent;
  border-color:var(--qa-composer-border);
  box-shadow:0 4px 18px rgba(36,73,101,.12);
}
.qa-landscape-mist {
  position:absolute;
  z-index:5;
  inset:0;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
.qa-landscape-mist-far {
  -webkit-mask-image:url('/qa/landscape/mist-far-mask.webp');
  mask-image:url('/qa/landscape/mist-far-mask.webp');
  opacity:.47;
}
.qa-landscape-mist-near {
  -webkit-mask-image:url('/qa/landscape/mist-near-mask.webp');
  mask-image:url('/qa/landscape/mist-near-mask.webp');
  opacity:.55;
}
.qa-landscape-wash {
  position:absolute;
  inset:-8% -24%;
  background:url('/qa/landscape/mist-texture.webp') center / 100% 100% no-repeat;
  animation:qa-mist-drift 46s ease-in-out infinite alternate;
}
.qa-landscape-mist-near .qa-landscape-wash {
  animation-duration:63s;
  animation-delay:-27s;
  animation-direction:alternate-reverse;
}
.qa-landscape-bird {
  position:absolute;
  z-index:6;
  top:var(--bird-top);
  left:-36px;
  width:var(--bird-size);
  height:var(--bird-size);
  opacity:var(--bird-opacity);
  animation:qa-bird-travel var(--travel-duration) linear var(--travel-delay) infinite;
}
.qa-landscape-bird-sprite {
  display:block;
  width:100%;
  height:100%;
  background:url('/qa/landscape/bird-flight.webp') 0 0 / 1200% 100% no-repeat;
  animation:qa-bird-wings var(--wing-duration) steps(12) var(--travel-delay) infinite;
}
.qa-landscape[data-motion="paused"] *,
.qa-panel[hidden] .qa-landscape * { animation-play-state:paused !important; }
@keyframes qa-bird-travel {
  0% { transform:translate3d(0,0,0); }
  28% { transform:translate3d(calc(var(--bird-travel) * .28),-5px,0); }
  60% { transform:translate3d(calc(var(--bird-travel) * .6),3px,0); }
  100% { transform:translate3d(var(--bird-travel),-12px,0); }
}
@keyframes qa-bird-wings {
  to { background-position:calc(var(--bird-size) * -12) 0; }
}
@keyframes qa-mist-drift {
  from { transform:translate3d(-6%,1%,0); opacity:.65; }
  to { transform:translate3d(6%,-1%,0); opacity:1; }
}
:root[data-color-mode="dark"] .qa-landscape { filter:brightness(.48) saturate(.75); }
:root[data-color-mode="dark"] .qa-panel .qa-panel-body { background:transparent; }
:root[data-color-mode="dark"] .qa-panel .qa-message-assistant { background:rgba(25,42,58,.5); border-color:rgba(196,214,233,.4); box-shadow:inset 0 1px 0 rgba(213,233,250,.12),0 3px 14px rgba(8,17,27,.16); }
:root[data-color-mode="dark"] .qa-panel { --qa-composer-border:rgba(196,214,233,.56); --qa-hint-color:#f1f5f9; --qa-model-idle-border:rgba(168,179,194,.45); }
:root[data-color-mode="dark"] .qa-panel .qa-panel-input { background:transparent; border-color:var(--qa-composer-border); }
:root[data-color-mode="dark"] .qa-panel .qa-panel-input textarea,
:root[data-color-mode="dark"] .qa-panel .qa-panel-input input { background:transparent !important; }
/* Override the controls' own theme and interaction fills, not their icon masks. */
:root .qa-panel .qa-panel-input :is(
  button, .qa-tool-btn, .qa-send-btn, .qa-model-mode-tabs,
  .qa-model-mode-tabs span, .qa-model-new, .qa-attachment-menu,
  .qa-local-file-option, .qa-upload-hint, .qa-selected-file,
  .qa-selected-file-doc-icon
),
:root .qa-panel .qa-panel-input .qa-upload-hint::after,
:root .qa-panel .qa-panel-input .qa-tool-scissors::after {
  background:transparent !important;
}
:root .qa-panel .qa-panel-input :is(button, .qa-model-mode-tabs span) {
  box-shadow:none;
}
:root .qa-panel .qa-panel-input .qa-selected-file-image .qa-selected-file-remove {
  background:#000 !important;
  color:#fff !important;
}
:root .qa-panel .qa-panel-input .qa-network-btn {
  border:1px solid var(--qa-composer-border) !important;
}
:root .qa-panel .qa-panel-input .qa-network-btn { border-color:var(--qa-model-idle-border) !important; }
:root .qa-panel .qa-panel-input .qa-network-btn:hover { border-color:rgba(255,255,255,.78) !important; }
.qa-panel .qa-panel-input :is(button, .qa-local-file-option):focus-visible {
  outline:1px solid currentColor;
  outline-offset:2px;
}
.qa-panel .qa-panel-input .qa-model-option.selected { font-weight:600; }
.qa-panel .qa-panel-input .qa-model-option { cursor:pointer; }
.qa-panel .qa-panel-input .qa-model-option .qa-model-check { visibility:hidden; }
.qa-panel .qa-panel-input .qa-model-option.selected .qa-model-check { visibility:visible; }
:root .qa-panel .qa-panel-input .qa-model-option:is(:hover, :focus-visible) { background:rgba(128,128,128,.25) !important; }
.qa-panel .qa-panel-input .qa-model-section-label { color:var(--color-text-muted); }
:root .qa-panel .qa-panel-input .qa-upload-hint,
:root .qa-panel .qa-panel-input .qa-tool-scissors::after { color:var(--qa-hint-color); }
.qa-panel .qa-panel-input :is(.qa-input-tools, .qa-model-picker, .qa-attachment-picker, .qa-tool-scissors) { position:static; }
.qa-panel .qa-panel-input .qa-model-menu { left:12px; }
.qa-panel .qa-panel-input :is(.qa-attachment-menu, .qa-upload-hint),
.qa-panel .qa-panel-input .qa-tool-scissors::after { right:12px; }
.qa-panel .qa-panel-input :is(.qa-model-menu, .qa-attachment-menu, .qa-upload-hint),
.qa-panel .qa-panel-input .qa-tool-scissors::after { max-width:calc(100% - 24px); box-sizing:border-box; }
.qa-panel .qa-panel-input .qa-tool-scissors::after { white-space:normal; }
.qa-panel .qa-panel-input .qa-model-mode-tabs { color:#586a7d; }
.qa-panel .qa-panel-input .qa-model-mode-tabs .active { color:#087643; }
.qa-panel .qa-panel-input .qa-model-mode-tabs button { border-color:var(--qa-model-idle-border); }
.qa-panel .qa-panel-input .qa-model-mode-tabs button:is(:hover, :focus-visible) { border-color:rgba(255,255,255,.78); }
.qa-panel .qa-panel-input .qa-model-mode-tabs button[aria-pressed="true"] { border-color:currentColor; font-weight:600; }
:root[data-color-mode="dark"] .qa-panel .qa-panel-input :is(.qa-model-section-label, .qa-model-mode-tabs) { color:#cad4df; }
:root[data-color-mode="dark"] .qa-panel .qa-panel-input .qa-model-mode-tabs .active { color:#69e0b0; }
:root .qa-panel .qa-panel-input .qa-send-btn { border:1px solid var(--qa-model-idle-border); box-sizing:border-box; transform:scale(1.1); }
:root .qa-panel .qa-panel-input :is(.qa-attachment-btn, .qa-tool-scissors) {
  width:26.4px !important;
  min-width:26.4px;
  height:26.4px;
  padding:0;
  box-sizing:border-box;
  justify-content:center;
  border:1px solid var(--qa-model-idle-border) !important;
  border-radius:50% !important;
}
.qa-panel .qa-panel-input .qa-tool-scissors svg { width:18px; height:18px; flex:0 0 18px; }
.qa-panel .qa-panel-input .qa-scissors-caret { border-left-width:2px; border-right-width:2px; border-top-width:3px; }
:root .qa-panel .qa-panel-input :is(.qa-attachment-btn, .qa-tool-scissors, .qa-send-btn):hover { border-color:rgba(255,255,255,.78) !important; }
.qa-panel .qa-send-btn::before { filter:brightness(.25); }
.qa-panel .qa-send-btn:disabled::before { opacity:.4; }
:root[data-color-mode="dark"] .qa-panel .qa-send-btn::before { filter:none; }
:root .qa-panel :is(.qa-document-context, .qa-document-context button, .qa-document-reopen) {
  background:transparent !important;
  border:1px solid var(--qa-composer-border);
  box-shadow:none;
}
:root .qa-panel :is(.qa-document-context button, .qa-document-reopen) {
  color:var(--color-text) !important;
  box-sizing:border-box;
}
.qa-panel .qa-document-actions button[aria-pressed="true"] {
  border-color:currentColor !important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.qa-panel :is(.qa-document-context button, .qa-document-reopen):focus-visible {
  outline:1px solid currentColor;
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce) {
  .qa-landscape * { animation-play-state:paused !important; }
}
@supports not ((mask-image:url('')) or (-webkit-mask-image:url(''))) {
  .qa-landscape-mist { display:none; }
}

/* Model selection needs a readable surface above the landscape and messages. */
.qa-panel {
  --qa-menu-surface:rgba(225,238,248,.72);
  --qa-menu-sheen:rgba(255,255,255,.3);
  --qa-menu-border:rgba(255,255,255,.68);
  --qa-menu-text:#233e56;
  --qa-menu-muted:#526b81;
  --qa-menu-selected:rgba(183,211,233,.55);
  --qa-menu-hover:rgba(255,255,255,.36);
  --qa-menu-mode:rgba(248,251,254,.55);
  --qa-menu-mode-active:#dceee6;
  --qa-menu-accent:#087643;
  --qa-menu-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.16),0 12px 28px rgba(20,48,73,.18),0 2px 6px rgba(20,48,73,.06);
}
:root[data-color-mode="dark"] .qa-panel {
  --qa-menu-surface:rgba(25,42,58,.8);
  --qa-menu-sheen:rgba(184,211,237,.1);
  --qa-menu-border:rgba(175,203,228,.32);
  --qa-menu-text:#edf4fb;
  --qa-menu-muted:#bdcedd;
  --qa-menu-selected:rgba(72,110,142,.5);
  --qa-menu-hover:rgba(155,192,224,.14);
  --qa-menu-mode:rgba(70,97,120,.46);
  --qa-menu-mode-active:#244c43;
  --qa-menu-accent:#80e5b6;
  --qa-menu-shadow:inset 0 1px 0 rgba(213,233,250,.14),0 12px 28px rgba(8,17,27,.38),0 2px 6px rgba(8,17,27,.2);
}
:root .qa-panel .qa-panel-input .qa-model-menu {
  background:linear-gradient(145deg,var(--qa-menu-sheen),transparent 60%),var(--qa-menu-surface);
  border:1px solid var(--qa-menu-border);
  color:var(--qa-menu-text);
  box-shadow:var(--qa-menu-shadow);
  -webkit-backdrop-filter:blur(24px) saturate(125%);
  backdrop-filter:blur(24px) saturate(125%);
  isolation:isolate;
}
:root .qa-panel .qa-panel-input .qa-model-menu :is(.qa-model-option,.qa-model-settings,.qa-model-logo) { color:var(--qa-menu-text); }
:root .qa-panel .qa-panel-input .qa-model-menu :is(.qa-model-section-label,.qa-model-mode-tabs) { color:var(--qa-menu-muted); }
:root .qa-panel .qa-panel-input .qa-model-menu-divider { background:var(--qa-menu-border); opacity:.65; }
:root .qa-panel .qa-panel-input .qa-model-option.selected { background:var(--qa-menu-selected) !important; }
:root .qa-panel .qa-panel-input :is(.qa-model-option,.qa-model-settings):is(:hover,:focus-visible) { background:var(--qa-menu-hover) !important; }
:root .qa-panel .qa-panel-input .qa-model-mode-tabs button {
  background:var(--qa-menu-mode) !important;
  border-color:var(--qa-menu-border);
  color:var(--qa-menu-muted);
}
:root .qa-panel .qa-panel-input .qa-model-mode-tabs button[aria-pressed="true"] {
  background:var(--qa-menu-mode-active) !important;
  border-color:var(--qa-menu-accent);
  color:var(--qa-menu-accent);
}
:root .qa-panel .qa-panel-input .qa-model-check { color:var(--qa-menu-accent); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .qa-panel { --qa-menu-surface:#eff6fc; }
  :root[data-color-mode="dark"] .qa-panel { --qa-menu-surface:#1f2e3e; }
}
@media (prefers-reduced-transparency:reduce) {
  .qa-panel .qa-message-assistant { background:#eff6fc; -webkit-backdrop-filter:none; backdrop-filter:none; }
  :root[data-color-mode="dark"] .qa-panel .qa-message-assistant { background:#1f2e3e; }
  .qa-panel { --qa-menu-surface:#eff6fc; }
  :root[data-color-mode="dark"] .qa-panel { --qa-menu-surface:#1f2e3e; }
  :root .qa-panel .qa-panel-input .qa-model-menu { -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* File actions share the model menu's frosted surface. */
.qa-document-more-wrap { position:static; flex:0 0 auto; }
:root .qa-panel .qa-document-more { display:flex; align-items:center; gap:5px; height:28px; padding:3px 8px; border:1px solid var(--qa-model-idle-border); color:var(--color-text); border-radius:14px; font:inherit; font-size:12px; white-space:nowrap; cursor:pointer; }
.qa-more-icon { width:15px; height:15px; background:currentColor; -webkit-mask:url('/qa/icons/layers.svg') center/contain no-repeat; mask:url('/qa/icons/layers.svg') center/contain no-repeat; }
:root .qa-panel .qa-panel-input .qa-document-more:is(:hover,[aria-expanded="true"]) { background:var(--qa-menu-hover) !important; }
.qa-document-menu { position:absolute; right:12px; bottom:46px; z-index:15; width:174px; max-width:calc(100% - 24px); box-sizing:border-box; padding:6px; border:1px solid var(--qa-menu-border); border-radius:14px; color:var(--qa-menu-text); background:linear-gradient(145deg,var(--qa-menu-sheen),transparent 60%),var(--qa-menu-surface); box-shadow:var(--qa-menu-shadow); -webkit-backdrop-filter:blur(24px) saturate(125%); backdrop-filter:blur(24px) saturate(125%); }
.qa-document-menu[hidden] { display:none; }
.qa-menu-document { padding:7px 12px 10px; margin-bottom:4px; border-bottom:1px solid var(--qa-menu-border); }
.qa-menu-document-label { display:block; margin-bottom:4px; font-size:11px; opacity:.75; }
.qa-menu-document-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; font-size:12px; line-height:1.5; }
:root .qa-panel .qa-document-menu button { display:block; width:100%; min-height:34px; padding:7px 12px; border:0; border-radius:8px; color:var(--qa-menu-text) !important; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
:root .qa-panel .qa-panel-input .qa-document-menu button:is(:hover,:focus-visible) { background:var(--qa-menu-hover) !important; }
@media (prefers-reduced-transparency:reduce) { .qa-document-menu { -webkit-backdrop-filter:none; backdrop-filter:none; } }

:root .qa-panel .qa-panel-input .qa-web-search-btn { display:inline-flex; align-items:center; justify-content:center; gap:5px; flex:0 0 auto; min-width:28px; height:28px; box-sizing:border-box; padding:3px 8px; border:1px solid var(--qa-model-idle-border) !important; border-radius:999px !important; color:var(--color-text) !important; font-size:12px !important; font-weight:400; line-height:20px; cursor:pointer; }
:root .qa-panel .qa-panel-input .qa-web-search-btn:not(:disabled):hover { background:var(--qa-menu-hover) !important; }
:root .qa-panel .qa-panel-input .qa-web-search-btn[aria-pressed="true"] { background:var(--qa-menu-mode-active) !important; border-color:var(--qa-menu-accent) !important; color:var(--qa-menu-accent) !important; font-weight:600; }
:root .qa-panel .qa-panel-input .qa-web-search-btn[aria-pressed="true"]:hover { background:var(--qa-menu-mode-active) !important; }
.qa-web-search-btn:disabled { opacity:.45; cursor:not-allowed; }
.qa-web-search-icon { display:block; flex:0 0 15px; width:15px; height:15px; background:currentColor; -webkit-mask:url('/qa/icons/world.svg') center/contain no-repeat; mask:url('/qa/icons/world.svg') center/contain no-repeat; }
.qa-answer-meta,.qa-source-site { display:block; font-size:11px; opacity:.8; }
.qa-answer-meta { margin-bottom:6px; }
.qa-answer-sources { margin-top:12px; padding-top:8px; border-top:1px solid var(--qa-composer-border); }
.qa-answer-sources[hidden] { display:none; }
.qa-source-item + .qa-source-item { margin-top:8px; }
.qa-source-link { color:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.qa-input-tools-left,.qa-input-tools-right { min-width:0; }
.qa-panel { container-type:inline-size; }
@container(max-width:380px) {
  .qa-web-search-label { display:none; }
  :root .qa-panel .qa-panel-input .qa-web-search-btn { width:auto !important; padding:3px 6px; }
  .qa-panel-input .qa-input-tools,.qa-panel-input .qa-input-tools-right { gap:4px; }
  .qa-panel-input .qa-document-more > span:last-child { display:none; }
  .qa-panel-input #qaModelPickerLabel { max-width:56px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media(max-width:480px) { .qa-web-search-label { display:none; } .qa-panel .qa-input-tools,.qa-panel .qa-input-tools-right { gap:5px; } }
