:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#1c2c49;background:#f5f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.025em}button,input,select,textarea{font:inherit}button,.btn{border:0;border-radius:10px;padding:12px 18px;background:#3658bc;color:white;cursor:pointer;font-weight:700;display:inline-block}button:hover,.btn:hover{filter:brightness(.95)}button:disabled{opacity:.52;cursor:not-allowed}.secondary{background:#eaf0f9;color:#263c69}.outline{background:white;border:1px solid #bec9de;color:#293f78}.small{padding:9px 13px;font-size:.87rem}.wide{width:100%;margin-top:16px}input,select,textarea{width:100%;padding:12px;border:1px solid #c8d3e4;border-radius:9px;background:white;color:#1c2c49;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #acc4ff;outline-offset:1px}label{display:block;margin-top:17px;font-weight:650}label input,label select{margin-top:7px}p{line-height:1.58}.topbar{background:#243768;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:17px max(20px,calc((100vw - 1210px)/2));gap:16px;flex-wrap:wrap}.brand{font-size:1.45rem;font-weight:850;letter-spacing:-.04em}.topbar nav{display:flex;gap:21px;align-items:center;flex-wrap:wrap}.topbar nav a:not(.btn){font-size:.92rem}.topbar nav .btn{background:#ff6469}.topbar button{white-space:nowrap}main{min-height:calc(100vh - 170px)}.hero{min-height:520px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;max-width:1210px;margin:auto;padding:65px 24px}.hero h1{font-size:clamp(3rem,5vw,5.4rem);line-height:1.06;color:#1f325e;margin:12px 0 23px}.hero em{color:#ff636b;font-style:normal}.hero p:not(.eyebrow){font-size:1.16rem;color:#576780;max-width:550px}.eyebrow{letter-spacing:.14em;color:#3557a8;font-size:.76rem;font-weight:850}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.hero .hero-small{font-size:.82rem!important;margin-top:24px}.hero-art{position:relative;min-height:365px;background:radial-gradient(circle at 50% 50%,#cad7ff 0,#edf1ff 53%,transparent 72%);border-radius:100%}.globe{position:absolute;top:28%;left:33%;font-size:8rem}.bubble{position:absolute;z-index:1;padding:16px 23px;background:white;box-shadow:0 12px 28px #23396720;border:1px solid #e5ebfb;border-radius:16px;font-weight:850;color:#263e77;font-size:1.3rem}.bubble small{display:block;font-size:.75rem;font-weight:500;color:#72819d;margin-top:5px}.b1{top:6%;left:3%}.b2{top:28%;right:0}.b3{bottom:7%;left:8%}.feature-wrap,.language-preview{padding:64px 24px}.feature-wrap{background:white}.section-heading{text-align:center;max-width:680px;margin:0 auto 30px}.section-heading h2,.family-banner h2{font-size:clamp(1.75rem,3vw,2.5rem);margin:4px 0}.section-heading p{color:#64748b}.feature-grid,.preview-grid{max-width:1140px;margin:30px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{border:1px solid #e6ebf5;border-radius:16px;padding:28px}.feature-grid article p{color:#65738a}.symbol{background:#edf2ff;width:55px;height:55px;display:grid;place-items:center;font-size:1.7rem;border-radius:14px}.preview-grid{grid-template-columns:repeat(6,1fr)}.preview-grid span{padding:20px 10px;text-align:center;border:1px solid #dfe6f4;background:white;border-radius:12px;font-weight:700}.center{text-align:center;margin-top:26px}.family-banner{max-width:1140px;margin:15px auto 65px;background:#243968;color:white;border-radius:20px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:40px}.family-banner .eyebrow{color:#9ebaff}.family-banner p{max-width:750px;color:#e1e7f8}.family-icon{font-size:5rem}.auth-layout{padding:55px 16px}.panel{background:white;border:1px solid #e0e6f0;border-radius:17px;padding:27px;box-shadow:0 5px 20px #192d4b09}.auth-panel{max-width:540px;margin:auto}.auth-panel h1{font-size:2.15rem;margin:8px 0}.auth-panel>p:not(.eyebrow){color:#637086}.password-line{display:flex;gap:8px;align-items:end}.password-line input{flex:1}.password-line button{flex-shrink:0;margin-top:7px}.auth-switch{text-align:center;margin:20px}.auth-switch a{color:#3658bc;font-weight:700}.notice{background:#fff8e8!important;border-left:4px solid #c39942;padding:12px 15px;color:#70551f!important;font-size:.83rem}.member-heading{max-width:1240px;margin:30px auto 24px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.member-heading h1{margin:0}.member-heading p{color:#657188}.pill{background:#e8eefe;color:#304a91;border-radius:25px;padding:9px 16px;font-weight:700}.member-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;max-width:1240px;margin:0 auto;padding:0 20px 50px}.sidebar{display:flex;flex-direction:column;gap:7px;align-self:start}.tab{background:transparent;color:#3a4c69;text-align:left}.tab.active{background:#e9efff;color:#244aab}.sidebar-note{font-size:.81rem;color:#71809a;border-top:1px solid #e9edf5;padding-top:14px}.content-panel{min-height:360px}.section-inline{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.section-inline p{color:#77849c;margin-top:0}.section-inline input{max-width:260px}.communities{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:13px;margin-top:18px}.community{background:#f8faff;border:1px solid #e0e7f4;border-radius:12px;padding:17px}.community h3{margin:8px 0}.community small{display:block;min-height:49px;color:#6d7990}.community button{margin-top:15px;width:100%}.messages{height:370px;overflow:auto;border:1px solid #d9e2f1;border-radius:12px;padding:15px;background:#fbfcff}.msg{border-bottom:1px solid #e5eaf3;padding:12px 3px}.msg strong{color:#3557a8}.msg small{color:#8792a5;margin-left:9px}.msg button{float:right;background:#edf1fa;color:#334b78;font-size:.75rem;padding:6px 10px}.msg p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.compose-row{display:flex;gap:10px;align-items:center;margin-top:12px}.compose-row textarea{flex:1}.chars{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.chars button{background:#ebf0fa;color:#263f7c;padding:6px 10px}.compact-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.compact-form label{flex:1;min-width:145px}.item-stack{margin-top:20px}.item-card{border:1px solid #e4e9f4;border-radius:10px;padding:14px;margin-bottom:10px}.item-card small{color:#758197}.item-card select{max-width:200px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.metric{background:#f3f6ff;border-radius:12px;padding:18px}.metric b{display:block;font-size:1.8rem;color:#3453a6}#status{max-width:1140px;margin:0 auto 20px;padding:0 20px;color:#a23536;font-weight:600}#status:empty{display:none}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 24px;background:#1e305b;color:#e4eafb;font-size:.82rem}footer span{color:#aebddd}[hidden]{display:none!important}@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-art{min-height:250px;max-width:450px;width:100%;margin:auto}.globe{font-size:6rem;top:16%;left:38%}.preview-grid{grid-template-columns:repeat(3,1fr)}.member-layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-note{flex-basis:100%}}@media(max-width:570px){.topbar{padding:14px 20px}.topbar nav{gap:12px}.hero{padding:35px 20px}.hero-art{display:none}.feature-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(2,1fr)}.family-banner{border-radius:0;padding:28px 20px}.family-icon{display:none}.member-heading{display:block}.panel{padding:18px}.compose-row{flex-direction:column}.compose-row button{width:100%}.compact-form{display:block}}

/* v0.4.9 horizontal administration subnavigation */
.admin-intro{color:#687892;margin:9px 0 16px}
.admin-subnav{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;white-space:nowrap;position:sticky;top:0;z-index:8;background:#fff;padding:12px 0 15px;border-bottom:1px solid #dfe6f2;margin-bottom:22px}
.admin-subtab{flex:0 0 auto;background:#eef2fa;color:#293d66;padding:10px 14px;border:1px solid transparent;border-radius:9px;font-size:.88rem}
.admin-subtab.active{background:#3658bc;color:#fff;box-shadow:0 2px 6px #28478022}
.admin-subtab:focus-visible{outline:3px solid #89a8f2;outline-offset:2px}
.admin-section{min-width:0;animation:admin-fade .12s ease-out}
.admin-section>h3:first-child{margin-top:0}
@keyframes admin-fade{from{opacity:.6}to{opacity:1}}
@media(max-width:850px){.admin-subnav{margin-left:-4px;margin-right:-4px}.admin-subtab{font-size:.83rem;padding:9px 12px}}

/* v0.4.10 — clearly separated, single-row Administration navigation */
#administrationPanel{min-width:0;max-width:100%}
#administrationPanel .admin-subnav{display:flex!important;flex-flow:row nowrap!important;align-items:stretch;gap:10px!important;overflow-x:auto!important;overflow-y:hidden;max-width:100%;width:100%;padding:12px 8px 18px!important;margin:0 0 20px!important;white-space:nowrap;scroll-snap-type:x proximity;scroll-padding-inline:8px;-webkit-overflow-scrolling:touch;scrollbar-color:#a5b4d4 #eef2f9;border-bottom:1px solid #d9e2ef;background:#fff}
#administrationPanel .admin-subtab{appearance:none;flex:0 0 auto!important;display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:max-content;padding:11px 17px!important;margin:0!important;border:1px solid #b9c8e2!important;border-radius:11px!important;color:#294477!important;background:#f3f6fc!important;box-shadow:0 1px 2px #132c5910!important;font-size:.9rem;line-height:1.25;white-space:nowrap;scroll-snap-align:start}
#administrationPanel .admin-subtab:hover{background:#e4ecfc!important;border-color:#7497df!important;filter:none}
#administrationPanel .admin-subtab.active{background:#3658bc!important;color:#fff!important;border-color:#3658bc!important;box-shadow:0 3px 9px #27478b25!important}
#administrationPanel .admin-subtab:focus-visible{outline:3px solid #ffbd73;outline-offset:2px}
@media(max-width:570px){#administrationPanel .admin-subnav{gap:8px!important;margin-inline:0!important;padding:10px 4px 16px!important}#administrationPanel .admin-subtab{padding:12px 15px!important;font-size:.88rem;min-height:46px}}
/* App install interface */
.install-app{display:none;align-items:center;gap:7px;white-space:nowrap;background:#fff;color:#243768;border:1px solid #ccd8ec;border-radius:10px;padding:9px 12px;font-size:.85rem;font-weight:750}
.install-app.available{display:inline-flex}
#installHelp{position:fixed;bottom:14px;left:12px;right:12px;z-index:30;margin:auto;max-width:520px;border-radius:14px;padding:17px 20px;background:#fff;color:#1c2c49;box-shadow:0 8px 34px #15294b45;border:1px solid #c7d3e8}
#installHelp[hidden]{display:none!important}#installHelp button{margin-top:8px}
@media(display-mode:standalone){.install-app{display:none!important}}

/* v0.4.11: independent horizontal scrolling for administration cards.
   Each card is its own scroll container; the parent page and other cards must not pan horizontally. */
#administrationPanel, #administrationPanel .admin-section,
#administrationPanel .item-stack, #administrationPanel .metric-grid {min-width:0;max-width:100%;}
#administrationPanel .admin-subnav {overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y;}
#administrationPanel .admin-section {overflow-x:clip;}
#administrationPanel .item-stack {overflow:visible;}
#administrationPanel .item-card, #administrationPanel .metric,
#administrationPanel .admin-scroll-card {
  min-width:0;max-width:100%;overflow-x:auto;overflow-y:visible;
  overscroll-behavior-x:contain;scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
}
#administrationPanel .item-card > *, #administrationPanel .metric > * {max-width:none;}
#administrationPanel .item-card img, #administrationPanel .metric img {max-width:100%;height:auto;}
#administrationPanel .admin-section table {width:max-content;min-width:100%;border-collapse:collapse;}
#administrationPanel .admin-section table th, #administrationPanel .admin-section table td {white-space:nowrap;}
#administrationPanel .admin-section .compact-form {max-width:100%;}
@media(max-width:570px) {
  #administrationPanel .item-card, #administrationPanel .metric,
  #administrationPanel .admin-scroll-card {scrollbar-width:thin;}
}

/* v0.4.13 MOBILE: independent horizontal scroll regions, no document-wide side scrolling. */
html,body{width:100%;max-width:100%;overflow-x:clip;}
#dashboard,.member-heading,.member-layout,.member-content,.content-panel,
#administrationPanel,#administrationPanel .admin-section{box-sizing:border-box;min-width:0;max-width:100%;}
.member-layout{width:100%;grid-template-columns:minmax(0,240px) minmax(0,1fr);}
.member-content{width:100%;min-width:0;overflow:clip;}
#administrationPanel{width:100%;overflow:clip;}
#administrationPanel .admin-subnav{width:100%!important;max-width:100%!important;min-width:0!important;
 display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;
 overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
#administrationPanel .admin-section{width:100%;overflow-x:clip;}
#administrationPanel .item-stack,#administrationPanel .metric-grid{min-width:0;max-width:100%;}
#administrationPanel .item-card,#administrationPanel .metric,
#administrationPanel .admin-scroll-card{display:block;width:100%;min-width:0;max-width:100%;
 overflow-x:auto!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y;
 -webkit-overflow-scrolling:touch;scrollbar-width:thin;}
#administrationPanel .admin-section :is(h2,h3,p,small,label){overflow-wrap:anywhere;}
#administrationPanel .compact-form>*{min-width:0;}
#administrationPanel .admin-section :is(input,textarea,select){max-width:100%;}
@media(max-width:850px){
 .member-layout{grid-template-columns:minmax(0,1fr);max-width:100%;padding-inline:12px;gap:12px;}
 .member-heading{width:100%;padding-inline:12px;}
 .member-layout>.sidebar{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;
  width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;}
 .member-layout>.sidebar>.tab{flex:0 0 auto;white-space:nowrap;}
 .member-layout>.sidebar>.sidebar-note{flex:0 0 240px;max-width:240px;white-space:normal;}
 .member-content>.panel{width:100%;min-width:0;max-width:100%;}
}
@media(max-width:570px){
 .member-layout{padding-inline:10px;}
 .member-heading{padding-inline:10px;}
 .member-content>.panel{padding:14px;}
 #administrationPanel .admin-subnav{padding-inline:2px!important;}
 #administrationPanel .item-card{padding:12px;}
 #administrationPanel .compact-form{display:flex;flex-direction:column;align-items:stretch;}
 #administrationPanel .compact-form label{width:100%;flex:unset;}
}

/* v0.4.13: touch-friendly mobile navigation without global sideways scrolling */
@media(max-width:850px){
 .topbar{width:100%;max-width:100%;min-width:0;}
 .topbar nav{min-width:0;max-width:100%;}
 .member-layout>.sidebar,.admin-subnav{scrollbar-gutter:stable;}
 .member-layout>.sidebar>.tab,#administrationPanel .admin-subtab{min-height:44px;}
 .member-layout>.sidebar{scroll-padding-inline:12px;}
 .member-layout>.sidebar>.tab{scroll-snap-align:start;}
 .admin-subnav{scroll-padding-inline:8px;}
 .member-heading{gap:12px;}
}
@media(max-width:570px){
 .topbar{gap:10px;}
 .topbar nav{gap:8px;}
 .topbar nav a,.topbar nav button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
 .member-layout>.sidebar{scroll-snap-type:x proximity;}
 .member-heading h1{font-size:clamp(1.45rem,6vw,2rem);overflow-wrap:anywhere;}
 .auth-panel{width:100%;}
}
@media(prefers-reduced-motion:reduce){.admin-section{animation:none!important}}

/* v0.4.21: compact, two-tier administration navigation */
#administrationPanel .admin-groupnav{display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding:8px 0 13px;border-bottom:1px solid #d9e2ef;max-width:100%;}
#administrationPanel .admin-group-tab{background:#e8edf8;color:#294477;border:1px solid #b9c8e2;border-radius:10px;padding:11px 15px;min-height:44px;font-size:.9rem;white-space:normal;}
#administrationPanel .admin-group-tab.active{background:#3658bc;color:white;border-color:#3658bc;}
#administrationPanel .admin-group-tab:focus-visible{outline:3px solid #ffbd73;outline-offset:2px;}
#administrationPanel .admin-subnav{flex-wrap:wrap!important;overflow-x:visible!important;overflow-y:visible!important;white-space:normal!important;position:static!important;gap:8px!important;padding:12px 0 14px!important;margin:0 0 19px!important;}
#administrationPanel .admin-subtab{white-space:normal!important;min-width:0!important;}
#administrationPanel .admin-subtab[hidden]{display:none!important;}
@media(max-width:570px){#administrationPanel .admin-groupnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}#administrationPanel .admin-group-tab{padding:10px 8px;font-size:.83rem;}#administrationPanel .admin-subnav{padding:9px 0 13px!important;}#administrationPanel .admin-subtab{font-size:.83rem;}}

/* v0.4.22: vertically nested Administration navigation, including on mobile. */
.member-layout>.sidebar{display:flex;flex-direction:column;align-items:stretch;overflow:visible;}
.member-layout>.sidebar>.tab{width:100%;white-space:normal;flex:0 0 auto;}
.sidebar-administration{width:100%;min-width:0;margin:0 0 8px;padding:0 0 0 9px;border-left:2px solid #dde6fa;}
.sidebar-admin-group{display:block;margin:4px 0;}
.sidebar-admin-group>.admin-group-tab{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;color:#344d79;padding:10px 8px;font-size:.91rem;font-weight:700;white-space:normal;}
.sidebar-admin-group>.admin-group-tab::before{content:'▸';display:inline-block;margin-right:7px;}
.sidebar-admin-group>.admin-group-tab[aria-expanded="true"]{background:#e8eeff;color:#274ca6;}
.sidebar-admin-group>.admin-group-tab[aria-expanded="true"]::before{content:'▾';}
.sidebar-admin-items{display:flex;flex-direction:column;gap:3px;margin:4px 0 7px;padding-left:13px;}
.sidebar-admin-items>.admin-subtab{display:block;text-align:left;min-width:0;width:100%;max-width:100%;white-space:normal;border:0;border-radius:7px;background:transparent;color:#405477;font-weight:500;padding:9px 9px;font-size:.84rem;overflow-wrap:anywhere;}
.sidebar-admin-items>.admin-subtab.active{background:#3658bc;color:#fff;font-weight:700;}
.sidebar-admin-items>.admin-subtab:hover,.sidebar-admin-group>.admin-group-tab:hover{filter:none;background:#e8edfb;color:#24458c;}
.sidebar-admin-items>.admin-subtab.active:hover{background:#3658bc;color:#fff;}
.sidebar-admin-group button:focus-visible{outline:2px solid #3658bc;outline-offset:2px;}
@media(max-width:850px){.member-layout>.sidebar{display:flex;flex-direction:column;align-items:stretch;overflow:visible;max-height:none;}.member-layout>.sidebar>.tab,.member-layout>.sidebar>.sidebar-note{flex:none;max-width:none;white-space:normal;width:100%;}.member-layout{grid-template-columns:minmax(0,1fr);}.sidebar-administration{width:100%;}}

/* v0.4.23 — sidebar groups with horizontal, context-sensitive section tabs */
.sidebar-admin-group>.admin-group-tab::before{content:'▸';}
.sidebar-admin-group>.admin-group-tab[aria-expanded="true"]::before{content:'▾';}
.admin-horizontal-subnav{border-bottom:1px solid #d9e2ef;margin:0 0 20px;padding:10px 0 14px;max-width:100%;min-width:0;}
.admin-horizontal-group{display:flex;flex-flow:row wrap;gap:9px;align-items:center;min-width:0;}
.admin-horizontal-group[hidden]{display:none!important;}
#administrationPanel .admin-horizontal-tab{background:#edf2fb;color:#254174;border:1px solid #b9c8e2;border-radius:9px;padding:12px 15px;font-size:.9rem;font-weight:700;min-height:44px;white-space:normal;text-align:center;cursor:pointer;}
#administrationPanel .admin-horizontal-tab.active{background:#3658bc;border-color:#3658bc;color:#fff;}
#administrationPanel .admin-horizontal-tab:focus-visible{outline:3px solid #ffbd73;outline-offset:2px;}
@media(max-width:570px){.admin-horizontal-group{gap:7px;}#administrationPanel .admin-horizontal-tab{padding:10px 12px;font-size:.82rem;}}

/* v0.4.27: compact unread indicator, readable timestamps, and small-screen resilience. */
.unread-badge:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:2px 6px;margin-left:6px;border-radius:14px;background:#b93138;color:#fff;font-weight:700;font-size:.76rem;vertical-align:middle;}
.msg time{display:inline-block;color:#51647d;font-size:.78rem;margin-left:10px;}
.member-content,.content-panel,.compose-row,#messages{min-width:0;max-width:100%;}
#compose{min-width:0;max-width:100%;overflow-wrap:anywhere;}
@media(max-width:570px){.compose-row{display:flex;flex-wrap:wrap;gap:8px}.compose-row textarea{width:100%;flex:1 1 100%;}.compose-row #send{min-height:44px;}.msg{overflow-wrap:anywhere;}}

/* Adult video-call controls */
.video-connect{border:1px solid #cddaf3;background:#f6f9ff;border-radius:14px;padding:16px;margin:16px 0}.video-connect h3{margin:0 0 6px}.video-connect p{margin:6px 0 12px;color:#435577}.video-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.video-tools select{flex:1 1 200px;max-width:450px}.call-invite{border:2px solid #3658bc;border-radius:10px;padding:14px;background:white}.video-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}.video-grid video{background:#16233e;width:100%;min-height:180px;max-height:420px;border-radius:12px;object-fit:contain}@media(max-width:680px){.video-grid{grid-template-columns:1fr}.video-grid video{max-height:270px}}

/* v0.4.31 — mobile-first conversation navigation; desktop/admin layout unchanged. */
html{scroll-padding-top:1rem}body{min-width:0}button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #ffbd73;outline-offset:3px}
.speaking-quickstart{max-width:1140px;margin:14px auto;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e9f0ff;border:1px solid #bfd0f5;border-radius:16px;color:#213b74}
.speaking-quickstart strong{font-size:1.1rem}.speaking-quickstart p{margin:4px 0 0}.speaking-quickstart button{background:#ff5151;color:#fff;flex-shrink:0;min-height:48px}
@media(max-width:850px){
 .speaking-quickstart{margin:12px 14px;align-items:stretch;flex-direction:column}
 .speaking-quickstart button{width:100%}
 body.mobile-member.dashboard-active #dashboard{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
 body.mobile-member.dashboard-active .member-layout>.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fff;border-top:1px solid #cbd7ea;border-radius:16px 16px 0 0;box-shadow:0 -5px 22px #172d5a22;padding:8px max(8px,env(safe-area-inset-left,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-right,0px));display:flex;flex-direction:row;gap:3px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;align-items:stretch;max-width:none;max-height:none}
 body.mobile-member.dashboard-active .member-layout>.sidebar>.tab{width:auto;min-width:75px;flex:1 0 auto;max-width:none;white-space:normal;text-align:center;font-size:.76rem;line-height:1.25;padding:10px 6px;min-height:48px;overflow-wrap:anywhere}
 body.mobile-member.dashboard-active .member-layout>.sidebar>.sidebar-note,body.mobile-member.dashboard-active .member-layout>.sidebar>.sidebar-administration{display:none!important}
 body.mobile-member.dashboard-active .member-layout>.sidebar>.tab[hidden]{display:none!important}
 .video-connect .video-tools button{min-height:44px}
 .video-grid video{max-height:55dvh;min-height:150px}
}
@media(max-width:570px){
 body.mobile-member.dashboard-active #dashboard .member-heading{padding-inline:16px}
 body.mobile-member.dashboard-active .member-content{padding-inline:8px}
 .speaking-quickstart p{font-size:.92rem}
 .video-tools select{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Stage 2: readable and accessible mobile call preference */
.call-audio-choice{display:inline-flex;align-items:center;gap:.55rem;margin:.7rem .5rem .7rem 0;font-weight:600;cursor:pointer;min-height:44px}
.call-audio-choice input{width:20px;height:20px;accent-color:#243768}
@media(max-width:640px){.call-audio-choice{display:flex;width:100%;margin:.6rem 0}#videoStage video{max-width:100%;border-radius:12px}}

/* v0.4.34 searchable live speaker presence */
.video-connect .speaker-search-label{font-weight:600;width:100%;display:block}.video-connect #speakerSearch{flex:1 1 100%;width:100%;min-height:44px;border:1px solid #b8c7df;border-radius:9px;padding:10px 12px;font:inherit;background:white}.video-connect #speakerCount{flex:1 1 100%;color:#435577}.video-connect #videoPeer{min-height:44px}

/* v0.4.35: dedicated audio-only experience */
#videoStage .audio-call-message{display:none;padding:12px 14px;margin:12px 0;border-radius:10px;background:#eef4ff;color:#23396a;font-weight:600}
#videoStage.audio-mode .audio-call-message{display:block}
#videoStage.audio-mode .video-grid{display:none}
#playRemoteAudio:not([hidden]){display:inline-flex;align-items:center;min-height:44px;margin:8px 0}

/* v0.4.37: speaking-first mobile call invitations and state visibility */
.incoming-call-banner{position:fixed;z-index:1100;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(95vw,560px);padding:18px;border:2px solid #4061be;border-radius:18px;background:#fff;box-shadow:0 16px 50px #17295055;display:flex;align-items:center;justify-content:space-between;gap:14px}
.incoming-call-banner p{margin:5px 0 0;color:#42536e}.incoming-call-actions{display:flex;gap:8px;flex-wrap:wrap}.incoming-call-actions button{min-height:48px}
.call-state-badge{display:inline-flex;margin:5px 0;padding:6px 12px;border-radius:999px;font-weight:750;background:#edf3ff;color:#244d9b}
.call-state-badge[data-state="connected"]{background:#e3f8eb;color:#146238}.call-state-badge[data-state="failed"]{background:#fff0ee;color:#a33226}.call-state-badge[data-state="ringing"]{background:#fff3da;color:#80550a}
@media(max-width:570px){.incoming-call-banner{flex-direction:column;align-items:stretch;top:max(8px,env(safe-area-inset-top));padding:15px}.incoming-call-actions{display:grid;grid-template-columns:1fr 1fr}.video-connect #startVideoCall{width:100%;min-height:52px}.video-connect #videoPeer{width:100%;max-width:none}.video-connect #refreshVideoPeers{min-height:44px}}

/* v0.4.37.1 mobile-first three-step flow */
.speaker-directory{padding:0 0 12px}.speaker-directory h3{margin:18px 0 6px}.speaker-directory label{margin:14px 0 7px}.speaker-rows{display:flex;flex-direction:column;margin:8px 0 12px;max-height:58vh;overflow-y:auto}.speaker-row{display:flex;align-items:center;gap:10px;width:100%;padding:13px 11px;text-align:left;color:#1c2c49;background:#fff;border-bottom:1px solid #e1e7f2;border-radius:0;min-height:54px}.speaker-row-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.speaker-row-available{color:#078840;font-weight:500;font-size:.76rem;white-space:nowrap}.speaker-row-arrow{font-size:1.5rem;color:#70809e}.mobile-stage-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-stage-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-action-row{display:flex;gap:10px;margin:14px 0}.call-action-row button{flex:1;min-height:48px}.community-text-notice{background:#fff7e7;border:1px solid #ead7a9;border-radius:9px;padding:10px;font-size:.83rem}.selected-call-notice{color:#52627e;font-size:.86rem}
@media(max-width:850px){body.mobile-member.dashboard-active .member-heading,body.mobile-member.dashboard-active #speakingQuickstart{display:none!important}body.mobile-member.dashboard-active #explorePanel>.section-inline>div{display:none}body.mobile-member.dashboard-active #explorePanel>.section-inline{display:block}body.mobile-member.dashboard-active #communitySearch{width:100%;max-width:none}body.mobile-member.dashboard-active .communities{display:flex;flex-direction:column;gap:0;margin-top:12px}body.mobile-member.dashboard-active .community{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;padding:10px 2px;border:0;border-bottom:1px solid #e3e8ef;border-radius:0;min-height:56px}body.mobile-member.dashboard-active .community .symbol,body.mobile-member.dashboard-active .community small{display:none}body.mobile-member.dashboard-active .community h3{font-size:.95rem;min-width:0;flex:1;margin:0}body.mobile-member.dashboard-active .community button{margin:0;width:auto;flex-shrink:0;font-size:.78rem;padding:9px 10px;min-height:40px}body.mobile-member.dashboard-active #conversationPanel #chat>.section-inline{display:none}body.mobile-member.dashboard-active #selectedConversation .video-connect h3,body.mobile-member.dashboard-active #selectedConversation .video-connect>p:first-of-type,body.mobile-member.dashboard-active #selectedConversation #speakerSearch,body.mobile-member.dashboard-active #selectedConversation #speakerCount,body.mobile-member.dashboard-active #selectedConversation #videoPeer,body.mobile-member.dashboard-active #selectedConversation #refreshVideoPeers,body.mobile-member.dashboard-active #selectedConversation .speaker-search-label,body.mobile-member.dashboard-active #selectedConversation .call-audio-choice,body.mobile-member.dashboard-active #selectedConversation #startVideoCall{display:none!important}body.mobile-member.dashboard-active #conversationPanel{min-height:0}body.mobile-member.dashboard-active #explorePanel{min-height:0}}
