/* Temporary Gemini mode, scoped so the existing research screen stays intact. */
[hidden] { display: none !important; }
.mvp-mode-label { display: block; margin: 14px 0 7px; color: var(--muted); font-size: 12px; }
#workflow-mode, #mvp-api-key { width: 100%; min-width: 0; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: white; font: inherit; font-size: 12px; }
.mvp-key-row { display: flex; gap: 6px; }
.mvp-key-row button { width: 52px; flex: 0 0 52px; }
#mvp-key-settings { margin-bottom: 18px; }
.mvp-mode .panel { width: min(510px, calc(100vw - 100px)); padding: 18px 22px; border-radius: 14px; gap: 8px; background: rgba(255, 255, 251, .96); }
.mvp-mode .panel .stats, .mvp-mode .panel .actions { display: none; }
.mvp-mode .panel h1 { font-size: 23px; line-height: 1.3; letter-spacing: -.6px; }
.mvp-mode .panel .eyebrow { font-size: 10px; letter-spacing: 1.1px; color: #27726d; }
.mvp-caption { margin: 0; color: var(--muted); font-size: 11px; }
.mvp-location-warning { margin: 0; font-size: 11px; color: #8a5c22; line-height: 1.5; }
body:not(.mvp-mode) .mvp-caption, body:not(.mvp-mode) .mvp-location-warning { display: none; }
.mvp-mode .research-stats, .mvp-mode #research-file-status { display: none; }
.mvp-mode .research-progress { top: auto; bottom: 104px; }
#mvp-stage { position: absolute; inset: 0; z-index: 1; overflow: clip; pointer-events: none; }
#mvp-tails { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; }
#mvp-node-controls { position: absolute; inset: 0; pointer-events: none; }
.curriculum-active #mvp-node-controls { z-index: 1; }
.curriculum-active #mvp-cards { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.education-shell.curriculum-active .mvp-bubble { background: #fffefa; }
:is(.mvp-node-toggle,.mvp-reading-toggle), :is(.mvp-node-toggle,.mvp-reading-toggle):hover { position: absolute; top: 0; left: 0; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; pointer-events: auto; cursor: pointer; }
:is(.mvp-node-toggle,.mvp-reading-toggle):focus-visible { outline: 2px solid #127569; outline-offset: -4px; }
.mvp-reading-toggle::after { content: attr(data-number); display: grid; place-items: center; box-sizing: border-box; width: 25px; height: 25px; margin: auto; border: 2px solid #487566; border-radius: 50%; background: #fffefa; color: #275d4c; font: 750 10px/1 system-ui,sans-serif; box-shadow: 0 0 0 3px #376b501b; }
.mvp-reading-toggle:is([data-role=event],[data-role=site],[data-role=origin],[data-role=find])::after { background:#147668;color:white;border-color:white; }
.mvp-bubble.is-collapsed { visibility: hidden; pointer-events: none; }
.mvp-tail { fill: #fffefa; stroke: #a9bab4; stroke-width: 1; stroke-linejoin: round; }
.mvp-node-halo { fill: rgba(12, 109, 99, .17); }
.mvp-node { fill: #127569; stroke: white; stroke-width: 2.5; }
.mvp-node-number { fill: white; font: 700 9px system-ui, sans-serif; text-anchor: middle; dominant-baseline: central; }
.mvp-region-node .mvp-node { fill: #fff9e8; stroke: #96713d; stroke-dasharray: 3 2; }
.mvp-region-node .mvp-node-number { fill: #71522c; }
.mvp-region-node .mvp-node-halo { fill: rgba(150,113,61,.14); }
.mvp-active-node .mvp-node-halo { stroke: #127569; stroke-width: 1.5; }
.mvp-latitude-line { stroke: #a36428; stroke-width: 2; stroke-dasharray: 8 5; }
.mvp-location-label { fill: #714616; stroke: #fffdf6; stroke-width: 3; paint-order: stroke; font: 600 12px system-ui,sans-serif; text-anchor: middle; }
.curriculum-active .mvp-bubble-place { flex-direction: column; align-items: stretch; gap: 6px; }
.curriculum-locations { font-size: 11px; }
.curriculum-locations summary { cursor: pointer; color: #126d62; font-weight: 600; }
.curriculum-location-list { display: grid; gap: 4px; max-height: 154px; overflow: auto; margin-top: 6px; }
.curriculum-location-list button { text-align: left; white-space: normal; padding: 5px 7px; border: 1px solid #d5e5de; border-radius: 5px; background: #f9fcfa; color: #234b41; font: inherit; cursor: pointer; }
.curriculum-location-list button[aria-pressed="true"] { background: #e4f3ed; border-color: #188b7a; }
.mvp-year { margin: 0 0 9px 36px; font-size: 10px; font-weight: 700; letter-spacing: 1px; color: #648677; }
.mvp-bubble { position: absolute; top: 0; left: 0; pointer-events: auto; padding: 18px 19px 14px; border: 1px solid #a9bab4; border-radius: 15px; background: #fffefa; box-shadow: 0 12px 35px rgba(37, 58, 48, .16); }
.mvp-bubble-heading { display: flex; align-items: flex-start; gap: 10px; }
.mvp-number { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #e5eeea; color: #1a6c61; font-size: 10px; font-weight: 800; }
.mvp-bubble h2 { margin: 1px 0 0; font-size: 17px; letter-spacing: -.5px; line-height: 1.4; word-break: keep-all; overflow-wrap: anywhere; }
.mvp-bubble-text { margin: 12px 0 14px; font-size: 13px; line-height: 1.85; letter-spacing: -.12px; white-space: pre-wrap; overflow-wrap: anywhere; max-height: min(330px, calc(100vh - 355px)); overflow-y: auto; }
.mvp-bubble-place { display: flex; justify-content: space-between; gap: 8px; padding-top: 10px; border-top: 1px solid #e0e6df; font-size: 10px; color: #67786e; }
.mvp-bubble-place a { color: #486c61; text-decoration: none; }
.mvp-bubble-place a:hover { text-decoration: underline; }
.mvp-bubble-image { margin: 0 0 9px; }
.mvp-bubble-image a { display: block; border-radius: 9px; overflow: hidden; background: #e9e7d8; }
.mvp-bubble-image img { display: block; width: 100%; height: 110px; object-fit: cover; }
.mvp-bubble-image figcaption { margin-top: 4px; color: #627f78; font-size: 10px; line-height: 1.35; }
.mvp-bubble-image.image-unavailable figcaption::after { content: " · 이미지 원문 보기"; }
.mvp-example .panel { width: min(456px, calc(100vw - 100px)); }
.mvp-example .mvp-bubble { padding: 15px 16px 13px; border-color: #d3e0d7; border-radius: 14px; }
.mvp-example .mvp-year { margin: 0 0 6px 32px; }
.mvp-example .mvp-number { width: 24px; height: 24px; flex-basis: 24px; }
.mvp-example .mvp-bubble-heading { gap: 8px; }
.mvp-example .mvp-bubble h2 { font-size: 16px; }
.mvp-example .mvp-bubble-text { margin: 10px 0 8px; font-size: 12px; line-height: 1.65; }
.mvp-example .mvp-bubble-place { padding-top: 8px; font-size: 10px; line-height: 1.4; }
#mvp-story-nav { position: fixed; bottom: 98px; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 251, .97); box-shadow: 0 8px 24px #253c2e1a; }
#mvp-story-nav button { width: auto; min-width: 32px; height: 30px; padding: 0 9px; font-size: 11px; white-space: nowrap; border-color: #d7e0d7; background: #fffefa; }
#mvp-story-position { min-width: 76px; text-align: center; color: #4e655b; font-size: 12px; font-variant-numeric: tabular-nums; }
#mvp-story-nav button:disabled { opacity: .35; cursor: default; }
#mvp-article-dialog { width: min(740px, calc(100vw - 32px)); max-height: 86vh; border: 1px solid var(--line); border-radius: 16px; padding: 26px; background: #fffefa; color: var(--ink); }
#mvp-article-dialog::backdrop { background: #142d2655; backdrop-filter: blur(4px); }
#mvp-close-article { float: right; width: 50px; height: 30px; }
#mvp-article-title { margin-top: 12px; }
#mvp-article-body { white-space: pre-wrap; line-height: 1.9; font-size: 15px; margin-top: 28px; }
#mvp-coordinate-sources { font-size: 11px; margin-top: 30px; }
#mvp-coordinate-sources a { color: #126e65; }
.mvp-search-suggestions { width: 100%; height: 145px; border: 0; }
.mvp-photo .prompt-composer, .mvp-photo .research-settings-wrap, .mvp-photo .research-progress, .mvp-photo .time-panel { display: none !important; }
.mvp-photo #mvp-story-nav { bottom: 35px; opacity: .08; transition: opacity .15s; }
.mvp-photo #mvp-story-nav:hover, .mvp-photo #mvp-story-nav:focus-within { opacity: 1; }
.mvp-example #research-prompt::placeholder { color: #344b42; opacity: 1; }
.mvp-example #research-prompt { cursor: text; caret-color: var(--accent); }
.mvp-example-waiting .learning-quiz-launch { visibility: hidden; }
#mvp-example-loading { position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translateX(-50%); z-index: 6; display: flex; align-items: center; gap: 12px; width: max-content; max-width: calc(100vw - 32px); padding: 15px 20px; border: 1px solid #c9e2df; border-radius: 16px; background: #fffffff5; color: #24646a; box-shadow: 0 8px 28px #20545c20; font-size: 14px; line-height: 1.5; }
.mvp-loading-spinner { flex: 0 0 20px; width: 20px; height: 20px; border: 2px solid #c5e5e1; border-top-color: #008b91; border-radius: 50%; animation: mvp-loading-spin .8s linear infinite; }
@keyframes mvp-loading-spin { to { transform: rotate(360deg); } }
.mvp-example.mvp-photo .prompt-composer { display: flex !important; }
.mvp-example.mvp-photo #mvp-story-nav { bottom: 98px; }
@media (max-width: 700px) {
  .mvp-mode .panel { padding: 13px; }
  .mvp-mode .panel h1 { font-size: 19px; }
  .mvp-mode .panel .eyebrow { font-size: 8px; letter-spacing: .4px; }
  #mvp-story-nav { gap: 4px; width: max-content; max-width: calc(100vw - 20px); }
}
@media (prefers-reduced-motion: reduce) { .mvp-photo #mvp-story-nav { transition: none; } .mvp-loading-spinner { animation: none; } }
