/* ============================================================
   BIBLE ORIGINAL STYLE
   Extracted from the original Bible index.
   Keep this file separate from gongboo-ui.css.
   ============================================================ */

/* ===== 공통 리셋 ===== */
 [data-context-place-name],
[data-context-tab],
[data-context-event-reference],
[data-related-person-id] {
  cursor: pointer;
} 
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box
  }
  body {
    font-family: 'Segoe UI', 'Malgun Gothic', sans-serif;
    background: #f0f2f5
  }
  .quiz-container {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    min-height: 100vh;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.05)
  }

  /* ===== 헤더 ===== */
  .quiz-header {
    background: linear-gradient(135deg, #0a1628, #1a2a4a, #0d1b3e);
    color: #fff;
    padding: 18px 20px 14px;
    text-align: center;
    position: relative;
    overflow: hidden;
    border-bottom: 3px solid #f5a623
  }
  .quiz-header::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(ellipse at 30% 50%, rgba(245, 166, 35, 0.05) 0%, transparent 70%);
    pointer-events: none
  }
  .sat-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1
  }
  .sat-icon {
    font-size: 1.6rem
  }
  .sat-title {
    font-size: 1.8rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    background: linear-gradient(90deg, #fff, #f5a623);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
  }
  .sat-badge {
    background: rgba(245, 166, 35, 0.2);
    border: 1px solid rgba(245, 166, 35, 0.4);
    color: #f5a623;
    font-size: .6rem;
    font-weight: 700;
    padding: 2px 12px;
    border-radius: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    -webkit-text-fill-color: #f5a623
  }
  .sat-sub {
    font-size: .7rem;
    opacity: .5;
    letter-spacing: 4px;
    margin-top: 4px;
    font-weight: 300;
    position: relative;
    z-index: 1
  }
  .language-switcher {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    z-index: 2;
    font-size: .75rem;
  }
  .language-switcher label { opacity: .75; }
  .language-switcher select {
    padding: 7px 28px 7px 12px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 18px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
  }
  .language-switcher select option { color: #111; background: #fff; }

  /* ===== 설정 영역 ===== */
  .setup-area {
    padding: 40px 30px;
    margin: 20px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    background: #fff
  }
  .cards-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 680px;
    margin: 0 auto
  }
  .card {
    border-radius: 18px;
    padding: 28px 22px;
    transition: all .3s ease;
    display: flex;
    flex-direction: column;
    align-items: center
  }
  .card[hidden]{display:none!important}
  .card-new {
    background: #fff;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08)
  }
  .card-new:hover {
    border-color: #f5a623;
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px)
  }
  .card-resume {
    background: #fff;
    border: 2px solid #ffd700;
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.15);
    cursor: pointer;
    justify-content: center;
    min-height: 220px
  }
  .card-resume:hover {
    border-color: #f5a623;
    box-shadow: 0 6px 30px rgba(255, 215, 0, 0.25);
    transform: translateY(-2px)
  }
  .card-icon {
    font-size: 2.4rem
  }
  .card-title {
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: .5px;
    margin-top: 4px
  }
  .card-title-new {
    color: #2c3e50
  }
  .card-title-resume {
    color: #f5a623
  }
  .card-sub {
    font-size: .95rem;
    color: #666;
    margin-top: 2px;
    font-weight: 400
  }
  .card-sub-resume {
    color: #888
  }
  .input-wrapper {
    width: 100%;
    margin-top: 12px
  }
  .input-wrapper input {
    width: 100%;
    padding: 14px 16px;
    font-size: 18px;
    font-weight: 600;
    border: 2px solid #ddd;
    border-radius: 12px;
    text-align: center;
    background: #f8f9fa;
    outline: none;
    transition: all .3s;
    color: #1a1a2e
  }
  .input-wrapper input:focus {
    border-color: #f5a623;
    box-shadow: 0 0 20px rgba(245, 166, 35, 0.15);
    background: #fff
  }
  .input-wrapper input::placeholder {
    color: #aaa;
    font-weight: 400
  }
  .input-wrapper select {
    width: 100%;
    padding: 14px 16px;
    font-size: 16px;
    font-weight: 600;
    border: 2px solid #ddd;
    border-radius: 12px;
    text-align: center;
    background: #f8f9fa;
    outline: none;
    transition: all .3s;
    color: #1a1a2e;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center
  }
  .input-wrapper select:focus {
    border-color: #f5a623;
    box-shadow: 0 0 20px rgba(245, 166, 35, 0.15);
    background: #fff
  }
  .btn-start {
    width: 100%;
    padding: 15px;
    margin-top: 12px;
    font-size: 18px;
    font-weight: 700;
    background: #f5a623;
    color: #fff;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all .3s;
    letter-spacing: .5px;
    box-shadow: 0 2px 10px rgba(245, 166, 35, 0.25)
  }
  .btn-start:hover {
    background: #e0941a;
    transform: scale(1.02);
    box-shadow: 0 4px 20px rgba(245, 166, 35, 0.35)
  }
  #savedBadgeContainer {
    width: 100%;
    margin-top: 10px
  }
  .resume-quick{align-self:stretch;width:100%;margin:0 0 14px;text-align:left}
  .resume-quick .resume-badge{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:9px 12px;border:1px solid #f5c451;border-radius:10px;background:#fff8df;text-align:left;cursor:pointer}
  .resume-quick .resume-badge .count{font-size:.9rem}
  .resume-quick .resume-badge .time{font-size:.72rem}
  .resume-quick .resume-badge .hint{margin:0 0 0 auto;white-space:nowrap}
  .resume-badge {
    background: #fef9e7;
    border-radius: 12px;
    padding: 16px 14px;
    border: 2px solid #ffd700;
    cursor: pointer;
    transition: all .3s;
    width: 100%;
    text-align: center
  }
  .resume-badge:hover {
    background: #fef3d0;
    border-color: #f5a623;
    transform: scale(1.01)
  }
  .resume-badge .count {
    font-weight: 700;
    color: #2c3e50;
    font-size: 1.1rem
  }
  .resume-badge .time {
    font-size: .8rem;
    color: #888;
    margin-top: 2px
  }
  .resume-badge .hint {
    font-size: .75rem;
    color: #f5a623;
    margin-top: 6px;
    font-weight: 500
  }
  .no-session {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 16px 12px;
    border: 2px dashed #ddd;
    width: 100%;
    text-align: center;
    font-size: .85rem;
    color: #aaa
  }
  .no-session small {
    display: block;
    font-size: .7rem;
    color: #ccc;
    margin-top: 2px
  }
  .card-hint {
    font-size: .75rem;
    color: #aaa;
    margin-top: 8px;
    font-weight: 400
  }
  .bottom-hint {
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.6);
    font-size: .85rem;
    letter-spacing: .3px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 16px;
    font-weight: 400
  }

  /* ===== 퀴즈 본문 ===== */
  .quiz-main {
    padding: 10px 20px 20px;
    display: none
  }
  .progress-area {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 8px 10px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    display: none
  }
  .progress-count {
    background: #fff;
    padding: 5px 12px;
    border-radius: 30px;
    font-weight: 700;
    border: 1px solid #3498db
  }
  .progress-bar-container {
    width: 100%;
    background: #ddd;
    border-radius: 10px;
    height: 7px;
    margin-top: 5px
  }
  .progress-bar {
    width: 0%;
    background: #27ae60;
    border-radius: 10px;
    height: 7px;
    transition: width .3s
  }
  .account-identity {
    width: 100%;
    margin-top: 3px;
    text-align: right;
    color: #2c3e50;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
  }
  #setSelector option {
    text-align: left;
  }
  .review-banner {
    background: #e67e22;
    color: #fff;
    padding: 12px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    font-weight: 700;
    display: none
  }
  .exit-review-btn {
    background: #fff;
    color: #e67e22;
    border: none;
    padding: 6px 16px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 700
  }
  .question-card {
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 12px;
    padding: 22px;
    margin-bottom: 20px
  }
  .q-num {
    display: inline-block;
    background: #2c3e50;
    color: #fff;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 15px
  }
  .question-text {
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 15px 0 25px;
    font-weight: 600
  }
  .choices {
    display: flex;
    flex-direction: column;
    gap: 12px
  }
  .choice {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 12px;
    cursor: pointer;
    transition: all .2s
  }
  .choice:hover:not(.disabled) {
    background: #f0f7ff;
    border-color: #3498db;
    transform: translateX(5px)
  }
  .choice-letter {
    width: 32px;
    height: 32px;
    background: #3498db;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-right: 15px;
    flex-shrink: 0
  }
  .choice.correct {
    background: #e9f7ef;
    border-color: #27ae60
  }
  .choice.correct .choice-letter {
    background: #27ae60
  }
  .choice.incorrect {
    background: #fde8e8;
    border-color: #e74c3c
  }
  .choice.incorrect .choice-letter {
    background: #e74c3c
  }
  .choice.disabled {
    cursor: default
  }
  .explanation {
    margin-top: 20px;
    padding: 18px;
    background: #e8f4fc;
    border-radius: 12px;
    border-left: 5px solid #3498db;
    display: none
  }
  .explanation.show {
    display: block
  }
  .nav-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px
  }
  .nav-btn {
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all .2s;
    flex: 1;
    min-width: 80px
  }
  .nav-btn:disabled {
    opacity: .4;
    cursor: not-allowed
  }
  .btn-prev {
    background: #3498db;
    color: #fff
  }
  .btn-prev:hover:not(:disabled) {
    background: #2980b9;
    transform: scale(1.02)
  }
  .btn-next {
    background: #2ecc71;
    color: #fff
  }
  .btn-next:hover:not(:disabled) {
    background: #27ae60;
    transform: scale(1.02)
  }
  .btn-skip {
    background: #f39c12;
    color: #fff
  }
  .btn-skip:hover:not(:disabled) {
    background: #e67e22;
    transform: scale(1.02)
  }
  .btn-submit {
    background: #27ae60;
    color: #fff
  }
  .btn-submit:hover:not(:disabled) {
    background: #1e8449;
    transform: scale(1.02)
  }
  .btn-quit {
    background: #e74c3c;
    color: #fff
  }
  .btn-quit:hover {
    background: #c0392b;
    transform: scale(1.02)
  }
  .btn-warning {
    background: #e67e22;
    color: #fff
  }
  .btn-warning:hover {
    background: #d35400;
    transform: scale(1.02)
  }

  /* ===== 주관식 입력창 (버튼과 통일) ===== */
  .subjective-input-group {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    align-items: center;
    flex-wrap: wrap;
  }
  .subjective-input-group input {
    flex: 1;
    min-width: 200px;
    padding: 14px 18px;
    font-size: 16px;
    font-weight: 500;
    border: 2px solid #ddd;
    border-radius: 12px;
    background: #f8f9fa;
    outline: none;
    transition: all .3s;
    min-height: 54px;
    color: #1a1a2e;
    box-sizing: border-box;
  }
  .subjective-input-group input:focus {
    border-color: #f5a623;
    box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.15);
    background: #fff;
  }
  .subjective-input-group input::placeholder {
    color: #aaa;
    font-weight: 400;
  }
  .subjective-input-group button {
    padding: 14px 28px;
    background: #f5a623;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
    box-shadow: 0 2px 10px rgba(245, 166, 35, 0.2);
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .subjective-input-group button:hover {
    background: #e0941a;
    transform: scale(1.02);
    box-shadow: 0 4px 16px rgba(245, 166, 35, 0.3);
  }

  /* ===== 모달 ===== */
  .modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 999;
    justify-content: center;
    align-items: center;
    padding: 20px
  }
  .modal-content {
    background: #fff;
    max-width: 700px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    position: relative
  }
  .stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin: 20px 0
  }
  .stat-card {
    text-align: center;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 12px
  }
  .stat-value {
    font-size: 28px;
    font-weight: 700;
    color: #2c3e50
  }
  .result-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 6px;
    margin: 15px 0;
    max-height: 250px;
    overflow-y: auto;
    padding: 5px
  }
  .result-item {
    text-align: center;
    padding: 6px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    border: 1px solid #ddd
  }
  .result-item.correct {
    background: #d4edda;
    color: #0d4620
  }
  .result-item.incorrect {
    background: #f8d7da;
    color: #5a1414
  }
  .result-item.skipped {
    background: #fff3cd;
    color: #856404
  }
  .result-item.unanswered {
    background: #e9ceef;
    color: #6c757d
  }
  .wrong-list {
    max-height: 450px;
    overflow-y: auto
  }
  .wrong-item {
    background: #fff;
    border: 2px solid #eee;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 18px
  }
  .button-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 20px
  }
  .status-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    margin-left: 8px
  }
  .status-wrong {
    background: #e74c3c;
    color: #fff
  }
  .status-skipped {
    background: #f39c12;
    color: #fff
  }
  .status-unanswered {
    background: #6c757d;
    color: #fff
  }

  /* ===== 스플래시 ===== */
  #splashOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    transition: opacity .8s
  }
  #splashOverlay .icon {
    font-size: 4rem;
    margin-bottom: 16px
  }
  #splashOverlay .title {
    font-size: 2.4rem;
    font-weight: 800;
    letter-spacing: -1px
  }
  #splashOverlay .title span {
    color: #f5a623
  }
  #splashOverlay .subtitle {
    font-size: 1rem;
    opacity: .6;
    margin-top: 4px;
    letter-spacing: 4px;
    font-weight: 300
  }
  #splashOverlay .bar-track {
    width: 280px;
    height: 4px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    overflow: hidden;
    margin-top: 30px
  }
  #splashOverlay .bar-fill {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #f5a623, #e94560);
    border-radius: 4px;
    transition: width .5s ease
  }
  #splashOverlay .status-text {
    font-size: .85rem;
    opacity: .5;
    margin-top: 14px;
    font-weight: 300;
    letter-spacing: 1px
  }
  #splashOverlay .error-msg {
    color: #ff6b6b;
    font-size: .9rem;
    margin-top: 15px;
    display: none
  }
  #splashOverlay .retry-btn {
    margin-top: 20px;
    padding: 12px 40px;
    font-size: 16px;
    font-weight: 700;
    background: #f5a623;
    color: #fff;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    display: none;
    transition: all .3s
  }
  #splashOverlay .retry-btn:hover {
    background: #e0941a;
    transform: scale(1.03)
  }

  /* ===== 타이머 ===== */
  .timer-container {
    position: fixed;
    top: 20px;
    right: 20px;
    background: rgba(26, 26, 46, 0.95);
    color: #fff;
    padding: 12px 20px;
    border-radius: 12px;
    z-index: 1000;
    font-family: 'Segoe UI', 'Malgun Gothic', sans-serif;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    min-width: 140px;
    text-align: center
  }
  .timer-display {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 2px;
    font-variant-numeric: tabular-nums;
    color: #f5a623
  }
  .timer-display.warning {
    color: #e74c3c;
    animation: timerPulse 1s ease-in-out infinite
  }
  @keyframes timerPulse {
    0%,
    100% {
      opacity: 1
    }
    50% {
      opacity: .3
    }
  }
  .timer-label {
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: .5;
    margin-top: 2px
  }
  .timer-controls {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 6px
  }
  .timer-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 4px 14px;
    border-radius: 6px;
    cursor: pointer;
    font-size: .7rem;
    font-weight: 600;
    transition: all .2s;
    letter-spacing: .5px
  }
  .timer-btn:hover {
    background: rgba(245, 166, 35, 0.3);
    border-color: #f5a623
  }
  .timer-btn.reset-btn {
    color: #e74c3c
  }
  .timer-btn.reset-btn:hover {
    background: rgba(231, 76, 60, 0.3);
    border-color: #e74c3c
  }

  /* ===== 반응형 ===== */
  @media(max-width:600px) {
    .timer-container {
      top: 10px;
      right: 10px;
      padding: 8px 14px;
      min-width: 100px
    }
    .timer-display {
      font-size: 1.3rem
    }
    .timer-btn {
      padding: 3px 10px;
      font-size: .6rem
    }
    .sat-title {
      font-size: 1.3rem
    }
    .sat-icon {
      font-size: 1.2rem
    }
    .sat-badge {
      font-size: .5rem;
      padding: 1px 8px
    }
    .sat-sub {
      font-size: .6rem;
      letter-spacing: 2px
    }
    .cards-container {
      grid-template-columns: 1fr;
      gap: 14px
    }
    .card-resume {
      min-height: auto
    }
    .nav-btn {
      padding: 12px;
      font-size: .9rem
    }
    .choice {
      padding: 12px
    }
    .result-grid {
      grid-template-columns: repeat(5, 1fr)
    }
    #splashOverlay .title {
      font-size: 1.8rem
    }
    #splashOverlay .icon {
      font-size: 3rem
    }
    #splashOverlay .bar-track {
      width: 200px
    }
    .setup-area {
      padding: 25px 16px
    }
    .input-wrapper input {
      font-size: 16px;
      padding: 12px
    }
    .btn-start {
      font-size: 16px;
      padding: 13px
    }
    .card-title {
      font-size: 1.1rem
    }
    .card-sub {
      font-size: .85rem
    }
    .bottom-hint {
      font-size: .75rem
    }
    /* 주관식 입력창 반응형 */
    .subjective-input-group {
      flex-direction: column;
      align-items: stretch;
    }
    .subjective-input-group button {
      width: 100%;
    }
  }

/* ===== 복사 방지: 일반 회원만 적용 / admin은 복사 허용 ===== */
/*
html:not(.admin-user) body * {
  -webkit-user-select: none !important;
  user-select: none !important;
}
html:not(.admin-user) body ::selection {
  background: transparent !important;
}
*/

/* 관리자 계정: 텍스트 선택·복사 허용 */
html.admin-user body,
html.admin-user body * {
  -webkit-user-select: text !important;
  user-select: text !important;
}
html.admin-user body ::selection {
  background: Highlight !important;
  color: HighlightText !important;
}

html:not(.admin-user) .admin-preview-toggle,
html:not(.admin-user) .admin-preview-panel {
  display: none !important;
}
.admin-preview-toggle {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 1001;
  border: 0;
  border-radius: 999px;
  padding: 11px 16px;
  background: #2563eb;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 8px 26px rgba(15,23,42,.28);
  cursor: pointer;
}
.admin-preview-toggle:hover {
  background: #1d4ed8;
}
.admin-preview-panel {
  position: fixed;
  inset: 20px;
  z-index: 1100;
  overflow: auto;
  padding: 18px;
  background: #f8fafc;
  border: 2px solid #2563eb;
  border-radius: 14px;
  box-shadow: 0 22px 70px rgba(15,23,42,.45);
  color: #172033;
}
.admin-preview-panel[hidden] {
  display: none !important;
}
.admin-preview-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.admin-preview-head > div {
  display: grid;
  gap: 3px;
}
.admin-preview-head small {
  color: #64748b;
}
.admin-preview-head button {
  margin-left: auto;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 8px;
  background: #e2e8f0;
  font-size: 22px;
  cursor: pointer;
}
.admin-preview-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 16px;
}
.admin-preview-card {
  min-width: 0;
  padding: 16px;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}
.admin-preview-card h3 {
  margin: 0 0 10px;
}
.admin-preview-card textarea {
  width: 100%;
  min-height: 190px;
  box-sizing: border-box;
  resize: vertical;
  padding: 12px;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  background: #0f172a;
  color: #e2e8f0;
  font: 13px/1.55 Consolas, "Courier New", monospace;
  tab-size: 2;
}
.admin-preview-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0;
}
.admin-preview-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 13px;
  background: #2563eb;
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.admin-preview-actions button:last-child {
  background: #64748b;
}
.admin-preview-status {
  min-height: 20px;
  margin: 7px 0;
  color: #64748b;
  font-size: 13px;
}
.admin-preview-status.success {
  color: #15803d;
  font-weight: 700;
}
.admin-preview-status.error {
  color: #b91c1c;
  font-weight: 700;
}
.admin-preview-output {
  min-height: 220px;
  overflow: auto;
  padding: 12px;
  border: 1px dashed #94a3b8;
  border-radius: 8px;
  background: #fff;
}
.admin-preview-empty {
  display: grid;
  min-height: 180px;
  place-items: center;
  color: #94a3b8;
  text-align: center;
}
@media(max-width:850px) {
  .admin-preview-panel {
    inset: 8px;
    padding: 11px;
  }
  .admin-preview-grid {
    grid-template-columns: 1fr;
  }
  .admin-preview-toggle {
    right: 8px;
    bottom: 8px;
  }
  .admin-preview-card textarea {
    min-height: 150px;
  }
}

  /* v7.1.1 bilingual display */
  .bilingual-block{display:flex;flex-direction:column;gap:10px}
  .language-line-en{color:#172033}
  .language-line-ko{color:#27364d;padding-top:10px;margin-top:2px;border-top:1px dashed #cfd7e3;font-family:'Malgun Gothic','Noto Sans KR',sans-serif}
  .bible-mic-target{outline:3px solid #facc15;outline-offset:4px;border-radius:4px;background:#fef9c3;cursor:pointer}
  .question-text.bilingual-block{margin-top:18px}
  .question-text .language-line-en,.question-text .language-line-ko{font-size:17px;line-height:1.75;font-weight:600}
  .passage-language-card{background:#f8f9fa;padding:16px;border-radius:10px;margin:14px 0;border:1px solid #dee2e6}
  .passage-language-content .language-line-en,.passage-language-content .language-line-ko{white-space:pre-wrap;font-size:15px;line-height:1.75}
  .choice-language-content{flex:1;min-width:0}
  .choice-language-content .language-line-en{font-size:15px;line-height:1.5}
  .choice-language-content .language-line-ko{font-size:14px;line-height:1.55;color:#56657a}
  .explanation-language-content{margin-top:14px}
  .explanation-language-content .language-line-en,.explanation-language-content .language-line-ko{font-size:15px;line-height:1.7}


  /* ============================================================
     SAT v8.0B — MODES
     Stable quiz behavior remains unchanged.
     ============================================================ */
  .set-separator {
    color:#f5a623;
    -webkit-text-fill-color:#f5a623;
  }

  .learning-mode-panel {
    max-width:620px;
    margin:14px auto 0;
    position:relative;
    z-index:2;
  }

  .mode-buttons {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    padding:4px;
    border-radius:16px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
  }

  .mode-btn {
    border:1px solid transparent;
    border-radius:12px;
    padding:6px 8px;
    font-size:14px;
    font-weight:800;
    color:#fff;
    cursor:pointer;
    background:rgba(255,255,255,.08);
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
  }

  .mode-btn:hover {
    transform:translateY(-1px);
    background:rgba(255,255,255,.15);
  }

  .mode-btn.active {
    background:#fff;
    color:#172033;
    box-shadow:0 5px 18px rgba(0,0,0,.22);
  }

  .mode-description {
    padding-top:8px;
    color:rgba(255,255,255,.78);
    font-size:12px;
    line-height:1.4;
  }
  .bible-passage-controls {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin:8px auto 0;
  }
  .bible-passage-controls label {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .bible-passage-toggle,
  .bible-quiz-toggle,
  #biblePrimaryTextSelector,
  #bibleSecondaryTextSelector {
    min-height:32px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#fff;
    color:#1e293b;
    padding:5px 8px;
    font-weight:700;
  }
  #biblePrimaryTextSelector,
  #bibleSecondaryTextSelector {
    width:min(178px, 22vw);
  }
  .bible-passage-toggle,
  .bible-quiz-toggle {
    cursor:pointer;
    justify-self:center;
  }
  .bible-passage-toggle.is-on,
  .bible-quiz-toggle.is-on {
    border-color:#16a34a;
    background:#ecfdf5;
    color:#166534;
  }
  .bible-passage-toggle:disabled {
    cursor:not-allowed;
    opacity:.58;
  }
  html.bible-reading-only #modeButtons,
  html.bible-reading-only #modeDescription,
  html.bible-reading-only .sat-tutor-panel {
    display:none !important;
  }
  .bible-reading-card {
    min-height:240px;
  }
  .bible-passage-version {
    margin-bottom:10px;
  }
  .bible-passage-version:last-child {
    margin-bottom:0;
  }
  .bible-version-label {
    display:inline-block;
    margin-bottom:5px;
    border-radius:999px;
    background:#e2e8f0;
    color:#334155;
    padding:2px 8px;
    font-size:11px;
    font-weight:800;
  }
  .legacy-language-switcher {
    display:none !important;
  }
  #adminPreviewToggle,
  #superGraphicStudioLink {
    display:none !important;
  }
  .bible-passage-reference {
    display:inline-block;
    margin:0 0 5px 7px;
    color:#64748b;
    font-size:11px;
    font-weight:800;
  }
  @media (max-width:600px) {
    .bible-passage-controls {
      justify-content:center;
    }
    #biblePrimaryTextSelector,
    #bibleSecondaryTextSelector {
      width:calc(50% - 4px);
      min-width:0;
    }
  }

  .sat-tutor-panel {
    width:min(900px, calc(100% - 24px));
    margin:-2px auto 22px;
    padding:20px;
    background:#fff;
    border:1px solid #e1e6ec;
    border-top:3px solid #f5a623;
    border-radius:0 0 16px 16px;
    box-shadow:0 9px 24px rgba(0,0,0,.08);
  }

  .sat-tutor-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px;
  }

  .sat-tutor-heading h3 {
    margin:0;
    color:#1a1a2e;
    font-size:19px;
  }

  .sat-tutor-subtitle {
    margin-top:3px;
    color:#7b8796;
    font-size:12px;
  }

  .sat-tutor-badge {
    padding:7px 11px;
    border-radius:20px;
    background:#fff8eb;
    color:#b87500;
    border:1px solid #f5d28b;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
  }

  @media (max-width:640px) {
    .mode-btn {
      font-size:12px;
      padding:9px 5px;
    }
    .sat-tutor-heading {
      flex-direction:column;
    }
  }


  /* SAT v8.0B mode engine */
  html[data-study-mode="learn"] .quiz-header { border-bottom-color:#27ae60; }
  html[data-study-mode="study"] .quiz-header { border-bottom-color:#3498db; }
  html[data-study-mode="exam"] .quiz-header { border-bottom-color:#e74c3c; }

  .choice.selected {
    border-color:#3498db !important;
    background:#eaf4fd !important;
    box-shadow:0 0 0 2px rgba(52,152,219,.12);
  }

  .learn-panel {
    margin-top:18px;
    padding:17px;
    border-radius:13px;
    background:#eefaf3;
    border:1px solid #bfe8cf;
    text-align:center;
  }

  .learn-reveal-btn {
    padding:13px 22px;
    border:0;
    border-radius:10px;
    background:#27ae60;
    color:#fff;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 5px 16px rgba(39,174,96,.22);
  }

  .learn-reveal-btn:hover { background:#219150; }

  .learn-panel-note {
    margin-top:9px;
    color:#587063;
    font-size:13px;
  }

  .learn-correct-answer {
    display:inline-block;
    margin-bottom:12px;
    padding:9px 16px;
    border-radius:30px;
    background:#27ae60;
    color:#fff;
    font-weight:800;
  }

  .learn-completion-message {
    padding:28px;
    border-radius:14px;
    background:#eefaf3;
    border:1px solid #bfe8cf;
    line-height:1.8;
    text-align:center;
  }


  /* SAT v8.0B1 interaction fixes */
  html[data-study-mode="learn"] .choice.learn-choice:not(.disabled) {
    cursor:pointer;
    border-color:#c8e8d3;
    background:#fbfffc;
  }

  html[data-study-mode="learn"] .choice.learn-choice:not(.disabled):hover {
    border-color:#27ae60;
    background:#eefaf3;
    transform:translateY(-1px);
  }

  .learn-panel.revealed {
    border-color:#8dd2a8;
  }


  /* SAT v8.0B2 — Learn auto-answer */
  html[data-study-mode="learn"] .learn-reveal-btn {
    display:none !important;
  }

  html[data-study-mode="learn"] .choice.learn-choice {
    cursor:default !important;
  }

  html[data-study-mode="learn"] .choice.learn-choice:hover {
    transform:none !important;
  }

  html[data-study-mode="learn"] .learn-panel.revealed {
    margin-top:18px;
    background:#eefaf3;
    border-color:#8dd2a8;
  }


  /* v8.0B3: remove duplicate Learn answer panel */
  html[data-study-mode="learn"] .learn-panel:empty {
    display:none !important;
  }

  .quiz-tools{position:absolute;top:16px;right:18px;display:flex;gap:8px;z-index:35}.quiz-tool-toggle{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:21px;cursor:pointer;display:grid;place-items:center;transition:.18s}.quiz-tool-toggle:hover,.quiz-tool-toggle[aria-expanded="true"]{background:#fff;color:#111;transform:translateY(-1px)}.quiz-tool-toggle:focus-visible,.quiz-tool-panel button:focus-visible,.quiz-tool-panel input:focus-visible{outline:3px solid #68b5ff;outline-offset:2px}.quiz-tool-panel{position:absolute;z-index:50;top:66px;right:18px;width:min(430px,calc(100vw - 32px));box-sizing:border-box;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;color:#111827;box-shadow:0 18px 50px rgba(0,0,0,.32);padding:14px}.quiz-tool-panel[hidden]{display:none!important}.tool-panel-head{display:flex;align-items:center;gap:10px;font-weight:800;margin-bottom:10px}.tool-panel-head>span:first-child{margin-right:auto}.tool-close{width:32px;height:32px;border:0;border-radius:8px;background:#e2e8f0;font-size:22px;cursor:pointer}.calculator-timer-mirror{font:700 15px ui-monospace,Consolas,monospace;color:#2563eb}.calculator-expression{min-height:20px;text-align:right;color:#64748b;font:13px ui-monospace,Consolas,monospace;overflow:hidden}.calculator-display{width:100%;height:55px;box-sizing:border-box;border:2px solid #94a3b8;border-radius:10px;background:#fff;padding:8px 12px;text-align:right;font:700 25px ui-monospace,Consolas,monospace}.calculator-toolbar,.calculator-grid{display:grid;gap:6px;margin-top:9px}.calculator-toolbar{grid-template-columns:repeat(5,1fr)}.calculator-grid{grid-template-columns:repeat(6,1fr)}.calculator-toolbar button,.calculator-grid button{min-height:39px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;font-weight:700;cursor:pointer}.calculator-grid button:hover,.calculator-toolbar button:hover{background:#e0ecff}.calculator-grid .calc-operator{background:#e8eef7}.calculator-grid .calc-danger{background:#fee2e2;color:#b91c1c}.calculator-grid .calc-equals{background:#2563eb;color:#fff}.timer-tool-panel{width:min(360px,calc(100vw - 32px))}.timer-tool-panel .timer-display{font:800 42px ui-monospace,Consolas,monospace;text-align:center;color:#111827}.timer-tool-panel .timer-display.warning{color:#dc2626}.timer-tool-panel .timer-label{text-align:center;color:#64748b;margin-bottom:12px}.timer-setting{display:flex;align-items:end;justify-content:center;gap:5px;padding:10px 0}.timer-setting label{display:grid;gap:3px;text-align:center;font-size:10px;color:#64748b}.timer-setting input{width:54px;box-sizing:border-box;border:1px solid #94a3b8;border-radius:7px;padding:8px 4px;text-align:center;font-weight:700}.timer-set-btn,.timer-controls .timer-btn{border:0;border-radius:8px;padding:10px 13px;font-weight:800;cursor:pointer}.timer-set-btn{background:#334155;color:#fff}.timer-controls{display:flex;gap:8px}.timer-controls .timer-btn{flex:1;background:#2563eb;color:#fff}.timer-controls .reset-btn{background:#e2e8f0;color:#334155}@media(max-width:820px){.quiz-header{padding-top:68px}.quiz-tools{top:12px;right:12px}.quiz-tool-panel{position:fixed;top:auto;right:8px;bottom:8px;left:8px;width:auto;max-height:calc(100vh - 16px);overflow:auto}.calculator-grid{gap:5px}.calculator-toolbar button,.calculator-grid button{min-height:38px;font-size:12px}}@media(max-width:420px){.quiz-tool-toggle{width:40px;height:40px}.quiz-tool-panel{padding:10px}.calculator-grid{grid-template-columns:repeat(4,1fr)}.timer-setting input{width:48px}}
  .quiz-tools{align-items:center}.quiz-timer-toggle{width:42px;min-width:42px;padding:0;display:flex;justify-content:center}.header-timer-display{display:none!important}@media(max-width:420px){.quiz-timer-toggle{width:40px;min-width:40px;padding:0}}
  #calculatorToggle,#calculatorPanel,.quiz-tools{display:none!important}#timerToggle{display:flex!important;visibility:visible!important;opacity:1!important}.persistent-timer-toggle{position:fixed;top:12px;right:max(12px,calc((100vw - 900px)/2 + 18px));z-index:100}@media(min-width:821px){#timerPanel{position:fixed;top:62px;right:max(12px,calc((100vw - 900px)/2 + 18px));left:auto;bottom:auto}}@media(max-width:820px){.persistent-timer-toggle{top:12px;right:12px}}
  .bible-museum-letters{display:flex;flex-wrap:wrap;gap:5px;padding:0 26px 10px}.bible-museum-letters button{min-width:34px;height:34px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-weight:800;cursor:pointer}.bible-museum-letters button.is-active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.bible-museum-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 26px 12px}.bible-museum-pager button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:8px 13px;font-weight:800;cursor:pointer}.bible-museum-pager button:disabled{opacity:.45;cursor:default}.bible-museum-pager span{font-size:13px;font-weight:800;color:#475569}

.bible-people-toggle{display:flex!important;width:auto!important;min-width:56px;padding:0 8px!important;font-size:12px!important;font-weight:800}
  .bible-explore-toggle{display:flex!important;width:auto!important;min-width:52px;padding:0 8px!important;font-size:12px!important;font-weight:800}
  .persistent-timer-toggle{width:34px!important;height:34px!important;min-width:34px!important}
  .bible-people-panel{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.72);padding:24px;overflow:auto}
  .bible-people-panel[hidden]{display:none!important}
  .bible-people-dialog{width:min(1280px,100%);min-height:min(720px,calc(100vh - 48px));margin:0 auto;background:#f8fafc;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.35);overflow:hidden;color:#172033}
  .bible-people-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;background:#17233d;color:#fff}
  .bible-people-head h2{margin:2px 0 0;font-size:28px}.bible-people-kicker{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#fbbf24}
  .bible-people-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}
  .bible-people-atlas{display:grid;place-items:center;background:#1d4ed8;border-color:#3b82f6;font-size:20px;line-height:1}
  .bible-people-atlas:hover,.bible-people-atlas:focus-visible{background:#2563eb;border-color:#60a5fa;outline:none}
  .bible-people-search{padding:20px 26px 10px}.bible-people-search label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#475569}
  .bible-people-search>div{display:flex;gap:9px}.bible-people-search input{flex:1;min-width:0;border:2px solid #cbd5e1;border-radius:11px;padding:13px 15px;font-size:16px;background:#fff}
  .bible-people-search button{border:0;border-radius:11px;padding:0 23px;background:#f59e0b;color:#172033;font-weight:900;cursor:pointer}
  .bible-people-status{min-height:22px;padding:0 26px 12px;color:#64748b;font-size:13px}.bible-people-status.is-error{color:#b91c1c}
  .bible-people-layout{display:grid;grid-template-columns:172px minmax(0,1fr);gap:16px;padding:0 26px 26px}
  .bible-people-results,.bible-people-detail{border:1px solid #dbe3ee;border-radius:15px;background:#fff;min-height:500px;overflow:auto}
  .bible-people-panel.is-direct-person .bible-people-search,
  .bible-people-panel.is-direct-person #biblePeopleAlphabet,
  .bible-people-panel.is-direct-person #biblePeopleStatus,
  .bible-people-panel.is-direct-person #biblePeopleResults{display:none!important}
  .bible-people-panel.is-direct-person .bible-people-layout{grid-template-columns:minmax(0,1fr);padding-top:20px}
  .bible-people-panel.is-direct-person .bible-people-detail{width:100%;min-height:calc(100vh - 150px)}
  .bible-person-result{display:block;width:100%;border:0;border-bottom:1px solid #e2e8f0;background:#fff;padding:14px;text-align:left;cursor:pointer}
  .bible-person-result:hover,.bible-person-result.is-active{background:#eff6ff}.bible-person-result strong,.bible-person-result span{display:block}
  .bible-person-result strong{font-size:15px;color:#172033}.bible-person-result span{margin-top:3px;font-size:12px;color:#64748b}
  .bible-knowledge-more{text-align:center;background:#eff6ff;border-top:1px solid #bfdbfe;border-bottom:1px solid #bfdbfe}
  .bible-people-empty{min-height:500px;display:grid;place-content:center;gap:7px;text-align:center;padding:30px;color:#64748b}.bible-people-empty strong{font-size:20px;color:#334155}
  .bible-person-card{padding:24px}.bible-person-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e2e8f0;padding-bottom:17px}
  .bible-museum-preview{margin-top:18px;border:1px solid #dbe3ee;border-radius:12px;overflow:hidden;background:#f8fafc}.bible-museum-preview>p{padding:12px;margin:0;color:#64748b}.bible-museum-preview img{display:block;width:100%;max-height:460px;object-fit:contain;background:#f1f5f9}.bible-museum-preview img~p{margin:0;padding:8px 12px;color:#475569;line-height:1.5}.bible-museum-credit{font-size:12px;color:#64748b}
  .bible-person-title h3{font-size:28px;margin:0}.bible-person-title p{margin:4px 0 0;color:#64748b}.bible-person-id{font:700 11px ui-monospace,Consolas,monospace;color:#64748b;background:#f1f5f9;border-radius:8px;padding:7px 9px}
  .bible-person-description{margin:18px 0;line-height:1.65;color:#334155}.bible-person-meta{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}
  .bible-person-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#e0ecff;color:#1e40af;font-size:12px;font-weight:800}
  .bible-person-section{margin-top:24px}.bible-person-section h4{margin-bottom:10px;font-size:16px}.bible-person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
  .bible-reference-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:7px}
  .bible-reference,.bible-relationship{border:1px solid #e2e8f0;border-radius:9px;padding:9px 10px;background:#f8fafc;font-size:12px;color:#334155}
  button.bible-relationship{width:100%;text-align:left;cursor:pointer;font-family:inherit}
  button.bible-relationship:hover,button.bible-relationship:focus-visible{border-color:#60a5fa;background:#eff6ff;outline:none}
  .bible-context-head-actions{display:flex;align-items:center;gap:8px}
  .bible-context-back{border:1px solid #94a3b8;border-radius:8px;padding:7px 11px;background:#fff;color:#1e3a8a;font:inherit;font-weight:800;cursor:pointer}
  .bible-context-back:disabled{opacity:.42;cursor:not-allowed}
  button.bible-context-back.bible-people-shortcut{display:grid;place-items:center;width:42px;min-width:42px;height:42px;padding:0;background:#1d4ed8;border-color:#60a5fa;color:#fff}
  button.bible-context-back.bible-people-shortcut:hover,button.bible-context-back.bible-people-shortcut:focus-visible{background:#2563eb;border-color:#bfdbfe;color:#fff;outline:2px solid #bfdbfe;outline-offset:2px}
  .bible-reference{display:inline-flex;flex:0 0 auto;max-width:100%;white-space:nowrap;line-height:1.2}
  button.bible-reference{cursor:pointer;font-family:inherit;text-align:left}
  button.bible-reference:hover,button.bible-reference:focus-visible{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;outline:none}
  .bible-relationship strong{display:block;color:#172033;margin-bottom:3px}.bible-reference-more{margin-top:10px;color:#64748b;font-size:12px}
  .bible-person-graph{min-height:390px;margin-top:12px;border:1px solid #dbe3ee;border-radius:12px;overflow:hidden}
  .bible-explore-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:16px 26px 6px}.bible-explore-tabs button{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;padding:9px 17px;font-weight:800;cursor:pointer}.bible-explore-tabs button.is-active{background:#17233d;color:#fff;border-color:#17233d}
  .bible-explore-view{display:none}.bible-explore-view.is-active{display:block}.bible-explore-toolbar{display:flex;padding:10px 26px 14px}.bible-explore-toolbar input,.bible-explore-toolbar select{width:100%;border:2px solid #cbd5e1;border-radius:11px;padding:12px 14px;background:#fff;font-size:15px}
  .bible-explore-layout{padding-top:0}.bible-explore-output{margin:0 26px 26px;min-height:480px;border:1px solid #dbe3ee;border-radius:15px;background:#fff;padding:16px;overflow:auto}.bible-place-card{padding:22px}.bible-place-card h3{font-size:26px;margin-bottom:5px}.bible-place-card p{line-height:1.6;color:#475569}.bible-place-map{width:100%;margin-top:16px;border:1px solid #dbe3ee;border-radius:12px;overflow:hidden}
  .bible-place-map25d{background:#f7fbff}.bible-map25d-toolbar{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #dbe3ee;background:#fff}.bible-map25d-toolbar strong{font-size:13px}.bible-map25d-toolbar span{flex:1;color:#64748b;font-size:11px}.bible-map25d-toolbar button{border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e40af;padding:6px 9px;font-weight:800;cursor:pointer}.bible-map25d-host{width:100%;height:min(68vh,720px);min-height:520px}.bible-map25d-host svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}.bible-map25d-host svg.is-dragging{cursor:grabbing}.bible-map25d-host .map25d-sea{fill:#f7fbff}.bible-map25d-host .map25d-grid{fill:none;stroke:#dce7f1;stroke-width:1;vector-effect:non-scaling-stroke}.bible-map25d-host .map25d-place-hit-target{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}.bible-map25d-host .map25d-place-hit-target:focus-visible{fill:rgba(37,99,235,.12);stroke:#2563eb;stroke-width:2;outline:none}.bible-map25d-host .map25d-point{fill:#fbbf24;stroke:#1d4ed8;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.bible-map25d-host .map25d-place-hit-target:hover+.map25d-point,.bible-map25d-host .map25d-point.is-selected{fill:#fb7185;stroke:#991b1b}.bible-map25d-host .map25d-label{fill:#172033;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:4px;stroke-linejoin:round;font-weight:650;pointer-events:none}.bible-map25d-host .map25d-label-hit-target:hover+.map25d-label{fill:#1d4ed8}.bible-map25d-host .map25d-label.is-selected{fill:#991b1b;font-weight:850}.bible-map25d-status{min-height:34px;padding:9px 12px;border-top:1px solid #dbe3ee;background:#fff;color:#64748b;font-size:12px}
  .map25d-road{stroke:#94a3b8;stroke-width:1.25;stroke-opacity:.68;vector-effect:non-scaling-stroke;pointer-events:stroke}.map25d-road:hover{stroke:#f59e0b;stroke-width:3;stroke-opacity:1}.map25d-road.is-certain{stroke:#475569;stroke-width:1.7;stroke-opacity:.82}.map25d-road.is-conjectured{stroke:#94a3b8}.map25d-road.is-hypothetical{stroke:#cbd5e1;stroke-dasharray:5 4}
  .map25d-region-shape{fill:rgba(245,158,11,.07);stroke:rgba(180,83,9,.24);stroke-width:1;vector-effect:non-scaling-stroke}.map25d-region-path{stroke:rgba(180,83,9,.5);stroke-width:1.4;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.map25d-water-shape{fill:rgba(56,189,248,.15);stroke:rgba(2,132,199,.48);stroke-width:1;vector-effect:non-scaling-stroke}.map25d-water-path{stroke:rgba(2,132,199,.68);stroke-width:2;vector-effect:non-scaling-stroke}
  .bible-nearby-place{border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1e40af;padding:6px 9px;font-size:12px;font-weight:800;cursor:pointer}.bible-nearby-place:hover{background:#dbeafe}
  .vector-scene25d-host{width:100%;height:min(62vh,620px);min-height:390px;border:1px solid #bfdbfe;border-radius:12px;overflow:hidden;background:#f8fbff}.vector-scene25d-host svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}.vector-scene25d-host svg.is-dragging{cursor:grabbing}.scene25d-bg{fill:#fbfdff}.scene25d-grid{fill:none;stroke:#dbe5ef;stroke-width:1;vector-effect:non-scaling-stroke}.scene25d-edge{stroke-linecap:round;stroke-linejoin:round}.scene25d-node{cursor:pointer;vector-effect:non-scaling-stroke}.scene25d-node:hover{filter:brightness(.9);stroke-width:2.5}.scene25d-label,.scene25d-section-label{fill:#172033;paint-order:stroke;stroke:rgba(255,255,255,.97);stroke-width:4px;stroke-linejoin:round;font-weight:700;pointer-events:none}.scene25d-label-selectable{pointer-events:auto;cursor:pointer}.scene25d-label-selectable:hover{fill:#1d4ed8}.scene25d-section-label{fill:#64748b;font-weight:800;letter-spacing:.5px}.bible-timeline-selection{margin-top:10px;border:1px solid #dbe3ee;border-radius:9px;padding:10px 12px;background:#f8fafc;color:#334155;font-size:12px}.bible-relationship-25d{height:430px}.bible-journey-25d{height:min(62vh,640px)}.bible-timeline-25d{height:460px}.bible-timeline-25d svg{cursor:default}.bible-timeline-25d svg.is-dragging{cursor:grabbing}
  .scene25d-label-hit-target{cursor:pointer;pointer-events:auto}.scene25d-label-hit-target:focus{fill:rgba(37,99,235,.12);outline:none}
  .bible-single-person{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:radial-gradient(circle at center,#eff6ff 0,#f8fbff 48%,#fff 76%);color:#172033}.bible-single-person-icon{display:grid;place-items:center;width:94px;height:94px;margin-bottom:7px;border:2px solid #93c5fd;border-radius:50%;background:linear-gradient(145deg,#fff,#dbeafe);box-shadow:0 14px 32px rgba(37,99,235,.16);font-size:47px}.bible-single-person strong{font-size:23px}.bible-single-person span{color:#475569;font-size:14px}.bible-single-person small{margin-top:10px;color:#64748b;font-size:12px}
  .bible-context-list{display:grid;gap:8px;margin-bottom:12px}.bible-context-event-row{padding:8px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.bible-context-event-row .bible-context-item{border:0;background:transparent;padding:4px}.bible-context-event-places{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:7px;border-top:1px dashed #bfdbfe}.bible-context-event-places>span{color:#64748b;font-size:11px;font-weight:800}.bible-context-event-places .bible-person-chip{font:inherit;cursor:pointer}.bible-context-item{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.bible-context-item strong{color:#172033}.bible-context-item span{color:#64748b;text-align:right;font-size:12px}.bible-context-empty{padding:12px;border-radius:10px;background:#f8fafc;color:#64748b}.bible-context-more{margin-top:12px;color:#475569}.bible-context-more summary{cursor:pointer;font-weight:800}
  .bible-secondary-notice{margin:18px 0;padding:14px 16px;border-left:4px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#78350f}.bible-secondary-notice strong{display:block;margin-bottom:4px}.bible-verse-places-button,.bible-verse-knowledge-button{margin:10px 6px 14px 0;border:1px solid #60a5fa;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:7px 12px;font-weight:850;cursor:pointer}.bible-verse-knowledge-button{border-color:#a78bfa;background:#f5f3ff;color:#6d28d9}.bible-context-item:is(button),.bible-person-meta button.bible-person-chip{font:inherit;cursor:pointer}.bible-context-item:is(button){width:100%;text-align:left}.bible-inline-entity-link{display:inline;border:0;border-bottom:1px dashed currentColor;background:transparent;padding:0;color:#1d4ed8;font:inherit;font-weight:800;cursor:pointer}.bible-inline-place{color:#047857}.bible-inline-entity-link:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}
  .bible-knowledge-sections{display:flex;flex-wrap:wrap;gap:7px;padding:10px 26px}.bible-knowledge-sections button{border:1px solid #d8b4fe;border-radius:999px;background:#faf5ff;color:#6b21a8;padding:8px 13px;font-weight:800;cursor:pointer}.bible-knowledge-sections button.is-active{background:#7e22ce;color:#fff;border-color:#7e22ce}.bible-knowledge-view{display:none}.bible-knowledge-view.is-active{display:block}.bible-modern-context{margin-top:18px}.bible-modern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin:10px 0 16px}.bible-modern-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.bible-modern-card small{color:#64748b}.bible-modern-place-link{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer}.bible-modern-place-link:hover,.bible-modern-place-link:focus-visible{border-color:#2563eb;background:#eff6ff;outline:2px solid #93c5fd;outline-offset:2px}.bible-source-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.bible-source-images figure{margin:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.bible-source-images img{display:block;width:100%;height:150px;object-fit:cover;background:#f1f5f9}.bible-source-images figcaption{padding:9px;font-size:12px;line-height:1.5;color:#475569}.bible-source-images a{display:inline-block;margin-left:5px;color:#1d4ed8;font-weight:800}.bible-topic-source{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.65}.bible-book-chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px}.bible-book-chapters>span{display:flex;flex-direction:column;padding:9px;border:1px solid #e2e8f0;border-radius:9px}.bible-book-chapters small{color:#64748b}
  .bible-patristic-read-button{margin:14px 0;border:0;border-radius:10px;background:#1d4ed8;color:#fff;padding:11px 18px;font-weight:850;cursor:pointer}.bible-patristic-reader{margin-top:14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:18px}.bible-patristic-reader-header,.bible-patristic-reader-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.bible-patristic-reader-header{padding-bottom:12px;border-bottom:1px solid #e2e8f0}.bible-patristic-reader-text{font-family:Georgia,'Times New Roman',serif;line-height:1.75;color:#1e293b}.bible-patristic-reader-text p{margin:16px 0}.bible-patristic-reader-text h4{margin:24px 0 10px;font-size:20px}.bible-patristic-reader-nav{padding-top:14px;border-top:1px solid #e2e8f0}.bible-patristic-reader-nav button{border:1px solid #93c5fd;border-radius:9px;background:#eff6ff;color:#1d4ed8;padding:8px 14px;font-weight:800;cursor:pointer}.bible-patristic-reader-nav button:disabled{opacity:.4;cursor:not-allowed}
  .bible-sermon-summary{padding:16px;background:#f5f3ff;border-bottom:1px solid #ddd6fe}.bible-sermon-summary strong,.bible-sermon-summary span{display:block}.bible-sermon-summary strong{color:#581c87;font-size:17px}.bible-sermon-summary span{color:#64748b;font-size:12px}.bible-person-result.is-active{background:#f5f3ff;box-shadow:inset 4px 0 #7e22ce}.bible-sermon-browser,.bible-sermon-reader{padding:20px}.bible-sermon-browser>header{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.bible-sermon-browser>header strong{font-size:24px}.bible-sermon-browser>header span{color:#64748b}.bible-sermon-title{display:grid;gap:4px;width:100%;padding:15px 4px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;text-align:left;cursor:pointer}.bible-sermon-title:hover,.bible-sermon-title:focus-visible{background:#faf5ff}.bible-sermon-title strong{font-size:16px;color:#172033}.bible-sermon-title span{font-size:12px;color:#475569}.bible-sermon-title small{color:#7e22ce}.bible-sermon-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px}.bible-sermon-pagination button,.bible-sermon-back{border:1px solid #c4b5fd;border-radius:9px;background:#f5f3ff;color:#6b21a8;padding:9px 13px;font-weight:800;cursor:pointer}.bible-sermon-pagination button:disabled{opacity:.4;cursor:not-allowed}.bible-sermon-back{margin-bottom:12px}
  .bible-explore-layout.is-sermon-browser{grid-template-columns:minmax(220px,28%) minmax(0,1fr);height:min(68vh,720px);min-height:520px;align-items:stretch}.bible-explore-layout.is-sermon-browser>.bible-people-results,.bible-explore-layout.is-sermon-browser>.bible-people-detail{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.bible-sermon-alphabet{display:flex;flex-wrap:wrap;gap:6px;padding:0 26px 14px}.bible-sermon-alphabet[hidden]{display:none}.bible-sermon-alphabet button{min-width:38px;height:38px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;font-weight:850;cursor:pointer}.bible-sermon-alphabet button.is-active{border-color:#4f46e5;background:#4f46e5;color:#fff}.bible-sermon-list-summary{position:sticky;top:0;z-index:2;padding:12px 14px;border-bottom:1px solid #ddd6fe;background:#f5f3ff}.bible-sermon-list-summary strong,.bible-sermon-list-summary span{display:block}.bible-sermon-list-summary span{color:#64748b;font-size:12px}.bible-sermon-list-item{display:grid;gap:3px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;text-align:left;cursor:pointer}.bible-sermon-list-item:hover,.bible-sermon-list-item:focus-visible{background:#faf5ff}.bible-sermon-list-item.is-active{background:#f5f3ff;box-shadow:inset 4px 0 #7e22ce}.bible-sermon-list-item strong,.bible-sermon-list-item span,.bible-sermon-list-item small{overflow:hidden;text-overflow:ellipsis}.bible-sermon-list-item strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.bible-sermon-list-item span,.bible-sermon-list-item small{display:block;white-space:nowrap;color:#64748b;font-size:11px}.bible-sermon-scroll-note{padding:12px;text-align:center;color:#64748b;font-size:12px}
  @media(max-width:760px){.bible-explore-toolbar:has(#bibleSermonSearchBy:not([hidden])){display:grid;grid-template-columns:1fr 1fr;gap:8px}.bible-explore-toolbar:has(#bibleSermonSearchBy:not([hidden])) #bibleLibrarySearch{grid-column:1/-1}.bible-sermon-alphabet{padding-inline:14px}.bible-sermon-alphabet button{min-width:34px;height:34px}.bible-explore-layout{grid-template-columns:1fr}.bible-explore-layout.is-sermon-browser{display:grid;grid-template-columns:1fr;height:auto}.bible-explore-layout.is-sermon-browser>.bible-people-results{height:42vh}.bible-explore-layout.is-sermon-browser>.bible-people-detail{height:55vh}.bible-people-results{max-height:42vh}}
  .bible-source-images figcaption,.bible-source-images a{display:none}
  /* Compact, stable header controls. Mode help is available on hover/focus
     instead of occupying a permanent row. */
  .quiz-header{padding:7px 16px 9px;background:#075ea8;border-bottom-color:#8ed4f8}
  html[data-study-mode="learn"] .quiz-header,html[data-study-mode="study"] .quiz-header,html[data-study-mode="exam"] .quiz-header{border-bottom-color:#8ed4f8}
  .sat-logo{display:grid;grid-template-columns:2fr 3fr;align-items:center;gap:0;padding:0;min-height:32px;width:min(420px,100%);margin:0 auto}
  .sat-title{min-width:0;padding-right:5px;font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
  .bible-top-control-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:4px;width:100%;height:32px}.bible-header-nav,.bible-top-actions{display:contents}
  .bible-header-action-row{position:relative;z-index:4;width:min(420px,100%);margin:5px auto 0}
  .persistent-people-toggle,.persistent-explore-toggle{position:static!important;z-index:auto;display:grid!important;place-items:center!important;justify-self:stretch;width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:0!important;border:1px solid!important;border-radius:9px!important;font-size:18px!important;line-height:1!important;color:#172033!important;box-shadow:0 3px 9px rgba(3,12,30,.16)!important}
  .persistent-explore-toggle{background:#dff7ff!important;border-color:#67cbe8!important;color:#075985!important}
  .persistent-people-toggle{background:#eee8ff!important;border-color:#b8a5ee!important;color:#55339b!important}
  .bible-speech-controls{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;width:100%!important;margin:0!important;padding:0!important}
  .bible-speech-controls[hidden]{display:none!important}
  .bible-guide-toggle,.bible-logout-toggle{position:static!important;display:grid!important;place-items:center!important;justify-self:stretch;width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:0!important;border:1px solid!important;border-radius:9px!important;box-shadow:0 3px 9px rgba(3,12,30,.16)!important}
  .bible-guide-toggle{border-color:#79bde8!important;background:#e5f4ff!important;color:#075985!important;font-size:18px!important;font-weight:900!important}
  .bible-logout-toggle{margin:0!important;border-color:#ef9aaa!important;background:#ffe8ec!important;color:#9f2440!important;line-height:1!important}
  .bible-logout-icon{position:relative;display:block;width:19px;height:18px;border:2px solid currentColor;border-right:0;border-radius:3px;box-sizing:border-box}
  .bible-logout-icon::before{content:'';position:absolute;top:7px;left:7px;width:11px;height:2px;border-radius:2px;background:currentColor}
  .bible-logout-icon::after{content:'';position:absolute;top:4px;right:-1px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
  /* A short visible confirmation prevents accidental double-taps on the
     compact header controls, especially on touch screens. */
  .quiz-header button{transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,background .14s ease!important}
  .quiz-header button:not(:disabled):hover,.quiz-header select:not(:disabled):hover{filter:brightness(1.14);border-color:rgba(255,255,255,.75)!important;box-shadow:0 5px 14px rgba(0,0,0,.22)}
  .quiz-header button:focus-visible,.quiz-header select:focus-visible{outline:3px solid #93c5fd!important;outline-offset:2px}
  .quiz-header button:not(:disabled):active{transform:translateY(1px) scale(.96)!important;filter:brightness(.88)}
  .quiz-header button:disabled{cursor:not-allowed;opacity:.55}
  .quiz-header button.bible-tap-feedback{animation:bible-header-tap .34s ease-out;box-shadow:0 0 0 3px rgba(255,255,255,.75),0 0 17px rgba(96,165,250,.85)!important;filter:brightness(1.18)}
  .bible-header-tooltip{position:fixed;z-index:10000;max-width:min(270px,calc(100vw - 24px));padding:7px 10px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#082f55;color:#fff;box-shadow:0 7px 20px rgba(3,24,46,.28);font:650 11px/1.35 system-ui,sans-serif;text-align:center;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.bible-header-tooltip.is-visible{opacity:1;transform:translateY(0)}
  @keyframes bible-header-tap{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(.91);filter:brightness(.82)}100%{transform:scale(1);filter:brightness(1.18)}}
  .header-person-icon{position:relative;display:inline-block;width:17px;height:18px;vertical-align:middle}
  .header-person-icon::before{content:'';position:absolute;top:0;left:5px;width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 5px rgba(85,51,155,.24)}
  .header-person-icon::after{content:'';position:absolute;bottom:0;left:1px;width:16px;height:9px;border-radius:9px 9px 3px 3px;background:currentColor;box-shadow:0 0 5px rgba(85,51,155,.2)}
  .learning-mode-panel{width:min(420px,100%);max-width:420px;margin:4px auto 0}
  .mode-buttons{width:min(420px,100%);margin:0 auto;gap:4px;padding:0;border:0;background:transparent;border-radius:9px;overflow:visible}
  .mode-btn{position:relative;height:36px;min-height:36px;padding:3px 6px;border-radius:8px;font-size:12px;white-space:nowrap;overflow:visible;text-overflow:ellipsis}
  .mode-learn,.mode-study,.mode-exam{background:#fff8e7;color:#243b53;border-color:#dfd1ad}
  .mode-learn.active,.mode-study.active,.mode-exam.active{background:#fff8e7;color:#123a67;border-color:#123a67;box-shadow:inset 0 0 0 1px rgba(18,58,103,.22),inset 0 2px 5px rgba(18,58,103,.16)}
  .mode-learn:not(:disabled):hover,.mode-study:not(:disabled):hover,.mode-exam:not(:disabled):hover{background:#fffef8!important;color:#123a67!important;filter:none!important}
  .mode-description{display:none!important}
  .mode-btn::after{
    content:attr(data-tooltip);
    position:absolute;
    z-index:120;
    left:50%;
    bottom:calc(100% + 8px);
    width:max-content;
    max-width:min(250px,calc(100vw - 28px));
    padding:7px 9px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:8px;
    background:#020617;
    color:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.32);
    font-size:11px;
    font-weight:650;
    line-height:1.35;
    white-space:normal;
    text-align:center;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,4px);
    transition:opacity .15s ease,transform .15s ease;
  }
  .mode-btn:hover::after,.mode-btn:focus-visible::after{opacity:1;transform:translate(-50%,0)}
  .mode-btn::after{display:none}
  .mode-learn::after{left:0;transform:translate(0,4px)}
  .mode-learn:hover::after,.mode-learn:focus-visible::after{transform:translate(0,0)}
  .mode-exam::after{left:auto;right:0;transform:translate(0,4px)}
  .mode-exam:hover::after,.mode-exam:focus-visible::after{transform:translate(0,0)}
  .bible-passage-controls{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:min(420px,100%);
    gap:4px;
    margin:4px auto 0;
  }
  .bible-passage-toggle,.bible-quiz-toggle,
  #biblePrimaryTextSelector,#bibleSecondaryTextSelector{
    width:100%;
    min-width:0;
    height:36px;
    min-height:36px;
    padding:2px 4px;
    border-radius:8px;
    font-size:12px;
  }
  .bible-passage-toggle,.bible-quiz-toggle,
  #biblePrimaryTextSelector,#bibleSecondaryTextSelector{background:#e6faef!important;border-color:#74d59c!important;color:#145c35!important}
  .persistent-timer-toggle{width:30px!important;height:30px!important;min-width:30px!important}
  html:not([data-study-mode="exam"]) #timerToggle,
  #timerToggle[hidden]{display:none!important}
  html:not([data-study-mode="exam"]) #timerPanel{display:none!important}
  @media(max-width:600px){
    .quiz-header{padding:6px 12px 8px}
    .sat-logo{grid-template-columns:2fr 3fr;max-width:none}
    .sat-title{font-size:clamp(.88rem,4vw,1rem);white-space:nowrap;text-align:left}
    .bible-header-action-row{margin:5px auto 0}
    .persistent-people-toggle,.persistent-explore-toggle,.bible-guide-toggle,.bible-logout-toggle{width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important}
    .learning-mode-panel{margin-top:5px}
    .mode-buttons{width:100%;gap:4px}
    .mode-btn{height:36px;min-height:36px;font-size:12px;padding:3px}
    .bible-passage-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}
    .bible-passage-toggle,.bible-quiz-toggle,
    #biblePrimaryTextSelector,#bibleSecondaryTextSelector{width:100%;font-size:11px}
    .bible-passage-toggle,.bible-quiz-toggle,#biblePrimaryTextSelector,#bibleSecondaryTextSelector{height:36px;min-height:36px}
  }
  body.bible-people-open{overflow:hidden}
  .bible-speech-controls .bible-speech-button,.bible-speech-controls .bible-speech-speed{width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0!important;font-size:17px!important;line-height:1!important;border:1px solid rgba(15,23,42,.14)!important;border-radius:8px!important;box-sizing:border-box!important}
  .bible-speech-controls .bible-speech-button,.bible-speech-controls .bible-speech-speed{background:#e6faef!important;border-color:#74d59c!important;color:#145c35!important}
  .bible-speech-controls .bible-speech-play{font-size:16px!important}
  .bible-speech-controls .bible-speech-replay{font-size:20px!important;font-weight:900!important;-webkit-text-stroke:.35px currentColor}
  .bible-speech-controls .bible-speech-stop{display:grid!important;place-items:center!important}
  .bible-stop-icon{display:block;width:14px;height:14px;border-radius:1px;background:currentColor}
  .bible-speech-controls .bible-speech-speed{font-size:13px!important;font-weight:800!important}
  .bible-speech-controls .bible-speech-auto-next{font-size:17px!important}
  .bible-speech-controls .bible-speech-speed{padding:0 3px!important;font-size:11px!important;text-align:center}
  .mode-btn.active,
  .bible-speech-button.active,
  .bible-passage-toggle.is-on,.bible-quiz-toggle.is-on,
  .bible-passage-toggle[aria-pressed="true"],.bible-quiz-toggle[aria-pressed="true"],
  .bible-speech-auto-next[aria-pressed="true"],
  .bible-speech-speed,#biblePrimaryTextSelector,#bibleSecondaryTextSelector{
    color:#123a67!important;
    border-color:#123a67!important;
    box-shadow:inset 0 0 0 1px rgba(18,58,103,.22),inset 0 2px 5px rgba(18,58,103,.16)!important;
  }
  .mode-btn.active:hover,
  .bible-passage-toggle.is-on:hover,.bible-quiz-toggle.is-on:hover,
  .bible-speech-auto-next[aria-pressed="true"]:hover,
  .bible-speech-speed:hover,#biblePrimaryTextSelector:hover,#bibleSecondaryTextSelector:hover{border-color:#123a67!important}
  .bible-timeline-selection{scroll-margin-top:16px}.bible-timeline-selection.is-revealed{outline:3px solid #f5a623;box-shadow:0 0 0 7px rgba(245,166,35,.18);transition:outline-color .2s,box-shadow .2s}
  .bible-book-picker{display:block;width:100%;margin:14px 0 10px;text-align:left}
  .bible-testament-group{min-width:0;margin:0 0 18px;padding:0;background:transparent}
  .bible-testament-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 9px;padding:0 2px;color:#334155;font-size:14px;font-weight:800}
  .bible-testament-title small{color:#64748b;font-size:11px;font-weight:700}
  .bible-book-grid{display:block}
  .bible-book-button,.bible-chapter-button{color:#1e293b;font:700 13px/1.2 inherit;cursor:pointer;transition:color .15s,background .15s}
  .bible-book-button{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;padding:0 4px;background:transparent;text-align:left;white-space:nowrap;touch-action:manipulation}
  .bible-book-button:hover{background:#f8fafc;color:#1d4ed8}
  .bible-book-button.is-selected{background:#eff6ff;color:#1d4ed8}
  .bible-chapter-picker{width:100%;margin:0;padding:4px 2px 10px;border:0;border-bottom:1px solid #dbeafe;background:transparent;text-align:left}
  .bible-chapter-grid{display:flex;flex-wrap:wrap;align-items:center;gap:2px 5px}
  .bible-chapter-button{min-width:34px;height:36px;margin:0;padding:0 7px;border:0;border-radius:6px;background:transparent;color:#1261bd;font-weight:800;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}
  .bible-chapter-button:hover{background:#e8f2ff;color:#064c99}
  .bible-chapter-button.is-selected{background:#075ea8;color:#fff;text-decoration:none;box-shadow:0 0 0 2px rgba(7,94,168,.18)}
  .resume-quick{margin-bottom:10px}
  .resume-quick .resume-badge{display:flex;width:100%;height:38px;min-height:38px;align-items:center;justify-content:center;margin:0;padding:0 12px;border:1px solid #e9b949;border-radius:9px;background:#fff8df;color:#2c3e50;font-size:.88rem;font-weight:800;cursor:pointer;box-sizing:border-box}
  .resume-quick .resume-badge:hover{background:#fffdf3;border-color:#d99a16;transform:none}
  .resume-quick .resume-badge .count{font-size:inherit}
  .bible-legacy-chapter-select{display:none!important}
  @media(max-width:600px){.setup-area{margin:8px;padding:18px 10px}.card{padding:20px 10px}.bible-book-button{font-size:14px}.bible-chapter-picker{padding:3px 2px 9px}.bible-chapter-button{min-width:36px;height:38px}.card-resume{padding:18px 12px}}
  @media(max-width:760px){.bible-people-panel{padding:0}.bible-people-dialog{min-height:100vh;border-radius:0}.bible-people-layout{grid-template-columns:1fr}.bible-people-results{min-height:0;max-height:210px}.bible-people-detail{min-height:430px}.bible-person-title{display:block}.bible-person-id{display:inline-block;margin-top:10px}.bible-explore-tabs,.bible-knowledge-sections{padding-left:14px;padding-right:14px}.bible-explore-toolbar{padding-left:14px;padding-right:14px}.bible-explore-output{margin-left:14px;margin-right:14px}.bible-source-images{grid-template-columns:1fr}}
  @media(max-width:760px){.bible-people-panel.is-direct-person .bible-people-layout{padding:14px}.bible-people-panel.is-direct-person .bible-people-detail{height:calc(100vh - 90px);min-height:0}}
  .bible-explore-layout.is-search-browser{grid-template-columns:minmax(220px,28%) minmax(0,1fr);height:min(68vh,720px);min-height:520px;align-items:stretch}
  .bible-explore-layout.is-search-browser>.bible-people-results,.bible-explore-layout.is-search-browser>.bible-people-detail{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  @media(max-width:760px){.bible-explore-layout.is-search-browser{display:grid;grid-template-columns:1fr;height:auto}.bible-explore-layout.is-search-browser>.bible-people-results{height:42vh;max-height:none}.bible-explore-layout.is-search-browser>.bible-people-detail{height:55vh;min-height:0}}
.speech-correct {
  background-color: yellow;
}

.mode-btn.active,
  .mode-btn[aria-pressed="true"],
  .bible-speech-button.active,
  .bible-speech-button[aria-pressed="true"] {
    background:#123a67!important;
    color:#fff!important;
    border-color:#071f38!important;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 3px 9px rgba(7,31,56,.38)!important;
  }
  .mode-btn.active:hover,
  .mode-btn[aria-pressed="true"]:hover,
  .bible-speech-button.active:hover,
  .bible-speech-button[aria-pressed="true"]:hover {
    background:#123a67!important;
    color:#fff!important;
    border-color:#071f38!important;
  }
  .card-new > .card-sub,
  .bible-book-button small {
    display:none!important;
  }

  .mode-btn.active,
  .mode-btn[aria-pressed="true"],
  .bible-speech-button.active,
  .bible-speech-button[aria-pressed="true"] {
    background:#123a67!important;
    color:#fff!important;
    border-color:#071f38!important;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 3px 9px rgba(7,31,56,.38)!important;
  }
  .mode-btn.active:hover,
  .mode-btn[aria-pressed="true"]:hover,
  .bible-speech-button.active:hover,
  .bible-speech-button[aria-pressed="true"]:hover {
    background:#123a67!important;
    color:#fff!important;
    border-color:#071f38!important;
  }
  .card-new > .card-sub,
  .bible-book-button small {
    display:none!important;
  }

  /* ============================================================
     ⬇️ 여기에 ? 버튼 스타일 추가 ⬇️
     ============================================================ */

  /* ? 버튼 (bibleGuideToggle) 스타일 */
  #bibleGuideToggle {
    position: relative;
    transition: all 0.2s ease !important;
    cursor: pointer;
  }

  #bibleGuideToggle:hover {
    background: #cde4f7 !important;
    border-color: #79bde8 !important;
  }

  #bibleGuideToggle.active {
    background: #123a67 !important;
    color: #fff !important;
    border-color: #071f38 !important;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,0.22), 0 3px 9px rgba(7,31,56,0.38) !important;
  }

  /* hover 시 툴팁 "Chunk" 표시 */
  #bibleGuideToggle:hover::after {
    content: 'Chunk';
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: #020617;
    color: #fff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(0,0,0,0.32);
    pointer-events: none;
    z-index: 100;
  }

  /* Chunk 컨테이너 */
  #chunkContainer {
    display: none;
    transition: all 0.3s ease;
  }

  #chunkContainer[style*="block"] {
    display: block !important;
  }

  /* ⬆️ 여기까지 추가 ⬆️ */
