/* #1: lock adventure-map nodes to their intended coordinates and keep cards from moving them */
#dashboard .world-trail{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;gap:0!important}
#dashboard .world-trail:before{display:none!important}
/* The topic box IS the node: centred exactly on its road point. The title
   card hangs below as an absolute child, so it never nudges the node or
   inflates the box that gets centred. */
#dashboard .world-trail .topic{position:absolute!important;left:var(--node-x)!important;top:var(--node-y)!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:76px!important;max-width:76px!important;height:76px!important;min-height:0!important;margin:0!important;z-index:3!important;display:block!important}
#dashboard .world-trail .topic:nth-child(odd),#dashboard .world-trail .topic:nth-child(even){transform:translate(-50%,-50%)!important}
#dashboard .world-trail .topic-header{position:static!important;left:auto!important;top:auto!important;width:76px!important;height:76px!important;min-height:0!important;display:block!important}
#dashboard .world-trail .topic-node{position:static!important;left:auto!important;top:auto!important;transform:none!important;margin:0!important;width:76px!important;height:76px!important;font-size:24px!important;border-width:6px!important}
#dashboard .world-trail .topic-node:hover:not(:disabled){transform:scale(1.08) rotate(-4deg)!important}
#dashboard .world-trail .topic-copy{position:absolute!important;top:calc(100% + 3px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;margin:0!important;width:max-content!important;max-width:132px!important;box-shadow:0 4px 0 rgba(105,120,140,.28)!important;z-index:4!important}
#dashboard .world-trail .lessons{display:none!important}
@media(max-width:600px){#dashboard .world-trail .topic,#dashboard .world-trail .topic-header,#dashboard .world-trail .topic-node{width:64px!important;height:64px!important}#dashboard .world-trail .topic{max-width:64px!important}#dashboard .world-trail .topic-node{font-size:21px!important;border-width:5px!important}#dashboard .world-trail .topic-copy{max-width:118px!important}}
/* #2: island titles small, drop the "3 үе · +40 оноо" line on the map */
#dashboard .topic-copy{max-width:150px!important;padding:6px 11px!important}
#dashboard .topic-copy h3{font-size:12px!important;margin:0!important;line-height:1.15!important}
#dashboard .topic-copy span{display:none!important}
#dashboard .world-label{padding:8px 16px!important;margin-bottom:18px!important}
#dashboard .world-label h3{font-size:15px!important}
/* #4: dark-mode readable text on colored/light content cards */
html[data-theme="dark"] .example-box{background:#123528!important;color:#d5f2e6!important}
html[data-theme="dark"] .example-box span{color:#79dbb2!important}
html[data-theme="dark"] .answer.correct{background:#123528!important;color:#eafff7!important}
html[data-theme="dark"] .answer.wrong{background:#3a1a1f!important;color:#ffe0e0!important}
html[data-theme="dark"] .reality-card,html[data-theme="dark"] .reality-card *{color:#ffe8ac!important}
html[data-theme="dark"] .hint-box,html[data-theme="dark"] .hint-box *{color:#e9edf8!important}
html[data-theme="dark"] .feedback{background:#12251d!important}
html[data-theme="dark"] .feedback b{color:#63e0a6!important}
html[data-theme="dark"] .feedback p{color:#a8d8c4!important}
/* #5: setup screen uses tablet width, not phone-sized */
.narrow{max-width:900px!important}
/* #7: profile status line wraps normally, not word-by-word */
/* #8: deep-explanation box stays inside the frame and wraps */
.saved-explanations,.saved-explanations *{max-width:100%!important;overflow-wrap:break-word;word-break:break-word}
.energy-modal{max-width:calc(100vw - 24px)!important}
/* #9: soften the seam where two map zones meet */
/* Explicit contrast for colored/light content cards in Dark mode. */
.xp-total-card span{color:#5f4700;font-weight:850}
html[data-theme="dark"] .xp-total-card{background:linear-gradient(135deg,#3b3218,#4a3918)!important;border:1px solid #705923;color:#ffe9a3!important}
html[data-theme="dark"] .xp-total-card span{color:#ffe9a3!important}
html[data-theme="dark"] .xp-total-card b{color:#ffd264!important}
html[data-theme="dark"] .breakdown-display{background:linear-gradient(135deg,#2d2354,#202b4b)!important;color:#fff!important;box-shadow:0 6px 0 #090d1c!important;border:1px solid #54477f}
html[data-theme="dark"] .breakdown-display *{color:#fff!important;border-color:currentColor}
html[data-theme="dark"] .billing-preview{background:#24283b!important;color:#edf0ff!important}
html[data-theme="dark"] .billing-preview span{color:#bdc5dc!important}
html[data-theme="dark"] .reveal-button{background:#27213f!important;color:#cdbfff!important;border-color:#63558f!important}
html[data-theme="dark"] .reveal-step.locked{background:#24283a!important;color:#aeb6ce!important}
html[data-theme="dark"] .modal-close{background:#f3efff!important;color:#211a3a!important}

/* Quiz: never leave light-yellow answer or status surfaces with low-contrast text in dark mode. */
html[data-theme="dark"] .answers.fill_blank .answer{background:#30280f!important;border-color:#756025!important;color:#fff0bc!important;box-shadow:0 5px 0 #171406!important}
html[data-theme="dark"] .answers.fill_blank .answer:hover{background:#403616!important;border-color:#b89535!important;color:#fff7d6!important}
html[data-theme="dark"] .hint-box,html[data-theme="dark"] .note{background:#30280f!important;border-color:#705b21!important;color:#fff0bc!important}
html[data-theme="dark"] .hint-box *,html[data-theme="dark"] .note *{color:#fff0bc!important}
html[data-theme="dark"] .combo-badge{background:#3a2c0c!important;color:#ffd66b!important}
html[data-theme="dark"] .challenge-stats>b{background:#252b40!important;color:#cbd3e9!important}

/* Grade 9-12 English: structured Mongolian translation panel (.english-help) — full dark mode */
html[data-theme="dark"] .english-help{background:#191d2f!important;color:#e6e3f5!important;border-color:#37325e!important}
html[data-theme="dark"] .english-help .mn-head{color:#f1f0ff!important}
html[data-theme="dark"] .english-help .mn-intro{color:#c9c4e8!important}
html[data-theme="dark"] .english-help .mn-label{color:#a79af0!important}
html[data-theme="dark"] .english-help .mn-list li{color:#d9d5ef!important}
html[data-theme="dark"] .english-help .mn-term,html[data-theme="dark"] .english-help .mn-part,html[data-theme="dark"] .english-help .mn-reality{background:#211d3a!important;border-color:#37325e!important}
html[data-theme="dark"] .english-help .mn-term b,html[data-theme="dark"] .english-help .mn-part b,html[data-theme="dark"] .english-help .mn-reality b{color:#f1f0ff!important}
html[data-theme="dark"] .english-help .mn-term p,html[data-theme="dark"] .english-help .mn-part p,html[data-theme="dark"] .english-help .mn-reality p{color:#c9c4e8!important}
html[data-theme="dark"] .english-help .mn-reality small{color:#a49ecb!important}
html[data-theme="dark"] .english-help .mn-reality span{color:#8f83e8!important}
html[data-theme="dark"] .english-help .mn-example{background:#123528!important;border-left-color:#2fbf8f!important}
html[data-theme="dark"] .english-help .mn-example span{color:#79dbb2!important}
html[data-theme="dark"] .english-help .mn-example p{color:#d5f2e6!important}
