/* Hooshi 1.0.0 BETA - connected read-only chat and responsive App Store. */

/* Composer-first chat */
.chat-composer-first{grid-template-rows:minmax(0,1fr) auto!important}
.chat-context-bar-v122{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 3px 8px}
.chat-context-bar-v122 .privacy-note{display:inline-flex;align-items:center;gap:5px;margin-inline-start:auto;color:var(--suite-muted);font-size:9px}
.composer-box-v122{display:grid!important;grid-template-columns:minmax(0,1fr);gap:7px!important;padding:8px!important}
.composer-box-v122 textarea{width:100%;min-width:0}
.composer-control-row{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--suite-line) 78%,transparent)}
.composer-select{position:relative;display:inline-flex;align-items:center;gap:5px;min-width:0;height:34px;padding:0 8px;border:1px solid var(--suite-line);border-radius:10px;background:var(--suite-surface-soft);color:var(--suite-muted)}
.composer-select select{width:auto;max-width:175px;height:30px;padding:0 2px;border:0!important;background:transparent!important;color:var(--suite-ink)!important;box-shadow:none!important;font-size:9px;font-weight:800;cursor:pointer}
.composer-select select:focus{outline:0}.composer-select option{background:var(--suite-surface);color:var(--suite-ink)}
.composer-control-row .chat-credit{margin-inline-start:auto}.composer-control-row .composer-send{flex:0 0 auto}

/* Selectable App Store sources */
.chat-source-picker{position:relative;z-index:35}
.chat-source-trigger{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 9px;border:1px solid var(--suite-line);border-radius:11px;background:var(--suite-surface-soft);color:var(--suite-ink);font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.chat-source-trigger b{display:grid;min-width:20px;height:20px;place-items:center;border-radius:7px;background:rgba(139,92,246,.13);color:var(--suite-accent);font-size:9px}
.chat-source-trigger.active{border-color:color-mix(in srgb,var(--suite-accent) 42%,var(--suite-line));background:var(--suite-accent-soft)}
.chat-source-menu{position:absolute;z-index:180;inset-inline-start:0;bottom:calc(100% + 9px);width:min(390px,calc(100vw - 28px));max-height:min(62dvh,520px);overflow:auto;padding:12px;border:1px solid var(--suite-line);border-radius:18px;background:var(--suite-surface);box-shadow:0 24px 70px rgba(0,0,0,.38);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.chat-source-menu[hidden]{display:none!important}.chat-source-menu>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--suite-line)}
.chat-source-menu>header b,.chat-source-menu>header small{display:block}.chat-source-menu>header b{font-size:11px}.chat-source-menu>header small{margin-top:4px;color:var(--suite-muted);font-size:9px;line-height:1.7}
.chat-source-list{display:grid;gap:7px;padding:10px 0}.chat-source-option{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:8px;padding:10px;border:1px solid transparent;border-radius:13px;background:var(--suite-surface-soft);cursor:pointer}
.chat-source-option:has(input:checked){border-color:color-mix(in srgb,var(--suite-accent) 35%,var(--suite-line));background:var(--suite-accent-soft)}
.chat-source-option input{position:absolute;opacity:0;pointer-events:none}.chat-source-check{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--suite-line);border-radius:7px}.chat-source-option input:checked+.chat-source-check{border-color:var(--suite-accent);background:var(--suite-accent)}.chat-source-option input:checked+.chat-source-check i{width:7px;height:4px;border-inline-start:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.chat-source-option b,.chat-source-option small{display:block}.chat-source-option b{font-size:10px}.chat-source-option small{margin-top:3px;color:var(--suite-muted);font-size:8px;line-height:1.65;overflow-wrap:anywhere}.chat-source-menu>footer{display:flex;justify-content:space-between;gap:7px;padding-top:9px;border-top:1px solid var(--suite-line)}
.integration-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px;padding:8px 10px;border-radius:11px;background:rgba(59,130,246,.07);color:var(--suite-muted);font-size:9px}.integration-chip{padding:3px 7px;border:1px solid rgba(59,130,246,.2);border-radius:999px;color:var(--suite-ink);font-weight:750}

/* App Store form clarity */
.app-dynamic-field{display:grid;gap:6px}.app-field-title{font-size:10px;font-weight:800}.app-field-help{display:block;color:var(--suite-muted);font-size:9px;line-height:1.8}.app-connect-card .eco-form{min-width:0}.app-connect-card input,.app-connect-card textarea,.app-connect-card select{width:100%;max-width:100%;min-width:0}.app-card footer{flex-wrap:wrap}.app-card .app-snapshot{min-width:0}.app-card .app-snapshot span{min-width:0}.app-card .app-snapshot b{overflow-wrap:anywhere}
.template-active-summary.is-neutral{border-style:dashed}.template-active-summary .template-disable{align-self:flex-start;margin-top:7px}

/* Restore normal document scrolling in mobile/PWA. Chat remains its own scroll surface. */
@media(max-width:1024px){
  html{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important}
  body:not(.page-chat){height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch}
  body:not(.page-chat) .app-shell,body:not(.page-chat) .app-main{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  body:not(.page-chat) .app-content{height:auto!important;min-height:0!important;overflow:visible!important;padding-bottom:calc(var(--mobile-nav-h,64px) + 22px + env(safe-area-inset-bottom))!important}
  body.modal-open,body.sidebar-open,body.history-drawer-open{overflow:hidden!important;touch-action:none!important}
  .app-sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important}.app-sidebar .side-nav{min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .eco-mobile-nav{transform:translateZ(0)}
}

@media(max-width:820px){
  .chat-context-bar-v122{flex-wrap:nowrap;overflow-x:auto;padding-inline:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chat-context-bar-v122::-webkit-scrollbar{display:none}.chat-context-bar-v122>*{flex:0 0 auto}.chat-context-bar-v122 .privacy-note{display:none}
  .chat-source-picker{position:static}.chat-source-menu{position:fixed;z-index:360;right:10px;left:10px;bottom:calc(var(--mobile-nav-h,64px) + env(safe-area-inset-bottom) + 74px);width:auto;max-height:min(58dvh,470px);border-radius:20px}
  .composer-box-v122{gap:5px!important;padding:6px!important}.composer-control-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:5px;padding-top:5px}.composer-select{width:100%;height:32px;padding-inline:6px}.composer-select select{width:100%;max-width:none;font-size:8px}.composer-control-row .chat-credit,.composer-control-row .model-budget-pill{display:none!important}.composer-control-row .composer-send{grid-column:3;width:38px!important;height:38px!important}
  .app-store-grid{grid-template-columns:1fr!important}.app-card{padding:14px!important}.app-card footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}.app-card footer .btn{width:100%}.app-card footer .app-disconnect{justify-self:end}.app-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .app-connect-actions{display:grid!important;grid-template-columns:1fr!important}.app-connect-actions>*{width:100%}
  .template-hero{display:grid!important;grid-template-columns:1fr!important}.template-active-summary{min-width:0!important;width:100%}.template-grid-functional .template-card{min-height:0!important}
}

@media(max-width:430px){
  .composer-control-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px}.composer-select{overflow:hidden}.composer-select>svg{display:none}.composer-select select{font-size:7.5px}.chat-source-menu{right:7px;left:7px}.chat-source-menu>footer{display:grid;grid-template-columns:1fr}.chat-source-menu>footer>*{width:100%}
  .app-card footer{grid-template-columns:1fr}.app-card footer .app-disconnect{justify-self:start}.app-store-onboarding{overflow-x:auto;justify-content:flex-start!important;-webkit-overflow-scrolling:touch}.app-store-onboarding>span{min-width:110px}.app-store-onboarding>i{min-width:28px}
}

@media(display-mode:standalone) and (max-width:1024px){
  body:not(.page-chat){padding-top:env(safe-area-inset-top);overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  body:not(.page-chat) .app-topbar{top:env(safe-area-inset-top)}
}
