@import url("/assets/mobile-gestures.css?v=1");
/* The accepted assistant remains the default home and navigation shell. */
#sidebarClose, #newChat > [data-icon="plus"]:not(.key-hint), #aboutBtn > span:not([data-icon]) { display: none; }
.sidebar .sidebar-heading { min-height: 40px; }
.sidebar .new-chat { height: 44px; min-height: 44px; padding: 0 18px; }
.sidebar .new-chat .key-hint { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex-shrink: 0; }
.sidebar .new-chat .key-hint svg { width: 24px; height: 24px; stroke-width: 1.6; }
.sidebar .new-chat:focus-visible { outline: 2px solid #9dcaf1; outline-offset: 2px; background: #fff; }
.workspace-shortcuts { display: grid; gap: 6px; padding-bottom: 20px; margin: -8px 0 20px; border-bottom: 1px solid #dce8f1; }
.workspace-shortcuts button { display: flex; align-items: center; gap: 13px; padding: 14px 16px; background: transparent; border-radius: 16px; color: #52697f; font-size: 15px; text-align: left; }
.workspace-shortcuts button svg { width: 21px; height: 21px; }
.workspace-shortcuts button:hover { background: #e9f2fa; }
.workspace-shortcuts button.active { color: #237fdc; background: #e3effb; }
.workspace-shortcuts button:focus-visible { outline: 2px solid #78b4ed; outline-offset: 2px; }
@media (min-width: 1024px) {
  .sidebar .history { min-height: 70px; }
  .sidebar { overflow-y: auto; }
}
.workspace-title { margin: 0 auto 0 18px; font-size: 18px; font-weight: 600; color: #315577; }
.workspace-panel { position: relative; flex: 1; min-height: 0; width: 100%; overflow: hidden; }
.workspace-panel iframe { width: 100%; height: 100%; display: block; border: 0; background: #fcfdff; }
.workspace-loading { position: absolute; inset: 0; z-index: 1; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; color: #6d859a; background: #fcfdff; font-size: 14px; }
.workspace-loading p { margin: 0; }
.workspace-loading button { border-radius: 14px; padding: 12px 24px; color: #fff; background: #087ce6; font-size: 14px; }
.main.portal-active .conversation-scroll, .main.portal-active .composer-area,
.main.portal-active #voiceToggle, .main.portal-active #conversationOrb { display: none; }
.main.portal-active { position: relative; }
.main.portal-active .topbar { position: absolute; inset: 0 auto auto 0; z-index: 10; padding-block: 13px; background: transparent; border: 0; pointer-events: none; }
.main.portal-active .workspace-title { display: none; }
.main.portal-active #menuBtn { pointer-events: auto; }

/* Share the input surface's geometry, including the attachment picker inset. */
.composer-area { --input-radius: 28px; --input-inset: 8px; }
.composer { border-radius: var(--input-radius); }
.upload-menu { border-radius: var(--input-radius); padding: var(--input-inset); }
.upload-menu button, .record-button { border-radius: calc(var(--input-radius) - var(--input-inset)); }
@media (max-width: 600px) {
  .composer-area { --input-radius: 24px; --input-inset: 6px; }
}
.portal-mobile-nav { display: none; }
@media (max-width: 1023px) {
  #main:not(.portal-active) > #conversationScroll,
  #main:not(.portal-active) > .composer-area,
  #main:not(.portal-active) #messageInput {
    touch-action: pan-y;
  }
  /* Mobile drawer uses exactly the assistant's original items. */
  .workspace-shortcuts { display: none; }
  .app { --mobile-nav-height: 57.2px; --mobile-nav-inset: 0px; --mobile-nav-content-shift: -2.86px; --mobile-safe-bottom: env(safe-area-inset-bottom, 0px); height: 100dvh; min-height: 0; }
  /* Extend the active page's canvas under the transparent navigation. */
  .app:has(.main.portal-active) { background: #fcfdff; }
  .main { padding-bottom: calc(var(--mobile-nav-height) + var(--mobile-nav-inset) + var(--mobile-safe-bottom)); }
  /* The glass must sample real scrolling content, not an empty reserved strip. */
  .main.portal-active { padding-bottom: 0; }
  .portal-mobile-nav { position: fixed; z-index: 20; inset: auto 0 0; height: calc(var(--mobile-nav-height) + var(--mobile-nav-inset) + var(--mobile-safe-bottom)); padding: var(--mobile-nav-inset) 6px var(--mobile-safe-bottom); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: transparent; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  /* Scale both the previous 52px body and 5px business inset by 10%. */
  .app:has(.portal-mobile-nav [data-workspace="value"].active),
  .app:has(.portal-mobile-nav [data-workspace="screener"].active) { --mobile-nav-inset: 5.5px; }
  .app:has(.portal-mobile-nav [data-workspace="value"].active) .portal-mobile-nav,
  .app:has(.portal-mobile-nav [data-workspace="screener"].active) .portal-mobile-nav {
    background-color: rgba(246, 251, 255, .54);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(207, 230, 255, .14));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65);
    backdrop-filter: blur(24px) saturate(150%);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
  }
  .portal-mobile-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; padding: 4px; border-radius: 12px; background: none; color: #8b9dab; font-size: 11px; line-height: 1.5; }
  .portal-nav-symbol { display: block; flex: 0 0 23px; width: 23px; height: 23px; transform: translateY(var(--mobile-nav-content-shift)); }
  .portal-mobile-nav button .portal-nav-icon { display: block; width: 23px; height: 23px; overflow: visible; transform-origin: center; }
  .portal-nav-label { transform: translateY(var(--mobile-nav-content-shift)); white-space: nowrap; }
  .portal-mobile-nav .nav-icon-outline { opacity: 1; transition: opacity .2s ease; }
  .portal-mobile-nav .nav-icon-color { opacity: 0; transition: opacity .2s ease; }
  .portal-mobile-nav button.active .nav-icon-outline { opacity: 0; }
  .portal-mobile-nav button.active .nav-icon-color { opacity: 1; }
  .portal-mobile-nav button.active .portal-nav-icon { animation: portal-nav-select .42s cubic-bezier(.22, 1, .36, 1) both; filter: drop-shadow(0 1px 1.2px rgba(27, 111, 206, .18)); }
  .portal-mobile-nav button.active { color: #087ce6; }
  .portal-mobile-nav button:focus-visible { outline: 2px solid #8abdf1; outline-offset: -2px; }
  .main.portal-active .topbar { display: none; }
  .composer-area { padding-bottom: 12px; }
  .composer-note { display: none; }
  .welcome { margin-top: clamp(12px, 5vh, 40px); }
  .toast { bottom: 150px; }
}
@keyframes portal-nav-select {
  0% { transform: scale(.9); }
  45% { transform: translateY(-1.5px) scale(1.1); }
  75% { transform: translateY(.4px) scale(.98); }
  100% { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-mobile-nav button.active .portal-nav-icon { animation: none; }
  .portal-mobile-nav .nav-icon-outline, .portal-mobile-nav .nav-icon-color { transition: none; }
}
@media (max-width: 600px) and (max-height: 750px) {
  .welcome { margin-top: 12px; margin-bottom: 12px; }
  .welcome .orb { width: 96px; height: 96px; margin-bottom: 20px; }
  .suggestions { margin-top: 24px; }
  .suggestions button { padding-block: 11px; }
}
