/* Mobile explorer layer: a compact preview and two clear full-screen views.
   Load after explorer.css. Everything from 900 px upward keeps the base UI. */
.mex-rail-hint,.mex-view-tabs,.mex-progress{display:none}
@media(max-width:899px){
 #ai-explorer{border-radius:24px 0 0 0;max-width:100%;box-shadow:none}
 #ai-explorer .ex-mini-header{padding:20px 17px 17px;gap:15px;align-items:center}
 #ai-explorer .ex-mini-header>div>span{font-size:10px;line-height:1.7;letter-spacing:.07em}
 #ai-explorer .ex-mini-header strong{font-size:17px;line-height:1.45;margin-top:7px;max-width:360px}
 #ai-explorer .ex-expand{width:44px;height:44px;min-width:44px;padding:11px;background:#f9fbf2}
 #ai-explorer .ex-map--mini{display:flex;position:relative;gap:10px;grid-template-columns:none;margin:0 17px;padding:3px 3px 12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:3px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9caf86 transparent;min-height:0}
 #ai-explorer .ex-map--mini::-webkit-scrollbar{height:3px}
 #ai-explorer .ex-map--mini::-webkit-scrollbar-thumb{background:#9caf86;border-radius:4px}
 #ai-explorer .ex-map--mini .ex-connectors{display:none}
 #ai-explorer .ex-map--mini .ex-node{flex:0 0 100px;width:100px;max-width:100px;min-width:100px;min-height:102px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:11px;padding:15px 11px 13px;grid-area:auto;scroll-snap-align:center;scroll-margin-inline:0;box-shadow:none;transform:none}
 #ai-explorer .ex-map--mini .ex-node--handoff{display:flex;min-height:102px;grid-template-columns:none;padding:15px 11px 13px}
 #ai-explorer .ex-map--mini .ex-node-order{top:8px;right:9px;font-size:10px;line-height:1.5}
 #ai-explorer .ex-map--mini .ex-node-icon svg{width:23px;height:23px;stroke-width:1.4}
 #ai-explorer .ex-map--mini .ex-node-copy{gap:0}
 #ai-explorer .ex-map--mini .ex-node-copy strong,#ai-explorer .ex-map--mini .ex-node--handoff .ex-node-copy strong{font-size:13px;line-height:1.35;font-weight:600;letter-spacing:-.025em;overflow-wrap:normal}
 #ai-explorer .ex-map--mini .ex-node-copy small{display:none}
 #ai-explorer .ex-map--mini .ex-node-indicator{bottom:7px;left:auto;right:9px;width:5px;height:5px;border-width:1px}
 #ai-explorer .ex-map--mini .ex-node.is-current{border-color:#9f844b;box-shadow:0 0 0 2px #a58c5717;background:#f0e5c9}
 #ai-explorer .mex-rail-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 20px 16px;color:#65765c;font:400 12px/1.7 'Manrope',Arial,sans-serif}
 #ai-explorer .mex-rail-hint svg{width:18px;height:18px;flex:none;stroke-width:1.5}
 #ai-explorer .ex-mini-detail{padding:17px 20px 19px;min-height:0;background:#fffef9b3}
 #ai-explorer .ex-step-label{font-size:11px;line-height:1.6}
 #ai-explorer .ex-mini-detail h3{font-size:21px;line-height:1.35;margin:10px 0 0;max-width:530px;font-weight:500}
 #ai-explorer .ex-mini-detail>p{display:none}
 #ai-explorer .ex-mini-footer{display:flex;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:10px;padding:13px 16px;background:#fbfcf4}
 #ai-explorer .ex-full-link{display:flex;flex:1;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:12px 15px;border:1px solid #234a3a;background:#234a3a;color:#f8faf0;font-size:13px!important;line-height:1.6!important;font-weight:600!important;max-width:none;width:auto;text-align:left}
 #ai-explorer .ex-full-link svg{width:18px;height:18px}
 #ai-explorer .ex-mini-controls{display:flex;flex:none;gap:0;margin:0}
 #ai-explorer .ex-mini-controls>[data-ex-prev],#ai-explorer .ex-mini-controls>[data-ex-next]{display:none}
 #ai-explorer .ex-mini-controls>[data-ex-play]{display:grid;width:48px;height:48px;min-width:48px;min-height:48px;margin:0;border-color:#bdcbb0;background:#eef2e5}
 #ai-explorer .ex-mini-controls>[data-ex-play] svg{width:18px;height:18px}
 #ai-explorer .ex-motion-note{font-size:12px;line-height:1.8;padding:0 17px 16px;background:#fbfcf4}
 .hero-visual:has(#ai-explorer)>.hero-visual-footer{font-size:9px;line-height:1.7;letter-spacing:.02em;gap:16px;padding-top:12px}

 #ai-explorer-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:none;inset:0;margin:0;border:0;overflow:hidden}
 #ai-explorer-dialog[data-mex-ready] .ex-dialog-shell{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;max-height:100dvh}
 #ai-explorer-dialog .ex-dialog-header{padding:calc(13px + env(safe-area-inset-top)) 16px 13px;gap:15px;align-items:center;background:#fbfcf4}
 #ai-explorer-dialog .ex-overline{font-size:9px;line-height:1.7;letter-spacing:.04em}
 #ai-explorer-dialog .ex-dialog-header h2{font-size:23px;line-height:1.2;margin:7px 0 0;letter-spacing:-.035em}
 #ai-explorer-dialog .ex-dialog-header p{display:none}
 #ai-explorer-dialog .ex-close{width:44px;min-width:44px;height:44px;min-height:44px;background:#f4f6ec;padding:11px}
 #ai-explorer-dialog .ex-close svg{width:20px;height:20px}
 #ai-explorer-dialog .mex-view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px 16px 10px;background:#fbfcf4;border-bottom:1px solid #ccd6c0}
 #ai-explorer-dialog .mex-view-tab{min-height:44px;padding:10px 11px;display:flex;justify-content:center;align-items:center;gap:9px;border:1px solid #c7d3b9;background:#edf1e4;color:#526749;font:600 13px/1.6 'Manrope',Arial,sans-serif;cursor:pointer}
 #ai-explorer-dialog .mex-view-tab svg{width:17px;height:17px}
 #ai-explorer-dialog .mex-view-tab[aria-selected=true]{background:#234a3a;color:#fffef9;border-color:#234a3a}
 #ai-explorer-dialog .mex-view-tab:focus-visible{outline:2px solid #9f844b;outline-offset:2px}
 #ai-explorer-dialog .ex-dialog-content{display:block;overflow-y:auto;overflow-x:clip;padding:16px;min-width:0;min-height:0;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:16px;scroll-behavior:auto}
 #ai-explorer-dialog[data-mex-mode=map] .ex-explanation{display:none}
 #ai-explorer-dialog[data-mex-mode=details] .ex-stage{display:none}
 #ai-explorer-dialog .ex-stage{min-width:0;padding:18px 16px;border:1px solid #c7d3b9;background-color:#e7eddc}
 #ai-explorer-dialog .ex-stage-top{display:flex;justify-content:space-between;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:10px;line-height:1.8;padding-bottom:14px;letter-spacing:.035em}
 #ai-explorer-dialog .ex-path-status{font-size:11px;line-height:1.8;letter-spacing:0;color:#806a39}
 #ai-explorer-dialog .ex-explain-link{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:48px;margin:14px 0 0;padding:11px 13px;border:1px solid #b6c6a5;background:#f7faef;color:#385733;font-size:13px!important;line-height:1.7!important;font-weight:600!important;text-align:left}
 #ai-explorer-dialog .ex-explain-link svg{width:18px;height:18px}
 #ai-explorer-dialog .ex-map--large{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 19px;margin:24px 0;min-height:0;flex:none;align-content:start}
 #ai-explorer-dialog .ex-map--large .ex-node{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-width:0;min-height:112px;padding:17px 14px;gap:13px;grid-template-columns:none;box-shadow:0 2px 5px #234a3a08;transform:none}
 #ai-explorer-dialog .ex-map--large .ex-node-copy strong{font-size:15px;line-height:1.4;font-weight:600}
 #ai-explorer-dialog .ex-map--large .ex-node-copy small{font-size:12px;line-height:1.6;margin-top:1px}
 #ai-explorer-dialog .ex-map--large .ex-node-icon svg{width:26px;height:26px;stroke-width:1.3}
 #ai-explorer-dialog .ex-map--large .ex-node-order{font-size:11px;top:9px;right:10px;line-height:1.6}
 #ai-explorer-dialog .ex-map--large .ex-node--buyer{grid-area:1/1}
 #ai-explorer-dialog .ex-map--large .ex-node--accounts{grid-area:1/2}
 #ai-explorer-dialog .ex-map--large .ex-node--context{grid-area:2/2}
 #ai-explorer-dialog .ex-map--large .ex-node--knowledge{grid-area:2/1}
 #ai-explorer-dialog .ex-map--large .ex-node--compose{grid-area:3/1}
 #ai-explorer-dialog .ex-map--large .ex-node--check{grid-area:3/2}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff{grid-area:4/1/5/3;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:16px;min-height:88px;padding:19px}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff .ex-node-copy strong{font-size:17px;line-height:1.4}
 #ai-explorer-dialog .ex-map--large .ex-node-indicator{width:7px;height:7px;bottom:-4px;left:calc(50% - 3px)}
 #ai-explorer-dialog .ex-stage-legend{display:flex;gap:10px 17px;align-items:center;flex-wrap:wrap;font-size:11px;line-height:1.8;padding-top:14px}
 #ai-explorer-dialog .ex-stage-legend>span:last-child{font-size:11px;line-height:1.8;flex-basis:100%;margin-left:0}
 #ai-explorer-dialog .ex-explanation{margin:0;min-width:0;padding:21px;border:1px solid #cbd6bf;background:#fffef9}
 #ai-explorer-dialog .ex-back-map{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:44px;width:100%;padding:10px 12px;margin:0 0 22px;border:1px solid #c4d0b8;background:#edf2e3;color:#4c6541;font-size:13px!important;line-height:1.7!important;font-weight:600!important}
 #ai-explorer-dialog .ex-back-map svg{width:18px;height:18px}
 #ai-explorer-dialog .ex-explanation>.ex-step-label{font-size:11px;line-height:1.8}
 #ai-explorer-dialog .ex-detail-icon{width:43px;height:43px;margin:18px 0 17px}
 #ai-explorer-dialog .ex-detail-icon svg{width:25px;height:25px}
 #ai-explorer-dialog .ex-explanation h3{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.04em;margin:0}
 #ai-explorer-dialog .ex-detail-description{font-size:16px;line-height:1.85;margin:19px 0 0}
 #ai-explorer-dialog .ex-detail-purpose{margin-top:23px;padding-top:19px}
 #ai-explorer-dialog .ex-detail-purpose>span,#ai-explorer-dialog .ex-detail-example>span{font-size:11px;line-height:1.8;letter-spacing:.055em}
 #ai-explorer-dialog .ex-detail-purpose p{font-size:16px;line-height:1.85;margin-top:10px}
 #ai-explorer-dialog .ex-detail-example{padding:17px;margin-top:23px}
 #ai-explorer-dialog .ex-detail-example>p{font-size:15px;line-height:1.85;margin-top:11px}
 #ai-explorer-dialog .ex-detail-note{font-size:13px;line-height:1.85;margin-top:20px}
 #ai-explorer-dialog .ex-dialog-controls{display:flex;flex-direction:column;gap:10px;padding:11px 16px calc(12px + env(safe-area-inset-bottom));background:#fbfcf4;border-top:1px solid #c4d0b8;box-shadow:0 -5px 16px #234a3a06;min-width:0}
 #ai-explorer-dialog[data-mex-ready] .ex-step-pagination{display:none}
 #ai-explorer-dialog .mex-progress{display:flex;align-items:center;gap:16px;width:100%;min-height:19px;color:#718561}
 #ai-explorer-dialog .mex-progress-copy{font:600 11px/1.6 'Manrope',Arial,sans-serif;letter-spacing:.045em;white-space:nowrap;flex:none;min-width:58px}
 #ai-explorer-dialog .mex-progress-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:1}
 #ai-explorer-dialog .mex-progress-track i{display:block;height:3px;background:#d8e1ce}
 #ai-explorer-dialog .mex-progress-track i.is-complete{background:#719269}
 #ai-explorer-dialog .mex-progress-track i.is-current{background:#ac8d45}
 #ai-explorer-dialog .ex-navigation{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:7px;min-width:0;width:100%;margin:0}
 #ai-explorer-dialog .ex-nav-button{width:100%;min-width:0;min-height:48px;padding:10px 9px;gap:7px;font-size:13px!important;line-height:1.5!important;white-space:normal}
 #ai-explorer-dialog .ex-nav-button svg{width:17px;height:17px;flex:none}
 #ai-explorer-dialog .ex-nav-button>span{min-width:0;overflow-wrap:normal}
 #ai-explorer-dialog .ex-play-button{min-width:0;background:#234a3a;color:#fffef9}
 #ai-explorer-dialog .ex-controls-caption{display:none}
}
@media(min-width:600px) and (max-width:899px){
 #ai-explorer .ex-map--mini .ex-node{flex-basis:116px;min-width:116px;width:116px;max-width:116px;min-height:104px}
 #ai-explorer .ex-mini-detail h3{font-size:23px}
 #ai-explorer-dialog .ex-map--large{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 22px}
 #ai-explorer-dialog .ex-map--large .ex-node--buyer{grid-area:1/1}
 #ai-explorer-dialog .ex-map--large .ex-node--accounts{grid-area:1/2}
 #ai-explorer-dialog .ex-map--large .ex-node--context{grid-area:1/3}
 #ai-explorer-dialog .ex-map--large .ex-node--knowledge{grid-area:2/3}
 #ai-explorer-dialog .ex-map--large .ex-node--compose{grid-area:2/2}
 #ai-explorer-dialog .ex-map--large .ex-node--check{grid-area:2/1}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff{grid-area:3/1/4/4}
 #ai-explorer-dialog .ex-explanation{max-width:680px;margin-inline:auto;padding:29px}
}
@media(max-width:360px){
 #ai-explorer .ex-mini-header{padding:19px 15px 17px}
 #ai-explorer .ex-mini-header strong{font-size:16px}
 #ai-explorer .ex-mini-header>div>span{font-size:9px}
 #ai-explorer .ex-map--mini{margin-inline:15px;gap:8px}
 #ai-explorer .ex-map--mini .ex-node{flex-basis:94px;width:94px;max-width:94px;min-width:94px;min-height:102px}
 #ai-explorer .ex-mini-detail{padding:17px 17px 19px}
 #ai-explorer .ex-mini-detail h3{font-size:20px}
 #ai-explorer .ex-full-link{font-size:12px!important;padding-inline:12px}
 #ai-explorer-dialog .ex-dialog-header{padding-inline:13px}
 #ai-explorer-dialog .ex-dialog-header h2{font-size:21px}
 #ai-explorer-dialog .mex-view-tabs{padding-inline:13px}
 #ai-explorer-dialog .mex-view-tab{font-size:12px;gap:7px;padding-inline:8px}
 #ai-explorer-dialog .ex-dialog-content{padding:13px}
 #ai-explorer-dialog .ex-stage{padding:16px 13px}
 #ai-explorer-dialog .ex-map--large{gap:24px 16px}
 #ai-explorer-dialog .ex-map--large .ex-node{padding:16px 12px;min-height:113px}
 #ai-explorer-dialog .ex-map--large .ex-node-copy strong{font-size:14px}
 #ai-explorer-dialog .ex-map--large .ex-node-copy small{font-size:11px}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff{padding:17px 14px}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff .ex-node-copy strong{font-size:16px}
 #ai-explorer-dialog .ex-explanation{padding:20px 17px}
 #ai-explorer-dialog .ex-explanation h3{font-size:26px}
 #ai-explorer-dialog .ex-dialog-controls{padding-inline:13px}
 #ai-explorer-dialog .ex-navigation{gap:6px;grid-template-columns:1fr 1.35fr 1fr}
 #ai-explorer-dialog .ex-nav-button{font-size:12px!important;gap:5px;padding-inline:7px}
 #ai-explorer-dialog .ex-nav-button svg{width:15px;height:15px}
}
@media(max-height:520px) and (max-width:899px){
 #ai-explorer-dialog .ex-dialog-header{padding-top:8px;padding-bottom:8px;min-height:60px}
 #ai-explorer-dialog .ex-overline{display:none}
 #ai-explorer-dialog .ex-dialog-header h2{font-size:21px;margin:0;max-width:none}
 #ai-explorer-dialog .mex-view-tabs{padding-top:5px;padding-bottom:6px}
 #ai-explorer-dialog .mex-view-tab{min-height:44px;padding-block:7px}
 #ai-explorer-dialog .ex-dialog-controls{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));gap:6px}
 #ai-explorer-dialog .ex-nav-button{min-height:44px}
 #ai-explorer-dialog .mex-progress{min-height:15px}
}
@media(prefers-reduced-motion:reduce){#ai-explorer .ex-map--mini{scroll-behavior:auto}}

@media(max-width:599px){
 #ai-explorer-dialog .ex-map--large{gap:22px 18px;margin-block:22px}
 #ai-explorer-dialog .ex-map--large .ex-node{min-height:96px;padding:15px 13px;gap:10px;justify-content:center}
 #ai-explorer-dialog .ex-map--large .ex-node-icon svg{width:23px;height:23px}
 #ai-explorer-dialog .ex-map--large .ex-node-copy small{display:none}
 #ai-explorer-dialog .ex-map--large .ex-node-copy strong{font-size:14px;line-height:1.4}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff{min-height:75px;display:grid;grid-template-columns:27px 1fr;gap:14px;padding:17px}
 #ai-explorer-dialog .ex-map--large .ex-node--handoff .ex-node-copy strong{font-size:16px}
}
@media(max-width:899px){#ai-explorer-dialog .ex-back-map{display:none}}

/* A phone's landscape notch must not cover the close button or navigation. */
@media(max-width:899px){
 #ai-explorer-dialog{--mex-edge:16px}
 #ai-explorer-dialog .ex-dialog-header,#ai-explorer-dialog .mex-view-tabs,
 #ai-explorer-dialog .ex-dialog-content,#ai-explorer-dialog .ex-dialog-controls{
  padding-left:max(var(--mex-edge),env(safe-area-inset-left));
  padding-right:max(var(--mex-edge),env(safe-area-inset-right));
 }
}
@media(max-width:360px){#ai-explorer-dialog{--mex-edge:13px}}
