.aikimap-search-frame{display:block;width:100%;height:1100px;border:0;background:#fff}.aikimap-integrated-community .aikimap-search-frame{height:calc(100dvh - 80px);min-height:650px}.aikimap-language{display:flex;align-items:center;gap:8px;margin-left:auto;color:#38515e;font-size:11px}.aikimap-language select{color:#244553;border:1px solid #add2de;border-radius:4px;background:white;padding:7px;font:12px Arial}

@media(max-width:899px){.aikimap-language>span{display:none}.aikimap-language select{font-size:11px;max-width:90px}.aikimap-integrated-community .aikimap-search-frame{height:calc(100dvh - 80px);min-height:450px}}

.aikimap-integrated-home{height:clamp(650px,calc(100dvh - 200px),850px)!important;position:relative}.aikimap-integrated-home .aikimap-search-frame{height:100%!important;position:absolute;inset:0}.aikimap-community-link{padding:10px 4vw;text-align:right;background:#f5fbfd;color:#1188a3;font-size:12px}.aikimap-community-link a{color:inherit;text-decoration:none}
@media(max-width:700px){.aikimap-integrated-home{height:calc(100dvh - 90px)!important;min-height:420px}.aikimap-community-link{display:none}.aikimap-language{display:flex}}
.home-clean .aikimap-language{color:#eefcff}

/* Fit below the masthead; desktop canvases keep landscape proportions on tall monitors. */
.aikimap-integrated-home{width:min(100%,3024px)!important;max-width:3024px;margin-inline:auto;height:var(--landing-viewport-height,calc(100dvh - 260px))!important;min-height:0!important;max-height:1964px}
@media(min-width:900px){.aikimap-integrated-home{height:var(--landing-viewport-height,min(calc(100dvh - 260px),clamp(620px,60vw,1964px)))!important}}
/* Language remains reachable when the original mobile map hides the header. */
body.mobile-map-view .site-header{display:block!important}
@media(max-width:700px){.site-header .header-inner{gap:10px}.site-header .aikimap-language{display:flex!important;flex-shrink:0}.site-header .account-link>span:not(.mini-avatar){display:none}.site-header .aikimap-language select{max-width:90px}}

/* Portrait phones use a scrolling page, not the legacy fixed full-screen map. */
@media(max-width:700px){
 body.mobile-map-view.aikimap-integrated{overflow:auto;background:#fff}
 body.mobile-map-view.aikimap-integrated #app>*:not(.home-network-callouts):not(.home-network-open){display:block!important}
 body.mobile-map-view.aikimap-integrated .site-footer{display:block!important}
 body.mobile-map-view.aikimap-integrated .aikimap-integrated-home{position:relative!important;inset:auto!important;height:clamp(520px,var(--landing-viewport-height,600px),640px)!important;width:100%!important}
 body.mobile-map-view.aikimap-integrated .home-masthead{padding:18px 16px!important}
 .home-masthead .home-logo{max-width:180px}
 .site-header .header-inner{flex-wrap:wrap;padding:12px 16px}
 .site-header .account-link{margin-left:0}
}
/* Directory headers lead directly into their map without breadcrumb spacing. */
.aikimap-integrated .seminar-heading:has(.directory-page-heading){padding-top:16px;padding-bottom:24px}
.aikimap-integrated .seminar-heading .directory-page-heading{margin-bottom:0}

/* Compact contribution entries share the masthead; keep the full graph in view. */
body.home-clean .home-masthead{grid-template-columns:230px 1fr;gap:24px;padding:15px 24px}
body.home-clean .home-masthead img{width:230px}
body.home-clean .home-masthead .home-search,body.home-clean .masthead-entry{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:8px}
body.home-clean .home-masthead .home-search .search-control{min-width:0;width:100%}
body.home-clean .home-masthead .home-search input{width:100%;min-height:44px;height:44px;padding:10px 14px}
body.home-clean .home-masthead .home-search>button,body.home-clean .masthead-entry .teacher-entry{width:160px;min-height:44px;height:44px;padding:8px;font-size:13px;justify-content:center}
.masthead-entry{margin-top:8px;align-items:center}
.masthead-entry .own-profile-entry{justify-self:end;min-height:44px;padding:10px 16px;font-size:13px;color:#138ba3;border-color:#a4d4df;justify-content:center}
body.home-clean .home-masthead p{font-size:12px;margin:8px 0 0}
@media(max-width:700px){
 body.home-clean .home-masthead,body.mobile-map-view.aikimap-integrated .home-masthead{display:block;padding:10px 16px 12px!important}
 body.home-clean .home-masthead>a{display:block}
 body.home-clean .home-masthead img{width:155px;height:53px;object-fit:contain;object-position:left}
 body.home-clean .home-masthead .home-search{margin-top:8px}
 body.home-clean .home-masthead .home-search,body.home-clean .masthead-entry{grid-template-columns:minmax(0,1fr) 138px}
 body.home-clean .home-masthead .home-search>button,body.home-clean .masthead-entry .teacher-entry{width:138px;font-size:12px}
 body.home-clean .masthead-entry .own-profile-entry{font-size:12px;width:100%;padding:9px 5px}
 body.home-clean .home-masthead p{display:none}
 body.mobile-map-view.aikimap-integrated .aikimap-integrated-home{height:var(--landing-viewport-height,540px)!important;min-height:0!important}
}
/* One 44px search row, with readable placeholder text on narrow phones. */
body.home-clean .home-masthead .home-search .search-control{height:44px;min-height:44px;padding:0}
body.home-clean .home-masthead .home-search input{height:42px;min-height:42px;font-size:14px}

/* Match the infographic CTA's container and right-hand alignment below the graph. */
.aikimap-community-link{padding:16px 0;background:#fff;display:block}
.community-button-row{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;justify-content:flex-end}
.aikimap-community-link a.lineage-invitation-cta{color:#fff;text-decoration:none}
@media(max-width:700px){.aikimap-community-link{display:block}.community-button-row{padding:0 20px}.community-button-row a{max-width:100%}}

/* Portrait landing: one teacher search, logo on the graph, compact site menu. */
.mobile-graph-logo,.mobile-graph-menu,.mobile-graph-navigation{display:none}
@media(max-width:700px){
 body.home-clean.mobile-map-view.aikimap-integrated .site-header{display:none!important}
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead{padding:12px 16px!important}
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead>a,
 body.home-clean.mobile-map-view.aikimap-integrated .masthead-entry{display:none!important}
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead .home-search{margin:0!important;grid-template-columns:minmax(0,1fr) 80px;gap:8px}
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead .home-search>button{width:80px;font-size:14px}
 .mobile-graph-logo{display:block;position:absolute;top:12px;left:12px;z-index:5;width:135px;height:47px;mix-blend-mode:multiply}
 .mobile-graph-logo img{display:block;width:100%;height:100%;object-fit:contain}
 .mobile-graph-menu{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;z-index:7;width:44px;height:44px;border:1px solid #c5e6ef;border-radius:7px;background:#f4fbffed;color:#176b8f;padding:9px}
 .mobile-graph-menu svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .mobile-graph-navigation:not([hidden]){display:flex;position:absolute;top:64px;right:12px;z-index:8;width:min(255px,calc(100% - 24px));max-height:calc(100% - 80px);overflow:auto;flex-direction:column;gap:0;padding:8px;border:1px solid #b9dce7;border-radius:9px;background:#f7fcff;color:#23424f;box-shadow:0 8px 28px #06365155}
 .mobile-graph-navigation a,.mobile-graph-navigation>button{padding:12px;min-height:44px;text-align:left;color:#176b8f;text-decoration:none;border:0;background:transparent;font:600 14px Arial;border-radius:5px}
 .mobile-graph-navigation a:focus-visible,.mobile-graph-navigation>button:focus-visible,.mobile-graph-menu:focus-visible{outline:2px solid #36c9e4;outline-offset:2px}
 .mobile-graph-navigation label{padding:12px;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
 .mobile-graph-navigation select{min-height:44px;width:130px}
}

/* iPhone browsers: prevent input-focus auto-zoom and keep translated labels padded. */
@media(max-width:700px){
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead .home-search{grid-template-columns:minmax(0,1fr) max-content!important;gap:10px}
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead .home-search>button{width:auto!important;min-width:90px;padding:10px 16px!important;font-size:16px;white-space:nowrap;line-height:1.25}
 body.home-clean .home-masthead .home-search input{font-size:16px!important;min-width:0}
 input,textarea,select{font-size:16px!important}
 body.home-clean.mobile-map-view.aikimap-integrated #app>.aikimap-community-link{display:none!important}
 body.home-clean.mobile-map-view.aikimap-integrated{max-width:100%;overflow-x:clip;background:#fff}
 .aikimap-integrated-home{width:100%;max-width:100%;overflow:hidden}
}

/* Safari can expand an iframe to its canvas's intrinsic width. Keep its containing
   block, search grid, and embedded viewport explicitly tied to the phone width. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:700px){
 body.home-clean.mobile-map-view.aikimap-integrated #app,
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead>div,
 body.home-clean.mobile-map-view.aikimap-integrated .home-search,
 body.home-clean.mobile-map-view.aikimap-integrated .home-search .search-control{box-sizing:border-box;max-width:100%;min-width:0}
 body.home-clean.mobile-map-view.aikimap-integrated .home-search{width:100%;grid-template-columns:minmax(0,1fr) auto!important}
 body.home-clean.mobile-map-view.aikimap-integrated .home-search input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;flex:1 1 0}
 body.home-clean.mobile-map-view.aikimap-integrated .aikimap-search-frame{box-sizing:border-box;min-width:0!important;max-width:100%!important}
}

@media(max-width:700px){
 body.home-clean.mobile-map-view.aikimap-integrated .home-masthead{width:var(--phone-viewport-width,100%)!important;max-width:100%;margin-left:var(--phone-viewport-left,0px)!important;margin-right:0!important}
 body.home-clean.mobile-map-view.aikimap-integrated .aikimap-integrated-home{margin-left:var(--phone-viewport-left,0px)!important;margin-right:0!important}
}

@media(max-width:700px){body.home-clean.mobile-map-view.aikimap-integrated .teacher-contribution-dialog{box-sizing:border-box;width:calc(var(--phone-viewport-width,100vw) - 24px)!important;max-width:calc(var(--phone-viewport-width,100vw) - 24px)!important;left:calc(var(--phone-viewport-left,0px) + 12px);right:auto;margin-left:0;margin-right:0}}

/* Restore the white search masthead above the map, without duplicate results. */
.aikimap-atlas-header{background:#fff}.aikimap-atlas-header .home-search{display:flex;gap:8px}.aikimap-atlas-header .home-search .search-control{flex:1;min-width:0}.aikimap-atlas-header .home-search input{width:100%;min-width:0}.aikimap-atlas-header .home-search>button{flex:0 0 160px;padding:12px 20px;white-space:nowrap}.aikimap-atlas-header .seminar-heading{padding-top:16px;padding-bottom:28px}
@media(max-width:599px){.aikimap-atlas-header .home-masthead{display:block;padding:20px 16px}.aikimap-atlas-header .home-masthead img{width:190px;max-width:100%;height:auto}.aikimap-atlas-header .home-search{margin-top:16px}.aikimap-atlas-header .home-search>button{flex:0 0 auto;padding:12px 18px}.aikimap-atlas-header .directory-page-heading{flex-direction:column;align-items:flex-start;gap:18px}.aikimap-atlas-header .directory-page-heading h1{font-size:28px}.aikimap-atlas-header .directory-page-heading>.button{align-self:flex-start}.aikimap-atlas-header .seminar-heading{padding:8px 16px 24px}}

/* Unified landing search uses the same small cards as the category pages. */
.search-results-page .search-results-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.search-results-list>.search-results-count,.search-results-list>.empty-state,.search-results-list>.community-browse{grid-column:1/-1}
.search-results-list .teacher-card{width:100%;max-width:none;min-width:0;margin:0!important;border-radius:22px}
.search-results-list .compact-unified-card{display:flex;align-items:center;gap:14px;min-height:140px;padding:16px;background:linear-gradient(145deg,#f6f7f9,#e0e6eb);border:1px solid #e1e7ed;box-shadow:inset 0 1px 0 #ffffffdd,0 8px 20px #263c4910;color:#293e4c}
.search-results-list .compact-unified-card>.avatar{width:54px;height:54px;min-width:54px;flex:0 0 54px;border-radius:50%;overflow:hidden;--portrait-size:46px;box-shadow:0 0 0 3px #ffffff75,0 4px 10px #21384b12}
.compact-unified-info{flex:1;min-width:0}.compact-unified-info .instructor-title{font-size:9px;padding:3px 8px;margin:0}.compact-unified-info h3{margin:6px 0;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-unified-info p{font-size:11px;margin:4px 0;color:#6b7d89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-unified-action{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:#176b8f}
.search-results-list .search-result-card:focus-visible{outline:3px solid #1496b1;outline-offset:3px}
@media(max-width:1199px){.search-results-page .search-results-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.search-results-page .search-results-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.search-results-page .search-results-list{grid-template-columns:minmax(0,1fr)}}
