﻿/*
  Nero Mobile Chat Drop-in
  Scope: only changes the post-login chat window on phones/tablets.
  Install: copy this folder to ui/web/mobile-chat and include this CSS after styles.css.
*/

:root {
  --nero-mobile-topbar-h: 64px;
  --nero-mobile-composer-h: 66px;
  --nero-mobile-vvh: 100vh;
  --nero-mobile-vvoffset-top: 0px;
  --nero-mobile-sheet-radius: 28px;
  --keyboard-offset: 0px;
}

body.nero-mobile-chat-ready .mobile-chat-topbar,
body.nero-mobile-chat-ready .mobile-chat-scrim,
body.nero-mobile-chat-ready .mobile-sheet-backdrop,
body.nero-mobile-chat-ready .mobile-quick-prompts {
  display: none;
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  html,
  body {
    width: 100%;
    min-height: 100%;
    overflow-x: hidden !important;
  }

  body.nero-mobile-chat-active {
    background:
      radial-gradient(circle at 50% -8%, rgba(40,217,255,.22), transparent 24rem),
      radial-gradient(circle at 96% 18%, rgba(138,92,255,.17), transparent 22rem),
      #f5f5f7 !important;
    overscroll-behavior-y: none;
  }

  body.nero-mobile-chat-active.nero-mobile-menu-open {
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .landing-screen:not(.hidden) ~ * .mobile-chat-topbar,
  body.nero-mobile-chat-active .chat-screen.hidden .mobile-chat-topbar,
  body.nero-mobile-chat-active .chat-screen.hidden .mobile-chat-scrim,
  body.nero-mobile-chat-active .chat-screen.hidden .mobile-quick-prompts {
    display: none !important;
  }

  body.nero-mobile-chat-active .chat-screen {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 50% -10%, rgba(40,217,255,.20), transparent 22rem),
      radial-gradient(circle at 100% 18%, rgba(138,92,255,.14), transparent 20rem),
      linear-gradient(180deg, #fbfbfd 0%, #f5f5f7 100%) !important;
  }

  body.nero-mobile-chat-active .chat-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 9px !important;
    padding:
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px)
      10px
      calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
    overflow: hidden !important;
    transition: none !important;
  }

  body.nero-mobile-chat-active .chat-screen.right-panel-open .chat-main {
    padding-right: 10px !important;
  }

  body.nero-mobile-chat-active .chat-header {
    display: none !important;
  }

  body.nero-mobile-chat-active .mobile-chat-topbar {
    position: fixed;
    left: 10px;
    right: 10px;
    top: calc(env(safe-area-inset-top, 0px) + 8px);
    z-index: 260;
    min-height: 52px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 9px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 999px;
    background: rgba(255,255,255,.68);
    box-shadow: 0 18px 54px rgba(0,0,0,.11);
    backdrop-filter: blur(26px) saturate(1.25);
    -webkit-backdrop-filter: blur(26px) saturate(1.25);
  }

  body.nero-mobile-chat-active .mobile-chat-icon-button {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    color: rgba(17,17,20,.76);
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 9px 22px rgba(0,0,0,.06);
  }

  body.nero-mobile-chat-active .mobile-chat-icon-button:active {
    transform: scale(.96);
  }

  body.nero-mobile-chat-active .mobile-chat-icon-button svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.nero-mobile-chat-active .mobile-chat-title {
    min-width: 0;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
  }

  body.nero-mobile-chat-active .mobile-chat-title .mini-orb {
    width: 26px;
    height: 26px;
  }

  body.nero-mobile-chat-active .mobile-chat-title-text {
    min-width: 0;
    display: grid;
    gap: 1px;
  }

  body.nero-mobile-chat-active .mobile-chat-title strong {
    min-width: 0;
    color: var(--ink, #111114);
    font-size: 15px;
    line-height: 1.1;
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nero-mobile-chat-active .mobile-chat-title span {
    min-width: 0;
    color: rgba(110,110,115,.82);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .06em;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nero-mobile-chat-active .orb-dashboard {
    grid-row: 1 !important;
    min-height: 142px !important;
    height: 142px !important;
    margin: 0 !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 56px rgba(0,0,0,.09) !important;
    background:
      radial-gradient(circle at 26% 68%, rgba(40,217,255,.20), transparent 12rem),
      radial-gradient(circle at 86% 24%, rgba(138,92,255,.16), transparent 14rem),
      rgba(255,255,255,.60) !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .orb-dashboard {
    min-height: 104px !important;
    height: 104px !important;
    border-radius: 28px !important;
  }

  body.nero-mobile-chat-active .orb-home-point {
    inset: 0 !important;
  }

  body.nero-mobile-chat-active .orb-body,
  body.nero-mobile-chat-active .orb-body.idle,
  body.nero-mobile-chat-active .orb-body.userTyping,
  body.nero-mobile-chat-active .orb-body.thinking,
  body.nero-mobile-chat-active .orb-body.speaking,
  body.nero-mobile-chat-active .orb-body.coding {
    left: 62px !important;
    top: 50% !important;
    width: 92px !important;
    height: 92px !important;
    transform: translateY(-50%) !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.idle,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.userTyping,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.thinking,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.speaking,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.coding {
    left: 50px !important;
    width: 68px !important;
    height: 68px !important;
  }

  body.nero-mobile-chat-active .orb-body.coding .split-a {
    left: -30% !important;
    top: 10% !important;
  }

  body.nero-mobile-chat-active .orb-body.coding .split-b {
    left: 70% !important;
    top: 42% !important;
  }

  body.nero-mobile-chat-active .confidence-corner {
    right: 14px !important;
    top: 12px !important;
    font-size: 10px !important;
    opacity: .74;
  }

  body.nero-mobile-chat-active .mode-pill {
    right: 12px !important;
    bottom: 12px !important;
    max-width: 116px;
    padding: 7px 10px !important;
    font-size: 11px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nero-mobile-chat-active .task-feed {
    left: 132px !important;
    right: 16px !important;
    bottom: 42px !important;
  }

  body.nero-mobile-chat-active .task-feed h2 {
    max-width: 100%;
    color: rgba(17,17,20,.70) !important;
    font-size: 24px !important;
    line-height: .95 !important;
    letter-spacing: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .task-feed {
    left: 112px !important;
    bottom: 37px !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .task-feed h2 {
    font-size: 20px !important;
  }

  body.nero-mobile-chat-active .live-task-bubble {
    left: 128px !important;
    right: 12px !important;
    top: 16px !important;
    width: auto !important;
    min-height: 0 !important;
    max-height: 72px;
    overflow: hidden;
    visibility: visible !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .live-task-bubble {
    left: 106px !important;
    top: 12px !important;
    max-height: 50px;
  }

  body.nero-mobile-chat-active .live-task-bubble-header {
    display: none !important;
  }

  body.nero-mobile-chat-active .live-task-list {
    gap: 6px !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .live-task-item {
    max-width: 100% !important;
    min-height: 30px !important;
    padding: 7px 9px !important;
    grid-template-columns: 8px minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  body.nero-mobile-chat-active .live-task-item:nth-child(n) {
    margin-top: 0 !important;
  }

  body.nero-mobile-chat-active .live-task-item p {
    font-size: 11px !important;
  }

  body.nero-mobile-chat-active .dashboard-fog {
    height: 42px !important;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(245,245,247,.72)) !important;
  }

  body.nero-mobile-chat-active .conversation-shell {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  body.nero-mobile-chat-active .conversation-shell::before {
    display: none !important;
  }

  body.nero-mobile-chat-active .conversation {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 8px 1px 12px !important;
    overflow-y: auto !important;
    scroll-padding-bottom: 88px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.nero-mobile-chat-active .user-message,
  body.nero-mobile-chat-active .nero-message {
    max-width: min(88%, 540px) !important;
    padding: 13px 15px !important;
    border-radius: 22px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.055) !important;
    overflow-wrap: anywhere;
  }

  body.nero-mobile-chat-active .user-message {
    border-bottom-right-radius: 7px !important;
    background: rgba(0,113,227,.92) !important;
  }

  body.nero-mobile-chat-active .nero-message {
    border-bottom-left-radius: 7px !important;
    background: rgba(255,255,255,.66) !important;
    border-color: rgba(255,255,255,.86) !important;
  }

  body.nero-mobile-chat-active .mobile-quick-prompts {
    display: grid;
    gap: 10px;
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 16px;
    z-index: 5;
    pointer-events: auto;
    transition: opacity .22s ease, transform .22s ease;
  }

  body.nero-mobile-chat-active .chat-has-messages .mobile-quick-prompts,
  body.nero-mobile-chat-active .chat-screen.chat-started .mobile-quick-prompts {
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
  }

  body.nero-mobile-chat-active .mobile-quick-prompts-title {
    margin: 0;
    color: rgba(110,110,115,.88);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body.nero-mobile-chat-active .mobile-quick-prompt-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
  }

  body.nero-mobile-chat-active .mobile-quick-prompt {
    min-height: 36px;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 999px;
    background: rgba(255,255,255,.68);
    color: rgba(17,17,20,.74);
    box-shadow: 0 10px 26px rgba(0,0,0,.055);
    backdrop-filter: blur(18px) saturate(1.15);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
    font-size: 12px;
    font-weight: 800;
  }

  body.nero-mobile-chat-active .composer {
    grid-row: 3 !important;
    min-height: 62px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.78) !important;
    border-color: rgba(255,255,255,.92) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.11) !important;
    backdrop-filter: blur(28px) saturate(1.22) !important;
    -webkit-backdrop-filter: blur(28px) saturate(1.22) !important;
  }

  body.nero-mobile-chat-active .composer input {
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 999px !important;
    padding: 0 16px !important;
    background: rgba(255,255,255,.88) !important;
    font-size: 16px !important;
    line-height: 46px !important;
  }

  body.nero-mobile-chat-active .composer button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #111114 !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
  }

  body.nero-mobile-chat-active .composer button::before {
    content: "\2191";
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-1px);
  }

  body.nero-mobile-chat-active .right-tool-dock {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 82px) !important;
    z-index: 245 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    max-width: calc(100vw - 22px) !important;
    min-width: 0 !important;
    padding: 8px !important;
    border-radius: 999px !important;
    transform: translate(-50%, 12px) scale(.98) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(255,255,255,.72) !important;
    border: 1px solid rgba(255,255,255,.88) !important;
    box-shadow: 0 18px 54px rgba(0,0,0,.14) !important;
    backdrop-filter: blur(26px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(26px) saturate(1.25) !important;
    transition: opacity .22s ease, transform .28s cubic-bezier(.19, 1, .22, 1) !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }

  body.nero-mobile-chat-active .right-tool-dock::-webkit-scrollbar {
    display: none;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-tools-open .right-tool-dock,
  body.nero-mobile-chat-active .chat-screen.right-panel-open .right-tool-dock {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }

  body.nero-mobile-chat-active .tool-icon-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.68) !important;
  }

  body.nero-mobile-chat-active .tool-icon-button svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.nero-mobile-chat-active .sidebar {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 320 !important;
    width: min(86vw, 360px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto !important;
    padding: calc(env(safe-area-inset-top, 0px) + 20px) 18px 18px !important;
    border-right: 1px solid rgba(255,255,255,.88) !important;
    border-radius: 0 32px 32px 0 !important;
    background: rgba(255,255,255,.78) !important;
    box-shadow: 24px 0 72px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(30px) saturate(1.22) !important;
    -webkit-backdrop-filter: blur(30px) saturate(1.22) !important;
    transform: translateX(calc(-100% - 18px)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform .34s cubic-bezier(.19,1,.22,1), opacity .22s ease !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-menu-open .sidebar {
    transform: translateX(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.nero-mobile-chat-active .sidebar-scroll {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.nero-mobile-chat-active .side-brand {
    margin-bottom: 18px !important;
  }

  body.nero-mobile-chat-active .side-action {
    min-height: 46px !important;
    margin-bottom: 18px !important;
  }

  body.nero-mobile-chat-active .mobile-chat-scrim {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: block;
    border: 0;
    background: rgba(17,17,20,.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-menu-open ~ .mobile-chat-scrim,
  body.nero-mobile-chat-active.nero-mobile-menu-open .mobile-chat-scrim {
    opacity: 1;
    pointer-events: auto;
  }

  body.nero-mobile-chat-active .info-panel,
  body.nero-mobile-chat-active .settings-panel,
  body.nero-mobile-chat-active .task-panel,
  body.nero-mobile-chat-active .coding-panel,
  body.nero-mobile-chat-active .learning-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
    z-index: 280 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(82vh, 720px) !important;
    min-height: 0 !important;
    border-radius: var(--nero-mobile-sheet-radius) !important;
    border: 1px solid rgba(255,255,255,.88) !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 24px 78px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(30px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(30px) saturate(1.2) !important;
    overflow: hidden !important;
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: transform .34s cubic-bezier(.19,1,.22,1), opacity .22s ease, visibility .22s ease !important;
  }

  body.nero-mobile-chat-active .info-panel.collapsed,
  body.nero-mobile-chat-active .settings-panel.collapsed,
  body.nero-mobile-chat-active .task-panel.collapsed,
  body.nero-mobile-chat-active .coding-panel.collapsed,
  body.nero-mobile-chat-active .learning-panel.collapsed {
    transform: translateY(calc(100% + 22px)) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.nero-mobile-chat-active .tool-panel-content,
  body.nero-mobile-chat-active .learning-content {
    max-height: min(82vh, 720px) !important;
    overflow-y: auto !important;
    padding: 24px 18px 18px !important;
    -webkit-overflow-scrolling: touch;
  }

  body.nero-mobile-chat-active .tool-panel-content::before,
  body.nero-mobile-chat-active .learning-content::before {
    content: "";
    position: sticky;
    top: 0;
    display: block;
    width: 42px;
    height: 5px;
    margin: -8px auto 14px;
    border-radius: 999px;
    background: rgba(17,17,20,.18);
  }
}

@media (max-width: 420px) {
  body.nero-mobile-chat-active .mobile-chat-topbar {
    left: 8px;
    right: 8px;
    grid-template-columns: 40px minmax(0, 1fr) 40px 40px;
    gap: 7px;
    padding: 7px;
  }

  body.nero-mobile-chat-active .mobile-chat-icon-button {
    width: 38px;
    height: 38px;
  }

  body.nero-mobile-chat-active .mobile-chat-title strong {
    font-size: 14px;
  }

  body.nero-mobile-chat-active .chat-main {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.nero-mobile-chat-active .orb-dashboard {
    min-height: 132px !important;
    height: 132px !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .orb-dashboard {
    min-height: 96px !important;
    height: 96px !important;
  }

  body.nero-mobile-chat-active .orb-body,
  body.nero-mobile-chat-active .orb-body.idle,
  body.nero-mobile-chat-active .orb-body.userTyping,
  body.nero-mobile-chat-active .orb-body.thinking,
  body.nero-mobile-chat-active .orb-body.speaking,
  body.nero-mobile-chat-active .orb-body.coding {
    left: 53px !important;
    width: 82px !important;
    height: 82px !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.idle,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.userTyping,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.thinking,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.speaking,
  body.nero-mobile-chat-active .chat-screen.chat-started .orb-body.coding {
    left: 43px !important;
    width: 62px !important;
    height: 62px !important;
  }

  body.nero-mobile-chat-active .task-feed {
    left: 116px !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .task-feed {
    left: 98px !important;
  }

  body.nero-mobile-chat-active .live-task-bubble {
    left: 112px !important;
  }

  body.nero-mobile-chat-active .chat-screen.chat-started .live-task-bubble {
    left: 92px !important;
  }

  body.nero-mobile-chat-active .mobile-quick-prompts {
    left: 10px;
    right: 10px;
  }
}

@media (max-height: 680px) and (max-width: 980px), (max-height: 680px) and (hover: none) and (pointer: coarse) {
  body.nero-mobile-chat-active .orb-dashboard {
    min-height: 104px !important;
    height: 104px !important;
  }

  body.nero-mobile-chat-active .orb-body,
  body.nero-mobile-chat-active .orb-body.idle,
  body.nero-mobile-chat-active .orb-body.userTyping,
  body.nero-mobile-chat-active .orb-body.thinking,
  body.nero-mobile-chat-active .orb-body.speaking,
  body.nero-mobile-chat-active .orb-body.coding {
    width: 66px !important;
    height: 66px !important;
  }

  body.nero-mobile-chat-active .mobile-quick-prompts {
    display: none !important;
  }
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.nero-mobile-chat-active .chat-screen {
    height: var(--nero-mobile-vvh, 100dvh) !important;
    min-height: 0 !important;
    background: linear-gradient(180deg, #fbfbfd 0%, #eef2f6 100%) !important;
  }

  body.nero-mobile-chat-active .chat-main {
    height: var(--nero-mobile-vvh, 100dvh) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding:
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px)
      10px
      calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
  }

  body.nero-mobile-chat-active .mobile-chat-topbar {
    min-height: 50px;
    border-radius: 22px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 12px 34px rgba(15,23,42,.12);
  }

  body.nero-mobile-chat-active .mobile-chat-title strong,
  body.nero-mobile-chat-active .mobile-chat-title span,
  body.nero-mobile-chat-active .mobile-quick-prompts-title {
    letter-spacing: 0 !important;
  }

  body.nero-mobile-chat-active .orb-dashboard {
    display: none !important;
  }

  body.nero-mobile-chat-active .conversation-shell {
    grid-row: 1 !important;
    position: relative !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    min-height: 0 !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.62) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.70), 0 14px 40px rgba(15,23,42,.08) !important;
  }

  body.nero-mobile-chat-active .conversation {
    min-height: 0 !important;
    padding: 12px 8px 16px !important;
  }

  body.nero-mobile-chat-active .user-message,
  body.nero-mobile-chat-active .nero-message {
    max-width: 90% !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  body.nero-mobile-chat-active .mobile-quick-prompts {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
  }

  body.nero-mobile-chat-active.nero-mobile-input-focus .mobile-quick-prompts {
    display: none !important;
  }

  body.nero-mobile-chat-active .composer {
    grid-row: 2 !important;
    min-height: 60px !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 12px 34px rgba(15,23,42,.12) !important;
  }

  body.nero-mobile-chat-active .composer input {
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
  }

  body.nero-mobile-chat-active .composer button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  body.nero-mobile-chat-active .composer button::before {
    content: "\2191";
  }

  body.nero-mobile-chat-active .right-tool-dock {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 82px) !important;
  }

  body.nero-mobile-chat-active:not(.nero-mobile-menu-open) .sidebar {
    transform: translate3d(calc(-100% - 40px), 0, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }

  body.nero-mobile-chat-active .chat-screen:not(.mobile-tools-open):not(.right-panel-open) .right-tool-dock {
    transform: translate3d(-50%, 14px, 0) scale(.96) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-tools-open .right-tool-dock,
  body.nero-mobile-chat-active .chat-screen.right-panel-open .right-tool-dock {
    visibility: visible !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.nero-mobile-chat-ready .mobile-chat-topbar,
  body.nero-mobile-chat-ready .right-tool-dock,
  body.nero-mobile-chat-ready .sidebar,
  body.nero-mobile-chat-ready .mobile-chat-scrim,
  body.nero-mobile-chat-ready .info-panel,
  body.nero-mobile-chat-ready .settings-panel,
  body.nero-mobile-chat-ready .task-panel,
  body.nero-mobile-chat-ready .coding-panel,
  body.nero-mobile-chat-ready .learning-panel {
    transition: none !important;
  }
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  html,
  body {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: manipulation;
  }

  body.nero-mobile-chat-active #app {
    height: 100dvh;
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }

  body.nero-mobile-chat-active .chat-screen {
    height: var(--nero-mobile-vvh, 100dvh) !important;
    min-height: var(--nero-mobile-vvh, 100dvh) !important;
    max-height: var(--nero-mobile-vvh, 100dvh) !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .chat-main {
    height: var(--nero-mobile-vvh, 100dvh) !important;
    min-height: 0 !important;
    grid-template-rows: minmax(0, 1fr) !important;
    padding:
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px)
      10px
      calc(var(--nero-mobile-composer-h) + var(--keyboard-offset, 0px) + env(safe-area-inset-bottom, 0px) + 22px) !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .conversation-shell {
    grid-row: 1 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .runtime-connection-banner {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 16px) !important;
    z-index: 255 !important;
    margin: 0 !important;
    border-radius: 18px !important;
  }

  body.nero-mobile-chat-active .runtime-connection-banner p {
    font-size: 12px !important;
  }

  body.nero-mobile-chat-active .conversation {
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: calc(var(--nero-mobile-composer-h) + var(--keyboard-offset, 0px) + 26px) !important;
    scroll-padding-bottom: calc(var(--nero-mobile-composer-h) + var(--keyboard-offset, 0px) + 26px) !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.nero-mobile-chat-active .chat-empty-state {
    top: 48% !important;
    width: calc(100% - 28px) !important;
    max-width: 360px !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }

  body.nero-mobile-chat-active .chat-empty-state h2 {
    font-size: 24px !important;
    letter-spacing: 0 !important;
  }

  body.nero-mobile-chat-active .chat-empty-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.nero-mobile-chat-active .chat-empty-actions button {
    min-height: 48px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  body.nero-mobile-chat-active .conversation:empty {
    justify-content: center !important;
  }

  body.nero-mobile-chat-active .conversation:empty::before {
    content: "Bereit für deine nächste Frage.";
    align-self: center;
    max-width: 260px;
    padding: 12px 16px;
    border-radius: 999px;
    color: rgba(17,24,39,.44);
    background: rgba(255,255,255,.54);
    border: 1px solid rgba(226,232,240,.78);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
  }

  body.nero-mobile-chat-active .chat-screen:not(.chat-has-messages) .conversation:empty::before {
    display: none;
  }

  body.nero-mobile-chat-active .composer {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + var(--keyboard-offset, 0px) + 8px) !important;
    z-index: 270 !important;
    width: auto !important;
    min-height: 60px !important;
    transform: translate3d(0, 0, 0);
  }

  body.nero-mobile-chat-active .composer input,
  body.nero-mobile-chat-active .composer textarea,
  body.nero-mobile-chat-active input,
  body.nero-mobile-chat-active textarea,
  body.nero-mobile-chat-active select {
    font-size: 16px !important;
  }

  body.nero-mobile-chat-active button,
  body.nero-mobile-chat-active [role="button"],
  body.nero-mobile-chat-active .tool-icon-button,
  body.nero-mobile-chat-active .mobile-chat-icon-button,
  body.nero-mobile-chat-active .mobile-quick-prompt,
  body.nero-mobile-chat-active .side-chat-button,
  body.nero-mobile-chat-active .side-project-button {
    min-height: 44px;
    touch-action: manipulation;
  }

  body.nero-mobile-chat-active .mobile-chat-dots {
    display: block;
    color: currentColor;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-1px);
  }

  body.nero-mobile-chat-active .right-tool-dock {
    bottom: calc(env(safe-area-inset-bottom, 0px) + var(--keyboard-offset, 0px) + var(--nero-mobile-composer-h) + 18px) !important;
    z-index: 275 !important;
  }

  body.nero-mobile-chat-active .chat-screen.right-panel-open:not(.mobile-tools-open) .right-tool-dock {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
    transform: translate3d(-50%, 14px, 0) scale(.96) !important;
  }

  body.nero-mobile-chat-active .mobile-chat-scrim {
    z-index: 300;
    background: rgba(17,17,20,.22);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.nero-mobile-chat-active .sidebar {
    z-index: 360 !important;
    width: min(82vw, 360px) !important;
    max-width: 360px !important;
    height: var(--nero-mobile-vvh, 100dvh) !important;
    max-height: var(--nero-mobile-vvh, 100dvh) !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-menu-open {
    z-index: 330 !important;
    pointer-events: none !important;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-menu-open .chat-main,
  body.nero-mobile-chat-active .chat-screen.mobile-menu-open .right-tool-dock {
    pointer-events: none !important;
  }

  body.nero-mobile-chat-active .chat-screen.mobile-menu-open .sidebar {
    pointer-events: auto !important;
  }

  body.nero-mobile-chat-active .sidebar-scroll {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-content: stretch !important;
    gap: 16px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.nero-mobile-chat-active .chat-group {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .chat-list-scroll {
    min-height: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    padding: 0 2px 14px 0 !important;
    scrollbar-width: none !important;
  }

  body.nero-mobile-chat-active .chat-list-scroll::-webkit-scrollbar {
    display: none !important;
  }

  body.nero-mobile-chat-active .mobile-sheet-backdrop {
    position: fixed;
    inset: 0;
    z-index: 270;
    display: block;
    border: 0;
    background: rgba(17,17,20,.22);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  body.nero-mobile-chat-active .mobile-sheet-backdrop[hidden] {
    display: none !important;
  }

  body.nero-mobile-chat-active .mobile-sheet-backdrop.is-active {
    opacity: 1;
    pointer-events: auto;
  }

  body.nero-mobile-chat-active .info-panel,
  body.nero-mobile-chat-active .settings-panel,
  body.nero-mobile-chat-active .task-panel,
  body.nero-mobile-chat-active .coding-panel,
  body.nero-mobile-chat-active .learning-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
    z-index: 280 !important;
    height: min(82vh, 720px, calc(var(--nero-mobile-vvh, 100dvh) - env(safe-area-inset-top, 0px) - 64px)) !important;
    max-height: min(82vh, 720px, calc(var(--nero-mobile-vvh, 100dvh) - env(safe-area-inset-top, 0px) - 64px)) !important;
    transform: translateY(var(--mobile-sheet-drag-y, 0px)) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    box-sizing: border-box;
    padding-top: 40px !important;
  }

  body.nero-mobile-chat-active .info-panel.collapsed,
  body.nero-mobile-chat-active .settings-panel.collapsed,
  body.nero-mobile-chat-active .task-panel.collapsed,
  body.nero-mobile-chat-active .coding-panel.collapsed,
  body.nero-mobile-chat-active .learning-panel.collapsed {
    transform: translateY(calc(100% + 28px)) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.nero-mobile-chat-active .mobile-sheet-dragging {
    transition: none !important;
  }

  body.nero-mobile-chat-active .mobile-sheet-handle {
    position: absolute;
    left: 50%;
    top: 8px;
    z-index: 6;
    display: grid;
    place-items: center;
    width: 92px;
    height: 30px;
    min-height: 30px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: grab;
    touch-action: none;
    transform: translateX(-50%);
    pointer-events: auto;
  }

  body.nero-mobile-chat-active .mobile-sheet-handle span {
    display: block;
    width: 44px;
    height: 5px;
    border-radius: 999px;
    background: rgba(17,17,20,.22);
  }

  body.nero-mobile-chat-active .mobile-sheet-close {
    position: absolute;
    top: 8px;
    right: 12px;
    z-index: 6;
    width: 38px;
    height: 38px;
    min-height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: rgba(17,17,20,.74);
    background: rgba(255,255,255,.70);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.80), 0 8px 20px rgba(15,23,42,.08);
    font-size: 24px;
    line-height: 1;
  }

  body.nero-mobile-chat-active .tool-panel-content,
  body.nero-mobile-chat-active .learning-content {
    position: relative !important;
    z-index: 1 !important;
    height: auto !important;
    max-height: calc(min(82vh, var(--nero-mobile-vvh, 100dvh)) - 56px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 18px 20px !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.nero-mobile-chat-active .tool-panel-content::before,
  body.nero-mobile-chat-active .learning-content::before {
    display: none !important;
  }

  body.nero-mobile-chat-active .tool-panel-content h2,
  body.nero-mobile-chat-active .coding-panel-content h2,
  body.nero-mobile-chat-active .learning-content h2 {
    margin: 0 46px 18px 0 !important;
    color: #111827 !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.nero-mobile-chat-active .tool-panel-content .eyebrow,
  body.nero-mobile-chat-active .learning-content .eyebrow {
    margin: 0 46px 8px 0 !important;
    color: rgba(37,99,235,.82) !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
  }

  body.nero-mobile-chat-active .setting-row {
    min-height: 48px !important;
    margin-bottom: 9px !important;
    padding: 12px 13px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.74) !important;
    border-color: rgba(226,232,240,.88) !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.045) !important;
  }

  body.nero-mobile-chat-active .learning-status,
  body.nero-mobile-chat-active .system-check-summary,
  body.nero-mobile-chat-active .learning-report {
    font-size: 14px !important;
    line-height: 1.42 !important;
  }
}

@media (min-width: 700px) and (max-width: 980px), (min-width: 700px) and (hover: none) and (pointer: coarse) {
  body.nero-mobile-chat-active .sidebar {
    width: min(50vw, 360px) !important;
  }
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.nero-mobile-chat-active .chat-main {
    position: relative !important;
    padding-bottom: calc(var(--nero-mobile-composer-h) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  }

  body.nero-mobile-chat-active .conversation {
    padding-bottom: calc(var(--nero-mobile-composer-h) + 14px) !important;
    scroll-padding-bottom: calc(var(--nero-mobile-composer-h) + 14px) !important;
  }

  body.nero-mobile-chat-active .composer {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: max(
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px),
      calc(var(--nero-mobile-vvoffset-top, 0px) + var(--nero-mobile-vvh, 100dvh) - var(--nero-mobile-composer-h) - 8px)
    ) !important;
    bottom: auto !important;
    height: var(--nero-mobile-composer-h) !important;
    min-height: var(--nero-mobile-composer-h) !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 999px !important;
  }

  body.nero-mobile-chat-active.nero-mobile-keyboard-open .composer {
    top: calc(var(--nero-mobile-vvoffset-top, 0px) + var(--nero-mobile-vvh, 100dvh) - var(--nero-mobile-composer-h) - 6px) !important;
  }

  body.nero-mobile-chat-active.nero-mobile-keyboard-open .conversation {
    padding-bottom: calc(var(--nero-mobile-composer-h) + 12px) !important;
    scroll-padding-bottom: calc(var(--nero-mobile-composer-h) + 12px) !important;
  }

  body.nero-mobile-chat-active.nero-mobile-keyboard-open .mobile-quick-prompts {
    display: none !important;
  }

  body.nero-mobile-chat-active .composer input {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    padding: 0 16px !important;
  }

  body.nero-mobile-chat-active .composer button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  body.nero-mobile-chat-active .composer button svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.6 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transform: translateY(-1px) !important;
  }

  body.nero-mobile-chat-active .composer button::before {
    content: none !important;
    display: none !important;
  }

  body.nero-mobile-chat-active .nero-message.thinking-message {
    max-width: min(72%, 320px) !important;
  }

  body.nero-mobile-chat-active .chat-list-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 4px !important;
    min-height: 56px !important;
    padding: 0 !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.58) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.70) !important;
    overflow: visible !important;
  }

  body.nero-mobile-chat-active .chat-list-item.active {
    background: rgba(0,113,227,.12) !important;
    color: #0071e3 !important;
  }

  body.nero-mobile-chat-active .chat-list-item .chat-open-button {
    min-width: 0 !important;
    min-height: 56px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 3px 8px !important;
    padding: 11px 8px 11px 14px !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
  }

  body.nero-mobile-chat-active .chat-list-item .side-item-title {
    grid-column: 1 !important;
    width: 100% !important;
  }

  body.nero-mobile-chat-active .chat-list-item .side-pin {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
  }

  body.nero-mobile-chat-active .chat-list-item .side-item-context {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    color: rgba(75,85,99,.66) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.nero-mobile-chat-active .chat-list-item .chat-row-action {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin-right: 6px !important;
    border-radius: 999px !important;
    background: rgba(118,118,128,.12) !important;
    color: rgba(17,17,20,.70) !important;
    box-shadow: none !important;
  }

  body.nero-mobile-chat-active .chat-list-item.active .chat-row-action {
    background: rgba(255,255,255,.72) !important;
    color: #0071e3 !important;
  }

  body.nero-mobile-chat-active .chat-list-item .chat-row-action svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
  }

  body.nero-mobile-chat-active .chat-context-menu {
    width: min(220px, calc(100vw - 34px)) !important;
    padding: 8px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: rgba(248,248,250,.96) !important;
    box-shadow: 0 18px 48px rgba(15,23,42,.22) !important;
    backdrop-filter: blur(22px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.06) !important;
  }

  body.nero-mobile-chat-active .chat-context-menu button {
    min-height: 44px !important;
    border-radius: 13px !important;
    font-size: 15px !important;
    font-weight: 760 !important;
  }

  body.nero-mobile-chat-active .empty-chat-list {
    margin: 4px 0 0 !important;
    padding: 12px 13px !important;
    border: 1px solid rgba(255,255,255,.70) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.46) !important;
    color: rgba(75,85,99,.72) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 760 !important;
  }

  body.nero-mobile-chat-active .task-panel .tool-panel-content {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
  }

  body.nero-mobile-chat-active .task-accordion {
    gap: 10px !important;
  }

  body.nero-mobile-chat-active .task-summary-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 18px !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
    min-height: 56px !important;
    padding: 13px 14px !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  body.nero-mobile-chat-active .task-summary-row span,
  body.nero-mobile-chat-active .task-summary-row strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.nero-mobile-chat-active .task-summary-row::after {
    justify-self: center !important;
  }

  body.nero-mobile-chat-active .task-accordion-list {
    padding: 0 0 2px !important;
  }

  body.nero-mobile-chat-active .task-accordion-item {
    border-radius: 18px !important;
    padding: 13px !important;
    background: rgba(255,255,255,.68) !important;
  }

  body.nero-mobile-chat-active .task-accordion-main {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.nero-mobile-chat-active .task-panel-footnote {
    display: none !important;
  }

  body.nero-mobile-chat-active .coding-panel,
  body.nero-mobile-chat-active .learning-panel,
  body.nero-mobile-chat-active .task-panel {
    height: min(84vh, calc(var(--nero-mobile-vvh, 100dvh) - env(safe-area-inset-top, 0px) - 62px)) !important;
    max-height: min(84vh, calc(var(--nero-mobile-vvh, 100dvh) - env(safe-area-inset-top, 0px) - 62px)) !important;
  }

  body.nero-mobile-chat-active .coding-panel .tool-panel-content,
  body.nero-mobile-chat-active .learning-panel .learning-content {
    display: grid !important;
    align-content: start !important;
    gap: 14px !important;
    padding: 0 16px 22px !important;
  }

  body.nero-mobile-chat-active .coding-panel .learning-panel-title,
  body.nero-mobile-chat-active .learning-panel .learning-panel-title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 44px 6px 0 !important;
  }

  body.nero-mobile-chat-active .coding-title-actions,
  body.nero-mobile-chat-active .learning-inline-actions,
  body.nero-mobile-chat-active .learning-answer-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.nero-mobile-chat-active .learning-backend-status {
    position: static !important;
    justify-self: start !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    border-radius: 999px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  body.nero-mobile-chat-active .coding-studio {
    gap: 13px !important;
    padding: 14px !important;
    margin-bottom: 4px !important;
    border-radius: 22px !important;
  }

  body.nero-mobile-chat-active .coding-studio-hero {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  body.nero-mobile-chat-active .coding-studio-orb {
    width: 68px !important;
    height: 68px !important;
  }

  body.nero-mobile-chat-active .coding-studio-live h3 {
    font-size: 25px !important;
    line-height: 1.02 !important;
  }

  body.nero-mobile-chat-active .coding-studio-live p:not(.eyebrow) {
    font-size: 14px !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts div,
  body.nero-mobile-chat-active .coding-next-action,
  body.nero-mobile-chat-active .coding-live-task-item {
    border-radius: 14px !important;
    padding: 11px 12px !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts strong,
  body.nero-mobile-chat-active .coding-next-action strong,
  body.nero-mobile-chat-active .coding-live-task-item p {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.nero-mobile-chat-active .coding-studio-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.nero-mobile-chat-active .coding-section,
  body.nero-mobile-chat-active .learning-section {
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(226,232,240,.82) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.58) !important;
  }

  body.nero-mobile-chat-active .learning-section-head {
    align-items: start !important;
    gap: 10px !important;
  }

  body.nero-mobile-chat-active .learning-section-head h3 {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    font-size: 18px !important;
    line-height: 1.18 !important;
  }

  body.nero-mobile-chat-active .learning-source-list,
  body.nero-mobile-chat-active .learning-report,
  body.nero-mobile-chat-active .coding-plan-output,
  body.nero-mobile-chat-active .coding-project-list,
  body.nero-mobile-chat-active .coding-operator-shell {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-wrap: anywhere !important;
  }

  body.nero-mobile-chat-active .learning-panel textarea {
    width: 100% !important;
    min-height: 116px !important;
    box-sizing: border-box !important;
    resize: vertical !important;
  }

  body.nero-mobile-chat-active .learning-answer-actions button {
    flex: 1 1 130px !important;
  }

  body.nero-mobile-chat-active .coding-panel .coding-section:not(.mobile-essential-section),
  body.nero-mobile-chat-active .learning-panel .learning-section:not(.mobile-essential-section) {
    display: none !important;
  }

  body.nero-mobile-chat-active .coding-panel,
  body.nero-mobile-chat-active .learning-panel {
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    border-radius: 30px !important;
    background: rgba(250,250,252,.94) !important;
    border: 1px solid rgba(255,255,255,.86) !important;
    box-shadow: 0 18px 60px rgba(15,23,42,.18) !important;
  }

  body.nero-mobile-chat-active .coding-panel .tool-panel-content,
  body.nero-mobile-chat-active .learning-panel .learning-content {
    gap: 12px !important;
    padding: 0 14px 18px !important;
  }

  body.nero-mobile-chat-active .coding-panel .learning-panel-title h2,
  body.nero-mobile-chat-active .learning-panel .learning-panel-title h2 {
    font-size: 30px !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
  }

  body.nero-mobile-chat-active .coding-title-actions .small-setting-button,
  body.nero-mobile-chat-active .learning-inline-actions .small-setting-button {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  body.nero-mobile-chat-active .coding-studio {
    background: rgba(255,255,255,.74) !important;
    border: 1px solid rgba(17,24,39,.06) !important;
    box-shadow: none !important;
  }

  body.nero-mobile-chat-active .coding-studio-hero {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.nero-mobile-chat-active .coding-studio-orb {
    width: 54px !important;
    height: 54px !important;
  }

  body.nero-mobile-chat-active .coding-studio-live h3 {
    font-size: 22px !important;
    line-height: 1.05 !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts div {
    min-height: 62px !important;
    padding: 10px !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts span {
    font-size: 10px !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts strong {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  body.nero-mobile-chat-active .coding-next-action {
    min-height: 0 !important;
    padding: 11px 12px !important;
  }

  body.nero-mobile-chat-active .coding-studio-steps {
    display: flex !important;
    overflow-x: auto !important;
    gap: 6px !important;
    padding-bottom: 2px !important;
  }

  body.nero-mobile-chat-active .coding-studio-step {
    min-width: 86px !important;
    border-radius: 999px !important;
    padding: 8px 10px !important;
  }

  body.nero-mobile-chat-active .coding-live-task-list {
    max-height: 124px !important;
    overflow: auto !important;
  }

  body.nero-mobile-chat-active .coding-section,
  body.nero-mobile-chat-active .learning-section {
    background: rgba(255,255,255,.78) !important;
    border-color: rgba(17,24,39,.06) !important;
    box-shadow: none !important;
  }

  body.nero-mobile-chat-active .learning-panel textarea {
    min-height: 96px !important;
    border-radius: 18px !important;
  }

  body.nero-mobile-chat-active .learning-backend-status {
    max-width: max-content !important;
    font-size: 11px !important;
  }

  body.nero-mobile-chat-active .learning-source-list,
  body.nero-mobile-chat-active .learning-report,
  body.nero-mobile-chat-active .coding-plan-output,
  body.nero-mobile-chat-active .coding-project-list,
  body.nero-mobile-chat-active .coding-operator-shell {
    max-height: 142px !important;
    overflow-y: auto !important;
  }

  /* iOS-grade mobile sheets: calm hierarchy, clear status, minimal tool chrome. */
  body.nero-mobile-chat-active .coding-panel,
  body.nero-mobile-chat-active .learning-panel {
    left: 6px !important;
    right: 6px !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
    height: min(86vh, calc(var(--nero-mobile-vvh, 100dvh) - env(safe-area-inset-top, 0px) - 54px)) !important;
    max-height: min(86vh, calc(var(--nero-mobile-vvh, 100dvh) - env(safe-area-inset-top, 0px) - 54px)) !important;
    border: 0 !important;
    border-radius: 32px !important;
    background: #f6f6f8 !important;
    box-shadow: 0 24px 70px rgba(15,23,42,.22) !important;
    color: #111114 !important;
    overflow: hidden !important;
    padding-top: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.nero-mobile-chat-active.nero-mobile-sheet-open .mobile-sheet-backdrop.is-active {
    background: rgba(246,246,248,.88) !important;
    backdrop-filter: blur(18px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.06) !important;
  }

  body.nero-mobile-chat-active.nero-mobile-sheet-open .right-tool-dock {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  body.nero-mobile-chat-active.nero-mobile-sheet-open .conversation-shell,
  body.nero-mobile-chat-active.nero-mobile-sheet-open .composer,
  body.nero-mobile-chat-active.nero-mobile-sheet-open .mobile-quick-prompts {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.nero-mobile-chat-active .coding-panel .tool-panel-content,
  body.nero-mobile-chat-active .learning-panel .learning-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 14px 22px !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
  }

  body.nero-mobile-chat-active .coding-panel .tool-panel-content::-webkit-scrollbar,
  body.nero-mobile-chat-active .learning-panel .learning-content::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
  }

  body.nero-mobile-chat-active .coding-panel .learning-panel-title,
  body.nero-mobile-chat-active .learning-panel .learning-panel-title {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 12px !important;
    margin: 0 -14px 4px !important;
    padding: 38px 56px 13px 22px !important;
    background: #f6f6f8 !important;
    border-bottom: 1px solid rgba(60,60,67,.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.nero-mobile-chat-active .coding-panel .learning-panel-title .eyebrow,
  body.nero-mobile-chat-active .learning-panel .learning-panel-title .eyebrow {
    margin: 0 0 4px !important;
    color: rgba(0,113,227,.86) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .14em !important;
  }

  body.nero-mobile-chat-active .coding-panel .learning-panel-title h2,
  body.nero-mobile-chat-active .learning-panel .learning-panel-title h2 {
    margin: 0 !important;
    color: #111114 !important;
    font-size: 30px !important;
    font-weight: 850 !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
  }

  body.nero-mobile-chat-active .coding-title-actions {
    align-self: center !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body.nero-mobile-chat-active #codingStudioCollapse {
    display: none !important;
  }

  body.nero-mobile-chat-active .coding-title-actions .small-setting-button,
  body.nero-mobile-chat-active .learning-inline-actions .small-setting-button {
    min-height: 34px !important;
    padding: 8px 13px !important;
    border: 1px solid rgba(60,60,67,.10) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.78) !important;
    color: rgba(17,17,20,.78) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.88) inset !important;
    font-size: 13px !important;
    font-weight: 760 !important;
  }

  body.nero-mobile-chat-active .coding-studio {
    order: 1 !important;
    display: grid !important;
    gap: 13px !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 0 !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.94) inset, 0 12px 34px rgba(15,23,42,.08) !important;
  }

  body.nero-mobile-chat-active .coding-studio-hero {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.nero-mobile-chat-active .coding-studio-orb {
    width: 48px !important;
    height: 48px !important;
    filter: drop-shadow(0 10px 18px rgba(15,23,42,.11)) !important;
  }

  body.nero-mobile-chat-active .coding-studio-live .eyebrow {
    margin-bottom: 2px !important;
    color: rgba(60,60,67,.58) !important;
    letter-spacing: .12em !important;
  }

  body.nero-mobile-chat-active .coding-studio-live h3 {
    margin: 0 0 3px !important;
    font-size: 24px !important;
    font-weight: 840 !important;
    line-height: 1.02 !important;
  }

  body.nero-mobile-chat-active .coding-studio-live p:not(.eyebrow) {
    display: -webkit-box !important;
    margin: 0 !important;
    color: rgba(60,60,67,.68) !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.24 !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 8px 0 2px !important;
    border-top: 1px solid rgba(60,60,67,.10) !important;
    border-bottom: 1px solid rgba(60,60,67,.10) !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts div {
    min-height: 48px !important;
    padding: 4px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts div + div {
    border-left: 1px solid rgba(60,60,67,.10) !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts span,
  body.nero-mobile-chat-active .coding-next-action span {
    margin-bottom: 4px !important;
    color: rgba(60,60,67,.55) !important;
    font-size: 10px !important;
    font-weight: 760 !important;
    letter-spacing: .09em !important;
  }

  body.nero-mobile-chat-active .coding-studio-facts strong,
  body.nero-mobile-chat-active .coding-next-action strong {
    color: rgba(17,17,20,.86) !important;
    font-size: 13px !important;
    font-weight: 790 !important;
    line-height: 1.15 !important;
  }

  body.nero-mobile-chat-active .coding-next-action {
    display: grid !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.nero-mobile-chat-active .coding-studio-steps {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  body.nero-mobile-chat-active .coding-studio-step {
    display: grid !important;
    justify-items: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    padding: 8px 4px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: rgba(118,118,128,.10) !important;
    color: rgba(60,60,67,.62) !important;
  }

  body.nero-mobile-chat-active .coding-studio-step span {
    width: 22px !important;
    height: 22px !important;
    background: rgba(255,255,255,.82) !important;
    font-size: 11px !important;
  }

  body.nero-mobile-chat-active .coding-studio-step strong {
    max-width: 100% !important;
    font-size: 11px !important;
    font-weight: 760 !important;
  }

  body.nero-mobile-chat-active .coding-studio-step[data-state="current"] {
    background: rgba(0,113,227,.12) !important;
    color: #0071e3 !important;
  }

  body.nero-mobile-chat-active .coding-studio-step[data-state="done"] {
    background: rgba(52,199,89,.12) !important;
    color: #188038 !important;
  }

  body.nero-mobile-chat-active .coding-live-task-list {
    max-height: 92px !important;
    overflow-y: auto !important;
    padding: 0 !important;
  }

  body.nero-mobile-chat-active .coding-live-task-item {
    display: grid !important;
    grid-template-columns: 8px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 9px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.nero-mobile-chat-active .coding-live-task-item p {
    color: rgba(60,60,67,.68) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
  }

  body.nero-mobile-chat-active .coding-panel .primary-button.wide,
  body.nero-mobile-chat-active .learning-panel .primary-button.wide {
    min-height: 48px !important;
    border-radius: 999px !important;
    background: #0071e3 !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 760 !important;
  }

  body.nero-mobile-chat-active .coding-section.mobile-essential-section,
  body.nero-mobile-chat-active .learning-section.mobile-essential-section {
    order: 2 !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 15px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.92) inset !important;
  }

  body.nero-mobile-chat-active .coding-section.mobile-essential-section + .coding-section.mobile-essential-section,
  body.nero-mobile-chat-active .learning-section.mobile-essential-section + .learning-section.mobile-essential-section {
    margin-top: 0 !important;
  }

  body.nero-mobile-chat-active .learning-section-head {
    align-items: center !important;
    min-height: 28px !important;
  }

  body.nero-mobile-chat-active .learning-section-head h3 {
    color: #111114 !important;
    font-size: 17px !important;
    font-weight: 810 !important;
    line-height: 1.12 !important;
  }

  body.nero-mobile-chat-active .learning-section-head span,
  body.nero-mobile-chat-active .coding-queue-status-pill {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(118,118,128,.12) !important;
    color: rgba(60,60,67,.72) !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
  }

  body.nero-mobile-chat-active .coding-metric-grid {
    display: grid !important;
    gap: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: rgba(118,118,128,.10) !important;
  }

  body.nero-mobile-chat-active .coding-metric-grid .setting-row {
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(60,60,67,.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.nero-mobile-chat-active .coding-metric-grid .setting-row:last-child {
    border-bottom: 0 !important;
  }

  body.nero-mobile-chat-active .coding-operator-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.nero-mobile-chat-active .coding-operator-card {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: rgba(118,118,128,.10) !important;
  }

  body.nero-mobile-chat-active .coding-operator-card span,
  body.nero-mobile-chat-active .coding-operator-card small,
  body.nero-mobile-chat-active .coding-operator-card em {
    min-width: 0 !important;
    overflow: hidden !important;
    color: rgba(60,60,67,.62) !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.nero-mobile-chat-active .coding-operator-card strong {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #111114 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.nero-mobile-chat-active .coding-operator-run-list,
  body.nero-mobile-chat-active .coding-operator-contract-strip {
    display: none !important;
  }

  body.nero-mobile-chat-active .learning-backend-status {
    align-self: center !important;
    justify-self: end !important;
    max-width: 106px !important;
    min-height: 30px !important;
    padding: 7px 11px !important;
    border: 0 !important;
    background: rgba(118,118,128,.12) !important;
    color: rgba(60,60,67,.72) !important;
    font-size: 11px !important;
    font-weight: 760 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.nero-mobile-chat-active .learning-source-list,
  body.nero-mobile-chat-active .learning-report,
  body.nero-mobile-chat-active .coding-plan-output,
  body.nero-mobile-chat-active .coding-project-list,
  body.nero-mobile-chat-active .coding-operator-shell {
    max-height: 132px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(60,60,67,.70) !important;
  }

  body.nero-mobile-chat-active .learning-status {
    color: rgba(60,60,67,.66) !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.32 !important;
  }

  body.nero-mobile-chat-active .learning-panel label {
    gap: 9px !important;
    margin: 0 !important;
    color: rgba(60,60,67,.82) !important;
    font-size: 14px !important;
    font-weight: 740 !important;
  }

  body.nero-mobile-chat-active .learning-panel textarea {
    min-height: 112px !important;
    padding: 13px 14px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: rgba(118,118,128,.10) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.92) inset !important;
    color: #111114 !important;
    font-size: 16px !important;
    line-height: 1.34 !important;
  }

  body.nero-mobile-chat-active .learning-answer-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.nero-mobile-chat-active .learning-answer-actions button,
  body.nero-mobile-chat-active .small-setting-button {
    min-height: 40px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(118,118,128,.12) !important;
    color: rgba(17,17,20,.74) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 760 !important;
  }

  body.nero-mobile-chat-active .learning-answer-actions .danger {
    background: rgba(255,59,48,.10) !important;
    color: #b42318 !important;
  }

  body.nero-mobile-chat-active .coding-project-list,
  body.nero-mobile-chat-active .coding-plan-output,
  body.nero-mobile-chat-active .learning-report {
    display: grid !important;
    gap: 8px !important;
  }
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.nero-mobile-chat-active {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .chat-screen {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--nero-mobile-vvoffset-top, 0px) !important;
    bottom: auto !important;
    width: 100vw !important;
    height: var(--nero-mobile-vvh, 100dvh) !important;
    min-height: var(--nero-mobile-vvh, 100dvh) !important;
    max-height: var(--nero-mobile-vvh, 100dvh) !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .chat-main {
    height: var(--nero-mobile-vvh, 100dvh) !important;
    min-height: 0 !important;
    max-height: var(--nero-mobile-vvh, 100dvh) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    padding:
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px)
      10px
      calc(var(--nero-mobile-composer-h) + 10px) !important;
    overflow: hidden !important;
  }

  body.nero-mobile-chat-active .conversation {
    padding-bottom: calc(var(--nero-mobile-composer-h) + 12px) !important;
    scroll-padding-bottom: calc(var(--nero-mobile-composer-h) + 12px) !important;
  }

  body.nero-mobile-chat-active .composer {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: max(
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px),
      calc(var(--nero-mobile-vvoffset-top, 0px) + var(--nero-mobile-vvh, 100dvh) - var(--nero-mobile-composer-h) - 2px)
    ) !important;
    bottom: auto !important;
    width: auto !important;
    height: var(--nero-mobile-composer-h) !important;
    min-height: var(--nero-mobile-composer-h) !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 999px !important;
    transform: translate3d(0, 0, 0) !important;
    z-index: 290 !important;
  }

  body.nero-mobile-chat-active.nero-mobile-keyboard-open .composer {
    top: max(
      calc(var(--nero-mobile-topbar-h) + env(safe-area-inset-top, 0px) + 8px),
      calc(var(--nero-mobile-vvoffset-top, 0px) + var(--nero-mobile-vvh, 100dvh) - var(--nero-mobile-composer-h))
    ) !important;
  }

  body.nero-mobile-chat-active .composer button {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: #111114 !important;
    color: #fff !important;
    opacity: 1 !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body.nero-mobile-chat-active .composer button:disabled {
    opacity: .78 !important;
  }

  body.nero-mobile-chat-active .composer button svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: #fff !important;
    stroke-width: 2.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
  }

  body.nero-mobile-chat-active .composer button::before {
    content: none !important;
    display: none !important;
  }
}

/* Final compact composer guard for touch browsers */
body.nero-mobile-chat-active {
  --nero-mobile-composer-h: 64px !important;
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.nero-mobile-chat-active .composer {
    box-sizing: border-box !important;
    height: var(--nero-mobile-composer-h) !important;
    min-height: var(--nero-mobile-composer-h) !important;
    max-height: var(--nero-mobile-composer-h) !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 999px !important;
  }

  body.nero-mobile-chat-active .composer input {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    line-height: 48px !important;
    padding: 0 17px !important;
  }

  body.nero-mobile-chat-active .composer button {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  body.nero-mobile-chat-active .composer button svg {
    width: 24px !important;
    height: 24px !important;
    transform: translateY(-1px) !important;
  }
}
