/* KBIBLE V98 — mobile information architecture reset.
   Goal: core task first, secondary tools second, advanced controls on demand.
   No feature is removed; mobile only changes hierarchy and disclosure. */
:root{--kb98-touch:44px;--kb98-gap:8px;--kb98-radius:16px;--kb98-line:rgba(232,195,111,.18);--kb98-soft:rgba(232,195,111,.07)}
.kb-v98-toggle{display:none}
.kb-v98-only-mobile{display:none!important}

@media(max-width:900px){
  html{scroll-padding-top:76px}
  body.kb-has-site-header{--kb98-page-pad:8px}
  body.kb-has-site-header main{padding-left:var(--kb98-page-pad)!important;padding-right:var(--kb98-page-pad)!important}
  body.kb-has-site-header :where(button,a[role="button"],summary,input,select){min-height:var(--kb98-touch)}
  body.kb-has-site-header :where(input,select,textarea){font-size:16px!important}

  /* Remove the visual noise created by legacy global mobile forcing. */
  body.kb-v98-mobile :where(.sp-hero-badges,.ls-hero-badges,.vocab-hero__badges,.prayer-flow,.memory-flow,.qt-flow-guide,.video-help-strip){margin-top:8px!important}
  body.kb-v98-mobile :where(.sp-hero,.ls-hero,.qt-hero,.course-hero,.memory-hero,.prayer-hero,.vocab-hero,.ccm-hero,.video-hero,.toon-hero,.fav-hero,.mp-hero,.voice-archive-hero){padding:13px!important;min-height:0!important;border-radius:18px!important}
  body.kb-v98-mobile :where(.sp-hero,.ls-hero,.qt-hero,.course-hero,.memory-hero,.prayer-hero,.vocab-hero,.ccm-hero,.video-hero,.toon-hero,.fav-hero,.mp-hero,.voice-archive-hero) h1{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.13!important;margin-block:.3rem .45rem!important}
  body.kb-v98-mobile :where(.sp-hero,.ls-hero,.qt-hero,.course-hero,.memory-hero,.prayer-hero,.vocab-hero,.ccm-hero,.video-hero,.toon-hero,.fav-hero,.mp-hero,.voice-archive-hero) p{font-size:.84rem!important;line-height:1.5!important;margin-block:.35rem!important}
  body.kb-v98-mobile :where(.sp-eyebrow,.ls-eyebrow,.vocab-eyebrow,.prayer-kicker,.course-eyebrow,.fav-kicker){font-size:.64rem!important;letter-spacing:.08em!important}
  body.kb-v98-mobile :where(.sp-hero-badges,.ls-hero-badges,.vocab-hero__badges){display:none!important}

  /* Shared disclosure control. */
  .kb-v98-toggle{display:flex!important;width:100%;min-height:46px;margin:8px 0;padding:0 12px;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--kb98-line);border-radius:14px;background:var(--kb98-soft);color:inherit;font:inherit;font-size:.84rem;font-weight:900;cursor:pointer;text-align:left}
  .kb-v98-toggle .kb-v98-toggle-meta{font-size:.7rem;font-weight:750;opacity:.72;white-space:nowrap}
  .kb-v98-toggle[aria-expanded="false"] .kb-v98-toggle-meta:before{content:'펼치기'}
  .kb-v98-toggle[aria-expanded="true"] .kb-v98-toggle-meta:before{content:'접기'}
  [data-kb-v98-hidden="1"]{display:none!important}
  .kb-v98-tier2{border-color:color-mix(in srgb,var(--kb98-line) 78%,transparent)!important}
  .kb-v98-tier3{opacity:.99}

  /* Stop V89/V92 from turning every small control into one tall vertical list. */
  body.kb-v98-mobile :where(
    .sp-version-tabs,.sp-record-actions,.sp-nav-buttons,.sp-chapter-listen-actions,
    .ls-player-actions,.ls-writing-actions,
    .qt-tabs,.qt-actions,.writing-actions,.qt-listen-actions,
    .course-quick-nav,.plan-inline-actions,
    .memory-primary-tabs,.practice-modes,.target-version,.voice-control-row,
    .prayer-jumpbar,.prayer-view-tabs,.prayer-compose-actions,.prayer-focus-actions,
    .vocab-jump,.vocab-review-actions,.vocab-review-rating,
    .fav-actions,.ccm-main-controls,.ccm-focus-controls,.ccm-hero__actions,.video-now__actions,.voice-filter
  ){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--kb98-gap)!important;overflow:visible!important}
  body.kb-v98-mobile :where(
    .sp-version-tabs,.sp-record-actions,.sp-nav-buttons,.sp-chapter-listen-actions,
    .ls-player-actions,.ls-writing-actions,.qt-tabs,.qt-actions,.writing-actions,.qt-listen-actions,
    .course-quick-nav,.plan-inline-actions,.memory-primary-tabs,.practice-modes,.target-version,.voice-control-row,
    .prayer-jumpbar,.prayer-view-tabs,.prayer-compose-actions,.prayer-focus-actions,
    .vocab-jump,.vocab-review-actions,.vocab-review-rating,.fav-actions,.ccm-main-controls,.ccm-focus-controls,.ccm-hero__actions,.video-now__actions,.voice-filter
  )>*{width:100%!important;min-width:0!important;white-space:normal!important}

  /* Filter chips should be compact, not huge cards. */
  body.kb-v98-mobile :where(.vocab-filter-row,.prayer-category-filter,.ccm-filter-row,.video-filter-row,.library-filters){display:flex!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important}
  body.kb-v98-mobile :where(.vocab-filter-row,.prayer-category-filter,.ccm-filter-row,.video-filter-row,.library-filters)>*{width:auto!important;min-width:0!important;min-height:38px!important;flex:0 1 auto!important;padding-inline:10px!important;white-space:nowrap!important}

  /* ===== Bible: reading first; reader/listen styling moved behind compact toggles ===== */
  .kb-bible-v5 .kb-top-reader-zone{padding-inline:8px!important}
  .kb-bible-v5 .reader-toolbar{padding:8px!important;border-radius:14px!important}
  .kb-bible-v5 .reader-toolbar-main{margin-bottom:6px!important}
  .kb-bible-v5 .reader-toolbar-controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important}
  .kb-bible-v5 .reader-toolbar-controls>*{width:100%!important;min-width:0!important;white-space:normal!important}
  .kb-bible-v5 .kb-top-listen-zone{padding-inline:8px!important}
  .kb-bible-v5 .listen-deck{padding:11px!important;border-radius:16px!important}
  .kb-bible-v5 .listen-deck-title small{display:none!important}
  .kb-bible-v5 .listen-actions-main{display:grid!important;grid-template-columns:2fr 1fr!important;gap:7px!important}
  .kb-bible-v5 .page-intro{margin-block:8px!important}
  .kb-bible-v5 .reader-masthead{padding:12px!important;border-radius:16px!important}
  .kb-bible-v5 .reader-mast-copy p{display:none!important}
  .kb-bible-v5 .reader-mast-links{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .kb-bible-v5 .reader-mast-links a{min-height:38px!important;padding:6px!important;font-size:.72rem!important;text-align:center!important;white-space:normal!important}
  .kb-bible-v5 .bible-shell{gap:8px!important}
  .kb-bible-v5 .bible-jump-rail{border-radius:16px!important}
  .kb-bible-v5 .verse-actions{gap:5px!important}
  .kb-bible-v5 .verse-actions>*{min-height:38px!important;padding:6px 8px!important;font-size:.73rem!important}
  .kb-bible-v5 .ai-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .kb-bible-v5 .ai-tabs button{min-height:40px!important;font-size:.74rem!important}
  .kb-bible-v5 .speak-modal-card{padding:12px!important;max-height:calc(100dvh - 12px)!important}
  .kb-bible-v5 .bible-speak-flow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .kb-bible-v5 .speak-modal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kb-bible-v5 #speakStart{grid-column:1/-1!important;min-height:50px!important}

  /* ===== Speaking: select -> mode -> studio. Settings/history are disclosure. ===== */
  .kb-speaking-studio .sp-shell{gap:9px!important}
  .kb-speaking-studio .sp-card{padding:12px!important;border-radius:17px!important}
  .kb-speaking-studio .sp-section-head{margin-bottom:9px!important}
  .kb-speaking-studio .sp-section-note{display:none!important}
  .kb-speaking-studio .sp-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kb-speaking-studio #loadChapterBtn{grid-column:1/-1!important}
  .kb-speaking-studio .sp-training-modes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .kb-speaking-studio .sp-training-modes>button{min-height:58px!important;padding:7px!important}
  .kb-speaking-studio .sp-training-modes>button b{font-size:1rem!important}
  .kb-speaking-studio .sp-training-modes>button strong{font-size:.73rem!important}
  .kb-speaking-studio .sp-training-modes>button span{display:none!important}
  .kb-speaking-studio .sp-target-panel,.kb-speaking-studio .sp-recorder-panel{padding:10px!important;border-radius:15px!important}
  .kb-speaking-studio .sp-mic-permission{padding:9px!important;margin-bottom:8px!important}
  .kb-speaking-studio .sp-mic-permission-copy span{font-size:.74rem!important;line-height:1.35!important}
  .kb-speaking-studio .sp-wave{height:72px!important}
  .kb-speaking-studio .sp-level-row{display:none!important}
  .kb-speaking-studio .sp-live-transcript{min-height:64px!important;padding:9px!important}
  .kb-speaking-studio .sp-privacy-note{font-size:.68rem!important;line-height:1.4!important}
  .kb-speaking-studio .sp-result-overview{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important}
  .kb-speaking-studio .sp-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .kb-speaking-studio .sp-result-grid{grid-template-columns:1fr!important;gap:8px!important}

  /* ===== Listening: source + player are primary; settings/practice are disclosure. ===== */
  .kb-listening-studio .ls-shell{gap:9px!important}
  .kb-listening-studio .ls-card{padding:12px!important;border-radius:17px!important}
  .kb-listening-studio .ls-section-note{display:none!important}
  .kb-listening-studio .ls-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kb-listening-studio #loadChapterBtn{grid-column:1/-1!important}
  .kb-listening-studio .ls-player-top{display:grid!important;gap:8px!important}
  .kb-listening-studio .ls-main-play{grid-column:1/-1!important;min-height:50px!important}
  .kb-listening-studio .ls-script{max-height:none!important}

  /* ===== QT: verse + editor first. ===== */
  .qt-studio .qt-layout{gap:9px!important}
  .qt-studio .qt-card{padding:12px!important;border-radius:17px!important}
  .qt-studio .qt-card-head p{display:none!important}
  .qt-studio .qt-writing-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .qt-studio .qt-editor-actions{display:grid!important;grid-template-columns:2fr 1fr!important;gap:7px!important}

  /* ===== Plan ===== */
  .page-plan-workspace .plan-shell{gap:9px!important}
  .page-plan-workspace .course-quick-nav{position:static!important;margin-block:7px!important}
  .page-plan-workspace .course-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .page-plan-workspace .course-stat-grid article{padding:8px 5px!important;border-radius:12px!important;text-align:center!important}
  .page-plan-workspace .course-stat-grid small{display:none!important}
  .page-plan-workspace .course-panel,.page-plan-workspace .course-today-section{padding:12px!important;border-radius:17px!important}
  .page-plan-workspace .course-panel__head p{display:none!important}

  /* ===== Memory ===== */
  .kb-memory-studio .memory-primary-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .kb-memory-studio .memory-primary-tabs button{min-height:40px!important;font-size:.72rem!important;padding:5px!important}
  .kb-memory-studio .memory-primary-tabs button:last-child{grid-column:2/4!important}
  .kb-memory-studio .memory-today-layout{grid-template-columns:1fr!important;gap:8px!important}
  .kb-memory-studio .today-queue-card{order:2!important;max-height:220px!important;overflow:auto!important}
  .kb-memory-studio .practice-card{order:1!important;padding:11px!important}
  .kb-memory-studio .practice-modes{grid-template-columns:repeat(3,minmax(0,1fr))!important}

  /* ===== Prayer ===== */
  .kb-prayer-studio .prayer-hero__stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .kb-prayer-studio .prayer-hero__stats article{padding:7px 4px!important;border-radius:12px!important;text-align:center!important}
  .kb-prayer-studio .prayer-hero__stats small{display:none!important}
  .kb-prayer-studio .prayer-flow{display:none!important}
  .kb-prayer-studio .prayer-jumpbar{position:static!important;margin:7px 0!important}
  .kb-prayer-studio .prayer-compose,.kb-prayer-studio .prayer-journal{padding:12px!important;border-radius:17px!important}
  .kb-prayer-studio .prayer-compose-grid{grid-template-columns:1fr!important;gap:8px!important}
  .kb-prayer-studio .prayer-compose-side{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kb-prayer-studio .prayer-answer-fields{grid-column:1/-1!important}
  .kb-prayer-studio .prayer-section-head p{display:none!important}
  .kb-prayer-studio .prayer-segments{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}

  /* ===== Vocabulary ===== */
  .page-vocab .vocab-hero__visual{display:none!important}
  .page-vocab .vocab-jump{position:static!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding:5px!important}
  .page-vocab .vocab-jump a{min-height:38px!important;padding:4px!important;font-size:.68rem!important;white-space:normal!important}
  .page-vocab .vocab-panel{padding:12px!important;border-radius:17px!important}
  .page-vocab .vocab-panel__head p{display:none!important}
  .page-vocab .vocab-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .page-vocab .vocab-metrics article{padding:7px 4px!important}
  .page-vocab .vocab-metrics small{display:none!important}
  .page-vocab .vocab-form-actions{grid-template-columns:2fr 1fr!important}

  /* ===== Media ===== */
  .page-ccm .ccm-workspace,.page-video .video-workspace{gap:9px!important}
  .page-ccm .ccm-player-panel,.page-video .video-viewer-card{border-radius:17px!important}
  .page-ccm .ccm-filter-row,.page-video .video-filter-row{display:flex!important;flex-wrap:wrap!important}
  .page-ccm .ccm-filter-row>*,.page-video .video-filter-row>*{width:auto!important;min-height:38px!important}

  /* ===== Home: services become compact launch cards instead of a long vertical brochure. ===== */
  .kb-home-page .hero{padding:15px 10px!important;min-height:0!important}
  .kb-home-page .hero-desc{font-size:.84rem!important;line-height:1.5!important}
  .kb-home-page .hero-membership-card{padding:11px!important;border-radius:16px!important}
  .kb-home-page .hero-membership-desc,.kb-home-page #heroMembershipDesc{display:none!important}
  .kb-home-page .services-wrap{padding-inline:8px!important}
  .kb-home-page .svc-chapter{margin-bottom:18px!important}
  .kb-home-page .svc-chapter-header{margin-bottom:8px!important}
  .kb-home-page .svc-chapter-sub{display:none!important}
  .kb-home-page .svc-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kb-home-page .svc-card{min-height:108px!important;padding:10px!important;border-radius:16px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-areas:'icon title' 'icon arrow'!important;align-content:center!important;column-gap:8px!important}
  .kb-home-page .svc-icon{grid-area:icon!important;margin:0!important;font-size:1.5rem!important}
  .kb-home-page .svc-title{grid-area:title!important;margin:0!important;font-size:.9rem!important}
  .kb-home-page .svc-arrow{grid-area:arrow!important;margin:3px 0 0!important;font-size:.67rem!important;opacity:.82!important;transform:none!important}
  .kb-home-page .svc-desc,.kb-home-page .svc-badge{display:none!important}
  .kb-home-page .home-media-wrap{gap:8px!important}
  .kb-home-page .home-media-section{padding:10px!important;border-radius:17px!important}

  /* ===== Christian toon: visual browsing is compact; full text stays available in the opened work. ===== */
  .toon-page .toon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .toon-page .toon-card{border-radius:16px!important}
  .toon-page .toon-card-copy{padding:9px!important}
  .toon-page .toon-card h3{font-size:.88rem!important;margin:6px 0 3px!important}
  .toon-page .toon-theme,.toon-page .toon-desc,.toon-page .toon-date{display:none!important}
  .toon-page .toon-ref{font-size:.68rem!important;margin-top:5px!important}
  .toon-page .toon-filter{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:12px 0 8px!important}

  /* ===== Favorites / My page / Voice archive ===== */
  .kb-favorite-verses .fav-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .kb-favorite-verses .fav-card{padding:11px!important;border-radius:17px!important}
  .kb-favorite-verses .fav-versions{gap:7px!important}
  .page-mypage .mp-today-grid{grid-template-columns:1fr!important;gap:7px!important}
  .page-mypage .mp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .page-mypage .mp-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .page-mypage .mp-shortcut{min-height:74px!important;padding:9px!important}
  .page-mypage .mp-shortcut>span:last-child{display:none!important}
  .voice-archive .voice-filter{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .voice-archive .voice-card{padding:11px!important;border-radius:16px!important}
  .voice-archive .voice-card-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}

  /* Forms and legal/auth pages: fewer visual layers. */
  body.kb-v98-mobile :where(.auth-card,.register-card,.free-hero,.free-card,.legal-shell){border-radius:16px!important}
}

@media(max-width:430px){
  body.kb-v98-mobile{--kb98-page-pad:6px}
  .kb-bible-v5 .reader-mast-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kb-speaking-studio .sp-training-modes{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-vocab .vocab-jump{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kb-prayer-studio .prayer-segments{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-plan-workspace .course-stat-grid,.kb-prayer-studio .prayer-hero__stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

@media(max-width:350px){
  .kb-speaking-studio .sp-training-modes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kb-memory-studio .memory-primary-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kb-memory-studio .memory-primary-tabs button:last-child{grid-column:1/-1!important}
  .voice-archive .voice-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
