/* Touch-first layout. Loaded last so mobile rules stay authoritative. */
.mobile-app-nav,.mobile-new-chat{display:none}

@media (hover:none),(pointer:coarse){
  button,a,input,textarea{touch-action:manipulation}
  button,a{min-height:44px}
  .suggestions button,.scenario-presets button{min-height:42px}
  .connector-card:hover{transform:none;box-shadow:none}
  .eye>i{transition:transform .55s cubic-bezier(.2,.8,.2,1),height .16s}
}

@media (max-width:900px){
  :root{--mobile-nav-height:76px}
  html,body{min-height:100%;overscroll-behavior-y:none}
  .topbar{height:68px;padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}
  .wordmark{font-size:16px}.mini-eye{width:36px!important;height:26px!important}
  .theme-toggle{width:58px;height:36px}
  .scene{padding-top:68px;min-height:100svh}

  .scene-intro.active{display:flex;flex-direction:column;min-height:100svh;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .intro-copy{padding:clamp(38px,7svh,72px) 22px 0;display:block}
  .intro-copy .kicker{font-size:9px}
  .intro-copy h1{font-size:clamp(48px,13.5vw,78px);line-height:.96;margin:30px 0 22px;letter-spacing:-.058em}
  .intro-copy h1 span,.intro-copy h1 em{white-space:normal}
  .intro-copy .intro-sub{font-size:15px;line-height:1.55;max-width:34rem}
  .hero-eye-wrap{position:relative;inset:auto;width:100%;height:auto;min-height:270px;flex:1;border:0;background-size:54px 54px;overflow:hidden}
  .hero-eye{width:min(58vw,290px);height:min(41vw,204px)}
  .orbit-one{width:min(74vw,390px)}.orbit-two{width:min(105vw,550px)}
  .eye-note{display:none}
  .begin-button{position:fixed;left:0;bottom:0;height:calc(72px + env(safe-area-inset-bottom));padding:0 22px env(safe-area-inset-bottom);z-index:48}

  .scene-role.active{display:block;overflow:auto}
  .role-grid{width:100%;padding:48px 22px calc(40px + env(safe-area-inset-bottom));display:block}
  .role-grid aside{padding:0}.role-grid aside p{display:block;font-size:14px;max-width:38rem}
  .role-grid h2{font-size:clamp(46px,12vw,68px);margin:24px 0 18px}
  .role-form{margin-top:42px;max-width:none}
  .company-field>label,.role-field>label{font-size:10px}
  .company-input-wrap input{height:56px;font-size:16px}
  .role-input-wrap input{font-size:clamp(31px,8.5vw,46px);padding-bottom:15px}
  .scenario-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .scenario-presets>span{grid-column:1/-1}
  .scenario-presets button{padding:8px 5px;white-space:normal}
  .suggestions{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .suggestions button{font-size:9px;padding:9px;text-align:left}
  .company-insight{font-size:10px;line-height:1.55}
  .continue-button{height:60px;margin-top:16px}

  .analysis-shell{width:min(100% - 36px,620px);padding:92px 0 40px}
  .analysis-eye{width:130px;height:91px;margin-bottom:30px}
  .analysis-shell h2{font-size:clamp(40px,11vw,62px)}
  .analysis-shell>p{font-size:13px}
  .analysis-stages li{min-height:58px;grid-template-columns:16px minmax(0,1fr) auto;gap:10px}
  .analysis-stages li span{font-size:12px;line-height:1.35}

  html[data-scene="demo"] .topbar{height:64px;padding-top:env(safe-area-inset-top);background:color-mix(in srgb,var(--card) 94%,transparent)}
  html[data-scene="demo"] .step-counter{display:none}
  html[data-scene="demo"] .scene-demo{padding:0}
  .app-shell,.app-main{height:100dvh;min-height:0}
  .app-header{flex:0 0 auto;padding:calc(78px + env(safe-area-inset-top)) 18px 15px}
  .app-header{padding-right:68px;position:relative}.app-header h2{font-size:26px}.app-header p{font-size:13px;line-height:1.45;margin-top:7px}
  .mobile-new-chat{display:grid;place-items:center;position:absolute;right:16px;top:calc(78px + env(safe-area-inset-top));width:44px;height:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--fg);font-size:22px}
  .app-content{padding:22px 16px calc(var(--mobile-nav-height) + 112px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .mobile-app-nav{position:fixed;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:7px max(8px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-right));border-top:1px solid var(--line);background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(18px)}
  .mobile-app-nav button{border:0;border-radius:12px;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;gap:3px;font-family:Onest,sans-serif}
  .mobile-app-nav button span{font-size:18px;line-height:1}.mobile-app-nav button b{font-size:10px;font-weight:500}
  .mobile-app-nav button.active{background:var(--fg);color:var(--bg)}
  .ask-input{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 8px);left:12px;right:12px;padding:10px 10px 10px 14px;border-radius:18px}
  .ask-input input{font-size:16px;min-width:0}.ask-input button{width:44px;height:44px}
  .chat-thread{padding:18px 0;min-height:380px}
  .user-question{max-width:88%;padding:14px 16px;font-size:14px}
  .machine-answer{padding:54px 17px 18px;border-radius:18px}.machine-answer p{font-size:14px;line-height:1.65}
  .answer-eye{left:17px;top:17px;width:34px;height:24px}
  .evidence{gap:6px}.evidence span{font-size:8px;padding:7px}
  .answer-next{align-items:flex-start;flex-direction:column;gap:6px}.answer-next b{font-size:11px}
  .suggested-questions{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:8px;padding:2px 0 14px;scrollbar-width:none}
  .suggested-questions::-webkit-scrollbar{display:none}.suggested-questions button{flex:0 0 auto;scroll-snap-align:start}
  .panel-intro{display:block}.panel-intro p{margin-top:10px;font-size:13px}
  .metric-grid,.connector-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-left:-16px;margin-right:-16px;padding:0 16px 8px;background:transparent;border:0;border-radius:0;scrollbar-width:none}
  .metric-grid::-webkit-scrollbar,.connector-grid::-webkit-scrollbar{display:none}
  .metric-card{flex:0 0 min(78vw,300px);scroll-snap-align:start;border:1px solid var(--line);border-radius:16px;min-height:132px}
  .connector-card{flex:0 0 min(82vw,320px);scroll-snap-align:start;min-height:180px}
  .dashboard-charts{display:block}.chart-card{margin-bottom:12px;padding:18px}.line-chart{height:185px}.line-chart svg{height:155px}
  .signal{grid-template-columns:12px minmax(0,1fr);gap:12px;padding:18px 0}.signal b{font-size:15px}.signal small{font-size:12px;line-height:1.5}
  .signal button{display:none}.sources-row{display:block}.sources-row div{margin-top:12px;overflow-x:auto}
  .action-flow>div{grid-template-columns:28px 30px minmax(0,1fr);gap:8px;padding:16px 12px}.action-flow small{grid-column:3;font-size:11px;line-height:1.4}.action-flow button{grid-column:3;padding:14px}
  .artifact-card{padding:18px}.artifact-card h3{font-size:clamp(28px,8vw,40px)}
  .audit-list li{grid-template-columns:34px 1fr;min-height:86px;padding:15px 13px}.audit-list p{font-size:12px;line-height:1.45}
}

@media (max-width:390px){
  .intro-copy h1{font-size:47px}.hero-eye-wrap{min-height:235px}.hero-eye{width:210px;height:147px}
  .scenario-presets{grid-template-columns:1fr}.suggestions{grid-template-columns:1fr 1fr}
  .app-header h2{font-size:23px}.app-header p{font-size:12px}
  .mobile-app-nav button b{font-size:9px}.mobile-app-nav button span{font-size:16px}
}

@media (max-width:900px) and (orientation:landscape) and (max-height:600px){
  .scene-intro.active{display:grid;grid-template-columns:1.08fr .92fr;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .intro-copy{padding:28px 20px 70px}.intro-copy h1{font-size:clamp(42px,8vw,62px);margin:20px 0 14px}.intro-copy .intro-sub{font-size:13px}
  .hero-eye-wrap{min-height:0;height:auto}.hero-eye{width:min(31vw,230px);height:min(22vw,161px)}
  .begin-button{height:calc(58px + env(safe-area-inset-bottom))}
  .role-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;padding-top:28px}.role-grid h2{font-size:44px}.role-form{margin-top:0}
  .scenario-presets,.suggestions{display:flex}.company-insight{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .orbit{animation:none}.eye>i{transform:none!important}.hero-eye{transform:none!important}
}
