/* Phones and small tablets. Loaded last on every page. The desktop layout is unchanged above 760px. */
.gv-menu-btn{display:none}
@media (max-width:760px){
  /* the site's header: the name, who you are, and one Menu button */
  .gv-w{padding-left:16px!important;padding-right:16px!important}
  .gv-head-in{flex-wrap:wrap;gap:8px 12px;min-height:54px;padding:6px 0}
  .gv-brand{font-size:18px}
  .gv-dept{display:none}
  .gv-user{gap:12px;font-size:14px}.gv-user a span{display:none}
  .gv-menu-btn{display:inline-flex;align-items:center;gap:8px;margin-left:auto;margin-right:48px;order:2;font:inherit;font-size:15px;font-weight:700;min-height:44px;padding:0 14px;
    background:#FFFFFF;color:#0B0C0C;border:0;cursor:pointer}
  .gv-menu-btn svg{width:18px;height:18px}
  .gv-user{order:3;width:100%;justify-content:space-between;margin-left:0;padding-bottom:4px}
  .gv-menu-btn:focus-visible{outline:3px solid #FFDD00;outline-offset:0}
  /* the sections: hidden until Menu is pressed, then a list with finger-sized rows */
  .gv-nav{display:none}
  body.gv-open .gv-nav{display:block}
  .gv-nav .gv-w{flex-direction:column;align-items:stretch;gap:0;min-height:0}
  .gv-nav a{padding:13px 0 13px 12px!important;border-bottom:1px solid var(--line)!important;border-left:4px solid transparent}
  .gv-nav a.on{border-left-color:currentColor;background:var(--surface)}
  .gv-sep{display:none}
  /* the page's own sub-menu: one row you can swipe */
  .gv-sub .gv-w{flex-wrap:nowrap!important;overflow-x:auto;gap:20px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gv-sub .gv-w::-webkit-scrollbar{display:none}
  .gv-sub a{white-space:nowrap;flex-shrink:0;padding:14px 0 11px!important}
  /* tables scroll inside themselves, not the whole page */
  .gv-main table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .mp-sec-h{flex-wrap:wrap}
  /* layouts: these beat the brand stylesheet's more specific rules, and let grid columns shrink to the screen */
  .mr-page .mr-sum,.mr-sum{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mr-sum b{font-size:28px!important}.mr-sum>div{padding:14px 16px!important}
  .sg{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;margin-left:-16px!important;margin-right:-16px!important}.sg>*{min-width:0}
  .sg-side{border-right:0!important;border-bottom:2px solid var(--line)}.sg-main{padding:18px 16px 80px!important}
  .mp-grid,.mp-next{grid-template-columns:minmax(0,1fr)!important}.mp-grid>*,.mp-main,.mp-main>*{min-width:0}
  table.gf-table,.gv-main table{display:block!important;overflow-x:auto!important;max-width:100%!important}
  /* headings and big numbers that were sized for a wide screen */
  .h-display,.gv-main h1{font-size:30px!important;line-height:1.15!important}
  .lede{font-size:17px}
  .btn-row{flex-wrap:wrap}
  img,video{max-width:100%;height:auto}
  input,select,textarea{max-width:100%}
  .gv-main table{position:relative}                                     /* hidden labels inside a scrolling table stay in it */
  .gf-row,.gf-row.dp-row{grid-template-columns:minmax(0,1fr)!important}.gf-row>*{min-width:0}
  .gf-inset{max-width:100%;box-sizing:border-box}
  /* My recordings: the latest one stacked; the list as the name and the actions, with how it went underneath */
  .mr-page .mr-head{flex-direction:column;align-items:stretch!important;gap:12px!important}
  .mr-page .mr-latest{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;gap:14px!important}
  .mr-page .mr-latest-side{border-left:0!important;border-top:1px solid var(--line)!important;padding:14px 0 0!important;background:none!important}
  .mr-page .mr-btns{flex-wrap:wrap}
  .mr-page .mr-bar{flex-wrap:wrap;gap:8px}
  .mr-page .mr-th{display:none!important}
  .mr-page .mr-row{grid-template-columns:minmax(0,1fr) auto!important;gap:6px 12px!important;padding:12px 14px!important}
  .mr-page .mr-row>span:nth-child(2),.mr-page .mr-row>span:nth-child(3){display:none!important}
  .mr-page .mr-how{grid-column:1/-1}
  /* one recording: Play and the time; the track the full width; the volumes two by two; the speed */
  .rp-player{padding:12px!important}
  .rp-ctrl{flex-wrap:wrap!important;gap:10px 12px!important}
  #rpPlay{min-height:48px;padding:0 20px}
  .rp-track{flex:1 1 100%!important;order:3;height:18px!important}
  #rpLen{margin-left:auto}
  .rp-vols{order:4;flex:1 1 100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px!important;font-size:13px!important}
  .rp-vols label{flex-direction:column;align-items:stretch!important;gap:2px!important}
  .rp-vols input{width:100%!important}
  #rpSpeed{order:5;min-height:44px}
  .two-col{grid-template-columns:minmax(0,1fr)!important}.two-col>*{min-width:0}.stack-btns{flex-wrap:wrap}   /* a lesson and its side panel: stacked */
  .gv-main .btn{max-width:100%;white-space:normal}
  .gv-main .btn-row,.gv-main .gf-actions,.gv-main .actions{flex-wrap:wrap}
}
/* ================================================================ a lesson on a phone (learn_phone.js makes the bar and Contents) */
@media (max-width:760px){
  .ln2 .crumbs{display:flex!important;gap:0}
  .ln2 .crumbs>*{display:none!important}
  .ln2 .crumbs a:nth-of-type(2){display:inline-flex!important;align-items:center;min-height:44px;font-size:16px}
  .ln2 .crumbs a:nth-of-type(2)::before{content:"\2039\00a0";font-weight:700;text-decoration:none}
  .ln2 .ln-views{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;flex-wrap:nowrap!important}
  .ln2 .ln-views button{font-size:14px!important;padding:10px 2px!important;line-height:1.2;min-height:48px;white-space:normal!important;text-align:center}
  .ln2 .ln-stepbar:not([hidden]){display:flex!important;flex-direction:column;align-items:stretch!important;gap:6px}
  .ln2 .ln-stepbar .pbar{width:100%!important;height:8px}
  .ln2 h1.h-display{font-size:28px!important}
  .ln2.wrap,.ln2{padding-top:4px!important}
  .ln2 .crumbs{margin:0 0 4px!important}
  .ln2 .ln-views{margin:0 0 10px!important}
  .ln2 .ln-stepbar{margin:0 0 8px!important}
  .ln2 .ln-head .eyebrow{font-size:14px}
  .ln2 .ln-head h1{margin-top:4px!important}
  .ln2 .ln-head .lede{font-size:17px}
  body.lnp-on .ln2 .two-col>aside{display:none!important}
  body.lnp-on{padding-bottom:84px}
  .lnp-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;align-items:center;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:2px solid #0B0C0C}
  .lnp-toc{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:15px;font-weight:700;min-height:48px;padding:0 14px;background:#FFFFFF;color:#0B0C0C;border:2px solid #0B0C0C;cursor:pointer}
  .lnp-toc:focus-visible,.lnp-close:focus-visible{outline:3px solid #FFDD00;outline-offset:0}
  .lnp-slot{flex:1;min-width:0}
  .lnp-slot .ln-stepnav{display:flex!important;gap:8px;margin:0!important;padding:0!important;border:0!important}
  .lnp-slot .ln-stepnav[hidden]{display:none!important}
  .lnp-slot .ln-stepnav .btn{flex:1;min-height:48px;margin:0!important;font-size:15px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lnp-slot .ln-stepnav #lnBack{flex:0 0 auto}
  .lnp-sheet:not([hidden]){position:fixed;left:0;right:0;bottom:0;max-height:82vh;overflow-y:auto;z-index:61;background:#FFFFFF;border-top:3px solid #0B0C0C;
    padding:0 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}
  .lnp-sheet-h{position:sticky;top:0;background:#FFFFFF;display:flex;justify-content:space-between;align-items:center;padding:14px 0 8px;z-index:1}
  .lnp-sheet-h b{font-size:20px}
  .lnp-close{font:inherit;font-weight:700;min-height:44px;padding:0 16px;background:#0B0C0C;color:#FFFFFF;border:0;cursor:pointer}
  .lnp-sheet .panel{margin:0!important}
  .lnp-sheet .ln-toc a,.lnp-sheet #lnToc a{display:inline-flex;align-items:center;min-height:40px}
  .lnp-shade:not([hidden]){position:fixed;inset:0;background:rgba(11,12,12,.45);z-index:60}
  .lnp-practice{margin-top:16px}
}
/* ================================================================ Words it listens for, on a phone (words_phone.js) */
@media (max-width:760px){
  body.wlp-on .wl{display:block!important;margin:0!important;padding:0!important}
  body.wlp-on .wl-main{padding:10px 0 96px!important}
  body.wlp-on .wl-h1{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  .wlp-top{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
  .wlp-k{font-size:14px;color:#505A5F}
  .wlp-pick{font:inherit;text-align:left;min-height:54px;padding:6px 14px;background:#FFFFFF;border:2px solid #0B0C0C;display:flex;align-items:center;gap:10px;color:#0B0C0C;cursor:pointer}
  .wlp-pick:focus-visible,.wlp-close:focus-visible,.wlp-try:focus-visible{outline:3px solid #FFDD00;outline-offset:0}
  .wlp-n{flex:1;display:flex;flex-direction:column;min-width:0}.wlp-n b{font-size:20px;line-height:1.2}.wlp-n span{font-size:13px;color:#505A5F}
  .wlp-all{font-size:14px;font-weight:700;color:#1D70B8}.wlp-pick svg{color:#1D70B8;flex-shrink:0}
  body.wlp-on .wl-head{display:block!important}
  body.wlp-on .wl-blurb{font-size:15px;margin:0 0 10px!important}
  body.wlp-on .wl-tools,body.wlp-on .wl-filter{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%;align-items:flex-end}
  body.wlp-on .wl-filter input,body.wlp-on .wl-filter select{min-height:44px;font-size:16px!important;max-width:100%}
  body.wlp-on .wl-filter label{flex:1 1 140px}
  body.wlp-on .wl-quicktry{display:none!important}
  body.wlp-on .wl-th{display:none!important}
  body.wlp-on .wl-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px 10px!important;padding:12px 4px!important;align-items:start!important}
  body.wlp-on .wl-row>*{grid-column:1!important;min-width:0}
  body.wlp-on .wl-row>.wl-acts{grid-column:2!important;grid-row:1/span 4;align-self:start;display:flex!important;gap:4px;justify-content:flex-end}
  body.wlp-on .wl-ic{min-width:40px;min-height:40px;display:inline-flex!important;align-items:center;justify-content:center}
  body.wlp-on .wl-words{display:flex!important;flex-wrap:wrap;gap:8px}
  body.wlp-on .wl-word{max-width:100%}
  body.wlp-on .wl-addrow{display:flex!important;gap:8px;margin-bottom:10px}
  body.wlp-on .wl-addrow input{flex:1;min-width:0;min-height:44px;font-size:16px}
  body.wlp-on .wl-addrow .btn{min-height:44px}
  body.wlp-on .wl-row.wl-th{display:none!important}                    /* each row explains itself */
  body.wlp-on .wl-filter input[name="q"],body.wlp-on .wl-filter input[type="search"]{flex:1 1 100%!important;width:100%!important}
  body.wlp-on .wl-dept{display:flex!important;flex-direction:column;gap:6px;padding:10px 12px!important}
  body.wlp-on .wl-dept label{display:flex!important;flex-direction:column;gap:4px;font-size:14px}
  body.wlp-on .wl-dept select{width:100%;min-height:44px;font-size:16px}
  .wlp-shade:not([hidden]){position:fixed;inset:0;background:rgba(11,12,12,.45);z-index:60}
  .wlp-sheet:not([hidden]){position:fixed;left:0;right:0;bottom:0;top:64px;overflow-y:auto;z-index:61;background:#FFFFFF;border-top:3px solid #0B0C0C;padding:0 16px calc(20px + env(safe-area-inset-bottom))}
  .wlp-sheet-h{position:sticky;top:0;background:#FFFFFF;display:flex;justify-content:space-between;align-items:center;padding:14px 0 10px;z-index:1}
  .wlp-sheet-h b{font-size:20px}
  .wlp-close{font:inherit;font-weight:700;min-height:44px;padding:0 16px;background:#0B0C0C;color:#FFFFFF;border:0;cursor:pointer}
  .wlp-sheet .wl-side{display:flex!important;flex-direction:column;position:static!important;border:0!important;padding:0!important;background:none!important;gap:10px!important;border-radius:0!important}
  .wlp-sheet .wl-item{min-height:44px;display:flex!important;align-items:center;justify-content:space-between;font-size:16px}
  .wlp-sheet .wl-find input{min-height:44px;font-size:16px}
  .wlp-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:2px solid #0B0C0C}
  .wlp-try{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;background:#1D70B8;color:#FFFFFF!important;font-size:17px;font-weight:700;text-decoration:none}
}
@media (max-width:760px){
  body.wlp-on .wlp-later{display:none!important}
  .wlp-more{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 4px;border-top:2px solid #0B0C0C;margin-top:4px;width:100%;flex-basis:100%}
  .wlp-more[hidden]{display:none}
  .wlp-count{flex:1 1 100%;font-size:15px;color:#505A5F}
  .wlp-morebtn{font:inherit;font-size:16px;font-weight:700;min-height:48px;padding:0 18px;background:#0B0C0C;color:#FFFFFF;border:0;cursor:pointer;flex:1}
  .wlp-allbtn{font:inherit;font-size:16px;min-height:48px;padding:0 14px;background:#FFFFFF;color:#0B0C0C;border:2px solid #0B0C0C;cursor:pointer}
  .wlp-morebtn:focus-visible,.wlp-allbtn:focus-visible{outline:3px solid #FFDD00;outline-offset:0}
}
.wlp-lab{display:none}
@media (max-width:760px){ body.wlp-on .wlp-lab{display:inline} body.wlp-on .wl-table.wl-cards .wl-row:not(.wl-th)>*:nth-child(4){font-size:14px;color:#505A5F} }

/* Care AI working / finished, on every page for admins (static/careai_status.js) */
.careai-pill{position:fixed;left:16px;bottom:16px;z-index:950;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:8px 6px 8px 12px;background:#1F2933;color:#FFFFFF;border:2px solid #1D70B8;box-shadow:0 6px 18px rgba(0,0,0,.25);font-family:"Noto Sans",system-ui,sans-serif;font-size:14px;font-weight:700}
.careai-pill[hidden]{display:none}
.careai-pill.done{border-color:#00703C}
.careai-pill-dot{width:10px;height:10px;border-radius:50%;background:#5694CA;flex-shrink:0;animation:careaiPill 1.1s infinite}
.careai-pill.done .careai-pill-dot{background:#00703C;animation:none}
@keyframes careaiPill{50%{opacity:.25;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.careai-pill-dot{animation:none}}
.careai-pill-t{color:#FFFFFF!important;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.careai-pill-t:hover,.careai-pill-t:focus{text-decoration:underline}
.careai-pill-x{font:inherit;font-size:16px;line-height:1;padding:2px 7px;background:none;border:0;color:#FFFFFF;cursor:pointer}
.careai-pill a:focus-visible,.careai-pill-x:focus-visible{outline:3px solid #FFDD00;outline-offset:2px}
