/*
 * app-shell.css — 아하스쿨 셸 보정 + 자산 로드 센티넬
 * base.css(받은 자산)를 건드리지 않고 위에 얹는 얇은 레이어. 정본 스타일은 base.css.
 */

/* [센티넬] 이 변수가 '1'로 읽히면 CSS가 정상 로드된 것 = 웹루트 계약이 지켜진 것.
   index.html 의 자가진단 배너가 이 값을 검사한다(STACK-기술표준 §6.1). */
:root {
  --ahaschool-assets-ok: 1;
  --ahaschool-brand: #0075de;
}

/* 자산 로드 실패 배너 — 정상 상태에서는 hidden 이라 절대 보이지 않는다 */
.asset-guard {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 99999;
  background: #b42318;
  color: #fff;
  padding: 14px 18px;
  font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}
.asset-guard code {
  background: rgba(255, 255, 255, .18);
  padding: 1px 6px;
  border-radius: 4px;
  color: #fff;
}
.asset-guard-fix {
  margin-top: 6px;
  font-size: 13px;
  opacity: .92;
}

/* 전자칠판(대형 터치 디스플레이) 대응 — PRD FR-012 / NFR-008.
   1600px 이상에서 본문·터치 타깃을 키운다(뒷줄 가독성). */
@media (min-width: 1600px) {
  body { font-size: 17px; }
  .lms-content { padding: 2rem 2.5rem; }
  .lms-stat-value { font-size: 2.25rem; }
}

/* 안드로이드 APK(Capacitor) 상태바 침범 방지 */
@supports (padding-top: env(safe-area-inset-top)) {
  .lms-topbar { padding-top: env(safe-area-inset-top, 0px); }
}
