/* UI labels only. Educational choice cards and reading text keep their existing face. */
@font-face {
  font-family: 'Ttobak Rounded UI';
  src: url('assets/Jua-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.ttobak-home .home-actions > button,
.tt-learning-app .learning-home-link,
.tt-learning-app .learning-tools button,
.tt-learning-app .mobile-stage-picker,
.tt-learning-app .mobile-stage-picker select,
.tt-learning-app button:is(
  [data-ui='softBtn'], [data-ui='primaryBtn'], [data-ui='coralBtn'],
  [data-ui='learner.selectStyle'], [data-ui='p.style'], [data-ui='rb.style'],
  [data-ui='st.style'], [data-ui='breadcrumbStyle'], [data-ui='sidebarRecordButtonStyle'],
  [data-ui='navBtnStyle'], [data-ui='navBtnAccentStyle'],
  [data-ui='smallActionBtnStyle'], [data-ui='smallActionMutedStyle'],
  [data-ui='m.style'], [data-ui='l.style'], [data-ui='a.style'],
  [data-ui$='ListenBtnStyle']
),
.tt-learning-app .ttb-stage1-random,
.tt-learning-app .tt-ring-motion-toggle,
.teacher-materials :is(h2, h3, button, a),
.adventure-actions button,
.adventure-guest button,
.adventure-mission-copy strong,
.import-recovery button {
  font-family: 'Ttobak Rounded UI', 'Ttobak Learning', 'Ttobak Home', sans-serif !important;
  font-weight: 400 !important;
  font-synthesis: none;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* The five teacher menu labels use the existing regular Gothic face. */
.tt-learning-app .learning-tools .learning-menu-button {
  font-family: 'Ttobak Learning', 'Noto Sans CJK KR', 'Malgun Gothic', sans-serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.5;
  letter-spacing: 0;
  font-synthesis: none;
  white-space: nowrap;
}

/* Ensure action labels still have a comfortable touch area after a font swap. */
.tt-learning-app .learning-home-link,
.tt-learning-app button:is([data-ui='breadcrumbStyle'], [data-ui='m.style'], [data-ui='l.style']) {
  min-height: 44px !important;
}

/* The requested learning breadcrumb uses a clear, regular Gothic face.
   Reading stimuli, cute titles and weekly adventure keep their existing fonts. */
body[data-ttobak-screen^='stage-'] .tt-learning-app button[data-ui='breadcrumbStyle'] {
  font-family: 'Ttobak Learning', 'Noto Sans CJK KR', 'Malgun Gothic', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0;
}

/* A small, static face on secondary screens. The original home pointer stays intact.
   The self-contained SVG retains the supplied PNG bytes and renders at 36px.
   The 18,22 hotspot lies on the opaque green nose, at the actual click point. */
.ttobak-light-cursor[data-cursor-context='learning'] { display: none !important; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  body[data-ttobak-screen]:not([data-ttobak-screen='home']),
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) * {
    cursor: url('./assets/ddori-face-cursor.svg') 18 22, auto !important;
  }
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) :where(button, [role='button'], a[href]) {
    cursor: url('./assets/ddori-face-cursor.svg') 18 22, pointer !important;
  }
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) :where(
    form, form *, input, textarea, select, option, [contenteditable], [contenteditable] *,
    [data-native-cursor], [data-native-cursor] *, [data-ui$='GlyphStyle'],
    [data-ui='feedbackStyle'], [data-ui$='GuideBubbleStyle'], [data-ui$='HintStyle'],
    [data-ui='s1SoundRowStyle'], [data-ui='wordBigTextStyle'],
    [data-ui='sentenceBigTextStyle'], [data-ui='reviewBigValueStyle'],
    .ttb-related-product-description, .materials-album-description
  ),
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) :where(
    form, [contenteditable], [data-native-cursor], [data-ui$='GlyphStyle'],
    [data-ui='feedbackStyle'], [data-ui$='GuideBubbleStyle'], [data-ui$='HintStyle'],
    [data-ui='s1SoundRowStyle'], [data-ui='wordBigTextStyle'],
    [data-ui='sentenceBigTextStyle'], [data-ui='reviewBigValueStyle'],
    .ttb-related-product-description, .materials-album-description
  ) * { cursor: auto !important; }
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) :where(
    input:not([type='button']):not([type='submit']):not([type='reset']):not([type='checkbox']):not([type='radio']),
    textarea, [contenteditable='true'], [contenteditable='true'] *
  ) { cursor: text !important; }
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) :where(:disabled, [aria-disabled='true']),
  body[data-ttobak-screen]:not([data-ttobak-screen='home']) :where(:disabled, [aria-disabled='true']) * {
    cursor: not-allowed !important;
  }
}
