/* Mobile application shell. Every rule is scoped to phones so desktop stays unchanged. */
.mobile-nav-close,.mobile-nav-scrim{display:none}
.academy-mobile-tabs{display:none}
@media (max-width:700px){
  :root{--mobile-bar:64px;--mobile-safe-bottom:max(12px,env(safe-area-inset-bottom))}
  html{scroll-padding-top:calc(var(--mobile-bar) + 12px);overscroll-behavior-y:none}
  body{min-width:0;background:var(--paper);padding-bottom:env(safe-area-inset-bottom)}
  body.mobile-menu-open{overflow:hidden;touch-action:none}
  .workspace{min-width:0}
  .topbar{height:var(--mobile-bar);padding:env(safe-area-inset-top) 14px 0;box-shadow:0 1px 0 var(--line),0 7px 24px #00235a0c;z-index:40}
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--light-green);color:#003da5;flex:0 0 44px}
  .menu-toggle .icon{width:23px;height:23px}
  .account-controls{margin-left:auto;gap:5px;min-width:0}
  .account-controls>button{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;padding:0}
  .account-controls .profile-button{display:flex;width:44px}
  .account-controls .header-language{border:0;background:transparent}
  .account-controls .language-flag{width:25px;height:17px}
  .main{width:100%;max-width:none;padding:18px 12px calc(34px + env(safe-area-inset-bottom));overflow-x:hidden}
  .mobile-nav-scrim{display:block;position:fixed;inset:0;z-index:54;background:#061a3c8f;backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .22s ease}
  .mobile-nav-scrim.is-open{opacity:1;pointer-events:auto}
  .sidebar{z-index:55;width:min(86vw,340px);padding:calc(18px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));border-radius:0 24px 24px 0;box-shadow:none;transition:transform .24s cubic-bezier(.2,.75,.25,1)}
  .sidebar.open{box-shadow:18px 0 60px #00153955}
  .mobile-nav-close{position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top));display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff32;border-radius:50%;background:#ffffff14;color:#fff;font-size:27px;line-height:1;z-index:2}
  .brand{padding:0 48px 18px 2px;min-height:62px}
  .brand img{width:48px;height:48px}.brand strong{font-size:16px}
  .nav-caption{margin:20px 10px 10px;text-align:left}
  .nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .nav a{min-height:48px;margin:0;padding:11px 12px;border:1px solid #ffffff12;background:#ffffff08;border-radius:13px;font-size:12px}
  .nav a.active{box-shadow:0 5px 18px #00194c38}.nav a.active:before{display:none}
  .sidebar-bottom{padding-top:16px}.island-note{display:none}.poly-link{padding:14px 10px 0;border-top:1px solid #ffffff1e}
  .panel,.lesson-card,.course-card,.calendar,.quote-card{border-radius:16px}
  .page-heading{display:block;margin:5px 2px 18px}
  .page-heading h1,.page-heading.centered h1{font-size:28px;line-height:1.12;letter-spacing:-.7px}
  .page-heading>.btn{margin-top:12px;min-height:42px}
  .malecon-hero{height:164px;margin:0 0 18px;border-radius:18px;box-shadow:0 10px 28px #001b4c18}
  .classroom-glow{max-width:calc(100% - 28px);padding:12px 18px;border-radius:999px;font-size:15px;text-align:center;box-shadow:0 5px 22px #081f6570}
  .two-col{display:block}.right-rail{display:block;margin-top:16px}.right-rail .side-panel{margin-bottom:12px}.right-rail .quote-card{display:block}
  .feed-controls{display:flex;align-items:center;gap:10px;margin-bottom:14px;position:relative}
  .feed-controls .chips{display:flex;flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 2px 5px;margin:0;mask-image:linear-gradient(to right,#000 90%,transparent)}
  .feed-controls .chips::-webkit-scrollbar{display:none}
  .feed-controls>.btn{flex:0 0 44px;width:44px;height:44px;padding:0;border-radius:50%;font-size:0;box-shadow:0 6px 18px #003da52b}
  .feed-controls>.btn .icon{width:21px;height:21px;margin:0}.chip{min-height:38px;padding:8px 13px}
  .post{padding:17px;margin-bottom:12px}.post-open{gap:12px}.post h3{font-size:18px;line-height:1.32;margin:14px 0 8px}.post .excerpt{font-size:13px;line-height:1.55;-webkit-line-clamp:3}.post-footer{margin-top:14px}.quote-card{padding:20px}
  .course-grid,.member-grid,.extra-grid{grid-template-columns:1fr!important;gap:13px}
  .course-card{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:126px}.course-cover{height:100%;min-height:126px;aspect-ratio:auto}.course-body{padding:14px}.course-body h2{font-size:17px}.course-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{font-size:9px}
  .lesson-outline{max-height:none;padding:15px;margin-bottom:12px}.lesson-card{padding:18px 15px}.lesson-card>h1{font-size:27px}.rich-content{font-size:15px;line-height:1.75}.rich-content table{display:block;max-width:100%;overflow-x:auto}.video-frame,.lesson-video{border-radius:12px}
  dialog{box-sizing:border-box;width:100vw!important;max-width:100vw!important;height:auto;max-height:92dvh;margin:auto 0 0;padding:54px 18px calc(22px + env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;box-shadow:0 -18px 70px #00153f45;overflow:auto}
  dialog[open]{animation:mobile-sheet-in .2s ease-out}dialog::backdrop{background:#071a3f80;backdrop-filter:blur(4px)}
  dialog .close-modal{display:grid;place-items:center;position:fixed;right:12px;top:auto;margin-top:-47px;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--ink);font-size:27px;box-shadow:0 4px 14px #001f4b1c;z-index:40}
  dialog.profile-modal[data-required="true"] .close-modal{display:none}
  .form h2,.post-dialog h2{padding-right:44px;font-size:23px}.form input,.form select,.form textarea{min-height:46px;font-size:16px}.form textarea{min-height:132px}
  .social-composer{padding-top:11px}.composer-line{gap:8px}.composer-line textarea{min-height:112px;max-height:36dvh;font-size:16px;border-radius:14px;padding:13px}
  .composer-toolbar{display:grid;grid-template-columns:repeat(5,40px) minmax(74px,1fr);gap:4px;padding:5px 0 0}
  .composer-toolbar>button:not(.btn),.composer-toolbar>.attach-button{display:grid;place-items:center;width:40px;height:40px;padding:0!important;border-radius:10px!important}
  .composer-toolbar .btn{min-height:40px;margin:0;padding:8px 11px}.attachment-picker{max-height:190px;overflow:auto;padding:8px 0}
  .messages-heading{margin:4px 2px 12px}.messages-layout{min-height:calc(100dvh - var(--mobile-bar) - 110px);border-radius:16px}.thread-list{padding:7px;max-height:88px;scrollbar-width:none}.thread-list::-webkit-scrollbar{display:none}.thread-list>a{min-width:145px;padding:8px}.conversation>header{position:sticky;top:0;background:var(--white);z-index:3;padding:11px 13px}#chat-history{height:calc(100dvh - 330px);min-height:300px;padding:13px 10px;gap:11px}.chat-message{max-width:88%;font-size:14px}#chat-composer{padding:0 9px calc(10px + env(safe-area-inset-bottom))}#chat-composer .composer-line>.presence-avatar{display:none}#chat-jump-latest{right:13px;bottom:142px}
  .member-row{padding:17px 0}.member-details p{margin:8px 0 12px}.member-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:3px;scrollbar-width:none}.member-actions .btn,.member-actions .member-credit-summary{flex:0 0 auto}.world-map{height:calc(100dvh - 190px);min-height:430px}
  .calendar-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px}.calendar-toolbar h2{font-size:20px}.calendar-controls{grid-column:1/-1;overflow-x:auto;padding-bottom:3px}.booking-calendar,.calendar-week,.private-calendar{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.booking-visual-row{border-radius:14px}.booking-icon-actions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
}
@keyframes mobile-sheet-in{from{transform:translateY(28px);opacity:.7}to{transform:none;opacity:1}}
@media (max-width:390px){.main{padding-left:9px;padding-right:9px}.nav{grid-template-columns:1fr}.course-card{grid-template-columns:105px minmax(0,1fr)}.composer-toolbar{grid-template-columns:repeat(4,40px) minmax(68px,1fr)}.composer-toolbar>[data-attach="gif"]{display:none!important}}
@media (max-width:700px) and (prefers-reduced-motion:reduce){dialog[open]{animation:none}.sidebar,.mobile-nav-scrim{transition:none}}

/* Familiar navigation shared by the mobile website and both native hosts. */
@media (max-width:700px){
  body.academy-mobile-navigation{--academy-bottom-space:calc(64px + env(safe-area-inset-bottom));padding-bottom:var(--academy-bottom-space)}
  body.academy-mobile-navigation .academy-mobile-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;position:fixed;inset:auto 0 0;min-height:var(--academy-bottom-space);padding:6px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dce5f0;box-shadow:0 -4px 20px #17305208;z-index:45}
  .academy-mobile-tabs>a,.academy-mobile-tabs>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:0;min-height:51px;padding:4px 1px;border:0;border-radius:12px;color:#63748b;background:transparent;text-decoration:none;font:600 10px/1.2 system-ui,sans-serif;cursor:pointer}
  .academy-mobile-tabs .mobile-tab-symbol{display:grid;place-items:center;position:relative;min-width:42px;height:27px;border-radius:9px}
  .academy-mobile-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .academy-mobile-tabs .active{color:#003da5}.academy-mobile-tabs .active .mobile-tab-symbol{background:#eaf2ff}
  .academy-mobile-tabs .mobile-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .academy-mobile-tabs .mobile-tab-dot{position:absolute;top:0;right:5px;width:8px;height:8px;border-radius:50%;background:#df2344;border:2px solid white}
  .academy-mobile-tabs .mobile-tab-dot.is-group{background:#22b578}.academy-mobile-tabs .mobile-tab-dot[hidden]{display:none}
  body.academy-mobile-navigation .sidebar{height:100dvh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
  body.academy-mobile-navigation #toast{bottom:calc(var(--academy-bottom-space) + 12px);z-index:60}
  body.academy-mobile-keyboard{--academy-bottom-space:0px}
  body.academy-mobile-keyboard .academy-mobile-tabs{display:none}
  body.academy-mobile-keyboard .topbar{position:relative}
}

/* Phone content uses the full card width, without shrinking photos into thumbnails. */
@media (max-width:700px){
  .main :is(.course-grid,.member-grid,.extra-grid){min-width:0;gap:16px}
  .main .course-grid .course-card{display:block;min-height:0;grid-template-columns:none;overflow:hidden}
  .main .course-card .course-cover{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/9;background:#fff}
  .main .course-cover img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
  .main .course-cover .badge{font-size:11px;line-height:1.35;padding:6px 9px;top:11px;left:11px;max-width:calc(100% - 22px)}
  .main .course-card .course-body{padding:17px 17px 18px;min-width:0}
  .main .course-card .course-body h2{font-size:21px;line-height:1.3;letter-spacing:-.4px;overflow-wrap:anywhere;margin-bottom:9px}
  .main .course-card .course-body p{font-size:14px;line-height:1.65;-webkit-line-clamp:3;margin:0 0 14px}
  .main .course-meta{font-size:12px;gap:8px;flex-wrap:wrap}
  .main .course-card .progress{margin-top:12px;height:5px}
  .main .post{padding:17px}
  .main .post-open{flex-direction:column;gap:14px}
  .main .post-preview-copy{width:100%;min-width:0}
  .main .post h3{font-size:20px;line-height:1.35;margin:0 0 9px}
  .main .post .excerpt{font-size:15px;line-height:1.65;-webkit-line-clamp:3}
  .main .post-preview-image{display:block;width:100%;min-width:0;max-width:100%}
  .main .post-preview-image img{display:block;width:100%;height:auto;max-height:340px;min-width:0;object-fit:contain;object-position:center;border-radius:12px;margin:0;background:#f3f6fc}
  .main .post-head{align-items:center;gap:10px}
  .main .post-head>div{min-width:0}
  .main .post-head strong{overflow-wrap:anywhere}
  .main .post-footer{gap:20px;margin-top:14px;flex-wrap:wrap}
  .main .post-footer :is(button,a){min-height:40px}
  .main .feed-controls .chips{mask-image:none}
  .main .chip{font-size:13px;min-height:42px}
  .main .extra-card-copy{padding:17px}
  .main .extra-card h2{font-size:20px;line-height:1.35}
  .main .extra-card p{font-size:15px;line-height:1.65}
  .main .extra-media{background:#f3f6fc}
  .main .extra-media img{object-fit:contain;object-position:center}
  .main .rich-content{font-size:16px;line-height:1.75;min-width:0;overflow-wrap:anywhere}
  .main .rich-content :is(h2,h3,h4){line-height:1.3;overflow-wrap:anywhere}
  .main .rich-content img{display:block;max-width:100%;width:auto;height:auto;max-height:75dvh;object-fit:contain;margin:18px auto}
  .main .resource{min-width:0;padding:12px;gap:9px;font-size:14px;overflow-wrap:anywhere}
  .main .resource small{font-size:12px;line-height:1.5}
  .main .member-row{gap:12px;padding:18px 0}
  .main .member-row>.presence-avatar{width:48px;height:48px;flex-basis:48px}
  .main .member-row>.presence-avatar .avatar{width:48px;height:48px}
  .main .member-details{min-width:0;flex:1}
  .main .member-details :is(h2,h3,strong){overflow-wrap:anywhere}
  .main .member-details p{font-size:15px;line-height:1.65}
  .main .member-actions{overflow:visible;flex-wrap:wrap;gap:7px;padding-bottom:0}
  .main .member-actions .btn{min-height:40px;padding:9px 11px}
  .main .chat-message .media-image img{width:auto;max-width:100%;height:auto;max-height:min(320px,45dvh);object-fit:contain}
  .main .shared-file{min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
}

/* Owner feedback stays clear of the mobile navigation and profile switcher. */
@media (max-width:700px){
 body.academy-mobile-navigation .note-launcher{left:14px;right:auto;bottom:calc(var(--academy-bottom-space) + 12px)}
 body.academy-mobile-keyboard .note-launcher,body.mobile-menu-open .note-launcher{display:none}
}
