/* Shared mobile appearance, packaged for native clients and served to the mobile website. */
html.lc-mobile[data-lc-mobile-booting] body { visibility:hidden!important; }
html.lc-mobile { --lc-ink:#172c3b; --lc-muted:#6e7b86; --lc-gold:#efbd37; --lc-bg:#f4f6f8; --lc-line:#e7ecf0; background:var(--lc-bg); }
.lc-mobile body { margin:0; background:var(--lc-bg); color:var(--lc-ink); -webkit-tap-highlight-color:transparent; }
.lc-mobile body.lc-mobile-signed-in { padding-bottom:80px!important; }
.lc-mobile body.lc-mobile-signed-in:not(.lc-mobile-home) { padding-top:76px!important; }
.lc-mobile *, .lc-mobile *::before, .lc-mobile *::after { box-sizing:border-box; }
.lc-mobile [hidden] { display:none!important; }
.lc-mobile a:focus-visible,.lc-mobile button:focus-visible,.lc-mobile input:focus-visible { outline:3px solid #bd8b11!important; outline-offset:3px; }
.lc-mobile-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.lc-mobile-nav { position:fixed; z-index:800; bottom:0; left:0; right:0; width:100%; height:76px; padding:9px 9px max(9px,env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; background:#fff; border-top:1px solid var(--lc-line); box-shadow:0 -4px 24px #122e3f08; }
.lc-mobile-nav .lc-mobile-tab { min-width:0; min-height:54px; padding:5px 1px; border-radius:13px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; font:500 10px/1.2 system-ui,sans-serif; color:#7c8790; text-decoration:none; }
.lc-mobile-tab svg { width:22px; height:22px; }
.lc-mobile-nav .lc-mobile-tab[aria-current=page] { color:#233c50; background:#f9f3e1; font-weight:800; }
.lc-mobile-tab[aria-current=page] svg { stroke-width:2; }
.lc-mobile .official-home { min-height:0; background:var(--lc-bg); }
.lc-mobile .official-wrap { max-width:680px; padding:0 19px 18px; display:flex; flex-direction:column; gap:20px; }
.lc-mobile .official-header { order:0; flex-wrap:nowrap; padding:19px 0 0; gap:8px; margin:0; }
.lc-mobile .official-brand { gap:10px; min-width:0; }
.lc-mobile .official-brand img { width:40px; height:40px; border-radius:13px; }
.lc-mobile .official-brand strong { font-size:14px; letter-spacing:-.35px; }
.lc-mobile .official-brand small { font-size:11px; }
.lc-mobile .official-header-actions { gap:6px; flex-shrink:0; }
.lc-mobile .official-header-actions .official-signout,.lc-mobile .official-header-actions .student-tour-launcher { display:none!important; }
.lc-mobile .school-notification-bell { border-radius:50%!important; width:42px!important; height:42px!important; background:#fff!important; color:var(--lc-ink)!important; border:1px solid var(--lc-line)!important; box-shadow:none!important; }
.lc-mobile .official-welcome { order:1; background:transparent; border:0; border-radius:0; padding:0; margin:0; display:block; }
.lc-mobile .official-welcome .official-kicker { font-size:10px; color:var(--lc-muted); letter-spacing:1.3px; margin:0 0 5px; }
.lc-mobile .official-welcome h2 { font-size:25px; line-height:1.2; letter-spacing:-.7px; margin:0 0 7px; }
.lc-mobile .official-welcome p:not(.official-kicker) { margin:0; font-size:12px; line-height:1.6; color:var(--lc-muted); }
.lc-mobile .official-welcome-cta { display:none!important; }
.lc-mobile .official-hero { display:contents!important; }
.lc-mobile .official-hero-copy { order:2; width:100%; max-width:none; background:#193447; color:white; border-radius:21px; padding:23px 21px; overflow:hidden; }
.lc-mobile .official-hero-copy .official-kicker { margin:0 0 10px; color:#f0ca63; font-size:9px; letter-spacing:1.6px; }
.lc-mobile .official-hero h1,.lc-mobile .official-hero-teacher .official-teacher-bible-title { margin:0 0 9px; font-size:22px; line-height:1.3; max-width:none; letter-spacing:-.5px; color:#fff; }
.lc-mobile .official-hero .official-teacher-bible-reference { font-size:11px!important; margin:0!important; color:#e5c56f!important; }
.lc-mobile .official-hero-copy >p { color:#e1e8ee; font-size:12px!important; }
.lc-mobile .official-buttons { display:none!important; }
.lc-mobile .official-music { display:none; }
.lc-mobile .official-hero .school-priority-bubble { margin-top:16px; border-radius:12px; font-size:12px; }
.lc-mobile-quick { order:3; }
.lc-mobile-section-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 12px; }
.lc-mobile-section-heading h2 { font-size:16px; margin:0; letter-spacing:-.4px; }
.lc-mobile-section-heading >a { color:var(--lc-muted); font-size:11px; text-decoration:none; padding:7px 0 7px 10px; }
.lc-mobile-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.lc-mobile-quick-grid >a { min-height:84px; background:#fff; border:1px solid var(--lc-line); border-radius:16px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:var(--lc-ink); text-decoration:none; padding:13px 3px 11px; text-align:center; font:650 10px/1.2 system-ui,sans-serif; }
.lc-mobile-quick-grid svg { width:25px; height:25px; color:#314e63; }
.lc-mobile-quick-grid >a:nth-child(2) svg { color:#a87c16; }
.lc-mobile .official-student-visual,.lc-mobile .official-teacher-visual { order:4; width:100%!important; max-width:none!important; min-height:0!important; margin:0!important; display:block!important; }
.lc-mobile .official-student-visual > svg { display:none; }
.lc-mobile .official-student-card,.lc-mobile .official-next-saturday-card { width:100%!important; position:relative!important; background:#fff!important; color:var(--lc-ink)!important; border:1px solid var(--lc-line)!important; box-shadow:none!important; border-radius:19px!important; padding:21px!important; transform:none!important; }
.lc-mobile .official-student-card strong,.lc-mobile .official-next-saturday-card>strong { color:var(--lc-ink)!important; font-size:24px; }
.lc-mobile .official-student-card p,.lc-mobile .official-student-card small,.lc-mobile .official-next-saturday-card>small,.lc-mobile .official-next-status { color:var(--lc-muted)!important; }
.lc-mobile .official-student-eyebrow,.lc-mobile .official-next-eyebrow { color:#866415!important; font-size:10px!important; }
.lc-mobile .official-student-meter { height:13px; background:#edf0f3; border-radius:8px; }
.lc-mobile .official-student-meter>span { background:#e4b438; border-radius:8px; }
.lc-mobile .official-next-quickform { grid-template-columns:1fr 1fr!important; }
.lc-mobile .official-next-quickform button[value=unavailable] { color:var(--lc-ink)!important; border-color:#d8e0e7; }
.lc-mobile .official-next-manage { color:#596f80!important; }
.lc-mobile .official-teacher-actions { order:5; margin:0; padding:0; }
.lc-mobile .official-teacher-actions h2 { font-size:16px; margin:3px 0 13px; letter-spacing:-.3px; }
.lc-mobile .official-director-groups { gap:18px; }
.lc-mobile .official-director-group h3 { font-size:12px; color:var(--lc-muted); margin:0 0 10px; border:0; padding:0; }
.lc-mobile .official-teacher-grid,.lc-mobile .official-director-group .official-teacher-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:9px; }
.lc-mobile .official-teacher-grid>a { min-height:111px; padding:15px!important; border:1px solid var(--lc-line); box-shadow:none; border-radius:16px; background:#fff; }
.lc-mobile .official-teacher-grid>a>strong { font-size:13px; line-height:1.4; }
.lc-mobile .official-teacher-grid>a>span { font-size:21px; }
.lc-mobile .official-teacher-grid>a>small { display:none; }
.lc-mobile .official-teacher-grid>a>b { font-size:10px; color:var(--lc-muted); }
.lc-mobile-signed-in .official-links { display:none; }
.lc-mobile .official-wrap>.tutor-chat { order:6; position:relative!important; inset:auto!important; width:100%; }
.lc-mobile .official-footer { order:8; margin:0; font-size:10px; color:#7c8790; line-height:1.6; padding:7px 0; }
.lc-mobile .lc-support-footer { padding:18px; background:var(--lc-bg); border:0; font-size:11px; }
.lc-mobile .lc-support-trigger { padding:10px 14px; font-size:11px; }
.lc-mobile-page-header { position:fixed; z-index:700; top:0; left:0; right:0; height:72px; padding:12px 17px; background:var(--lc-bg); display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--lc-line); }
.lc-mobile-page-header h1 { flex:1; margin:0; color:var(--lc-ink); font:750 22px/1.2 system-ui,sans-serif; letter-spacing:-.6px; }
.lc-mobile-page-header button { width:42px; height:42px; padding:10px; border:1px solid var(--lc-line); background:#fff; color:var(--lc-ink); border-radius:50%; flex:none; display:grid; place-items:center; }
.lc-mobile-page-header svg { width:21px; height:21px; }
.lc-mobile .cal-shell,.lc-mobile .director-shell,.lc-mobile .teacher-shell,.lc-mobile .pupil-shell,.lc-mobile .syllabus-shell,.lc-mobile .profile-shell,.lc-mobile .acd-shell,.lc-mobile .attendance-shell { background:var(--lc-bg); padding:17px 17px 25px; min-height:0; }
.lc-mobile .cal-container,.lc-mobile .director-container,.lc-mobile .teacher-wrap,.lc-mobile .pupil-wrap,.lc-mobile .syllabus-container,.lc-mobile .profile-wrap,.lc-mobile .acd-wrap { padding:0; max-width:680px; margin:auto; }
.lc-mobile .teacher-top,.lc-mobile .pupil-top,.lc-mobile .director-header,.lc-mobile .cal-brand,.lc-mobile .cal-back { display:none!important; }
.lc-mobile .cal-top { padding:0; margin:0; }
.lc-mobile .cal-heading { padding:0; margin:0 0 16px; }
.lc-mobile .cal-heading h1 { display:none; }
.lc-mobile .cal-heading>p { display:none; }
.lc-mobile .cal-heading>span { display:block; font-size:12px; line-height:1.7; }
.lc-mobile .cal-layout { display:flex; flex-direction:column; gap:16px; }
.lc-mobile .cal-card { width:100%; margin:0; padding:17px 13px; background:#fff; border:1px solid var(--lc-line); border-radius:19px; box-shadow:none; }
.lc-mobile .cal-month-header h2 { font-size:16px; }
.lc-mobile .cal-month-header p { font-size:10px; }
.lc-mobile .cal-detail h2 { font-size:19px; }
.lc-mobile .cal-smallprint { font-size:10px; }
.lc-mobile .cal-top-actions { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.lc-mobile .cal-top-actions a { min-height:38px; padding:10px 12px; font-size:11px; border-radius:12px; }
.lc-mobile .cal-month-header { position:relative; min-height:38px; padding:0 37px; margin-bottom:10px; text-align:center; justify-content:center; }
.lc-mobile .cal-month-header h2 { margin:0; }
.lc-mobile .cal-month-header p { display:none; }
.lc-mobile .cal-navigation { position:absolute; inset:0; display:flex; justify-content:space-between; pointer-events:none; }
.lc-mobile .cal-navigation>a,.lc-mobile .cal-navigation>span { pointer-events:auto; width:36px; height:36px; min-width:0; padding:8px; border-radius:50%; }
.lc-mobile .cal-weekgrid { gap:3px; }
.lc-mobile .cal-weekday { padding:6px 0; font-size:10px; }
.lc-mobile .cal-weekgrid .cal-cell,.lc-mobile .cal-weekgrid .cal-empty { position:relative; height:44px; min-height:44px; padding:3px 0; gap:2px; align-items:center; justify-content:flex-start; border:0; border-radius:9px; }
.lc-mobile .cal-cell strong { display:grid; place-items:center; width:25px; height:25px; font-size:12px; font-weight:550; }
.lc-mobile .cal-cell.selected { outline:none; }
.lc-mobile .cal-cell.selected strong { border-radius:50%; background:var(--lc-ink); color:#fff; }
.lc-mobile .cal-cell small,.lc-mobile .cal-personal-marker { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.lc-mobile .cal-cell.lc-has-event::after { content:''; display:block; width:5px; height:5px; border-radius:50%; background:#527892; }
.lc-mobile .cal-cell.language::after { background:#9471bb; }
.lc-mobile .cal-cell.reinforcement::after { background:#369078; }
.lc-mobile .cal-cell.exam::after,.lc-mobile .cal-cell.assessment::after { background:#c4656d; }
.lc-mobile .cal-cell.graduation::after { background:#b18a2d; }
.lc-mobile .cal-legend { gap:8px 10px; margin-top:12px; font-size:10px; }
.lc-mobile .cal-legend span { font-size:10px; }
.lc-mobile .cal-mark { width:6px; height:6px; border-radius:50%; }
.lc-mobile .cal-mark.scheduled { background:#527892; border:0; }
.lc-mobile .cal-mark.language { background:#9471bb; border:0; }
.lc-mobile .cal-mark.reinforcement { background:#369078; border:0; }
.lc-mobile .cal-mark.assessment,.lc-mobile .cal-mark.exam { background:#c4656d; border:0; }
.lc-mobile .cal-mark.graduation { background:#b18a2d; border:0; }
.lc-mobile .director-card,.lc-mobile .pupil-card,.lc-mobile .teacher-card { border:1px solid var(--lc-line); border-radius:18px; box-shadow:none; background:#fff; }
.lc-mobile body[data-lc-tab=messages] .director-container>h1 { display:none; }
.lc-mobile body[data-lc-tab=messages] .director-container>a:first-child { display:none; }
.lc-mobile body[data-lc-tab=messages] .director-container>p { margin:0 0 18px; font-size:12px; line-height:1.7; color:var(--lc-muted); }
.lc-mobile-message-search { display:block; margin:0 0 14px; }
.lc-mobile-message-search input { width:100%; min-height:47px; border-radius:16px; border:1px solid var(--lc-line); background:#fff; padding:12px 16px; color:var(--lc-ink); font-size:14px; }
.lc-mobile-message-row { display:grid!important; grid-template-columns:38px minmax(0,1fr); align-items:center!important; gap:9px 12px!important; padding:17px 0!important; }
.lc-mobile-message-row>.lc-mobile-person-initial { width:38px; height:38px; border-radius:50%; background:#edf1f4; color:#314e63; display:grid; place-items:center; font-size:15px; font-weight:750; grid-row:1 / span 2; }
.lc-mobile-message-row>span:not(.lc-mobile-person-initial) { font-size:11px; line-height:1.6; }
.lc-mobile-message-row strong { display:block; font-size:14px; color:var(--lc-ink); }
.lc-mobile-message-row>a { font-size:11px; color:#6f7f89; }
.lc-mobile-message-row>.tutor-chat { grid-column:1 / -1; }
.lc-mobile [data-lc-tab=messages].lc-mobile-home .official-wrap>*:not(.official-header):not(.tutor-chat):not(.lc-mobile-student-message-heading) { display:none!important; }
.lc-mobile-student-message-heading { order:1; }
.lc-mobile-student-message-heading h1 { margin:0; font-size:25px; letter-spacing:-.6px; }
.lc-mobile [data-lc-tab=messages].lc-mobile-home .tutor-chat { order:2; width:100%; }
.lc-mobile [data-lc-tab=messages].lc-mobile-home .tutor-chat-panel { position:relative!important; inset:auto!important; width:100%!important; height:clamp(270px,calc(100dvh - 250px),650px); max-height:none!important; margin:0; box-shadow:none; }
.lc-mobile [data-lc-tab=messages] .tutor-chat-launcher[aria-expanded=true] { display:none; }
.lc-mobile .tutor-chat-panel { max-height:calc(100dvh - 170px); }
.lc-mobile .tutor-chat-panel:focus-within { scroll-margin-bottom:90px; }
.lc-mobile-profile { position:fixed; inset:auto 12px 89px; width:calc(100% - 24px); max-width:500px; max-height:calc(100dvh - 120px); margin:0 auto; padding:23px; border:1px solid var(--lc-line); border-radius:24px; background:#fff; color:var(--lc-ink); box-shadow:0 10px 60px #152d3e22; }
.lc-mobile-profile::backdrop { background:#10263866; }
.lc-mobile-profile-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px; }
.lc-mobile-profile-heading h2 { font-size:23px; margin:0; letter-spacing:-.5px; }
.lc-mobile-close { width:38px; height:38px; border:0; border-radius:50%; background:#f2f5f7; color:var(--lc-ink); font-size:25px; }
.lc-mobile-account-name { font-size:18px; font-weight:750; margin:0 0 5px; }
.lc-mobile-muted { font-size:12px; color:var(--lc-muted); line-height:1.6; }
.lc-mobile-profile-link { display:block; width:100%; text-decoration:none; border:1px solid var(--lc-line); background:#fff; color:var(--lc-ink); border-radius:13px; padding:15px; margin-top:10px; font:600 14px/1.3 system-ui,sans-serif; text-align:left; }
.lc-mobile-logout { color:#9a3a44; }
.lc-mobile .auth-shell { min-height:100dvh; background:var(--lc-bg); padding:22px 18px; }
.lc-mobile .auth-card { padding:27px 22px; border-radius:22px; box-shadow:none; border:1px solid var(--lc-line); }
.lc-mobile .auth-card h1 { font-size:25px; letter-spacing:-.6px; }
@media(min-width:700px) { .lc-mobile-nav { left:50%; transform:translateX(-50%); max-width:680px; } .lc-mobile-page-header { left:50%; transform:translateX(-50%); max-width:714px; } }
@media(prefers-reduced-motion:reduce) { .lc-mobile * { scroll-behavior:auto!important; } }

/* Mobile 0.4: task-first dashboard, compact study spaces and a searchable tool sheet. */
html.lc-mobile { --lc-ink:#173346; --lc-muted:#667985; --lc-gold:#e8b63d; --lc-bg:#f5f7fa; --lc-line:#e5ebf0; }
.lc-mobile body { font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; line-height:1.5; }
.lc-mobile body.lc-mobile-signed-in { padding-bottom:calc(82px + env(safe-area-inset-bottom))!important; }
.lc-mobile button,.lc-mobile a { touch-action:manipulation; }
.lc-mobile button { cursor:pointer; }
.lc-mobile input:not([type=checkbox]):not([type=radio]),.lc-mobile textarea,.lc-mobile select { font-size:16px; max-width:100%; }
.lc-mobile p,.lc-mobile h1,.lc-mobile h2,.lc-mobile h3,.lc-mobile strong { overflow-wrap:anywhere; }
.lc-mobile-nav { height:calc(72px + env(safe-area-inset-bottom)); padding:7px 10px calc(7px + env(safe-area-inset-bottom)); box-shadow:0 -8px 28px #17334606; }
.lc-mobile-nav .lc-mobile-tab { position:relative; border-radius:16px; gap:4px; font-size:10px; transition:color .18s,background-color .18s; }
.lc-mobile-nav .lc-mobile-tab[aria-current=page] { background:#edf3f6; color:#173346; }
.lc-mobile-tab[aria-current=page]::before { content:''; position:absolute; top:0; width:16px; height:3px; border-radius:3px; background:var(--lc-gold); }
.lc-mobile .official-wrap { gap:18px; padding:0 20px 15px; }
.lc-mobile .official-header { padding-top:14px; }
.lc-mobile .official-brand img { width:34px; height:34px; border-radius:11px; }
.lc-mobile .official-brand strong { font-size:13px; }
.lc-mobile .official-brand small { font-size:10px; }
.lc-mobile .official-welcome h2 { font-size:23px; letter-spacing:-.8px; margin-bottom:4px; }
.lc-mobile .official-welcome .official-kicker { font-size:9px; letter-spacing:1.4px; margin-bottom:4px; }
.lc-mobile .official-welcome p:not(.official-kicker) { font-size:11px; line-height:1.55; }
.lc-mobile .official-student-visual,.lc-mobile .official-teacher-visual { order:2; }
.lc-mobile .official-next-saturday-card,.lc-mobile .official-student-card { padding:19px!important; border-radius:23px!important; background:linear-gradient(125deg,#173346,#254e64)!important; border:0!important; color:#fff!important; overflow:hidden; }
.lc-mobile .official-next-saturday-card>strong,.lc-mobile .official-student-card strong { color:#fff!important; font-size:23px; letter-spacing:-.6px; }
.lc-mobile .official-next-eyebrow,.lc-mobile .official-student-eyebrow { color:#e8c870!important; font-size:9px!important; letter-spacing:1.4px; }
.lc-mobile .official-student-card p,.lc-mobile .official-student-card small,.lc-mobile .official-next-saturday-card>small { color:#d7e3eb!important; font-size:11px; line-height:1.5; }
.lc-mobile .official-next-status { display:table; width:auto; margin-top:12px; padding:5px 9px; border:1px solid #ffffff24; border-radius:8px; background:#ffffff0d; color:#e3edf4!important; font-size:10px; }
.lc-mobile .official-student-meter-title { font-size:11px; color:#e3edf4; }
.lc-mobile .official-student-meter { height:8px; margin:9px 0; background:#ffffff26; }
.lc-mobile .official-student-card .official-student-note { display:block; font-size:10px; }
.lc-mobile .official-next-quickform { margin-top:12px; gap:8px; }
.lc-mobile .official-next-quickform button { min-height:44px; border-radius:12px; font-size:12px; }
.lc-mobile .official-next-quickform button[value=unavailable] { color:#fff!important; background:transparent!important; border-color:#ffffff55; }
.lc-mobile .official-next-manage { display:block; font-size:10px; margin-top:10px; color:#d9e6ef!important; }
.lc-mobile-card-action { display:flex; align-items:center; justify-content:space-between; padding-top:13px; margin-top:14px; border-top:1px solid #ffffff26; color:#fff; text-decoration:none; font-size:12px; font-weight:650; min-height:44px; }
.lc-mobile-card-action svg { width:17px; height:17px; }
.lc-mobile .official-hero-copy { order:5; padding:17px 18px; border-radius:19px; background:#f2ede1; color:var(--lc-ink); }
.lc-mobile .official-hero-copy .official-kicker { color:#8b7134; font-size:8px; margin-bottom:7px; }
.lc-mobile .official-hero h1,.lc-mobile .official-hero-teacher .official-teacher-bible-title { color:#334e5e; font-size:16px; line-height:1.5; font-weight:600; letter-spacing:-.2px; margin-bottom:7px; }
.lc-mobile .official-hero .official-teacher-bible-reference { color:#806a39!important; font-size:10px!important; }
.lc-mobile .official-hero .school-priority-bubble { background:#fff!important; color:var(--lc-ink)!important; border:1px solid var(--lc-line); }
.lc-mobile-quick { order:3; }
.lc-mobile-section-heading { margin-bottom:10px; }
.lc-mobile-section-heading h2 { font-size:15px; letter-spacing:-.3px; }
.lc-mobile-quick-grid { gap:8px; }
.lc-mobile-quick-grid>a { min-height:79px; border-radius:17px; padding:12px 2px 10px; font-size:10px; gap:9px; box-shadow:0 3px 9px #18364703; }
.lc-mobile-quick-grid svg { width:23px; height:23px; }
.lc-mobile-explore { order:4; }
.lc-mobile-explore-button { display:flex; width:100%; gap:12px; align-items:center; padding:15px; border:1px solid var(--lc-line); background:#fff; border-radius:18px; color:var(--lc-ink); text-align:left; }
.lc-mobile-explore-button>svg:first-child { width:37px; height:37px; padding:8px; flex:none; background:#edf3f6; border-radius:11px; }
.lc-mobile-explore-button>span { flex:1; }
.lc-mobile-explore-button strong { display:block; font-size:13px; }
.lc-mobile-explore-button small { display:block; font-size:10px; color:var(--lc-muted); margin-top:3px; }
.lc-mobile-explore-button>svg:last-child { width:18px; height:18px; }
.lc-mobile-tools-ready .official-teacher-actions { display:none!important; }
.lc-mobile .official-footer { font-size:9px; padding:0 5px; text-align:center; }
.lc-mobile .lc-back-link { display:none!important; }
.lc-mobile-page-header { height:65px; padding:10px 18px; border-bottom:0; }
.lc-mobile-page-header h1 { font-size:21px; letter-spacing:-.7px; }
.lc-mobile-page-header button { width:40px; height:40px; border-radius:14px; }
.lc-mobile body.lc-mobile-signed-in:not(.lc-mobile-home) { padding-top:65px!important; }
.lc-mobile .cal-shell,.lc-mobile .syllabus-shell,.lc-mobile .director-shell,.lc-mobile .pupil-shell,.lc-mobile .teacher-shell,.lc-mobile .acd-shell { padding:10px 18px 22px; }
.lc-mobile .cal-top-actions { margin:0 0 9px; justify-content:flex-start; gap:7px; }
.lc-mobile .cal-top-actions a { background:#fff; border:1px solid var(--lc-line); font-size:10px; min-height:38px; padding:9px 11px; }
.lc-mobile .cal-heading { margin-bottom:12px; }
.lc-mobile .cal-heading>span { font-size:11px; line-height:1.6; }
.lc-mobile .cal-card { border-radius:21px; padding:15px 12px; }
.lc-mobile .cal-smallprint { font-size:9px; line-height:1.5; margin-bottom:0; }
.lc-mobile .cal-detail-top { margin-bottom:15px; }
.lc-mobile .cal-detail-top h2 { font-size:17px; margin:5px 0; }
.lc-mobile .cal-session { border-radius:13px; padding:13px; }
.lc-mobile .syllabus-header { margin:0 0 13px; }
.lc-mobile .syllabus-header h1 { display:none; }
.lc-mobile .syllabus-header p { font-size:11px; color:var(--lc-muted); line-height:1.6; }
.lc-mobile-study-nav { display:flex; overflow-x:auto; gap:5px; padding:5px; margin-bottom:16px; background:#eaf0f4; border-radius:14px; scrollbar-width:none; }
.lc-mobile-study-nav>a { flex:1; white-space:nowrap; text-align:center; padding:10px 7px; border-radius:10px; color:var(--lc-muted); font-size:11px; font-weight:650; text-decoration:none; min-height:40px; }
.lc-mobile-study-nav>a[aria-current=page] { color:var(--lc-ink); background:#fff; box-shadow:0 2px 5px #1733460a; }
.lc-mobile .topic-manager { border:0; background:transparent; padding:0; }
.lc-mobile .topic-manager-intro { padding:16px 18px; border-radius:18px; background:#edf3f6; color:var(--lc-ink); margin-bottom:14px; }
.lc-mobile .topic-manager-intro>span { font-size:9px; color:#738594; letter-spacing:1px; }
.lc-mobile .topic-manager-intro h2 { font-size:18px; margin:5px 0 8px; letter-spacing:-.4px; color:var(--lc-ink); }
.lc-mobile .topic-manager-intro p { font-size:11px; line-height:1.6; color:var(--lc-muted); margin:0; }
.lc-mobile .staff-publish-body { padding:0; background:transparent; }
.lc-mobile .staff-choice-grid { grid-template-columns:1fr 1fr; gap:10px; padding:15px; background:#fff; border:1px solid var(--lc-line); border-radius:18px; margin-bottom:14px; }
.lc-mobile .staff-choice-grid label { font-size:11px; min-width:0; }
.lc-mobile .staff-choice-grid select { padding:11px 8px; min-height:46px; border-radius:11px; font-size:13px; background:#f8fafc; border-color:var(--lc-line); }
.lc-mobile .staff-workspace-card,.lc-mobile .syllabus-panel,.lc-mobile .student-topics-shell { border:1px solid var(--lc-line); background:#fff; padding:17px; border-radius:19px; box-shadow:none; margin-bottom:14px; }
.lc-mobile .topic-manager-section-heading { gap:10px; margin-bottom:15px; }
.lc-mobile .topic-manager-section-heading h3 { font-size:16px; }
.lc-mobile .topic-manager-section-heading p { font-size:11px; }
.lc-mobile .topic-manager-form label { font-size:12px; }
.lc-mobile .topic-manager-form input,.lc-mobile .topic-manager-form textarea { border-radius:12px; background:#f8fafc; border:1px solid var(--lc-line); padding:12px; }
.lc-mobile .topic-manager-form button[type=submit] { min-height:48px; border:0; border-radius:13px; background:var(--lc-ink); color:#fff; }
.lc-mobile .student-topics-block,.lc-mobile .student-topic { border-radius:15px; border-color:var(--lc-line); box-shadow:none; }
.lc-mobile .student-topics-block>summary { padding:15px 12px; }
.lc-mobile .student-topic>summary { padding:13px 10px; }
.lc-mobile .student-topics-block-body { padding:12px; }
.lc-mobile .student-topics-description,.lc-mobile .student-topics-files-guide { font-size:11px; line-height:1.6; }
.lc-mobile body[data-lc-tab=messages] .director-container>p { margin-bottom:15px; font-size:11px; }
.lc-mobile-message-search input,.lc-mobile-tool-search input { display:block; border:1px solid var(--lc-line); border-radius:14px; padding:13px 15px; width:100%; min-height:46px; background:#fff; color:var(--lc-ink); font:14px system-ui,sans-serif; }
.lc-mobile body[data-lc-tab=messages] .director-card { padding:0 15px; }
.lc-mobile-message-row { padding:16px 0!important; }
.lc-mobile-message-row strong { font-size:13px; line-height:1.5; }
.lc-mobile-message-row>a { display:inline-flex; min-height:38px; align-items:center; text-decoration:none; font-size:11px; font-weight:650; }
.lc-mobile-message-row:last-child { border-bottom:0!important; }
.lc-mobile-profile,.lc-mobile-tools { border-radius:26px 26px 0 0; inset:auto 0 0; width:100%; max-width:680px; max-height:90dvh; margin:0 auto; padding:22px 21px calc(24px + env(safe-area-inset-bottom)); border:1px solid var(--lc-line); background:var(--lc-bg); color:var(--lc-ink); box-shadow:0 -10px 60px #17334624; overscroll-behavior:contain; }
.lc-mobile-profile::before,.lc-mobile-tools::before { content:''; display:block; width:33px; height:4px; margin:-9px auto 17px; border-radius:5px; background:#cdd6dd; }
.lc-mobile-tools::backdrop,.lc-mobile-profile::backdrop { background:#10263870; }
.lc-mobile-profile-heading { margin-bottom:12px; }
.lc-mobile-profile-heading h2 { font-size:21px; letter-spacing:-.5px; }
.lc-mobile-account-avatar { display:grid; place-items:center; width:48px; height:48px; margin-bottom:12px; background:#e7eef3; color:var(--lc-ink); border-radius:17px; font-size:21px; font-weight:750; }
.lc-mobile-profile-link { min-height:48px; border-radius:14px; font-size:13px; margin-top:9px; }
.lc-mobile-tools>.lc-mobile-muted { margin:0 0 16px; }
.lc-mobile-tool-search { display:block; margin-bottom:18px; }
.lc-mobile-tool-results section { margin-bottom:22px; }
.lc-mobile-tool-results h3 { font-size:10px; letter-spacing:.9px; text-transform:uppercase; color:var(--lc-muted); margin:0 0 10px; }
.lc-mobile-tool-link { display:flex; align-items:center; gap:12px; padding:13px 12px; border:1px solid var(--lc-line); border-radius:15px; background:#fff; margin-top:7px; color:var(--lc-ink); text-decoration:none; }
.lc-mobile-tool-link>svg:first-child { width:34px; height:34px; padding:7px; border-radius:10px; background:#edf3f6; flex:none; }
.lc-mobile-tool-link>span { flex:1; }
.lc-mobile-tool-link strong { display:block; font-size:13px; }
.lc-mobile-tool-link small { display:block; font-size:10px; color:var(--lc-muted); margin-top:2px; }
.lc-mobile-tool-link>svg:last-child { width:16px; height:16px; flex:none; }
.lc-mobile-empty { text-align:center; padding:22px 12px; font-size:13px; color:var(--lc-muted); }
@media(prefers-reduced-motion:no-preference) {
  .lc-mobile .lc-mobile-quick-grid>a,.lc-mobile-explore-button,.lc-mobile-profile-link,.lc-mobile-tool-link,.lc-mobile .cal-cell,.lc-mobile-page-header button { transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease; }
  .lc-mobile .lc-mobile-quick-grid>a:active,.lc-mobile-explore-button:active,.lc-mobile-profile-link:active,.lc-mobile-tool-link:active,.lc-mobile-page-header button:active { transform:scale(.97); }
  .lc-mobile-profile[open],.lc-mobile-tools[open] { animation:lc-sheet-in .24s cubic-bezier(.2,.8,.2,1); }
  .lc-mobile-profile[open]::backdrop,.lc-mobile-tools[open]::backdrop { animation:lc-fade-in .2s ease; }
  .lc-mobile details[open]>div { animation:lc-fade-in .18s ease; }
}
@keyframes lc-sheet-in { from { transform:translateY(24px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes lc-fade-in { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .lc-mobile *, .lc-mobile *::before,.lc-mobile *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.lc-mobile .official-hero { background-image:none!important; }
.lc-mobile .role-navigation { border-radius:16px; border-color:var(--lc-line); box-shadow:none; }
.lc-mobile .role-navigation-toggle { min-height:52px; padding:10px 12px; }
.lc-mobile .role-navigation-hamburger { background:#edf3f6; color:var(--lc-ink); }
.lc-mobile .role-navigation-link { min-height:46px; }
.lc-mobile .official-next-saturday-card { gap:5px; }
.lc-mobile .official-next-saturday-card>strong { margin:3px 0; }
.lc-mobile .official-next-status { align-self:flex-start; margin:8px 0 2px; }
.lc-mobile-card-action { margin-top:9px; padding-top:10px; }
.lc-mobile-tools[open] { display:flex; flex-direction:column; height:min(86dvh,780px); overflow:hidden; }
.lc-mobile-tools>.lc-mobile-profile-heading,.lc-mobile-tools>.lc-mobile-muted,.lc-mobile-tools>.lc-mobile-tool-search { flex:none; }
.lc-mobile-tool-results { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 1px 10px; }
.lc-mobile-tools::before { flex:none; }
.lc-mobile-publisher .syllabus-header { display:none; }
.lc-mobile .topic-manager-intro { display:flex; flex-wrap:wrap; align-items:center; gap:7px; box-shadow:none; margin-bottom:0; }
.lc-mobile .topic-manager-intro>span { display:none; }
.lc-mobile .topic-manager-intro h2 { flex:1; margin:0; font-size:17px; }
.lc-mobile .topic-manager-intro p { flex-basis:100%; padding-top:5px; }
.lc-mobile-help-toggle { flex:none; min-height:38px; padding:7px 10px; background:#fff; color:var(--lc-ink); font:600 10px system-ui,sans-serif; border:1px solid var(--lc-line); border-radius:10px; }
.lc-mobile .topic-manager,.lc-mobile .staff-publish-body { display:grid; gap:14px; }
.lc-mobile .staff-choice-grid,.lc-mobile .staff-workspace-card { margin-bottom:0; }
.lc-mobile .staff-editor-picker,.lc-mobile .staff-editor-work,.lc-mobile .staff-review-entry,.lc-mobile .acd-card { border:1px solid var(--lc-line); border-radius:18px; padding:17px; box-shadow:none; background:#fff; }
.lc-mobile .staff-editor-layout { grid-template-columns:1fr; gap:14px; }
.lc-mobile .staff-editor-grid,.lc-mobile .staff-review-grade { grid-template-columns:1fr; }
.lc-mobile .staff-workflow-nav { display:none; }
.lc-mobile .teacher-exam-heading { margin-bottom:14px; }
.lc-mobile .teacher-exam-heading h1 { font-size:19px; margin:0 0 8px; }
.lc-mobile .teacher-exam-heading p { font-size:11px; line-height:1.6; color:var(--lc-muted); }
.lc-mobile-page-header a.lc-mobile-avatar{width:40px;height:40px;padding:9px;display:grid;place-items:center;border:1px solid var(--lc-line);border-radius:14px;background:#fff;color:var(--lc-ink)}
.lc-mobile .official-instrument-photo{display:block;order:2;position:relative;margin:0;border-radius:22px;overflow:hidden;height:175px;background:#183747}
.lc-mobile .official-instrument-photo img{display:block;width:100%;height:100%;object-fit:cover}
.lc-mobile .official-instrument-photo::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#102b3cd9)}
.lc-mobile .official-instrument-photo figcaption{position:absolute;left:18px;right:18px;bottom:15px;z-index:1;color:#fff}
.lc-mobile .official-instrument-photo figcaption>span{display:block;font-size:8px;letter-spacing:1.5px;color:#e7c77c}
.lc-mobile .official-instrument-photo figcaption>strong{display:block;font-size:18px;margin-top:3px}
.lc-mobile .official-student-visual,.lc-mobile .official-teacher-visual{order:3}
.lc-mobile .lc-mobile-quick{order:4}.lc-mobile .lc-mobile-explore{order:5}.lc-mobile .official-hero-copy{order:6}
.lc-mobile .account-shell{min-height:0;padding:10px 18px 20px;background:var(--lc-bg)}
.lc-mobile .account-container{gap:15px}.lc-mobile .account-heading{display:none}.lc-mobile .account-card,.lc-mobile .account-identity{padding:20px;border-radius:20px}
.lc-mobile .account-identity{grid-template-columns:65px 1fr;gap:14px}.lc-mobile .account-avatar{width:65px;height:65px;border-radius:22px}.lc-mobile .account-identity h2{font-size:19px}
.lc-mobile .messenger-shell{padding:0;min-height:0;background:var(--lc-bg)}.lc-mobile .messenger-web-header{display:none}
.lc-mobile .messenger-workspace{height:calc(100dvh - 140px - env(safe-area-inset-bottom));min-height:0;border:0;border-radius:0}
.lc-mobile .messenger-workspace{grid-template-columns:minmax(0,1fr)}
.lc-mobile .msg-sidebar{border-right:0}
.lc-mobile .msg-thread{display:none}
.lc-mobile .msg-thread-open .msg-sidebar{display:none}
.lc-mobile .msg-thread-open .msg-thread{display:flex}
.lc-mobile .msg-thread-back{display:grid;place-items:center;flex:none;width:28px;min-height:42px;border:0;background:transparent;color:#173346;font-size:30px;cursor:pointer}
.lc-mobile .msg-sidebar-title{padding:12px 18px}.lc-mobile .msg-sidebar-title h1{display:none}.lc-mobile .msg-eyebrow{font-size:9px}
.lc-mobile .msg-thread-header{padding:11px 14px}.lc-mobile .msg-conversation-copy strong{font-size:13px}.lc-mobile .msg-composer textarea{font-size:16px}
.lc-mobile .cal-note-editor-heading h3{font-size:15px}.lc-mobile .cal-personal-editor textarea{font-size:16px!important}.lc-mobile .cal-notes-agenda{margin-top:16px;padding-top:16px}

/* CCL · Mobile type scale shared by director, teacher and student screens. */
html.lc-mobile{
 --lc-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --lc-type-caption:12px;
 --lc-type-body:14px;
 --lc-type-label:14px;
 --lc-type-control:16px;
 --lc-type-card:18px;
 --lc-type-section:21px;
 --lc-type-page:clamp(23px,5.8vw,29px);
}
.lc-mobile body,.lc-mobile button,.lc-mobile input,.lc-mobile select,.lc-mobile textarea{font-family:var(--lc-font);}
.lc-mobile :is(.official-home,.syllabus-shell,.director-shell,.teacher-shell,.pupil-shell,.cal-shell,.messenger-shell,.account-shell,.staff-shell,.student-admin-shell,.notices-shell,.auth-shell){font-family:var(--lc-font);line-height:1.5;}
.lc-mobile :is(.lc-mobile-page-header h1,.syllabus-header h1,.cal-heading h1,.teacher-head h1,.director-intro h1,.account-heading h1){font-family:var(--lc-font);font-size:var(--lc-type-page);font-weight:750;line-height:1.2;letter-spacing:-.55px;}
.lc-mobile :is(.topic-manager-intro h2,.director-section-head h2,.official-teacher-actions h2,.staff-card h2,.student-admin-card h2,.notices-card h2){font-size:var(--lc-type-section);line-height:1.3;letter-spacing:-.35px;}
.lc-mobile :is(.manage-form label,.topic-manager-form label,.staff-form label,.staff-review-filter label,.staff-editor-picker label,.notices-form label,.student-admin-form label){font-family:var(--lc-font);font-size:var(--lc-type-label);line-height:1.45;}
.lc-mobile :is(.manage-form,.topic-manager-form,.staff-form,.notices-form,.student-admin-form,.staff-review-filter,.staff-editor-picker) :is(input,select,textarea){font-family:var(--lc-font);font-size:var(--lc-type-control);line-height:1.4;min-height:44px;}
.lc-mobile :is(.manage-form,.topic-manager-form,.staff-form,.notices-form,.student-admin-form) button{font-family:var(--lc-font);font-size:var(--lc-type-body);}
.lc-mobile :is(.lc-mobile-quick-grid>a,.lc-mobile-explore-button,.lc-mobile-nav .lc-mobile-tab){font-family:var(--lc-font);}
.lc-mobile .lc-mobile-quick-grid>a{font-size:12px;line-height:1.3;}
.lc-mobile .lc-mobile-nav .lc-mobile-tab{font-size:12px;line-height:1.2;}
.lc-mobile :is(.official-welcome p:not(.official-kicker),.topic-manager-intro p,.syllabus-header p,.staff-editor-picker p,.teacher-head p){font-size:var(--lc-type-body);line-height:1.55;}
/* Verse on the instrument photograph, above the subject name. No duplicate card below. */
.lc-mobile .official-instrument-photo:has(.official-photo-verse){height:auto;min-height:255px;aspect-ratio:1.6;isolation:isolate;}
.lc-mobile .official-instrument-photo:has(.official-photo-verse) img{position:absolute;inset:0;width:100%;height:100%;}
.lc-mobile .official-instrument-photo:has(.official-photo-verse)::after{inset:0;background:linear-gradient(180deg,rgba(5,19,32,.77) 0%,rgba(5,19,32,.28) 60%,rgba(5,19,32,.89) 100%);}
.lc-mobile .official-instrument-photo:has(.official-photo-verse) figcaption{inset:0;padding:19px 18px 15px;display:flex;flex-direction:column;justify-content:flex-end;gap:0;pointer-events:none;}
.lc-mobile .official-photo-verse{display:block;margin:0 0 auto;max-width:100%;text-wrap:pretty;}
.lc-mobile .official-photo-verse-kicker{display:block;font-size:11px!important;letter-spacing:1.2px;color:#ffe197!important;font-weight:800;}
.lc-mobile .official-photo-verse p{margin:6px 0 5px;font-family:var(--lc-font);font-size:clamp(16px,4.2vw,20px);font-weight:650;line-height:1.32;letter-spacing:-.2px;color:#fff;}
.lc-mobile .official-photo-verse small{display:block;font-size:12px;color:#f2db9e;line-height:1.4;}
.lc-mobile .official-instrument-photo:has(.official-photo-verse) figcaption>span:not(.official-photo-verse-kicker){margin-top:4px;}
.lc-mobile .official-home:has(.official-photo-verse) .official-hero-copy .official-kicker,
.lc-mobile .official-home:has(.official-photo-verse) .official-hero-copy .official-teacher-bible-title,
.lc-mobile .official-home:has(.official-photo-verse) .official-hero-copy .official-teacher-bible-reference{display:none!important;}
.lc-mobile .official-home:has(.official-photo-verse) .official-hero-copy:not(:has(.school-priority-bubble)){display:none!important;}
.lc-mobile .official-home:has(.official-photo-verse) .official-hero-copy:has(.school-priority-bubble){background:transparent;padding:0;box-shadow:none;}
/* Keep the content legible with enlarged OS text. */
@media(max-width:390px){.lc-mobile .official-instrument-photo:has(.official-photo-verse){min-height:260px;aspect-ratio:auto;}}
@media(prefers-reduced-motion:reduce){.lc-mobile .official-instrument-photo:has(.official-photo-verse){scroll-behavior:auto;}}

/* Browser chrome, iPhone safe areas and the software keyboard differ from native WebViews. */
.lc-browser-mobile body.lc-mobile-signed-in{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}
.lc-browser-mobile body.lc-mobile-signed-in:not(.lc-mobile-home){padding-top:calc(76px + env(safe-area-inset-top))!important}
.lc-browser-mobile .official-wrap{padding-top:env(safe-area-inset-top)}
.lc-browser-mobile .lc-mobile-nav{height:calc(76px + env(safe-area-inset-bottom));bottom:var(--lc-keyboard-offset,0px);padding-bottom:calc(9px + env(safe-area-inset-bottom))}
.lc-browser-mobile .lc-mobile-page-header{top:var(--lc-vv-top,0px);left:0;right:0;width:100%;max-width:none;transform:none;height:calc(72px + env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top))}
.lc-browser-mobile .messenger-workspace{position:fixed;top:calc(76px + env(safe-area-inset-top) + var(--lc-vv-top,0px));left:0;right:0;height:calc(var(--lc-vv-height,100dvh) - 152px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
/* A transformed ancestor would make the fixed chat jump during the page entrance animation. */
.lc-browser-mobile .messenger-shell{transform:none!important}
.lc-browser-mobile .msg-composer textarea,.lc-browser-mobile input,.lc-browser-mobile textarea,.lc-browser-mobile select{font-size:16px}
