:root {
  color-scheme: light;
  --page: #efe9d9;
  --paper: #f9f6ed;
  --paper-deep: #e9e1ce;
  --ink: #222d2b;
  --ink-soft: #42514c;
  --muted: #626d65;
  --rule: #bdb39e;
  --rule-soft: #d7cebc;
  --green: #285c53;
  --green-wash: #e5eee8;
  --copper: #8c4e35;
  --red: #a24337;
  --success: #285f45;
  --scrim: rgba(17, 28, 27, .72);
  --shadow: 0 18px 48px rgba(65, 52, 29, .11);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #172422;
  --paper: #22312e;
  --paper-deep: #293b36;
  --ink: #f3ecda;
  --ink-soft: #d9d5c4;
  --muted: #b7b9a8;
  --rule: #65746a;
  --rule-soft: #45574e;
  --green: #a1d9c2;
  --green-wash: #2d4b3f;
  --copper: #e5ae83;
  --red: #f2a39a;
  --success: #a1d9ac;
  --scrim: rgba(4, 12, 11, .82);
  --shadow: 0 18px 48px rgba(0, 0, 0, .19);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; min-width: 280px; min-height: 100vh; overflow-x: hidden; color: var(--ink); background: var(--page); font: 400 16px/1.55 "Manrope", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .38; background: repeating-linear-gradient(90deg, transparent 0 22px, rgba(104, 81, 48, .04) 23px 24px), repeating-linear-gradient(0deg, transparent 0 22px, rgba(104, 81, 48, .04) 23px 24px); }
.site-main { position: relative; }
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
::selection { color: var(--paper); background: var(--green); }
:focus-visible { outline: 3px solid var(--copper); outline-offset: 3px; }
.hidden { display: none !important; }
.section-shell { width: min(1260px, calc(100% - 64px)); margin-inline: auto; }
.trail-index { margin-top: 30px; padding: 24px 28px; border: 1px solid var(--rule-soft); background: var(--paper); }
.trail-index h3 { margin: 0 0 4px; color: var(--ink); font: 600 clamp(24px, 2.5vw, 31px)/1.1 "EB Garamond", Georgia, serif; }
.trail-index p { margin: 0 0 16px; color: var(--ink-soft); font-size: 13px; }
.trail-index-links { display: flex; flex-wrap: wrap; gap: 8px; }
.trail-index-links a { padding: 6px 10px; border: 1px solid var(--rule-soft); color: var(--ink-soft); background: var(--page); font-size: 12px; font-weight: 700; }
.trail-index-links a:hover { border-color: var(--copper); color: var(--ink); }
@media (max-width: 650px) { .trail-index { padding: 20px; } .trail-index-links { gap: 6px; } .trail-index-links a { font-size: 11px; } }
.account-link { min-height: 41px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; margin-left: 8px; padding: 0 14px; border: 1px solid var(--copper); border-radius: 9px; color: var(--paper); background: var(--green); font-size: 12px; font-weight: 800; transition: transform .18s, box-shadow .18s; }
.account-link:hover { transform: translateY(-2px); box-shadow: 0 5px 0 color-mix(in srgb,var(--copper) 54%,var(--ink) 46%); }
@media (max-width: 650px) { .account-link { min-height: 34px; margin-left: 4px; padding-inline: 9px; font-size: 11px; } }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--copper); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow i { width: 28px; height: 1px; background: currentColor; }
.btn { min-height: 49px; padding: 10px 19px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; border: 1px solid var(--green); border-radius: 2px; font-size: 13px; font-weight: 700; letter-spacing: .035em; transition: background .18s, color .18s, transform .18s; }
.btn:hover { transform: translateY(-2px); }
.btn span { font-size: 17px; font-weight: 400; line-height: 1; }
.btn-primary { color: var(--paper); background: var(--green); }
.btn-primary:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.btn-ghost { color: var(--green); background: transparent; }
.btn-ghost:hover { background: var(--green-wash); }
.btn-light { color: #22312b; background: #f5ead2; border-color: #f5ead2; }
.btn-light:hover { background: white; }
.btn.full { width: 100%; }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.text-btn { padding: 8px 0; border: 0; border-bottom: 1px solid currentColor; color: var(--copper); background: none; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.text-btn:hover { color: var(--ink); }

/* Masthead and opening spread */
.topbar { width: min(1260px, calc(100% - 64px)); min-height: 84px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; position: relative; z-index: 30; border-bottom: 3px double var(--rule); }
.topbar::after { content: "ANATOQUIZ  /  ATLAS INTERATIVO"; position: absolute; left: 0; right: 0; bottom: -23px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .24em; pointer-events: none; }
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 2px 6px; background: #fff; border: 1px solid #e3dfd4; }
.brand-logo { display: block; width: 188px; height: 46px; }
.brand.mini .brand-logo { width: 160px; height: 39px; }
.nav-links { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.nav-links a { display: inline-flex; align-items: center; gap: 5px; color: var(--ink-soft); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: color .18s; }.nav-links b { color: var(--copper); font: italic 16px "EB Garamond", Georgia, serif; }
.nav-links a:hover { color: var(--copper); }
.top-actions { display: flex; gap: 8px; padding-left: 18px; border-left: 1px solid var(--rule); }
.icon-btn { width: 39px; height: 39px; display: grid; place-items: center; padding: 0; border: 1px solid var(--rule); border-radius: 50%; color: var(--ink); background: var(--paper); }
.icon-btn:hover { color: var(--green); border-color: var(--green); }
.icon-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* Historic plate: source art is preserved, markers are interface annotations. */
.hero-visual { min-width: 0; }
.scan-card { max-width: 480px; margin: 0 auto; padding: 12px; position: relative; border: 4px double var(--rule); color: #263b32; background: #fbf7e9; box-shadow: 12px 12px 0 color-mix(in srgb, var(--rule) 32%, transparent); }
.scan-card::before { content: "TABULA · I"; position: absolute; top: 50%; right: -42px; color: var(--copper); font: italic 14px "EB Garamond", Georgia, serif; letter-spacing: .12em; writing-mode: vertical-rl; transform: translateY(-50%); }
.scan-head { min-height: 70px; padding: 6px 7px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--rule); }
.scan-head > div > span, .anatomy-viewer-head > div > span { display: block; color: var(--copper); font-size: 10px; font-weight: 700; letter-spacing: .15em; }.scan-head > div > span { color: #8c4e35; }
.scan-head strong { display: block; margin-top: 4px; font: 500 20px/1.1 "EB Garamond", Georgia, serif; }
.scan-head button, .anatomy-viewer-actions button { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; border: 1px solid var(--rule); border-radius: 2px; color: var(--ink); background: transparent; font-size: 12px; white-space: nowrap; }.scan-head button { color: #263b32; border-color: #baae95; }
.scan-head button:hover, .anatomy-viewer-actions button:hover { border-color: var(--green); color: var(--green); }
.scan-head button:hover { border-color: #285c53; color: #285c53; }
.scan-head button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.body-map-wrap { aspect-ratio: 4 / 5.2; min-height: 0; position: relative; overflow: hidden; background: #fbf7e9; border-bottom: 1px solid #d6c7a9; }
.body-map { position: absolute; top: 3%; left: 50%; width: auto; height: 94%; max-width: none; max-height: none; transform: translateX(-50%); }
.anatomy-side { position: absolute; bottom: 13px; width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #a6997f; border-radius: 50%; color: #615b4a; background: #fbf7e9dd; font: 700 12px "EB Garamond", Georgia, serif; }
.side-right { left: 12px; }.side-left { right: 12px; }
.hotspot { width: 28px; height: 28px; position: absolute; z-index: 2; padding: 0; border: 1px solid #fff4dc; border-radius: 50%; color: #fff8ea; background: #345e52; box-shadow: 0 0 0 3px #345e5240; transform: translate(-50%, -50%); }
.hotspot::before { content: ""; position: absolute; width: var(--leader, 25px); height: 1px; top: 50%; left: 100%; background: #345e52; }
.hotspot.label-left::before { left: auto; right: 100%; }
.hotspot::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; }
.hotspot b { font: 600 12px "EB Garamond", Georgia, serif; }
.hotspot:hover, .hotspot:focus-visible { z-index: 3; background: #8c4e35; }
.hotspot span { position: absolute; left: calc(100% + var(--leader, 25px)); top: 50%; padding: 3px 6px; border: 1px solid #bcac89; color: #2a3d35; background: #fffcf1f2; font-size: 10px; font-weight: 700; line-height: 1.2; white-space: nowrap; transform: translateY(-50%); }
.hotspot.label-left span { left: auto; right: calc(100% + var(--leader, 25px)); }
.hs-brain { top: 7%; left: 50%; --leader: 34px; }.hs-lungs { top: 25%; left: 44%; --leader: 20px; }.hs-heart { top: 29%; left: 55%; --leader: 15px; }.hs-arm { top: 39%; left: 34%; --leader: 4px; }.hs-abdomen { top: 44%; left: 52%; --leader: 30px; }.hs-leg { top: 73%; left: 56%; --leader: 10px; }
.scan-footer { padding: 12px 7px 2px; display: grid; gap: 4px; color: #5f6456; font-size: 11px; line-height: 1.45; }
.scan-footer strong { color: #263b32; font-size: 12px; font-weight: 700; }.scan-footer strong span { color: #8c4e35; }
.anatomy-credit a { color: #285c53; text-decoration: underline; text-underline-offset: 2px; }
.anatomy-viewer { width: min(1120px, calc(100vw - 24px)); max-width: none; height: calc(100dvh - 24px); max-height: none; padding: 0; border: 1px solid var(--rule); background: var(--paper); color: var(--ink); overflow: hidden; }
.anatomy-viewer::backdrop { background: var(--scrim); }
.anatomy-viewer[open] { display: flex; flex-direction: column; }
.anatomy-viewer-head { padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--rule); }
.anatomy-viewer-head h2 { margin: 3px 0 0; font: 500 23px "EB Garamond", Georgia, serif; }
.anatomy-viewer-actions { display: flex; gap: 8px; }.anatomy-viewer-actions button[aria-pressed="true"] { border-color: var(--green); color: var(--green); }
.anatomy-viewer-canvas { flex: 1; min-height: 0; overflow: auto; background: #fbf7e9; overscroll-behavior: contain; }
.anatomy-viewer-image { width: auto; height: calc(100dvh - 170px); max-width: none; margin: 15px auto; }
.anatomy-viewer-canvas.is-zoomed .anatomy-viewer-image { height: calc(2 * (100dvh - 170px)); }
.anatomy-viewer > p { margin: 0; padding: 9px 18px; color: var(--muted); border-top: 1px solid var(--rule); font-size: 11px; }

/* Index, ledger and citations */
.trails-section, .dashboard-section, .sources-section { padding-top: 62px; padding-bottom: 78px; border-top: 3px double var(--rule); }
.section-heading { margin-bottom: 29px; display: flex; align-items: end; justify-content: space-between; gap: 25px; position: relative; padding-left: 81px; }
.section-ordinal { position: absolute; left: 0; top: -12px; width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid var(--rule); border-radius: 50%; color: var(--copper); font: italic 500 41px/1 "EB Garamond", Georgia, serif; }
.section-heading::after { content: ""; position: absolute; left: 0; right: 0; bottom: -14px; height: 1px; background: var(--rule-soft); }
.section-heading h2 { margin: 7px 0 0; font: 500 clamp(38px, 4.2vw, 61px)/1 "EB Garamond", Georgia, serif; letter-spacing: -.03em; }
.section-heading p { max-width: 610px; margin: 10px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.search-box { width: 250px; min-height: 43px; padding: 0 8px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--rule); }
.search-box:focus-within { border-color: var(--copper); }.search-box svg { width: 18px; fill: none; stroke: var(--copper); stroke-width: 1.6; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }.search-box input::placeholder { color: var(--muted); }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.catalog-divider { grid-column: 1 / -1; min-height: 56px; padding: 9px 16px; display: flex; align-items: baseline; gap: 14px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: var(--paper-deep); }.catalog-divider span { color: var(--copper); font-size: 10px; font-weight: 700; letter-spacing: .14em; }.catalog-divider strong { font: italic 500 22px "EB Garamond", Georgia, serif; }.catalog-divider small { margin-left: auto; color: var(--muted); font-size: 11px; }
.category-card { min-width: 0; min-height: 174px; padding: 14px 17px 12px; display: flex; flex-direction: column; position: relative; color: var(--ink); background: transparent; border: 0; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); text-align: left; transition: background .16s; }
.category-card::before { content: ""; width: 17px; height: 17px; position: absolute; right: -1px; top: -1px; border-right: 1px solid var(--copper); border-top: 1px solid var(--copper); opacity: 0; transition: opacity .16s; }
.category-card:hover { background: var(--green-wash); }.category-card:hover::before { opacity: 1; }.category-card:focus-visible { z-index: 1; }
.cat-top { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.cat-symbol { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid var(--rule); border-radius: 50%; color: var(--green); background: var(--paper); }.trail-icon { width: 25px; height: 25px; }
.cat-index { color: var(--copper); font: italic 500 27px/1 "EB Garamond", Georgia, serif; }
.cat-count { color: var(--muted); font-size: 10px; font-weight: 700; white-space: nowrap; }.cat-count small { margin-left: 2px; font-size: 10px; font-weight: 400; }
.category-card h3 { min-height: 21px; margin: 10px 0 3px; font: 600 22px/1.05 "EB Garamond", Georgia, serif; }
.category-card p { margin: 0; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--muted); font-size: 11px; line-height: 1.35; }
.cat-footer { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: auto; padding-top: 9px; border-top: 1px solid var(--rule-soft); }
.cat-progress { margin-left: auto; color: var(--green); font-size: 10px; font-weight: 700; white-space: nowrap; }.cat-progress i { display: none; }
.cat-arrow { color: var(--copper); font: 22px/1 "EB Garamond", Georgia, serif; }
.dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 4px double var(--rule); }
.stat-card { min-height: 180px; padding: 25px 20px 18px; position: relative; border: 0; background: transparent; }.stat-card + .stat-card { border-left: 1px solid var(--rule); }
.stat-card::before { content: "0" counter(ledger); counter-increment: ledger; position: absolute; top: 9px; right: 14px; color: var(--copper); font: italic 13px "EB Garamond", Georgia, serif; }
.dashboard-grid { counter-reset: ledger; }
.stat-card.accent { border: 0; background: var(--green-wash); }
.stat-card span { display: block; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.stat-card strong { display: block; margin: 10px 0 3px; font: 500 49px/.9 "EB Garamond", Georgia, serif; }.stat-card small { color: var(--muted); font-size: 11px; }
.xp-track { height: 4px; margin: 9px 0 5px; background: var(--rule-soft); }.xp-track i { display: block; height: 100%; width: 0; background: var(--green); }
.challenge-section { padding-bottom: 75px; }
.challenge-panel { min-height: 360px; padding: 45px clamp(30px, 5vw, 70px); display: flex; align-items: center; justify-content: space-between; gap: 24px; position: relative; overflow: hidden; color: #f7eedb; background: #203b36; border: 6px double #b8a077; }
.challenge-panel::before { content: ""; position: absolute; inset: 11px; border: 1px solid #bfa98567; pointer-events: none; }
.challenge-panel::after { content: "EXERCÍCIO  •  01  /  REVISÃO  •  XIX"; position: absolute; bottom: 14px; right: 24px; color: #bfa985; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.challenge-panel > div:first-child { max-width: 620px; position: relative; z-index: 1; }.challenge-panel .eyebrow { color: #d5af86; }
.challenge-panel h2 { max-width: 690px; margin: 10px 0; font: 500 clamp(43px, 4.9vw, 69px)/.99 "EB Garamond", Georgia, serif; letter-spacing: -.02em; }
.challenge-panel p { max-width: 510px; margin: 0 0 20px; color: #d8ddd0; font-size: 14px; line-height: 1.6; }
.challenge-mark { width: 260px; height: 260px; flex: 0 0 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #c9ae81; border-radius: 50%; color: #d9b789; outline: 1px solid #c9ae8177; outline-offset: 9px; transform: rotate(-12deg); }
.challenge-mark span { font-size: 10px; font-weight: 700; letter-spacing: .25em; }.challenge-mark strong { font: italic 400 153px/.91 "EB Garamond", Georgia, serif; }
.source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--rule); counter-reset: source; }
.source-grid article { min-height: 180px; padding: 42px 24px 15px 0; position: relative; border-bottom: 1px solid var(--rule); }.source-grid article + article { padding-left: 24px; border-left: 1px solid var(--rule); }
.source-grid article::before { content: "[ 0" counter(source) " ]"; counter-increment: source; position: absolute; top: 14px; left: 0; color: var(--copper); font: italic 14px "EB Garamond", Georgia, serif; }.source-grid article + article::before { left: 24px; }
.source-grid strong { font: 600 24px "EB Garamond", Georgia, serif; }.source-grid p { margin: 8px 0 13px; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }.source-grid a { color: var(--green); font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.footer { min-height: 120px; padding-block: 25px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 11px; }.footer p { max-width: 350px; }

/* Session folio */
.modal, .quiz-overlay, .result-overlay { position: fixed; inset: 0; z-index: 100; visibility: hidden; opacity: 0; transition: opacity .18s, visibility .18s; }
.modal.open, .quiz-overlay.open, .result-overlay.open { visibility: visible; opacity: 1; }
.modal { display: grid; place-items: center; padding: 14px; }
.modal-backdrop { position: absolute; inset: 0; background: var(--scrim); }
.modal-card { width: min(1010px, 100%); max-height: calc(100dvh - 28px); display: grid; grid-template-columns: minmax(235px, .78fr) minmax(0, 1.35fr); position: relative; overflow: auto; background: var(--paper); border: 4px double var(--rule); box-shadow: var(--shadow); }
.modal-close { width: 36px; height: 36px; position: absolute; z-index: 2; top: 12px; right: 12px; border: 1px solid var(--rule); border-radius: 50%; color: var(--ink); background: var(--paper); font-size: 23px; line-height: 1; }
.modal-close:hover { border-color: var(--copper); color: var(--copper); }
.modal-intro { min-height: 100%; padding: 30px 28px; display: flex; flex-direction: column; align-items: flex-start; position: relative; background: var(--paper-deep); border-right: 3px double var(--rule); }
.modal-intro::after { content: "A · Q  /  ESTUDO ANATÔMICO"; position: absolute; left: 28px; bottom: 25px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.modal-icon { width: 66px; height: 66px; margin-top: 65px; display: grid; place-items: center; border: 1px solid var(--rule); border-radius: 50%; color: var(--green); background: var(--paper); }
.modal-icon svg { width: 37px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.modal-intro h2 { margin: 18px 0 7px; font: 500 clamp(37px, 4vw, 58px)/.95 "EB Garamond", Georgia, serif; }
.modal-intro p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }.modal-intro-note { margin-top: auto; padding: 35px 0 31px; color: var(--copper); font: italic 17px "EB Garamond", Georgia, serif; }
.modal-controls { min-width: 0; padding: 54px 32px 28px; }
.setup-group { margin-bottom: 23px; }.setup-group > label, .setup-label { display: block; margin-bottom: 10px; color: var(--copper); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.trail-selection-head { margin-bottom: 11px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }.trail-selection-head small { display: block; color: var(--muted); font-size: 12px; }
.trail-selection-actions { display: flex; gap: 12px; }.trail-selection-actions button { padding: 0; border: 0; border-bottom: 1px solid currentColor; color: var(--green); background: transparent; font-size: 12px; font-weight: 700; }
.trail-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.trail-options button { min-width: 0; min-height: 38px; padding: 5px 8px; display: flex; align-items: center; gap: 7px; border: 0; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); color: var(--ink-soft); background: transparent; text-align: left; font-size: 12px; line-height: 1.25; }
.trail-options button:hover { background: var(--green-wash); }.trail-options button.selected { color: var(--ink); background: var(--green-wash); }
.trail-check { width: 15px; height: 15px; flex: 0 0 15px; display: grid; place-items: center; border: 1px solid var(--rule); color: transparent; font-size: 10px; }.trail-options button.selected .trail-check { border-color: var(--green); color: var(--paper); background: var(--green); }
.segmented { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--rule); }.segmented button { min-height: 38px; padding: 5px 2px; border: 0; border-right: 1px solid var(--rule); color: var(--ink-soft); background: transparent; font-size: 12px; }.segmented button:last-child { border-right: 0; }.segmented button.active { color: var(--paper); background: var(--green); }.segmented button:hover:not(.active) { background: var(--green-wash); }
.mode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }.mode-option { min-width: 0; min-height: 93px; padding: 10px; border: 1px solid var(--rule); color: var(--ink); background: transparent; text-align: left; }.mode-option.active { border-color: var(--green); background: var(--green-wash); }.mode-option:hover { border-color: var(--green); }.mode-option strong, .mode-option span { display: block; }.mode-option strong { font: 600 18px "EB Garamond", Georgia, serif; }.mode-option span { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.35; }

/* Reading room: question, explanation and progress */
.quiz-overlay { z-index: 110; overflow: auto; background: var(--page); }
.quiz-shell { min-height: 100dvh; }
.quiz-header { width: min(1190px, calc(100% - 64px)); min-height: 75px; margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; border-bottom: 1px solid var(--rule); }
.quiz-quit { justify-self: start; padding: 6px 0; border: 0; border-bottom: 1px solid currentColor; color: var(--copper); background: transparent; font-size: 13px; font-weight: 700; }.quiz-quit:hover { color: var(--ink); }
.quiz-meta { text-align: center; }.quiz-meta span { display: block; font: 600 21px "EB Garamond", Georgia, serif; }.quiz-meta b { color: var(--copper); font-size: 10px; letter-spacing: .16em; }
.quiz-live-stats { justify-self: end; display: flex; gap: 15px; font-size: 13px; font-weight: 700; }.timer { color: var(--copper); }
.reading-toggle { padding: 4px 8px; border: 1px solid var(--rule); color: var(--green); background: transparent; font-size: 11px; font-weight: 700; letter-spacing: .03em; white-space: nowrap; }.reading-toggle:hover, .reading-toggle[aria-pressed="true"] { border-color: var(--green); background: var(--green-wash); }
.quiz-progress-line { height: 3px; background: var(--rule-soft); }.quiz-progress-line i { width: 0; height: 100%; display: block; background: var(--green); transition: width .2s; }
.quiz-main { width: min(1060px, calc(100% - 64px)); margin: 48px auto 70px; display: grid; grid-template-columns: minmax(0, 1fr) 195px; gap: 28px; align-items: start; }
.question-panel { min-width: 0; min-height: 615px; padding: clamp(24px, 4vw, 52px); position: relative; border: 4px double var(--rule); background: var(--paper); box-shadow: var(--shadow); }
.question-panel::before { content: ""; position: absolute; top: 14px; bottom: 14px; left: 22px; width: 1px; background: color-mix(in srgb, var(--copper) 38%, transparent); pointer-events: none; }
.question-panel::after { content: "ANATOQUIZ  /  CADERNO DE RESPOSTAS"; position: absolute; right: 25px; bottom: 12px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.question-topline { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); color: var(--copper); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.question-panel h2 { max-width: 740px; margin: 28px 0 13px; font: 500 clamp(32px, 3.3vw, 46px)/1.13 "EB Garamond", Georgia, serif; letter-spacing: -.02em; }
.question-visual { max-height: 340px; margin-top: 20px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--rule); background: #fbf7e9; }.question-visual img { max-width: 100%; max-height: 325px; object-fit: contain; }
.hint-btn { margin-bottom: 13px; padding: 5px 0; border: 0; border-bottom: 1px solid currentColor; color: var(--green); background: transparent; font-size: 12px; font-weight: 700; }
.question-hint { margin: 0 0 16px; padding: 10px 13px; border-left: 2px solid var(--copper); color: var(--ink-soft); background: var(--paper-deep); font-size: 14px; line-height: 1.5; }
.answer-grid { display: grid; gap: 0; margin-top: 17px; border-top: 1px solid var(--rule); }.answer-btn { width: 100%; min-height: 62px; padding: 9px 14px; display: grid; grid-template-columns: 29px 1fr; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid var(--rule); color: var(--ink); background: transparent; text-align: left; transition: border-color .16s, background .16s; }.answer-btn:hover:not(:disabled) { color: var(--green); background: var(--green-wash); }
.answer-btn .letter { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid var(--rule); border-radius: 50%; color: var(--copper); font: 600 15px "EB Garamond", Georgia, serif; }.answer-btn .label { font-size: 15px; line-height: 1.35; }
.answer-btn.correct { border-color: var(--success); background: var(--green-wash); }.answer-btn.correct .letter { color: var(--paper); border-color: var(--success); background: var(--success); }
.answer-btn.wrong { border-color: var(--red); background: color-mix(in srgb, var(--red) 11%, var(--paper)); }.answer-btn.wrong .letter { color: var(--paper); border-color: var(--red); background: var(--red); }
.answer-btn.selected-exam { color: var(--green); background: var(--green-wash); }.answer-btn.selected-exam .letter { border-color: var(--green); color: var(--green); }
.feedback-box { margin-top: 19px; padding: 16px; border-left: 3px solid var(--green); color: var(--ink-soft); background: var(--paper-deep); font-size: 14px; line-height: 1.55; }.feedback-box strong { display: block; margin-bottom: 4px; color: var(--ink); }
.feedback-xp { color: var(--green); }
.next-btn { margin: 18px 0 0 auto; }.quiz-aside { display: grid; gap: 11px; position: sticky; top: 25px; }.aside-score, .aside-dots, .shortcut-box { padding: 17px; border: 1px solid var(--rule); background: transparent; }
.aside-score span, .aside-score small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.aside-score strong { display: block; margin: 5px 0; font: 500 54px/.9 "EB Garamond", Georgia, serif; }
.aside-dots { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }.aside-dots i { aspect-ratio: 1; border: 1px solid var(--rule); background: var(--paper-deep); }.aside-dots i.current { border-color: var(--copper); box-shadow: inset 0 0 0 2px var(--paper), 0 0 0 1px var(--copper); }.aside-dots i.good { background: var(--success); }.aside-dots i.bad { background: var(--red); }
.shortcut-box { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }.shortcut-box strong { color: var(--ink); font: 600 19px "EB Garamond", Georgia, serif; }kbd { min-width: 20px; padding: 1px 4px; display: inline-grid; place-items: center; border: 1px solid var(--rule); color: var(--ink); font: 11px "Manrope", sans-serif; }
.quiz-shell.reading-mode .quiz-main { width: min(850px, calc(100% - 64px)); grid-template-columns: 1fr; }.quiz-shell.reading-mode .quiz-aside { display: none; }.quiz-shell.reading-mode .question-panel h2 { font-size: clamp(38px, 4vw, 54px); line-height: 1.17; }.quiz-shell.reading-mode .answer-btn .label { font-size: 17px; line-height: 1.5; }.quiz-shell.reading-mode .feedback-box { font-size: 16px; }

/* Closing plate */
.result-overlay { z-index: 120; display: grid; place-items: center; padding: 14px; overflow: auto; background: var(--scrim); }
.result-card { width: min(610px, 100%); max-height: calc(100dvh - 28px); overflow: auto; padding: clamp(25px, 4vw, 44px); position: relative; border: 5px double var(--rule); background: var(--paper); text-align: center; box-shadow: var(--shadow); }
.result-card::before { content: "REGISTRO DE ESTUDO  /  ANATOQUIZ"; display: block; margin: -13px 0 22px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.result-orbit { width: 60px; height: 60px; margin: 0 auto 17px; display: grid; place-items: center; border: 1px solid var(--copper); border-radius: 50%; color: var(--copper); font-size: 26px; }.result-card h2 { margin: 8px 0 3px; font: 500 46px/.98 "EB Garamond", Georgia, serif; }.result-card > p { margin: 8px auto; color: var(--ink-soft); font-size: 14px; }
.result-score { margin: 20px 0; padding: 15px; display: grid; border-block: 1px solid var(--rule); }.result-score strong { color: var(--green); font: 500 76px/.85 "EB Garamond", Georgia, serif; }.result-score span { margin-top: 5px; color: var(--muted); font-size: 12px; }
.result-stats { display: grid; grid-template-columns: repeat(3, 1fr); }.result-stats div + div { border-left: 1px solid var(--rule); }.result-stats strong, .result-stats span { display: block; }.result-stats strong { font: 500 32px "EB Garamond", Georgia, serif; }.result-stats span { color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.result-actions { margin-top: 25px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.result-actions .text-btn { grid-column: 1 / -1; justify-self: center; }
.toast { position: fixed; left: 50%; bottom: 20px; z-index: 200; padding: 10px 15px; border: 1px solid #d7c7a6; color: #fff8e8; background: #243c34; box-shadow: var(--shadow); font-size: 13px; opacity: 0; visibility: hidden; transform: translate(-50%, 12px); transition: .18s; }.toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

@media (max-width: 1050px) {
  .nav-links { gap: 13px; }.hero { grid-template-columns: minmax(0, 1fr) minmax(350px, .85fr); gap: 25px; }.hero h1 { font-size: clamp(55px, 6.7vw, 76px); }
  .challenge-mark { width: 210px; height: 210px; flex-basis: 210px; }.challenge-mark strong { font-size: 122px; }
}
@media (max-width: 800px) {
  .topbar { flex-wrap: wrap; padding-bottom: 9px; }.nav-links { order: 3; width: 100%; justify-content: space-between; padding-top: 7px; border-top: 1px solid var(--rule-soft); }.hero { grid-template-columns: 1fr; gap: 35px; padding-top: 32px; }.hero::before { display: none; }.hero-folio-line { margin-bottom: 8px; }.hero-copy { max-width: 650px; }.hero h1 { font-size: clamp(62px, 9vw, 91px); }.hero-visual { width: 100%; }.scan-card { max-width: 540px; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.dashboard-grid { grid-template-columns: repeat(2, 1fr); }
  .quiz-main { grid-template-columns: minmax(0, 1fr); }.quiz-aside { position: static; display: grid; grid-template-columns: 1fr 2fr; }.shortcut-box { display: none; }
}
@media (max-width: 620px) {
  .site-main { width: 100%; }
  .section-shell, .topbar { width: calc(100% - 32px); }.topbar { min-height: 97px; padding-top: 6px; }.topbar::after { display: none; }.nav-links { gap: 2px; }.nav-links a { gap: 2px; font-size: 10px; letter-spacing: .02em; }.nav-links b { font-size: 13px; }.brand-logo { width: 155px; height: 38px; }.top-actions { padding-left: 8px; }.icon-btn { width: 34px; height: 34px; }.top-actions .icon-btn:first-child { display: none; }
  .hero { padding-top: 25px; padding-bottom: 65px; }.hero-folio-line { margin-bottom: 2px; font-size: 9px; }.hero-folio-line span:last-child { display: none; }.hero-copy { padding-top: 27px; }.hero-copy::after { display: none; }.hero h1 { font-size: clamp(53px, 13.4vw, 75px); }.hero-copy > p { font-size: 15px; }.hero-actions { display: grid; }.hero-metrics { margin-top: 35px; grid-template-columns: repeat(2, 1fr); row-gap: 12px; }.hero-metrics div:nth-child(3) { border-left: 0; padding-left: 0; }.hero-metrics strong { font-size: 29px; }
  .scan-card { padding: 8px; box-shadow: 5px 5px 0 color-mix(in srgb, var(--rule) 32%, transparent); }.scan-card::before { display: none; }.scan-head { min-height: 60px; }.scan-head strong { font-size: 17px; }.scan-footer { font-size: 10px; }.hotspot span { max-width: 94px; width: max-content; white-space: normal; overflow-wrap: anywhere; }.hs-brain { --leader: 8px; }.hs-lungs { --leader: 5px; }.hs-heart { --leader: 2px; }.hs-arm { --leader: 0px; }.hs-abdomen { --leader: 3px; }.hs-leg { --leader: 0px; }
  .section-heading { flex-direction: column; align-items: stretch; gap: 18px; padding-left: 0; padding-top: 56px; }.section-ordinal { top: -7px; width: 48px; height: 48px; font-size: 31px; }.section-heading h2 { font-size: 42px; }.search-box { width: 100%; }.category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.catalog-divider { min-height: 64px; padding: 8px 10px; display: grid; gap: 0; }.catalog-divider strong { font-size: 18px; }.catalog-divider small { display: none; }.category-card { min-height: 146px; padding: 11px; }.category-card h3 { font-size: 18px; margin-top: 10px; }.category-card p { display: none; }.cat-count { font-size: 10px; }.cat-count small { display: none; }.cat-index { font-size: 23px; }
  .trails-section, .dashboard-section, .sources-section { padding-block: 55px; }.stat-card { min-height: 136px; padding: 13px; }.stat-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--rule); }.stat-card:nth-child(4) { border-top: 1px solid var(--rule); }.stat-card strong { font-size: 43px; }
  .challenge-section { padding-bottom: 55px; }.challenge-panel { min-height: 370px; padding: 33px 25px; align-items: flex-start; }.challenge-panel h2 { font-size: clamp(40px, 10vw, 57px); }.challenge-mark { position: absolute; right: -55px; bottom: -90px; opacity: .19; }
  .source-grid { grid-template-columns: 1fr; }.source-grid article { min-height: auto; padding: 17px 0; }.source-grid article + article { padding-left: 0; border-left: 0; }.footer { flex-direction: column; text-align: center; gap: 8px; }.footer p { margin: 0; }
  .modal { padding: 8px; }.modal-card { max-height: calc(100dvh - 16px); grid-template-columns: 1fr; }.modal-intro { min-height: 0; padding: 24px 18px 15px; border-right: 0; border-bottom: 1px solid var(--rule); }.modal-intro::after { display: none; }.modal-icon { display: none; }.modal-intro h2 { margin-top: 12px; font-size: 39px; }.modal-intro-note { display: none; }.modal-controls { padding: 22px 18px; }.trail-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }.trail-options button { min-height: 35px; font-size: 11px; }.mode-option { min-height: 78px; padding: 8px; }.mode-option strong { font-size: 17px; }.mode-option span { font-size: 10px; }
  .quiz-header, .quiz-main { width: calc(100% - 28px); }.quiz-header { min-height: 62px; grid-template-columns: 1fr auto; }.quiz-meta { display: none; }.quiz-live-stats { gap: 7px; }.reading-toggle { font-size: 10px; padding: 3px 5px; }.quiz-main { margin-top: 17px; }.question-panel { min-height: 0; padding: 22px 17px 34px; }.question-panel::before { display: none; }.question-panel h2 { font-size: clamp(29px, 7vw, 38px); }.answer-btn { min-height: 60px; padding: 8px 10px; gap: 10px; }.answer-btn .label { font-size: 14px; }.quiz-aside { grid-template-columns: 1fr; }.aside-score { display: none; }.aside-dots { order: -1; }.result-card h2 { font-size: 39px; }.quiz-shell.reading-mode .quiz-main { width: calc(100% - 28px); }.quiz-shell.reading-mode .question-panel h2 { font-size: clamp(32px, 8vw, 42px); }.quiz-shell.reading-mode .answer-btn .label { font-size: 16px; }
  .anatomy-viewer-head { align-items: flex-start; flex-direction: column; }.anatomy-viewer-head h2 { font-size: 19px; }.anatomy-viewer-image { height: calc(100dvh - 230px); }.anatomy-viewer-canvas.is-zoomed .anatomy-viewer-image { height: calc(2 * (100dvh - 230px)); }
}
@media (max-width: 370px) {
  .category-card { min-height: 130px; }.category-card h3 { font-size: 16px; }.cat-progress { font-size: 9px; }.trail-options { grid-template-columns: 1fr; }.mode-grid { grid-template-columns: 1fr; }.mode-option { min-height: 57px; }.mode-option span { margin-top: 0; }.result-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Royal study edition: one identity throughout the learning experience. */
:root { --page:#f5f1e7; --paper:#fffdf5; --paper-deep:#ece7d9; --ink:#162650; --ink-soft:#405074; --muted:#60708a; --rule:#c7cfe2; --rule-soft:#e0e3e9; --green:#183650; --green-wash:#e8edf1; --copper:#8a671d; --red:#b12e42; --success:#187653; --scrim:#0a1747c9; --shadow:0 15px 45px #17327114; --royal:#183650; --gold:#c5a66b; --ivory:#fff9e9; }
:root[data-theme="dark"] { --page:#102235; --paper:#193044; --paper-deep:#243b50; --ink:#fff9e9; --ink-soft:#d7e1e8; --muted:#b0c0cf; --rule:#4f677d; --rule-soft:#334d64; --green:#b1c9df; --green-wash:#29455e; --copper:#edca74; --red:#ffa6b1; --success:#8adab2; --scrim:#060e30df; --shadow:0 15px 45px #050b2840; }
body { font-family:"Manrope",system-ui,sans-serif; background:var(--page); }
body::before { display:none; }
html { scroll-padding-top:24px; }
.site-main { width:100%; margin:0; border:0; box-shadow:none; background:transparent; }
.section-shell { width:min(1230px,calc(100% - 88px)); }
:focus-visible { outline:3px solid var(--copper); outline-offset:4px; }
.topbar { width:min(1320px,calc(100% - 64px)); min-height:98px; margin:auto; padding:9px 0; border:0; gap:28px; }
.topbar::after { display:none; }.brand { border:0; padding:0; background:transparent; }
.brand-logo { width:94px; height:78px; object-fit:contain; }
:root[data-theme="dark"] .brand-logo { filter:brightness(0) saturate(100%) invert(91%) sepia(18%) saturate(490%) hue-rotate(340deg) brightness(101%) contrast(93%); }
.nav-links { gap:30px; }.nav-links a { color:var(--ink-soft); font-size:12px; letter-spacing:0; text-transform:none; font-weight:700; }.nav-links a:hover { color:var(--green); }
.top-actions { padding-left:22px; border-color:var(--rule); }.icon-btn { border-radius:12px; border:1px solid var(--rule); color:var(--green); background:var(--paper); }
.game-hero { position:relative; isolation:isolate; overflow:hidden; width:calc(100% - 32px); max-width:1560px; margin:0 auto; border-radius:28px; padding:65px max(5%,calc((100% - 1230px)/2)) 0; color:var(--ivory); background:#183650; display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:50px 7%; }
.hero-arena { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.hero-arena i { position:absolute; right:-100px; top:-220px; width:800px; height:800px; border:1px solid #e7c97730; border-radius:50%; }.hero-arena i:last-child { right:-155px; top:-275px; width:910px; height:910px; border-style:dashed; opacity:.6; }
.game-kicker { display:flex; align-items:center; gap:9px; color:#f6d991; font-size:10px; font-weight:800; letter-spacing:.16em; }.game-kicker i { width:7px; height:7px; background:#f0c663; border-radius:50%; box-shadow:0 0 0 5px #efd48816; }
.game-intro h1 { margin:24px 0 20px; font:800 clamp(40px,4.45vw,70px)/1.08 "Manrope",sans-serif; letter-spacing:-.06em; }
.game-intro h1 em { display:inline-block; color:#f2cb6d; font:500 1.3em/.8 "EB Garamond",Georgia,serif; letter-spacing:-.045em; transform:rotate(-3deg); }
.game-intro > p { max-width:435px; color:#e0e7ff; font-size:15px; line-height:1.85; }
.game-start { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:31px; }.quiz-launch { min-height:61px; padding:16px 23px; display:flex; align-items:center; justify-content:center; gap:19px; border:1px solid #ffdf91; border-radius:13px; color:#17234a; background:#f1cb70; box-shadow:0 5px 0 #b18425,0 15px 25px #0c1a6c38; font-size:16px; font-weight:800; transition:transform .16s,box-shadow .16s; }.quiz-launch:hover { transform:translateY(-2px); box-shadow:0 7px 0 #b18425,0 18px 28px #0c1a6c38; }.quiz-launch:active { transform:translateY(3px); box-shadow:0 2px 0 #b18425; }.quiz-launch .play-symbol { font-size:12px; }.quiz-launch > span:last-child { margin-left:10px; font-size:22px; font-weight:500; }
.game-start > a { color:#fff8e5; font-size:12px; font-weight:700; border-bottom:1px solid #c6d0ff75; padding:6px 0; }.game-start > a span { margin-left:8px; }.start-note { display:block; margin-top:18px; color:#d0dbff; font-size:10px; }
.game-strip { grid-column:1/-1; display:flex; align-items:center; gap:38px; padding:25px 0; margin-top:8px; border-top:1px solid #91a7ff69; }.game-strip > div { display:flex; align-items:center; gap:10px; }.game-strip strong { font-size:25px; font-weight:800; letter-spacing:-.05em; }.game-strip div span { max-width:85px; font-size:10px; line-height:1.5; color:#d2ddff; }.game-strip a { margin-left:auto; font-size:10px; font-weight:700; }.game-strip a span { margin-left:16px; color:#f2cc71; font-size:22px; }
.trails-section,.dashboard-section,.sources-section { padding-block:62px; border:0; }
.section-heading { padding:0; align-items:center; margin-bottom:26px; }.section-heading::after,.section-ordinal { display:none; }
.eyebrow { color:var(--green); font-size:9px; letter-spacing:.12em; }.eyebrow i { width:17px; height:3px; border-radius:3px; background:var(--gold); }
.section-heading h2 { font:800 clamp(25px,2.5vw,36px)/1.2 "Manrope",sans-serif; letter-spacing:-.045em; margin:10px 0; }.section-heading p { color:var(--muted); font-size:12px; margin:0; }
.search-box { flex:0 0 240px; border:1px solid var(--rule); border-radius:12px; padding:0 13px; background:var(--paper); min-height:47px; }.search-box input { font-size:11px; }.search-box svg { stroke:var(--green); }
.category-grid { gap:13px; border:0; }.catalog-divider { grid-column:1/-1; display:flex; align-items:center; gap:12px; padding:10px 0 8px; min-height:0; margin:0; border:0; background:none; color:var(--ink); }.catalog-divider:not(:first-child) { margin-top:15px; }.catalog-divider > span { padding:4px 8px; border-radius:5px; color:var(--green); background:var(--green-wash); font-size:10px; font-weight:800; }.catalog-divider strong { font:700 13px "Manrope",sans-serif; color:var(--ink); }.catalog-divider small { margin-left:auto; color:var(--muted); font-size:10px; }
.category-card { min-height:176px; padding:17px; border:1px solid var(--rule); border-bottom:3px solid var(--rule); border-radius:15px; background:var(--paper); box-shadow:0 5px 13px #15307105; transition:transform .18s,border-color .18s,box-shadow .18s; }.category-card::before { display:none; }.category-card:hover { transform:translateY(-3px); border-color:var(--green); background:var(--paper); box-shadow:0 8px 19px #173bce19; }
.cat-symbol { width:38px; height:38px; border:0; border-radius:11px; color:var(--green); background:var(--green-wash); }.trail-icon { width:26px; height:26px; }.cat-index { color:var(--muted); font:600 12px/1 "Manrope",sans-serif; padding:6px 0; }.category-card h3 { font:800 16px/1.3 "Manrope",sans-serif; margin:13px 0 5px; letter-spacing:-.025em; }.category-card p { font-size:10px; line-height:1.5; }.cat-footer { padding-top:10px; margin-top:13px; border-color:var(--rule-soft); }.cat-count { font-size:10px; }.cat-count small { font-size:9px; }.cat-progress { font-size:9px; }.cat-arrow { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:#21367b; background:#e0cda4; font:16px "Manrope",sans-serif; }
.atlas-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:9%; padding:45px 6%; background:#183650; border:0; border-radius:24px; color:#fff9e9; }.atlas-intro .eyebrow { color:#efd083; }.atlas-intro h2 { margin:24px 0; color:#fff9e9; font:800 clamp(31px,3.5vw,50px)/1.15 "Manrope",sans-serif; letter-spacing:-.05em; }.atlas-intro h2 em { font-family:"EB Garamond",Georgia,serif; font-weight:500; color:#ddc591; font-size:1.2em; }.atlas-intro > p { max-width:370px; color:#e0e8ff; font-size:13px; line-height:1.8; }.atlas-specimen { display:flex; align-items:center; gap:15px; margin-top:27px; padding-top:20px; border-top:1px solid #a4b6ff6b; }.atlas-specimen > span { display:grid; place-items:center; width:39px; height:39px; border-radius:11px; background:#d6bd8c; color:#213781; font-size:23px; }.atlas-specimen p { color:#ecf0ff; font-size:11px; line-height:1.8; }.atlas-intro .atlas-instruction { font-size:10px; color:#c7d5ff; }.scan-card { width:100%; max-width:360px; padding:10px; border:0; border-radius:16px; color:#1b2c58; background:#fffaf0; box-shadow:0 12px 0 #10273d,0 22px 35px #1028794a; }.scan-card::before { display:none; }.scan-head { padding:7px 6px 15px; border-color:#d8d7cd; }.scan-head strong { font:700 14px "Manrope",sans-serif; }.scan-head > div > span { color:#526587; font-size:8px; }.scan-head button { border-radius:7px; font-size:10px; border-color:#c6cee4; color:#183650; }.body-map-wrap { border-radius:8px; }.hotspot { background:#183650; box-shadow:0 0 0 3px #18365030; }.hotspot::before { background:#183650; }.hotspot:hover,.hotspot:focus-visible { background:#102b43; }.hotspot span { color:#1d336a; border-color:#b6c2e1; }.scan-footer { font-size:10px; }.scan-footer strong { color:#243765; }.anatomy-credit a { color:#183650; }
.dashboard-grid { gap:14px; border:0; background:none; box-shadow:none; }.stat-card { min-height:161px; padding:23px; border:1px solid var(--rule); border-radius:15px; background:var(--paper); }.stat-card + .stat-card { border:1px solid var(--rule); }.stat-card::before { display:none; }.stat-card.accent { color:#fff9e9; background:#183650; border:1px solid #183650; }.stat-card span { font-size:9px; letter-spacing:.07em; }.stat-card strong { margin-block:17px 9px; font:800 37px/1 "Manrope",sans-serif; letter-spacing:-.055em; }.stat-card small { font-size:10px; }.stat-card.accent span,.stat-card.accent small { color:#dce5ff; }.xp-track { height:5px; border-radius:8px; }.xp-track i { border-radius:8px; background:var(--gold); }
.challenge-section { padding-bottom:56px; }.challenge-panel { min-height:0; padding:40px 45px; gap:45px; border:1px solid var(--rule); border-radius:24px; color:var(--ink); background:var(--paper); box-shadow:none; }.challenge-panel::before,.challenge-panel::after { display:none; }.challenge-panel > div:first-child { flex:1; }.challenge-panel .eyebrow { color:var(--green); }.challenge-panel h2 { color:var(--ink); font:800 clamp(28px,3vw,41px)/1.15 "Manrope",sans-serif; letter-spacing:-.045em; margin:15px 0; }.challenge-panel p { color:var(--muted); font-size:12px; margin:0; }.quick-modes { display:grid; gap:10px; flex:1; }.quick-modes button { display:flex; align-items:center; gap:15px; width:100%; padding:16px; border:1px solid var(--rule); border-radius:12px; color:var(--ink); background:var(--page); text-align:left; transition:transform .16s,border-color .16s; }.quick-modes button:hover { transform:translateX(3px); border-color:var(--green); }.mode-emblem { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:var(--green-wash); color:var(--green); font-size:25px; }.quick-modes strong { display:block; font-size:14px; }.quick-modes small { display:block; color:var(--muted); font-size:10px; margin-top:3px; }.quick-modes b { margin-left:auto; color:var(--copper); }
.sources-section { border-top:1px solid var(--rule); padding-top:40px; }.sources-section .section-heading h2 { font-size:26px; }.source-grid { gap:24px; border:0; }.source-grid article { min-height:0; padding:0 0 0 17px; border:0; border-left:3px solid var(--gold); }.source-grid article + article { padding-left:17px; border-left:3px solid var(--gold); }.source-grid article::before { display:none; }.source-grid strong { font:800 14px "Manrope",sans-serif; }.source-grid p { font-size:11px; }.source-grid a { font-size:10px; }.footer { font-size:10px; min-height:110px; }.brand.mini .brand-logo { width:82px; height:74px; }
.btn { border-radius:10px; letter-spacing:0; font-size:12px; min-height:47px; }.btn-primary { background:#183650; border-color:#183650; color:#fff9e9; box-shadow:0 4px 0 #10263c; }.btn-primary:hover { background:#244a68; color:#fff9e9; border-color:#244a68; }.btn-ghost { color:var(--green); border-color:var(--rule); background:var(--paper); }.text-btn { font-size:11px; color:var(--green); }
.modal-card { border:1px solid var(--rule); border-radius:22px; box-shadow:0 30px 90px #06113d80; grid-template-columns:.72fr 1.3fr; }.modal-intro { padding:35px 28px; color:#fff9e9; background:#183650; border:0; }.modal-intro::after { content:"ANATOQUIZ / APRENDA RESPONDENDO"; color:#bfceff; font-size:8px; letter-spacing:.06em; }.modal-intro .eyebrow { color:#f0d18a; font-size:8px; }.modal-icon { color:#24445d; border:0; border-radius:16px; background:#d6bd8c; margin-top:42px; }.modal-intro h2 { color:#fff9e9; font:800 clamp(27px,3vw,40px)/1.14 "Manrope",sans-serif; letter-spacing:-.04em; }.modal-intro p { color:#d9e2ff; font-size:12px; }.modal-intro-note { color:#ddc591; font:600 18px/1.4 "Manrope",sans-serif; }.modal-close { border-radius:10px; }.modal-controls { padding:48px 28px 30px; }.setup-group label,.setup-label { font-size:10px; letter-spacing:.03em; }
.trail-options { border:0; gap:6px; }.trail-options button { border:1px solid var(--rule); border-radius:7px; font-size:10px; min-height:37px; }.trail-options button.selected { border-color:var(--green); }.trail-check { border-radius:4px; }
.segmented { border-radius:9px; overflow:hidden; background:var(--page); }.segmented button { font-size:11px; }.mode-option { border-radius:9px; background:var(--page); }.mode-option strong { font:800 14px "Manrope",sans-serif; }.mode-option span { font-size:10px; }.mode-option.active { box-shadow:inset 0 0 0 1px var(--green); }
.quiz-overlay { background:var(--page); }.quiz-header { width:min(1150px,calc(100% - 48px)); min-height:83px; border:0; }.quiz-quit { border:1px solid var(--rule); border-radius:9px; padding:9px 13px; font-size:11px; color:var(--green); background:var(--paper); }.quiz-meta span { font:800 17px "Manrope",sans-serif; }.quiz-meta b { color:var(--green); font-size:9px; }.reading-toggle { border-radius:7px; font-size:10px; padding:7px 9px; }.quiz-live-stats { font-size:11px; align-items:center; }.timer { color:var(--green); font-variant-numeric:tabular-nums; }
.quiz-progress-line { height:5px; background:var(--rule-soft); }.quiz-progress-line i { background:#183650; border-radius:0 4px 4px 0; }
.quiz-main { margin-top:32px; gap:22px; }.question-panel { min-height:530px; padding:35px; border:1px solid var(--rule); border-radius:20px; background:var(--paper); box-shadow:0 6px 0 var(--rule-soft),var(--shadow); }.question-panel::before,.question-panel::after { display:none; }.question-topline { border:0; color:var(--green); font-size:10px; letter-spacing:.03em; }.question-topline > span { padding:6px 10px; background:var(--green-wash); border-radius:6px; }.question-panel h2 { font:700 clamp(23px,2.5vw,32px)/1.4 "Manrope",sans-serif; letter-spacing:-.035em; margin:25px 0 17px; }.hint-btn { font-size:11px; }.question-hint { border-radius:0 8px 8px 0; border-color:var(--gold); font-size:13px; }
.answer-grid { gap:10px; border:0; }.answer-btn { min-height:61px; border:1px solid var(--rule); border-bottom:3px solid var(--rule); border-radius:11px; background:var(--paper); gap:13px; padding:11px 14px; }.answer-btn .letter { width:30px; height:30px; border:0; border-radius:7px; background:var(--green-wash); color:var(--green); font:800 12px "Manrope",sans-serif; }.answer-btn .label { font-size:13px; line-height:1.55; }.answer-btn:hover:not(:disabled) { border-color:var(--green); }.answer-btn.correct { background:color-mix(in srgb,var(--success) 10%,var(--paper)); }.feedback-box { border-radius:10px; font-size:13px; background:var(--green-wash); }.aside-score,.aside-dots,.shortcut-box { border-radius:13px; border:1px solid var(--rule); background:var(--paper); }.aside-score { background:#183650; color:#fff9e9; border-color:#183650; }.aside-score span,.aside-score small { color:#d7e1ff; font-size:9px; }.aside-score strong { font:800 43px "Manrope",sans-serif; }.aside-dots i { border-radius:5px; }.shortcut-box strong { font:700 13px "Manrope",sans-serif; }.shortcut-box { font-size:10px; }
.quiz-shell.reading-mode .question-panel h2 { font:600 clamp(25px,3vw,35px)/1.55 "Manrope",sans-serif; }.quiz-shell.reading-mode .answer-btn .label { font-size:16px; }
.result-card { border:1px solid var(--rule); border-radius:23px; box-shadow:0 30px 90px #07133f70; padding:35px; }.result-card::before { display:none; }.result-orbit { width:70px; height:70px; border:4px solid #f8e5ac; background:#eec96e; color:#203eaa; box-shadow:0 0 0 6px #e7be5e22; }.result-card h2 { font:800 33px/1.2 "Manrope",sans-serif; letter-spacing:-.04em; }.result-score { border:0; border-radius:15px; background:var(--green-wash); }.result-score strong { font:800 67px/1.1 "Manrope",sans-serif; letter-spacing:-.07em; }.result-stats strong { font:800 25px "Manrope",sans-serif; }.result-stats span { font-size:9px; }.result-card > p { font-size:12px; }
.anatomy-viewer { border-radius:16px; }.anatomy-viewer-head h2 { font:700 19px "Manrope",sans-serif; }.anatomy-viewer-actions button { border-radius:7px; font-size:11px; }.toast { border-radius:10px; color:#fff9e9; background:#183650; border-color:#758bed; }
@media(min-width:1500px) { .game-hero { padding-inline:100px; } }
@media(max-width:1100px) { .game-hero { padding-inline:5%; gap:40px 5%; }.game-intro h1 { font-size:48px; }.game-start { gap:16px; }.game-start > a { font-size:10px; }.game-strip { gap:25px; }.game-strip a { max-width:160px; }.category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:800px) { .section-shell { width:calc(100% - 48px); }.topbar { min-height:88px; flex-wrap:nowrap; padding:7px 0; }.nav-links { order:initial; width:auto; border:0; padding:0; gap:18px; }.nav-links a { font-size:10px; }.nav-links a:last-child { display:none; }.brand-logo { width:80px; height:68px; }.game-hero { grid-template-columns:1fr 1fr; padding:42px 5% 0; gap:36px 5%; }.game-intro h1 { font-size:37px; }.game-intro > p { font-size:12px; }.game-kicker { font-size:8px; }.game-start { margin-top:24px; }.quiz-launch { font-size:13px; padding:13px 16px; min-height:55px; }.start-note { font-size:9px; }.game-strip { gap:22px; padding-block:22px; }.game-strip a { display:none; }.game-strip > div { flex:1; }.game-strip strong { font-size:23px; }.game-strip div span { font-size:9px; }.search-box { flex-basis:200px; }.atlas-section { gap:6%; padding:35px; }.atlas-intro h2 { font-size:32px; }.dashboard-grid { grid-template-columns:repeat(2,1fr); }.challenge-panel { padding:30px; gap:25px; }.quick-modes button { padding:12px; }.modal-card { grid-template-columns:.7fr 1.3fr; }.modal-intro { padding:30px 20px; } }
@media(max-width:620px) {
  .section-shell { width:calc(100% - 36px); }.topbar { width:calc(100% - 36px); min-height:80px; height:auto; padding:6px 0; gap:14px; }.brand-logo { width:73px; height:62px; }.nav-links { margin-left:auto; gap:15px; }.nav-links a { font-size:10px; }.nav-links a:nth-child(2),.nav-links a:nth-child(4) { display:none; }.top-actions { border:0; padding:0; }.icon-btn { width:32px; height:32px; border-radius:9px; }
.game-hero { width:calc(100% - 20px); border-radius:20px; grid-template-columns:1fr; padding:33px 24px 0; gap:30px; }.hero-arena > span { font-size:750px; right:-140px; top:80px; }.hero-arena i { width:600px; height:600px; right:-220px; top:170px; }.hero-arena i:last-child { width:710px; height:710px; right:-275px; top:115px; }.game-intro h1 { font-size:clamp(34px,9.1vw,53px); margin:21px 0 16px; }.game-intro > p { font-size:12px; line-height:1.75; max-width:370px; }.game-kicker { font-size:8px; }.game-start { gap:16px; }.quiz-launch { min-height:55px; font-size:14px; padding:13px 17px; }.game-start > a { font-size:10px; }.start-note { margin-top:17px; }.game-strip { gap:15px; margin-top:0; padding:23px 0; }.game-strip > div { display:block; }.game-strip strong { font-size:23px; }.game-strip div span { display:block; font-size:8px; margin-top:4px; }
  .trails-section,.dashboard-section,.sources-section { padding-block:40px; }.section-heading { padding:0; gap:17px; margin-bottom:17px; }.section-heading h2 { font-size:27px; }.section-heading p { font-size:11px; }.search-box { flex:auto; width:100%; min-height:44px; }.category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.catalog-divider { display:flex; padding-block:9px; gap:8px; }.catalog-divider strong { font-size:11px; line-height:1.5; }.catalog-divider small { display:none; }.category-card { min-height:151px; padding:13px; border-radius:12px; }.category-card h3 { font-size:13px; line-height:1.4; margin-block:10px; }.cat-symbol { width:33px; height:33px; border-radius:9px; }.trail-icon { width:24px; height:24px; }.cat-index { font-size:10px; }.category-card p { display:none; }.cat-footer { margin-top:auto; padding-top:9px; gap:4px; }.cat-count { font-size:9px; }.cat-count small { display:none; }.cat-progress { font-size:8px; }.cat-arrow { width:19px; height:19px; font-size:14px; }
  .atlas-section { grid-template-columns:1fr; padding:28px 22px; gap:25px; border-radius:20px; }.atlas-intro h2 { font-size:32px; margin:17px 0; }.atlas-intro h2 br { display:none; }.atlas-intro > p { font-size:12px; }.atlas-specimen { margin-top:18px; padding-top:13px; }.atlas-intro .atlas-instruction { font-size:9px; }.scan-card { padding:8px; border-radius:12px; }.scan-head strong { font-size:12px; }.scan-head { min-height:60px; padding-inline:3px; }.scan-head button { padding:7px; }.hotspot span { max-width:83px; font-size:8px; }.scan-footer { font-size:9px; }.scan-footer strong { font-size:10px; }
  .dashboard-grid { gap:10px; }.stat-card,.stat-card + .stat-card { min-height:140px; padding:17px; border:1px solid var(--rule); }.stat-card.accent { border-color:#183650; }.stat-card strong { font-size:33px; }.stat-card span { font-size:8px; }.stat-card small { font-size:9px; }
  .challenge-section { padding-bottom:40px; }.challenge-panel { display:block; padding:27px 22px; border-radius:20px; }.challenge-panel h2 { font-size:31px; }.challenge-panel p { font-size:11px; }.quick-modes { margin-top:24px; }.quick-modes button { padding:13px; }.quick-modes small { font-size:10px; }.source-grid { gap:20px; }.source-grid article,.source-grid article + article { padding:0 0 0 15px; border:0; border-left:3px solid var(--gold); }.sources-section .section-heading h2 { font-size:25px; }.footer { gap:10px; padding-block:20px; }.brand.mini .brand-logo { width:75px; height:66px; }
  .modal { padding:9px; }.modal-card { max-height:calc(100dvh - 18px); border-radius:17px; grid-template-columns:1fr; }.modal-intro { padding:25px 21px 22px; }.modal-intro h2 { max-width:85%; margin:14px 0 8px; font-size:28px; }.modal-intro p { font-size:11px; }.modal-close { top:12px; right:12px; }.modal-controls { padding:22px 19px; }.trail-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }.trail-options button { font-size:9px; padding:6px; min-height:37px; }.trail-selection-actions button { font-size:10px; }.mode-grid { gap:6px; }.mode-option { padding:9px; min-height:87px; }.mode-option strong { font-size:12px; }.mode-option span { font-size:9px; }.segmented button { font-size:10px; }.setup-group { margin-bottom:22px; }
  .quiz-header { width:calc(100% - 28px); min-height:68px; }.quiz-meta { display:none; }.quiz-live-stats { gap:8px; font-size:10px; }.quiz-quit { padding:7px 9px; font-size:10px; }.reading-toggle { padding:6px; font-size:9px; }.quiz-main { width:calc(100% - 26px); margin-top:18px; }.question-panel { min-height:0; padding:23px 18px; border-radius:16px; }.question-panel h2 { font-size:23px; line-height:1.43; }.question-topline { gap:6px; font-size:8px; }.question-topline > span { padding:5px 7px; }.answer-btn { min-height:60px; padding:10px 11px; gap:11px; }.answer-btn .label { font-size:12px; }.feedback-box { font-size:12px; }.quiz-shell.reading-mode .question-panel h2 { font-size:25px; }.quiz-shell.reading-mode .answer-btn .label { font-size:15px; }.quiz-shell.reading-mode .quiz-main { width:calc(100% - 26px); }.result-card { padding:28px 21px; border-radius:18px; }.result-card h2 { font-size:27px; }.result-stats strong { font-size:23px; }.anatomy-viewer-head h2 { font-size:16px; }
}
@media(max-width:360px) { .game-hero { padding-inline:19px; }.game-intro h1 { font-size:33px; }.game-start { gap:15px; }.game-start > a { width:100%; border:0; padding:0; }.category-card { padding:10px; min-height:144px; }.category-card h3 { font-size:12px; }.cat-progress { font-size:7px; }.trail-options { grid-template-columns:1fr; }.mode-grid { grid-template-columns:1fr; }.mode-option { min-height:53px; } }
@media(max-width:620px) { .aside-dots { grid-template-columns:repeat(10,minmax(0,1fr)); gap:5px; padding:13px; }.atlas-intro h2 em::before { content:' '; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

/* Deep navy, warm ivory and restrained gold frame the study experience. */
.game-hero { color:#f5efdf; background:radial-gradient(ellipse at 80% 30%,#54647235,transparent 47%),linear-gradient(115deg,#142e47,#0b1b2c 80%); border:1px solid #31465b; padding-top:46px; gap:28px 7%; border-radius:20px; box-shadow:0 22px 45px #142b411a; }
.game-kicker { color:#d2b984; letter-spacing:.2em; }.game-kicker i { width:22px; height:1px; border-radius:0; background:#c5a66b; box-shadow:none; }
.game-intro h1 { font-family:"EB Garamond",Georgia,serif; font-weight:500; font-size:clamp(60px,6.3vw,90px); line-height:.99; letter-spacing:-.035em; margin-block:26px; }
.game-intro h1 em { color:#ddc591; font-size:1em; line-height:inherit; transform:none; letter-spacing:-.035em; }.game-intro > p { color:#c0cbd5; font-size:14px; line-height:1.9; max-width:405px; }
.game-start > a { color:#e2e7e9; border-color:#77899a70; }.start-note { color:#9caebf; }
.hero-arena i { right:-180px; top:-130px; border-color:#a7874526; }.hero-arena i:last-child { right:-235px; top:-185px; }
.game-strip { border-color:#b7c4d12e; margin-top:0; }.game-strip strong { color:#f3e9d5; font-family:"EB Garamond",Georgia,serif; font-size:33px; font-weight:500; letter-spacing:-.02em; }.game-strip div span { color:#aebdcb; }.game-strip a { color:#d1dce3; }.game-strip a span { color:#d1b985; }
.quiz-launch { border:1px solid #e8d4ac; border-radius:7px; color:#172a3b; background:linear-gradient(110deg,#c5a66b,#e4cfa1); box-shadow:inset 0 1px 0 #ffefca88,0 7px 22px #0003; min-height:59px; font-size:14px; gap:22px; }.quiz-launch:hover { transform:translateY(-2px); box-shadow:inset 0 1px 0 #ffefca88,0 12px 30px #0005; }.quiz-launch:active { transform:translateY(1px); box-shadow:0 3px 10px #0003; }
.hero-sculpture { width:min(100%,430px); min-width:0; position:relative; justify-self:center; margin:0; padding:13px 13px 0; }
.hero-sculpture::before { content:""; position:absolute; inset:0 0 44px; border:1px solid #bfa57066; border-radius:240px 240px 15px 15px; pointer-events:none; }
.sculpture-window { height:490px; position:relative; overflow:hidden; border-radius:220px 220px 9px 9px; background:#122537; box-shadow:0 22px 50px #0005; }
.sculpture-window picture,.sculpture-window img { display:block; width:100%; height:100%; }
.sculpture-window img { object-fit:cover; object-position:52% 44%; }
.sculpture-window::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#10253b9c,transparent 43%); }
.sculpture-seal { position:absolute; right:-20px; bottom:83px; width:95px; height:95px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:5px solid #f3eddc; outline:1px solid #bd9e55; border-radius:50%; color:#273d67; background:#e9ce8e; font:500 32px/1 "EB Garamond",Georgia,serif; transform:rotate(9deg); box-shadow:0 7px 25px #172d5326; }
.sculpture-seal span { margin-top:5px; text-align:center; font:800 7px/1.5 "Manrope",sans-serif; letter-spacing:.12em; }
.hero-sculpture figcaption { padding:19px 0 0; text-align:center; color:#a4b2be; font-size:8px; letter-spacing:.09em; }
:root[data-theme="dark"] .game-hero { color:#fff9e9; background:radial-gradient(ellipse at 80% 30%,#54647235,transparent 47%),linear-gradient(115deg,#142e47,#0b1b2c 80%); border-color:#425469; }
:root[data-theme="dark"] .game-kicker,:root[data-theme="dark"] .game-intro h1 em { color:#e7c77e; }
:root[data-theme="dark"] .game-intro > p,:root[data-theme="dark"] .game-start > a,:root[data-theme="dark"] .game-strip a { color:#d5def0; }
:root[data-theme="dark"] .start-note,:root[data-theme="dark"] .game-strip div span,:root[data-theme="dark"] .hero-sculpture figcaption { color:#b6c5df; }
@media(max-width:1100px) { .sculpture-window { height:440px; }.hero-sculpture { max-width:365px; }.sculpture-seal { right:-8px; width:80px; height:80px; font-size:28px; } }
@media(max-width:800px) { .game-hero { padding-top:32px; }.sculpture-window { height:390px; }.hero-sculpture { padding:10px 10px 0; }.sculpture-seal { width:69px; height:69px; border-width:4px; bottom:65px; font-size:25px; }.sculpture-seal span { font-size:6px; }.hero-sculpture::before { bottom:42px; }.hero-sculpture figcaption { font-size:7px; } }
@media(max-width:620px) { .game-hero { padding-top:31px; gap:29px; }.game-intro { position:relative; z-index:1; }.hero-sculpture { width:100%; max-width:345px; }.sculpture-window { height:370px; }.sculpture-window img { object-position:50% 40%; }.sculpture-seal { right:-3px; bottom:67px; width:77px; height:77px; font-size:28px; }.hero-arena i { top:340px; right:-350px; }.hero-arena i:last-child { top:285px; right:-405px; }.game-strip { padding-block:22px; } }
@media(max-width:360px) { .sculpture-window { height:320px; }.hero-sculpture { max-width:280px; } }
@media(max-width:1100px) { .game-intro h1 { font-size:clamp(52px,6.7vw,72px); } }
@media(max-width:800px) { .game-intro h1 { font-size:50px; }.game-intro > p { font-size:12px; } }
@media(max-width:620px) { .game-hero { border-radius:16px; }.game-intro h1 { font-size:clamp(44px,12vw,66px); margin-block:22px; }.game-intro > p { font-size:12px; line-height:1.8; }.game-kicker { font-size:8px; }.game-strip strong { font-size:28px; }.quiz-launch { min-height:55px; font-size:13px; } }

/* Study collection: editorial hierarchy, compact navigation, calm reading. */
:root { --rule:#cbd0d0; --rule-soft:#e1e3df; --paper:#fffdf7; --paper-deep:#ebe7dc; --green-wash:#e9eef0; --gold:#c5a66b; --shadow:0 14px 38px #1730440b; }
:root[data-theme="dark"] { --rule:#496075; --rule-soft:#30485b; --paper:#193044; --paper-deep:#21394d; --green-wash:#29455e; }
body { background-image:radial-gradient(#8071510c .7px,transparent .7px); background-size:5px 5px; }
.topbar { min-height:105px; }.brand { gap:17px; }.brand-logo { width:91px; height:79px; }.brand-descriptor { display:block; padding-left:17px; border-left:1px solid var(--rule); color:var(--muted); font-size:11px; line-height:1.8; letter-spacing:.025em; }
.nav-links { gap:31px; }.nav-links a { position:relative; padding:12px 0; font-size:12px; }.nav-links a::after { content:""; position:absolute; bottom:5px; left:0; width:0; height:1px; background:var(--copper); transition:width .2s; }.nav-links a:hover::after,.nav-links a:focus-visible::after { width:100%; }.icon-btn { width:41px; height:41px; border-radius:9px; background:transparent; }
.game-hero { width:calc(100% - 40px); padding-top:48px; border-radius:15px; background:radial-gradient(ellipse at 74% 22%,#8e9da62c,transparent 47%),linear-gradient(115deg,#17334c,#0b1b2c 80%); box-shadow:0 18px 50px #102b4317; }
.game-hero::before { content:""; position:absolute; inset:11px; border:1px solid #c5a66b17; border-radius:7px; pointer-events:none; z-index:-1; }
.game-intro { min-width:0; }.game-kicker { font-size:10px; letter-spacing:.18em; }.game-intro h1 { font-size:clamp(65px,6.4vw,92px); letter-spacing:-.042em; margin-block:27px; }.game-intro > p { font-size:14px; line-height:1.85; max-width:410px; }.game-start { margin-top:30px; gap:25px; }.quiz-launch { min-height:60px; padding:16px 24px; font-size:14px; border-radius:6px; }.game-start > a { font-size:12px; }.start-note { font-size:11px; line-height:1.7; }
.hero-sculpture { max-width:438px; padding:16px 16px 0; }.sculpture-window { height:490px; }.hero-sculpture::before { border-color:#c5a66b6b; }.hero-sculpture figcaption { font-size:10px; letter-spacing:.02em; padding-top:17px; }
.game-strip { padding-block:25px 27px; gap:39px; }.game-strip > div { gap:13px; }.game-strip strong { font-size:38px; }.game-strip div span { font-size:11px; max-width:95px; }.game-strip a { font-size:11px; }
.trails-section,.dashboard-section { padding-block:70px; }.section-heading { margin-bottom:29px; gap:30px; }.eyebrow { font-size:10px; letter-spacing:.13em; }.eyebrow i { width:24px; height:1px; }
.section-heading h2,.challenge-panel h2,.atlas-intro h2,.modal-intro h2,.result-card h2 { font-family:"EB Garamond",Georgia,serif; font-weight:500; letter-spacing:-.03em; }
.section-heading h2 { font-size:clamp(36px,3.5vw,50px); line-height:1.06; margin:11px 0; }.section-heading p { font-size:13px; line-height:1.8; max-width:625px; }
.search-box { flex-basis:255px; min-height:48px; padding-inline:15px; border-radius:8px; box-shadow:0 3px 10px #10263c04; }.search-box input { font-size:12px; }.search-box:focus-within { outline:2px solid color-mix(in srgb,var(--copper) 20%,transparent); outline-offset:3px; }
.category-grid { gap:12px; }.catalog-divider { padding:15px 0 11px; gap:12px; }.catalog-divider strong { font-size:13px; font-weight:600; }.catalog-divider > span { font-size:11px; color:var(--copper); background:transparent; border:1px solid var(--rule); border-radius:5px; padding:4px 7px; }.catalog-divider small { font-size:11px; }.catalog-divider:not(:first-child) { margin-top:17px; }
.category-card { display:grid; grid-template-columns:39px minmax(0,1fr); column-gap:12px; row-gap:9px; align-content:start; min-height:155px; padding:16px; border:1px solid var(--rule); border-radius:10px; background:linear-gradient(125deg,var(--paper),color-mix(in srgb,var(--paper-deep) 13%,var(--paper))); box-shadow:0 3px 10px #172d4305; }
.category-card:hover { border-color:var(--copper); box-shadow:0 10px 24px #172d4310; transform:translateY(-3px); }.category-card::after { content:""; position:absolute; top:0; left:16px; width:25px; height:2px; background:var(--gold); opacity:0; transition:opacity .2s; }.category-card:hover::after { opacity:1; }
.cat-top { display:contents; }.cat-symbol { width:39px; height:39px; border-radius:10px; border:1px solid color-mix(in srgb,var(--green) 14%,transparent); background:color-mix(in srgb,var(--green-wash) 65%,var(--paper)); }.cat-index { position:absolute; top:15px; right:14px; padding:0; color:var(--muted); font:500 12px "EB Garamond",Georgia,serif; }
.category-card h3 { display:flex; align-items:center; min-height:39px; padding-right:17px; margin:0; font-size:15px; font-weight:700; line-height:1.3; letter-spacing:-.025em; }.category-card p { grid-column:1/-1; font-size:11px; line-height:1.55; min-height:34px; }.cat-footer { grid-column:1/-1; margin:0; padding-top:9px; border-color:var(--rule-soft); }.cat-count,.cat-count small,.cat-progress { font-size:10px; }.cat-count small { font-weight:400; }.cat-progress { font-weight:600; }.cat-arrow { width:20px; height:20px; background:transparent; color:var(--copper); font-size:18px; }
.atlas-section { grid-template-columns:1.04fr 1fr; padding:50px 7%; gap:10%; border:1px solid #365067; border-radius:15px; background:radial-gradient(ellipse at 100% 0,#6278812a,transparent 60%),linear-gradient(120deg,#19364e,#0f2539); position:relative; overflow:hidden; }
.atlas-section::after { content:""; position:absolute; left:-200px; top:-150px; width:750px; height:750px; border:1px solid #c5a66b12; border-radius:50%; pointer-events:none; }.atlas-intro { position:relative; z-index:1; }.atlas-intro h2 { font-size:clamp(40px,4.5vw,63px); line-height:1.04; margin:26px 0; }.atlas-intro h2 em { font-size:1em; font-weight:500; color:#dac394; }.atlas-intro > p { font-size:14px; color:#c7d3de; line-height:1.85; }.atlas-intro .eyebrow { color:#d9c393; }.atlas-specimen { margin-top:32px; border-color:#bacbd330; }.atlas-specimen > span { width:44px; height:44px; border:1px solid #c8ae7266; color:#d9c393; background:transparent; border-radius:50%; }.atlas-specimen p { color:#d3dde4; font-size:12px; }.atlas-intro .atlas-instruction { font-size:11px; color:#aebfcd; line-height:1.8; }
.scan-card { border-radius:9px; padding:12px; box-shadow:0 18px 38px #0003; border:1px solid #d6c8ae; position:relative; z-index:1; }.scan-head strong { font-size:14px; }.scan-head > div > span { font-size:9px; }.scan-head button { min-height:36px; font-size:11px; }.scan-footer { font-size:11px; padding-block:12px 3px; }.scan-footer strong { font-size:12px; }
.dashboard-grid { gap:0; border:1px solid var(--rule); border-radius:12px; overflow:hidden; background:var(--paper); box-shadow:var(--shadow); }.stat-card,.stat-card + .stat-card { min-height:180px; border:0; border-radius:0; padding:26px; background:transparent; }.stat-card + .stat-card { border-left:1px solid var(--rule-soft); }.stat-card.accent { border:0; background:linear-gradient(125deg,#1d3b52,#10263c); }.stat-card span { font-size:10px; font-weight:600; letter-spacing:.07em; }.stat-card strong { font-family:"EB Garamond",Georgia,serif; font-size:61px; font-weight:500; letter-spacing:-.045em; margin-block:12px 4px; }.stat-card small { font-size:11px; }.stat-card.accent span,.stat-card.accent small { color:#d0dbe2; }.xp-track { margin-block:11px 7px; }
.challenge-section { padding-bottom:65px; }.challenge-panel { display:grid; grid-template-columns:.8fr 1.7fr; padding:42px; gap:34px; background:linear-gradient(125deg,#18344b,#10263a); border:1px solid #395267; border-radius:15px; color:#f5efdf; }
.challenge-panel h2 { font-size:51px; line-height:1.02; color:#f5efdf; }.challenge-panel .eyebrow { color:#d9c393; }.challenge-panel p { color:#bdcbd6; font-size:13px; line-height:1.8; }.quick-modes { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.quick-modes button { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:18px; min-height:207px; padding:22px 17px; border:1px solid #8fabb13b; border-radius:9px; background:#e8e4d608; color:#f5efdf; transition:background .2s,border-color .2s,transform .2s; }.quick-modes button:hover { transform:translateY(-3px); border-color:#c5a66b; background:#e8e4d612; }.mode-emblem { width:42px; height:42px; border:1px solid #c5a66b66; border-radius:50%; background:transparent; color:#d9c393; font-size:25px; }.quick-modes strong { font-family:"EB Garamond",Georgia,serif; font-size:26px; font-weight:500; }.quick-modes small { margin-top:5px; font-size:11px; color:#c1ced8; line-height:1.7; }.quick-modes b { position:absolute; right:17px; top:21px; color:#d9c393; font-size:18px; font-weight:400; }
.sources-section { padding-block:45px 55px; }.sources-section .section-heading h2 { font-size:38px; }.source-grid { gap:30px; }.source-grid article,.source-grid article + article { border-left:1px solid var(--gold); padding-left:20px; }.source-grid strong { font-size:14px; font-weight:700; }.source-grid p { font-size:12px; line-height:1.8; }.source-grid a { font-size:11px; }.footer { font-size:11px; line-height:1.8; padding-block:25px; }.footer p { max-width:410px; }
.btn { min-height:48px; font-size:13px; border-radius:7px; }.btn-primary { box-shadow:0 4px 12px #102b4320; }.text-btn { font-size:12px; }.modal-card { width:min(1070px,100%); border-radius:13px; border-color:#7d89957d; }.modal-intro { background:radial-gradient(ellipse at 0 0,#4c61732c,transparent 65%),#122c43; padding:38px 27px; }.modal-intro h2 { font-size:46px; line-height:1.03; }.modal-intro p { font-size:13px; line-height:1.8; color:#c9d5de; }.modal-intro .eyebrow { font-size:10px; }.modal-intro-note { font:italic 500 25px/1.3 "EB Garamond",Georgia,serif; color:#d7bf8a; }.modal-icon { border-radius:50%; width:62px; height:62px; background:transparent; border:1px solid #d3b98066; color:#d7bf8a; }.modal-intro::after { font-size:9px; letter-spacing:.08em; color:#a7bacb; }
.modal-controls { padding:50px 28px 28px; }.setup-group label,.setup-label { font-size:11px; }.trail-options { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.trail-options button { min-height:41px; font-size:11px; line-height:1.4; padding:6px 7px; border-radius:6px; }.trail-selection-head { gap:12px; }.trail-selection-head small { font-size:11px; }.trail-selection-actions button { font-size:11px; }.segmented button { min-height:41px; font-size:12px; }.mode-option { min-height:90px; padding:12px; border-radius:7px; }.mode-option strong { font-size:14px; }.mode-option span { font-size:11px; line-height:1.55; }.modal-close { width:38px; height:38px; border-radius:7px; }
.quiz-progress-line i { background:var(--gold); }.quiz-header { min-height:82px; }.quiz-meta span { font-size:19px; }.quiz-meta b { font-size:10px; }.quiz-quit { font-size:12px; }.reading-toggle { font-size:11px; }.quiz-live-stats { font-size:12px; }.question-panel { border-radius:12px; padding:37px; box-shadow:0 15px 40px #102b430b; }.question-panel h2 { font-weight:600; line-height:1.5; }.question-topline { font-size:11px; }.question-topline > span { padding:7px 10px; border-radius:5px; }.hint-btn { font-size:12px; }.answer-btn { min-height:66px; padding:12px 16px; border:1px solid var(--rule); border-radius:8px; }.answer-btn .label { font-size:15px; line-height:1.55; }.answer-btn .letter { font-size:13px; border-radius:6px; }.feedback-box { font-size:14px; line-height:1.75; border-radius:7px; }.aside-score,.aside-dots,.shortcut-box { border-radius:9px; }.aside-score { background:#183650; }.aside-score strong { font-family:"EB Garamond",Georgia,serif; font-size:54px; font-weight:500; }.aside-score span,.aside-score small { font-size:10px; color:#d0dce4; }.shortcut-box { font-size:11px; }
.result-card { border-radius:14px; padding:38px; }.result-card h2 { font-size:46px; line-height:1.1; }.result-card > p { font-size:13px; }.result-orbit { border:1px solid #b6985e; background:linear-gradient(125deg,#e9dabc,#c5a66b); color:#183650; box-shadow:0 0 0 8px #c5a66b12; }.result-score { background:var(--green-wash); border-radius:9px; }.result-score strong { font-family:"EB Garamond",Georgia,serif; font-size:84px; font-weight:500; }.result-stats strong { font-family:"EB Garamond",Georgia,serif; font-size:37px; font-weight:500; }.result-stats span { font-size:11px; }.anatomy-viewer { border-radius:10px; }
@media(max-width:1150px) { .brand-descriptor { display:none; }.game-intro h1 { font-size:clamp(53px,6.4vw,74px); }.game-strip { gap:25px; }.game-start { gap:20px; }.challenge-panel { padding:33px; grid-template-columns:.75fr 1.7fr; gap:25px; }.challenge-panel h2 { font-size:44px; }.quick-modes button { padding:20px 13px; }.quick-modes small { font-size:11px; }.trail-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:621px) and (max-width:800px) { .game-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); padding-inline:5%; gap:28px 4%; }.game-intro h1 { font-size:clamp(39px,6.1vw,50px); }.game-intro > p { font-size:13px; }.game-start { flex-direction:column; align-items:flex-start; gap:17px; }.game-kicker { font-size:9px; }.sculpture-window { height:365px; }.hero-sculpture { padding:10px 10px 0; }.hero-sculpture figcaption { font-size:9px; }.game-strip div span { font-size:10px; }.game-strip strong { font-size:31px; }.atlas-section { padding:35px; gap:5%; }.atlas-intro h2 { font-size:43px; }.atlas-intro > p { font-size:13px; }.scan-head { flex-wrap:wrap; }.scan-head button { margin-left:auto; } }
@media(max-width:800px) { .section-heading { gap:24px; }.section-heading h2 { font-size:38px; }.search-box { flex-basis:220px; }.category-card { padding:14px; grid-template-columns:34px minmax(0,1fr); column-gap:9px; }.cat-symbol { width:34px; height:34px; }.category-card h3 { font-size:14px; min-height:36px; }.cat-index { right:12px; top:12px; }.cat-count small { display:none; }.dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.stat-card:nth-child(3) { border-left:0; border-top:1px solid var(--rule-soft); }.stat-card:nth-child(4) { border-top:1px solid var(--rule-soft); }.challenge-panel { grid-template-columns:1fr; gap:28px; }.challenge-panel h2 br { display:none; }.challenge-panel p { max-width:560px; }.quick-modes button { min-height:180px; padding:22px; }.modal-intro h2 { font-size:37px; }.modal-controls { padding-inline:22px; }.trail-options button { font-size:11px; } }
@media(max-width:620px) {
  .topbar { min-height:88px; gap:16px; }.brand-logo { width:78px; height:70px; }.nav-links { gap:16px; }.nav-links a { font-size:11px; }.icon-btn { width:38px; height:38px; }.top-actions { gap:0; }
  .game-hero { width:calc(100% - 20px); padding:31px 24px 0; border-radius:12px; gap:29px; }.game-hero::before { inset:7px; border-radius:6px; }.game-intro h1 { font-size:clamp(43px,11.8vw,63px); margin-block:24px; }.game-intro > p { font-size:13px; line-height:1.8; }.game-kicker { font-size:9px; letter-spacing:.14em; }.game-start { gap:18px; }.quiz-launch { font-size:14px; min-height:56px; padding:14px 22px; }.game-start > a { font-size:12px; }.start-note { font-size:11px; }.hero-sculpture { padding:12px 12px 0; max-width:345px; }.sculpture-window { height:368px; }.hero-sculpture figcaption { font-size:10px; letter-spacing:0; }.game-strip { gap:16px; padding-block:22px; }.game-strip div span { font-size:10px; line-height:1.6; }.game-strip strong { font-size:32px; }
  .trails-section,.dashboard-section { padding-block:43px; }.section-heading { margin-bottom:20px; gap:20px; }.section-heading h2 { font-size:35px; margin-block:11px; }.section-heading p { font-size:12px; line-height:1.8; }.eyebrow { font-size:10px; }.search-box { flex:auto; width:100%; min-height:46px; }.search-box input { font-size:13px; }.catalog-divider { padding-block:12px; gap:9px; }.catalog-divider strong { font-size:12px; }.catalog-divider > span { font-size:10px; }
  .category-grid { gap:10px; }.category-card { display:flex; gap:0; min-height:150px; padding:13px; border-radius:9px; }.cat-top { display:flex; align-items:center; justify-content:space-between; }.cat-index { position:static; font-size:13px; }.cat-symbol { width:32px; height:32px; border-radius:8px; }.category-card h3 { display:block; min-height:36px; padding:0; margin:11px 0 10px; font-size:14px; line-height:1.4; }.category-card p { display:none; }.cat-footer { margin-top:auto; padding-top:8px; }.cat-count,.cat-progress { font-size:11px; }.cat-count small { display:none; }.cat-arrow { display:none; }.cat-progress { font-weight:500; }
  .atlas-section { padding:29px 22px; border-radius:12px; gap:28px; }.atlas-intro h2 { font-size:41px; margin:20px 0; }.atlas-intro > p { font-size:13px; }.atlas-specimen { margin-top:24px; }.atlas-specimen p { font-size:11px; }.atlas-intro .atlas-instruction { font-size:11px; }.scan-card { padding:9px; border-radius:8px; }.scan-head { flex-wrap:wrap; gap:8px; }.scan-head strong { font-size:13px; }.scan-head button { min-height:36px; font-size:11px; }.scan-head > div > span { font-size:9px; }.scan-footer { font-size:10px; }.scan-footer strong { font-size:11px; }
  .stat-card,.stat-card + .stat-card { padding:20px 17px; min-height:174px; }.stat-card span { font-size:10px; line-height:1.6; }.stat-card strong { font-size:51px; }.stat-card small { font-size:11px; line-height:1.6; }.stat-card:nth-child(3) { border-left:0; border-top:1px solid var(--rule-soft); }.stat-card:nth-child(4) { border-top:1px solid var(--rule-soft); }
  .challenge-section { padding-bottom:42px; }.challenge-panel { padding:28px 22px; gap:25px; border-radius:12px; }.challenge-panel h2 { font-size:43px; }.challenge-panel p { font-size:13px; }.quick-modes { grid-template-columns:1fr; gap:9px; margin:0; }.quick-modes button { flex-direction:row; align-items:center; gap:15px; min-height:92px; padding:17px; }.mode-emblem { width:39px; height:39px; flex:0 0 39px; }.quick-modes strong { font-size:24px; }.quick-modes small { font-size:11px; margin-top:2px; padding-right:13px; }.quick-modes b { right:13px; top:16px; font-size:15px; }
  .sources-section { padding-block:35px 42px; }.sources-section .section-heading h2 { font-size:33px; }.source-grid { gap:24px; }.source-grid article,.source-grid article + article { border-left:1px solid var(--gold); padding-left:18px; }.source-grid p { font-size:12px; }.source-grid a { font-size:12px; }.footer { padding-block:23px; font-size:11px; gap:15px; }.footer p { max-width:320px; }
  .modal-card { border-radius:12px; }.modal-intro { padding:28px 21px 24px; }.modal-intro h2 { font-size:36px; }.modal-intro p { font-size:12px; }.modal-intro .eyebrow { font-size:9px; }.modal-controls { padding:24px 18px; }.trail-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }.trail-options button { min-height:44px; font-size:11px; }.setup-group label,.setup-label { font-size:11px; }.segmented button { font-size:11px; min-height:44px; }.mode-option { padding:9px; min-height:103px; }.mode-option strong { font-size:13px; }.mode-option span { font-size:11px; }.modal-close { width:38px; height:38px; }
  .quiz-header { min-height:74px; gap:10px; }.quiz-quit { min-height:37px; font-size:11px; }.reading-toggle { min-height:35px; font-size:10px; padding:6px 8px; }.quiz-live-stats { font-size:11px; gap:9px; }.question-panel { padding:24px 18px; border-radius:11px; }.question-topline { font-size:10px; gap:6px; }.question-topline > span { padding:6px 7px; }.question-panel h2 { font-size:23px; line-height:1.5; margin:24px 0 18px; }.hint-btn { font-size:12px; }.answer-btn { padding:12px; min-height:65px; border-radius:7px; gap:12px; }.answer-btn .label { font-size:14px; }.answer-btn .letter { font-size:12px; }.feedback-box { font-size:13px; line-height:1.8; }.next-btn { width:100%; }.quiz-shell.reading-mode .question-panel h2 { font-size:26px; }.quiz-shell.reading-mode .answer-btn .label { font-size:16px; }
  .result-card { padding:31px 22px; border-radius:12px; }.result-card h2 { font-size:39px; }.result-card > p { font-size:13px; }.result-score strong { font-size:76px; }.result-stats strong { font-size:34px; }.result-stats span { font-size:10px; }.result-actions { gap:10px; }.result-actions .btn { font-size:12px; }
}
@media(max-width:360px) { .game-hero { padding-inline:20px; }.game-intro h1 { font-size:41px; }.game-kicker { font-size:8px; }.game-strip { gap:11px; }.game-strip strong { font-size:29px; }.game-strip div span { font-size:9px; }.sculpture-window { height:315px; }.category-card { padding:11px; }.category-card h3 { font-size:13px; }.cat-progress { font-size:10px; }.trail-options { grid-template-columns:1fr; }.mode-grid { grid-template-columns:1fr; }.mode-option { min-height:66px; }.question-panel { padding:22px 15px; }.question-topline { font-size:9px; }.quiz-live-stats { gap:6px; } }
:root[data-theme="dark"] .brand-descriptor { color:var(--muted); }

/* The hero is a working study index, not a decorative sculpture. */
.hero-study-index { width:min(100%,445px); min-width:0; justify-self:end; align-self:center; margin:0 0 14px; padding:12px 20px 13px; color:#182c3c; background:linear-gradient(130deg,#f5eddc,#e9dcc1); border:1px solid #d5bf93; outline:1px solid #e8d6b5; outline-offset:-8px; box-shadow:12px 15px 0 #07172655,0 30px 60px #050f1c52; transform:rotate(1deg); }
.hero-index-head { padding:13px 9px 18px; border-bottom:3px double #aa9168; }
.hero-index-head > span { display:flex; justify-content:space-between; gap:14px; color:#806b4d; font-size:9px; font-weight:800; letter-spacing:.18em; }
.hero-index-head > span b { font:500 14px/1 "EB Garamond",Georgia,serif; letter-spacing:.04em; }
.hero-index-head > strong { display:block; margin-top:15px; color:#132c41; font:500 37px/1 "EB Garamond",Georgia,serif; letter-spacing:-.03em; }
.hero-index-head > p { margin:7px 0 0; color:#52606a; font-size:11px; line-height:1.5; }
.hero-study-index > a { display:grid; grid-template-columns:35px minmax(0,1fr) 20px; align-items:center; gap:8px; min-height:64px; padding:8px 9px; border-bottom:1px solid #cbb99d; transition:background .18s,transform .18s; }
.hero-study-index > a:hover,.hero-study-index > a:focus-visible { background:#fff9ec; transform:translateX(3px); }
.hero-study-index > a i { color:#9b7640; font:500 22px/1 "EB Garamond",Georgia,serif; font-style:normal; }
.hero-study-index > a strong { display:block; color:#152f43; font:600 19px/1.1 "EB Garamond",Georgia,serif; }
.hero-study-index > a small { display:block; margin-top:3px; color:#596873; font-size:10px; line-height:1.25; }
.hero-study-index > a b { color:#9a7645; font:500 19px/1 "EB Garamond",Georgia,serif; }
.hero-index-foot { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 9px 8px; font-size:9px; color:#667077; }
.hero-index-foot a { color:#173c55; font-weight:800; white-space:nowrap; }
.hero-index-foot a:hover { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) {
  .game-hero { grid-template-columns:minmax(0,1fr); gap:20px; }
  .hero-study-index { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; max-width:none; margin:0; padding:6px; border-color:#c5a66b6b; outline:0; color:#f4e8d0; background:#edf0ed0b; box-shadow:none; transform:none; }
  .hero-index-head,.hero-index-foot { display:none; }
  .hero-study-index > a { display:flex; gap:8px; min-width:0; min-height:50px; padding:8px 9px; border-bottom:0; border-right:1px solid #c5a66b38; }
  .hero-study-index > a:last-of-type { border-right:0; }
  .hero-study-index > a i { flex:0 0 auto; color:#d4b473; font-size:17px; }
  .hero-study-index > a strong { color:#f4e8d0; font-size:16px; }
  .hero-study-index > a small,.hero-study-index > a b { display:none; }
  .hero-study-index > a:hover,.hero-study-index > a:focus-visible { background:#edf0ed16; }
  .game-intro > p { max-width:610px; }
  .game-strip { margin-top:9px; }
}
@media(max-width:620px) {
  .game-hero { padding-top:25px; gap:15px; }
  .game-intro h1 { margin-block:19px; }
  .hero-study-index { display:none; }
  .game-strip { margin-top:4px; padding-block:18px 20px; }
}

/* Retomada: discreta no hero, mas com ação clara e legível. */
.resume-card { display:grid; gap:13px; max-width:440px; margin:22px 0 4px; padding:16px 18px; border:1px solid #c5a66b78; border-left:3px solid #d8b46d; border-radius:8px; background:linear-gradient(115deg,#29465bdb,#1a354bcc); color:#f6f0df; box-shadow:0 12px 24px #07172745; }
.resume-card > div:first-child { display:grid; gap:4px; }
.resume-kicker { color:#e6ca91; font-size:9px; font-weight:700; letter-spacing:.16em; }
.resume-card strong { font:500 24px/1.1 "EB Garamond",Georgia,serif; }
.resume-card small { color:#d4e1e8; font-size:11px; line-height:1.5; }
.resume-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.resume-actions button,.resume-cloud { min-height:36px; padding:7px 13px; border-radius:5px; border:1px solid #d3b981; background:#e1c589; color:#173249; font:700 11px "Manrope",sans-serif; cursor:pointer; }
.resume-actions button:first-child { box-shadow:0 3px 0 #a78042; }
.resume-actions button:first-child:hover { transform:translateY(-2px); box-shadow:0 5px 0 #a78042; }
.resume-actions button:nth-child(2),.resume-cloud { background:transparent; color:#f1e4c9; border-color:#b7a27882; }
.resume-actions button:nth-child(2):hover,.resume-cloud:hover { background:#ffffff16; }
.resume-cloud { width:100%; text-align:left; line-height:1.5; }
@media(max-width:620px) { .resume-card { max-width:none; margin-top:20px; padding:15px; }.resume-card strong { font-size:22px; } }

/* Profundidade de interação: o aspecto em repouso permanece inalterado. */
@media (hover:hover) and (pointer:fine) {
  .category-card:hover { transform:translateY(-4px); box-shadow:0 7px 0 color-mix(in srgb,var(--copper) 62%,var(--ink) 38%),0 14px 24px #10263c24; }
  .answer-btn:hover:not(:disabled) { position:relative; z-index:1; transform:translateY(-2px); box-shadow:0 5px 0 color-mix(in srgb,var(--copper) 55%,var(--ink) 45%),0 9px 16px #10263c1a; }
  .trail-options button:hover,.mode-option:hover { position:relative; z-index:1; transform:translateY(-2px); box-shadow:0 5px 0 color-mix(in srgb,var(--copper) 48%,var(--ink) 52%); }
  .mode-option.active:hover { box-shadow:inset 0 0 0 1px var(--green),0 5px 0 color-mix(in srgb,var(--copper) 48%,var(--ink) 52%); }
  .segmented button:hover:not(.active) { box-shadow:inset 0 -4px 0 color-mix(in srgb,var(--copper) 55%,transparent); }
  .quick-modes button:hover { transform:translateY(-4px); box-shadow:0 7px 0 #b3955f,0 13px 20px #06162555; }
  .btn:hover:not(:disabled),.reading-toggle:hover,.quiz-quit:hover,.icon-btn:hover { transform:translateY(-2px); box-shadow:0 5px 0 color-mix(in srgb,var(--copper) 54%,var(--ink) 46%); }
  .quiz-launch:hover { box-shadow:0 8px 0 #b18425,0 18px 28px #0c1a6c38; }
  .question-panel:hover { box-shadow:0 6px 0 color-mix(in srgb,var(--copper) 42%,var(--rule) 58%),0 18px 38px #102b4320; }
}
@media (prefers-reduced-motion:reduce) {
  .category-card,.answer-btn,.trail-options button,.mode-option,.quick-modes button,.btn,.quiz-launch { transition:none; }
}
.quiz-progress-line i,.xp-track i { background:var(--copper); }
.footer-contact { flex-shrink:0; color:var(--copper); font-weight:700; border-bottom:1px solid currentColor; }
.footer-contact:hover { color:var(--ink); }
.study-toggle { width:100%; min-height:49px; display:flex; align-items:center; gap:12px; margin-top:14px; padding:11px 15px; border:1px solid var(--rule); border-left:3px solid var(--copper); border-radius:7px; background:var(--paper); color:var(--ink); text-align:left; font:700 13px/1.35 "Manrope",system-ui,sans-serif; transition:background .18s,border-color .18s,box-shadow .18s; }
.study-toggle:hover { border-color:var(--copper); background:var(--paper-deep); box-shadow:0 4px 0 color-mix(in srgb,var(--copper) 40%,var(--ink) 60%); }
.study-toggle>span:first-child { width:25px; height:25px; display:grid; place-items:center; border-radius:4px; background:var(--green-wash); color:var(--copper); font-size:16px; }
.study-toggle-arrow { margin-left:auto; color:var(--copper); font-size:17px; }
.study-panel { margin-top:0; padding:22px 25px 25px; border:1px solid var(--rule); border-top:0; border-radius:0 0 8px 8px; background:var(--paper); color:var(--ink-soft); box-shadow:0 15px 28px #10263c0b; }
.study-panel-head { padding-bottom:17px; border-bottom:1px solid var(--rule-soft); }
.study-panel-head>span,.study-block>span { color:var(--copper); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.study-panel-head h3 { margin:5px 0 0; color:var(--ink); font:500 31px/1.05 "EB Garamond",Georgia,serif; }
.study-panel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; }
.study-block { padding:17px 0 2px; }
.study-block h4 { margin:6px 0 5px; color:var(--ink); font:600 21px/1.1 "EB Garamond",Georgia,serif; }
.study-block p { margin:6px 0; font-size:13px; line-height:1.7; }
.study-block strong { color:var(--ink); }
.study-mistake,.study-compare { grid-column:1/-1; border-top:1px solid var(--rule-soft); }
.study-compare ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:9px 15px; margin:12px 0 0; padding:0; list-style:none; }
.study-compare li { padding:10px 12px; border-left:2px solid var(--copper); background:var(--green-wash); font-size:12px; line-height:1.55; }
.next-btn { scroll-margin-block-end:28px; }
@media (max-width:650px) { .study-toggle { font-size:12px; }.study-panel { padding:19px 17px 20px; }.study-panel-grid { grid-template-columns:1fr; }.study-block { border-top:1px solid var(--rule-soft); }.study-block:first-child { border-top:0; }.study-panel-head h3 { font-size:27px; } }
@media (prefers-reduced-motion:reduce) { .study-toggle { transition:none; } }

/* Caderno de revisão e ficha contextual da sessão. */
.notebook-section { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px 45px; padding:35px 38px; border:1px solid var(--rule); border-top:3px solid var(--copper); border-radius:10px; background:linear-gradient(125deg,var(--paper),var(--paper-deep)); box-shadow:var(--shadow); }
.notebook-lead h2 { margin:9px 0 7px; color:var(--ink); font:500 clamp(29px,3vw,40px)/1.08 "EB Garamond",Georgia,serif; }
.notebook-lead p { max-width:540px; margin:0; color:var(--ink-soft); font-size:13px; line-height:1.75; }
.notebook-summary { display:flex; align-items:center; gap:23px; }
.notebook-summary > div { display:grid; gap:2px; min-width:70px; }
.notebook-summary strong { color:var(--ink); font:500 38px/.95 "EB Garamond",Georgia,serif; }
.notebook-summary span { color:var(--muted); font-size:10px; line-height:1.4; }
.notebook-summary .btn { white-space:nowrap; font-size:12px; }
.notebook-preview { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.notebook-item { min-width:0; padding:13px 15px; border:1px solid var(--rule-soft); border-radius:6px; background:var(--paper); }
.notebook-item span { display:block; color:var(--copper); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.notebook-item p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; margin:7px 0; color:var(--ink); font-size:12px; line-height:1.5; }
.notebook-item small { color:var(--muted); font-size:10px; }
.notebook-empty { grid-column:1/-1; margin:0; padding:14px 0 0; border-top:1px solid var(--rule-soft); color:var(--muted); font-size:12px; }
.topic-selection select { width:100%; min-height:43px; margin-top:8px; padding:9px 12px; border:1px solid var(--rule); border-radius:6px; background:var(--paper); color:var(--ink); font:600 12px "Manrope",sans-serif; }
.topic-selection small,.count-notice { display:block; margin-top:7px; color:var(--muted); font-size:11px; line-height:1.5; }
.quiz-main { width:min(1120px,calc(100% - 64px)); grid-template-columns:minmax(0,1fr) 240px; }
.question-topic { margin:23px 0 -14px; color:var(--copper); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.question-tools { display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:22px; }
.question-tools .hint-btn { margin:0; }
.save-question { display:inline-flex; align-items:center; gap:11px; min-width:280px; min-height:64px; padding:9px 15px 9px 10px; border:1px solid var(--rule); border-left:3px solid var(--copper); border-radius:7px; background:color-mix(in srgb,var(--paper-deep) 35%,var(--paper)); color:var(--ink); text-align:left; cursor:pointer; transition:transform .18s,box-shadow .18s,border-color .18s,background .18s; }
.save-question-icon { display:grid; place-items:center; flex:0 0 33px; width:33px; height:33px; border-radius:5px; background:var(--paper-deep); color:var(--copper); }
.save-question-icon svg { width:18px; height:18px; }
.save-question-copy { display:grid; gap:2px; }
.save-question-copy strong { color:var(--ink); font:700 13px/1.3 "Manrope",sans-serif; }
.save-question-copy small { color:var(--muted); font:500 11px/1.4 "Manrope",sans-serif; }
.save-question:hover { transform:translateY(-2px); border-color:var(--copper); box-shadow:0 4px 0 color-mix(in srgb,var(--copper) 50%,var(--ink) 50%); }
.save-question[aria-pressed="true"] { border-color:var(--copper); background:var(--green-wash); }
.save-question[aria-pressed="true"] .save-question-icon { background:var(--copper); color:var(--paper); }
.save-question[aria-pressed="true"] .save-question-icon svg path { fill:currentColor; }
.uncertain-question { padding:7px 0; border:0; background:transparent; color:var(--ink-soft); font:700 11px "Manrope",sans-serif; text-align:left; cursor:pointer; }
.uncertain-question:hover { color:var(--copper); }
.answer-btn .label { font-size:16px; line-height:1.55; }
.answer-insight { margin-top:10px; padding:14px 17px; border-left:3px solid var(--copper); border-radius:0 6px 6px 0; background:var(--paper-deep); color:var(--ink-soft); font-size:13px; line-height:1.65; }
.answer-insight strong { display:block; color:var(--ink); margin-bottom:3px; }
.answer-insight p { margin:0; }
.uncertain-question { display:block; margin-top:9px; padding:9px 12px; border:1px dashed var(--copper); border-radius:5px; }
.aside-context,.aside-progress { padding:18px; border:1px solid var(--rule); border-radius:8px; background:var(--paper); }
.aside-context > span,.aside-progress > span { color:var(--copper); font-size:9px; font-weight:800; letter-spacing:.14em; }
.aside-context strong { display:block; margin:11px 0 7px; color:var(--ink); font:500 23px/1.08 "EB Garamond",Georgia,serif; }
.aside-context p { margin:0 0 10px; color:var(--ink-soft); font-size:11px; line-height:1.7; }
.aside-context small { display:block; padding-top:10px; border-top:1px solid var(--rule-soft); color:var(--muted); font-size:10px; line-height:1.5; }
.aside-context a { display:inline-block; margin-top:11px; color:var(--copper); font-size:10px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.aside-progress .aside-dots { margin:11px 0; padding:0; border:0; border-radius:0; background:none; }
.aside-progress > small { display:flex; align-items:center; gap:5px; flex-wrap:wrap; color:var(--muted); font-size:9px; }
.aside-progress > small i { width:8px; height:8px; margin-left:4px; border:1px solid var(--rule); border-radius:2px; }
.aside-progress .legend-current { background:var(--paper-deep); outline:1px solid var(--copper); }
.aside-progress .legend-good { background:var(--success); }
.aside-progress .legend-bad { background:var(--red); }
.aside-dots i.answered { background:var(--copper); }
.aside-score { padding:12px 18px; }
.aside-score strong { margin:2px 0; font-size:39px; }
.shortcut-box { display:block; padding:0; }
.shortcut-box summary { padding:13px 17px; color:var(--ink); font-size:11px; font-weight:700; cursor:pointer; }
.shortcut-box > div { display:grid; gap:6px; padding:0 17px 15px; }
.question-panel :is(button, a):focus-visible,.notebook-section button:focus-visible,.topic-selection select:focus-visible { outline:3px solid var(--copper); outline-offset:3px; }
@media(max-width:900px) { .notebook-section { grid-template-columns:1fr; }.notebook-summary { flex-wrap:wrap; }.quiz-main { grid-template-columns:1fr; }.quiz-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.shortcut-box { grid-column:1/-1; }.aside-score { display:none; } }
@media(max-width:620px) { .notebook-section { padding:25px 20px; }.notebook-summary { gap:15px; }.notebook-summary .btn { width:100%; justify-content:center; }.notebook-preview { grid-template-columns:1fr; }.notebook-item:nth-child(n+3) { display:none; }.quiz-main { width:calc(100% - 26px); }.question-topic { margin-top:18px; font-size:9px; }.question-tools { gap:16px; margin-bottom:20px; }.save-question { width:100%; }.answer-btn .label { font-size:15px; }.quiz-aside { grid-template-columns:1fr; }.aside-context { order:1; }.aside-progress { order:0; }.shortcut-box { display:block; order:2; }.question-panel { padding:24px 18px; } }

/* Future manual ad placements stay absent until explicitly activated. */
.ad-placement[hidden] { display:none !important; }
.ad-placement:not([hidden]) { max-width:1040px; min-height:120px; margin-block:48px; padding:16px; border:1px solid var(--rule-soft); background:var(--paper); text-align:center; }
.ad-placement-label { display:block; margin-bottom:10px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
@media(max-width:620px) { .ad-placement:not([hidden]) { min-height:90px; margin-block:30px; } }
@media(prefers-reduced-motion:reduce) { .save-question { transition:none; } }
