.sl-map {
  --sl-paper: #fbf8f1;
  --sl-paper-deep: #f1ebdf;
  --sl-ink: #202528;
  --sl-muted: #65665f;
  --sl-gold: #987536;
  --sl-gold-light: #d6bd86;
  --sl-line: #d9d1c3;
  --sl-white: #fffefb;
  --sl-danger: #9b3b34;
  background: var(--sl-paper);
  color: var(--sl-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  min-height: 70vh;
  isolation: isolate;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

body.sl-mapa-page { overflow-x: hidden; }
.sl-map-host-card--hidden { display: none !important; }

.sl-map *, .sl-map *::before, .sl-map *::after { box-sizing: border-box; }
.sl-map button, .sl-map input, .sl-map select, .sl-map textarea { font: inherit; }
.sl-map button { color: inherit; }
.sl-map h1, .sl-map h2, .sl-map h3, .sl-map h4, .sl-map p { margin-top: 0; }
.sl-map h1, .sl-map h2, .sl-map h3 { text-wrap: balance; }
.sl-map h1, .sl-map h2 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.035em; line-height: 1.02; }
.sl-map h1 { font-size: clamp(2.75rem, 6.2vw, 6.6rem); }
.sl-map h2 { font-size: clamp(2rem, 4vw, 3.8rem); }
.sl-map h3 { line-height: 1.25; }
.sl-map em { color: var(--sl-gold); font-style: normal; }
.sl-map a { color: inherit; }
.sl-map button, .sl-map summary, .sl-map input, .sl-map select, .sl-map textarea { outline-offset: 4px; }
.sl-map :focus-visible { outline: 3px solid var(--sl-gold); }

.sl-map__loading, .sl-map__noscript { max-width: 760px; margin: 0 auto; padding: 4rem 1.5rem; text-align: center; }
.sl-map__app-header { align-items: center; border-bottom: 1px solid var(--sl-line); display: flex; justify-content: space-between; margin: 0 auto; max-width: 1200px; padding: 1.1rem 1.5rem; }
.sl-map__brand { align-items: center; display: flex; gap: .7rem; }
.sl-map__brand-mark { align-items: center; background: var(--sl-ink); border-radius: 50%; color: var(--sl-paper); display: flex; height: 2.45rem; justify-content: center; width: 2.45rem; }
.sl-map__brand strong, .sl-map__brand small { display: block; }
.sl-map__brand strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.sl-map__brand small { color: var(--sl-muted); font-size: .75rem; letter-spacing: .04em; }
.sl-map__quiet, .sl-map__back, .sl-map__text-button { background: none; border: 0; cursor: pointer; padding: .6rem .2rem; text-decoration: underline; text-decoration-color: var(--sl-line); text-underline-offset: .28em; }
.sl-map__quiet { font-size: .9rem; font-weight: 650; text-decoration: none; }
.sl-map__back { display: inline-flex; margin-bottom: 2.5rem; }
.sl-map__eyebrow { color: var(--sl-gold); display: block; font-size: .78rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 1rem; text-transform: uppercase; }
.sl-map__lead { color: var(--sl-muted); font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.72; max-width: 700px; }
.sl-map__button-row { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.sl-map__button { align-items: center; border: 1px solid var(--sl-ink); border-radius: 999px; cursor: pointer; display: inline-flex; font-weight: 750; justify-content: center; min-height: 3.25rem; padding: .75rem 1.35rem; text-decoration: none; }
.sl-map__button:hover { transform: translateY(-1px); }
.sl-map__button:disabled { cursor: not-allowed; opacity: .44; transform: none; }
.sl-map__button--primary { background: var(--sl-ink); color: var(--sl-white) !important; }
.sl-map__button--ghost { background: transparent; }
.sl-map__button--danger { background: var(--sl-danger); border-color: var(--sl-danger); color: #fff !important; }
.sl-map__text-button--danger { color: var(--sl-danger) !important; }
.sl-map__icon { display: inline-flex; font-weight: 800; justify-content: center; min-width: 1rem; }

.sl-map__start-shell { margin: 0 auto; max-width: 1200px; padding: clamp(3rem, 7vw, 7rem) 1.5rem 5rem; }
.sl-map__intro { align-items: center; display: grid; gap: clamp(2rem, 6vw, 6rem); grid-template-columns: 1.25fr .75fr; }
.sl-map__intro h1 { margin-bottom: 1.8rem; }
.sl-map__intro .sl-map__button-row { margin-top: 2.2rem; }
.sl-map__inline-disclaimer { border-left: 3px solid var(--sl-gold); color: var(--sl-muted); font-size: .9rem; margin: 1.5rem 0 0; max-width: 650px; padding: .2rem 0 .2rem .9rem; }
.sl-map__light-card { background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(241,235,223,.72)); border: 1px solid var(--sl-line); border-radius: 2rem; box-shadow: 0 32px 80px rgba(69,56,32,.09); min-height: 440px; overflow: hidden; padding: 2rem; position: relative; }
.sl-map__light-card::before { background: radial-gradient(circle, rgba(218,178,92,.46), rgba(218,178,92,.1) 42%, transparent 70%); content: ''; height: 450px; position: absolute; right: -120px; top: -140px; width: 450px; }
.sl-map__orb { align-items: center; background: var(--sl-ink); border-radius: 50%; color: var(--sl-paper); display: flex; flex-direction: column; height: 150px; justify-content: center; margin: 2.5rem auto 3rem; position: relative; width: 150px; }
.sl-map__orb span { font-family: Georgia, "Times New Roman", serif; font-size: 3.3rem; line-height: 1; }
.sl-map__orb small { font-size: .78rem; letter-spacing: .09em; text-transform: uppercase; }
.sl-map__light-card ul { list-style: none; margin: 0; padding: 0; position: relative; }
.sl-map__light-card li { border-top: 1px solid var(--sl-line); padding: .9rem .2rem; }
.sl-map__resume { align-items: center; background: var(--sl-ink); border-radius: 1.5rem; color: var(--sl-paper); display: flex; gap: 2rem; justify-content: space-between; margin-top: 3rem; padding: 1.5rem 1.75rem; }
.sl-map__resume h2 { font-family: inherit; font-size: 1.2rem; letter-spacing: 0; margin-bottom: .25rem; }
.sl-map__resume p, .sl-map__resume .sl-map__eyebrow { margin-bottom: 0; }
.sl-map__resume .sl-map__button { border-color: var(--sl-paper); color: var(--sl-paper); }
.sl-map__saved-result { align-items: center; border: 1px solid var(--sl-line); border-radius: 1.5rem; display: flex; gap: 2rem; justify-content: space-between; margin-top: 1rem; padding: 1.5rem 1.75rem; }
.sl-map__saved-result h2 { font-family: inherit; font-size: 1.2rem; letter-spacing: 0; margin-bottom: .25rem; }
.sl-map__saved-result p, .sl-map__saved-result .sl-map__eyebrow { margin-bottom: 0; }
.sl-map__notice { border-top: 1px solid var(--sl-line); display: grid; gap: 1.5rem; grid-template-columns: 1fr 1fr auto; margin-top: 4rem; padding-top: 2rem; }
.sl-map__notice > div { align-items: flex-start; display: flex; gap: .75rem; }
.sl-map__notice p { color: var(--sl-muted); font-size: .9rem; margin: 0; }

.sl-map__narrow { margin: 0 auto; max-width: 990px; padding: clamp(2.5rem, 6vw, 6rem) 1.5rem; }
.sl-map__mode h1 { font-size: clamp(2.7rem, 5vw, 5.3rem); max-width: 900px; }
.sl-map__mode-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, 1fr); margin-top: 3rem; }
.sl-map__mode-card { background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: 1.5rem; cursor: pointer; display: flex; flex-direction: column; gap: 1rem; min-height: 330px; padding: 2rem; position: relative; text-align: left; }
.sl-map__mode-card:hover { border-color: var(--sl-gold); box-shadow: 0 18px 50px rgba(69,56,32,.09); transform: translateY(-2px); }
.sl-map__mode-card--recommended { background: var(--sl-ink); color: var(--sl-paper) !important; padding-top: 3.8rem; }
.sl-map__mode-top { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.sl-map__mode-top strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; }
.sl-map__mode-top span, .sl-map__recommendation { border: 1px solid currentColor; border-radius: 999px; font-size: .75rem; font-weight: 750; padding: .25rem .65rem; }
.sl-map__recommendation { color: var(--sl-gold-light); position: absolute; right: 1.5rem; top: 1rem; }
.sl-map__mode-card small { color: inherit; opacity: .72; }
.sl-map__mode-card b { margin-top: auto; }
.sl-map__fineprint { color: var(--sl-muted); font-size: .88rem; margin-top: 4rem; text-align: center; }

.sl-map__question-shell { margin: 0 auto; max-width: 930px; min-height: 730px; padding: 2.5rem 1.5rem 4rem; }
.sl-map__question-exit { display: block; margin: 0 0 1.25rem auto; }
.sl-map__progress-wrap { margin-bottom: 3rem; }
.sl-map__progress-meta { display: flex; font-size: .82rem; justify-content: space-between; margin-bottom: .65rem; }
.sl-map__progress { background: var(--sl-line); border-radius: 99px; height: 5px; overflow: hidden; }
.sl-map__progress span { background: var(--sl-gold); display: block; height: 100%; transition: width .3s ease; }
.sl-map__question-card h1 { font-size: clamp(2rem, 4.4vw, 4rem); margin-bottom: 2.3rem; }
.sl-map__answers { display: grid; gap: .72rem; }
.sl-map__answer { align-items: center; background: rgba(255,255,255,.74); border: 1px solid var(--sl-line); border-radius: 1rem; cursor: pointer; display: flex; gap: 1rem; min-height: 4.6rem; padding: .95rem 1.1rem; transition: border .16s ease, background .16s ease, transform .16s ease; }
.sl-map__answer:hover { border-color: var(--sl-gold); transform: translateX(2px); }
.sl-map__answer.is-selected { background: var(--sl-ink); border-color: var(--sl-ink); color: var(--sl-paper); }
.sl-map__answer input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.sl-map__answer:has(input:focus-visible) { outline: 3px solid var(--sl-gold); outline-offset: 3px; }
.sl-map__answer-letter, .sl-map__check { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: flex; flex: 0 0 2rem; font-size: .78rem; font-weight: 750; height: 2rem; justify-content: center; }
.sl-map__answer.is-selected .sl-map__check::after { content: '✓'; }
.sl-map__answer--unknown { background: transparent; border-style: dashed; color: var(--sl-muted); margin-top: .3rem; }
.sl-map__answers--continuum .sl-map__answer { min-height: 4rem; }
.sl-map__hint, .sl-map__storage-warning { color: var(--sl-muted); font-size: .86rem; margin-top: 1rem; }
.sl-map__storage-warning { color: var(--sl-danger); text-align: center; }
.sl-map__question-nav { display: flex; justify-content: space-between; margin-top: 2rem; }

.sl-map__reveal { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 730px; overflow: hidden; padding: 4rem 1.5rem; position: relative; text-align: center; }
.sl-map__reveal-light { animation: sl-map-pulse 2.4s ease-out both; background: radial-gradient(circle, rgba(209,164,72,.52), rgba(209,164,72,.1) 38%, transparent 70%); height: min(80vw, 700px); position: absolute; width: min(80vw, 700px); }
.sl-map__reveal > *:not(.sl-map__reveal-light) { position: relative; }
.sl-map__reveal h1 { font-size: clamp(3rem, 7vw, 7rem); margin: .4rem 0 1.5rem; }
.sl-map__reveal p { font-size: 1.1rem; }
.sl-map__reveal-second { animation: sl-map-rise .7s 1.1s both; max-width: 620px; }
@keyframes sl-map-pulse { from { opacity: 0; transform: scale(.28); } to { opacity: 1; transform: scale(1); } }
@keyframes sl-map-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

.sl-map__result-shell { margin: 0 auto; max-width: 1200px; padding: 4rem 1.5rem 6rem; }
.sl-map__result-heading { align-items: flex-end; display: flex; gap: 2rem; justify-content: space-between; }
.sl-map__result-heading h1 { font-size: clamp(2.8rem, 5.5vw, 5.8rem); margin-bottom: 1rem; }
.sl-map__result-heading p { color: var(--sl-muted); font-size: 1.1rem; max-width: 760px; }
.sl-map__result-actions { display: flex; flex: 0 0 auto; gap: .7rem; }
.sl-map__demo-note { background: var(--sl-paper-deep); border-left: 4px solid var(--sl-gold); margin-top: 2rem; padding: 1rem 1.2rem; }
.sl-map__tabs { border-bottom: 1px solid var(--sl-line); display: flex; gap: .35rem; margin: 3.5rem 0 2.5rem; overflow-x: auto; padding-bottom: 0; scrollbar-width: thin; }
.sl-map__tabs button { background: none; border: 0; border-bottom: 3px solid transparent; cursor: pointer; flex: 0 0 auto; font-weight: 700; padding: .8rem 1rem; }
.sl-map__tabs button.is-active { border-bottom-color: var(--sl-gold); color: var(--sl-gold); }
.sl-map__section { border-top: 1px solid var(--sl-line); margin-top: 5rem; padding-top: 4rem; }
.sl-map__section--panel { border-top: 0; margin-top: 0; padding-top: 1rem; }
.sl-map__section > h2, .sl-map__section--panel > h2 { max-width: 900px; }
.sl-map__section > p, .sl-map__section--panel > p { color: var(--sl-muted); max-width: 780px; }
.sl-map__map-intro { align-items: center; display: grid; gap: 3rem; grid-template-columns: .8fr 1.2fr; min-height: 640px; }
.sl-map__map-intro h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.sl-map__map-intro p { color: var(--sl-muted); font-size: 1.05rem; }

.sl-light-map { aspect-ratio: 1; margin: 0 auto; max-width: 650px; position: relative; width: 100%; }
.sl-light-map__halo { background: radial-gradient(circle, rgba(212,172,88,.36), rgba(212,172,88,.12) 34%, rgba(212,172,88,0) 68%); inset: 2%; position: absolute; }
.sl-light-map__center { align-items: center; background: var(--sl-ink); border-radius: 50%; color: var(--sl-paper); display: flex; flex-direction: column; height: 100px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 100px; z-index: 4; }
.sl-light-map__center strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; line-height: 1; }
.sl-light-map__center span { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.sl-light-map__ray { --angle: calc(var(--i) * 36deg - 90deg); height: 0; left: 50%; position: absolute; top: 50%; transform: rotate(var(--angle)); transform-origin: 0 0; width: 0; z-index: 2; }
.sl-light-map__beam { background: linear-gradient(90deg, rgba(152,117,54,.94), rgba(199,157,77,.4)); border-radius: 99px; display: block; height: 17px; left: 40px; opacity: calc(.2 + var(--level)); position: absolute; top: -8px; transform-origin: left; width: calc((min(48vw, 275px) - 44px) * var(--level)); }
.sl-light-map__ray--coverage-low .sl-light-map__beam { background: repeating-linear-gradient(90deg, rgba(152,117,54,.54) 0 12px, transparent 12px 20px); }
.sl-light-map__label { background: rgba(251,248,241,.88); border: 0; border-radius: .35rem; cursor: pointer; font-size: .73rem; font-weight: 750; left: calc(var(--x) * 1%); line-height: 1.15; padding: .25rem .35rem; position: absolute; text-align: center; top: calc(var(--y) * 1%); transform: translate(-50%, -50%); width: 108px; z-index: 5; }
.sl-light-map__label:hover, .sl-light-map__label:focus-visible { color: var(--sl-gold); }
.sl-light-map__ray:has(+ .sl-light-map__label:hover) .sl-light-map__beam, .sl-light-map__ray:has(+ .sl-light-map__label:focus-visible) .sl-light-map__beam { filter: brightness(.75); height: 23px; top: -11px; }
.sl-light-map-text { margin-top: 2rem; }
.sl-light-map-text h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; margin-bottom: .65rem; }
.sl-light-map-text ul { display: grid; gap: .2rem; list-style: none; margin: 0; padding: 0; }
.sl-light-map-text button { align-items: baseline; background: transparent; border: 0; border-bottom: 1px solid var(--sl-line); cursor: pointer; display: flex; gap: .7rem; justify-content: space-between; padding: .48rem 0; text-align: left; width: 100%; }
.sl-light-map-text button span { font-size: .86rem; font-weight: 700; }
.sl-light-map-text button small { color: var(--sl-gold); flex: 0 0 auto; font-size: .68rem; }
.sl-light-map-text button:hover span, .sl-light-map-text button:focus-visible span { color: var(--sl-gold); }
.sl-light-map-text__secondary { border-top: 1px solid var(--sl-line); margin-top: 1.25rem; padding-top: .85rem; }
.sl-light-map-text__secondary > summary { cursor: pointer; font-size: .84rem; font-weight: 780; list-style-position: outside; margin-left: 1rem; }
.sl-light-map-text__secondary > p { color: var(--sl-muted); font-size: .75rem; line-height: 1.55; margin: .8rem 0; }
.sl-light-map-text__secondary button small { color: var(--sl-muted); }
.sl-light-map-text__secondary[open] > summary { color: var(--sl-gold); }

.sl-map__area-list { display: grid; gap: .8rem; margin-top: 2rem; }
.sl-map__balanced { background: linear-gradient(135deg, rgba(238,229,211,.9), rgba(255,255,255,.72)); border: 1px solid var(--sl-line); border-radius: 1.2rem; max-width: 880px; padding: 1.6rem 1.8rem; }
.sl-map__balanced h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; margin: 0 0 .55rem; }
.sl-map__balanced p { color: var(--sl-muted); margin: 0; }
.sl-map__area-card { background: rgba(255,255,255,.66); border: 1px solid var(--sl-line); border-radius: 1.1rem; overflow: hidden; }
.sl-map__area-card summary { align-items: center; cursor: pointer; display: grid; gap: 1rem; grid-template-columns: 3rem 1fr auto; list-style: none; min-height: 6rem; padding: 1rem 1.25rem; }
.sl-map__area-card summary::-webkit-details-marker { display: none; }
.sl-map__area-card summary small, .sl-map__area-card summary strong { display: block; }
.sl-map__area-card summary small { color: var(--sl-gold); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sl-map__area-card summary strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; }
.sl-map__area-symbol { align-items: center; background: var(--sl-paper-deep); border-radius: 50%; display: flex; font-size: 1.2rem; height: 3rem; justify-content: center; width: 3rem; }
.sl-map__chevron { font-size: 1.6rem; transition: transform .2s ease; }
.sl-map__area-card[open] .sl-map__chevron { transform: rotate(45deg); }
.sl-map__area-body { border-top: 1px solid var(--sl-line); color: var(--sl-muted); padding: 1.5rem 1.5rem 1.8rem 5.25rem; }
.sl-map__subskills { background: var(--sl-paper); border-radius: .8rem; margin: 1.5rem 0; padding: 1.2rem; }
.sl-map__subskills h4 { color: var(--sl-ink); font-size: 1rem; }
.sl-map__subskills ul { list-style: none; margin: 0; padding: 0; }
.sl-map__subskills li { align-items: center; border-top: 1px solid var(--sl-line); display: flex; justify-content: space-between; padding: .7rem 0; }
.sl-map__subskills small { color: var(--sl-gold); }
.sl-map__subskills details { color: var(--sl-muted); font-size: .78rem; margin-top: .35rem; }
.sl-map__subskills details summary { color: var(--sl-ink); cursor: pointer; font-weight: 700; }
.sl-map__subskills details p { margin: .35rem 0 0; max-width: 620px; }
.sl-map__why { border-top: 1px dashed var(--sl-line); margin-top: 1.2rem; padding-top: .75rem; }
.sl-map__why summary { align-items: center; color: var(--sl-ink); cursor: pointer; display: flex; font-size: .9rem; font-weight: 750; gap: .55rem; min-height: 2.4rem; }
.sl-map__why p { font-size: .9rem; margin: .8rem 0 0; max-width: 760px; }
.sl-map__combo-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin-top: 2rem; }
.sl-map__combo { background: var(--sl-ink); border-radius: 1.2rem; color: var(--sl-paper); padding: 1.5rem; }
.sl-map__combo > span { color: var(--sl-gold-light); }
.sl-map__combo h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; margin: .75rem 0; }
.sl-map__combo p { color: rgba(251,248,241,.76); }
.sl-map__combo .sl-map__why { border-color: rgba(255,255,255,.2); }
.sl-map__combo .sl-map__why summary, .sl-map__combo .sl-map__why p { color: var(--sl-paper); }
.sl-map__lens-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.8rem 0; }
.sl-map__lens-tabs button { background: transparent; border: 1px solid var(--sl-line); border-radius: 999px; cursor: pointer; padding: .6rem 1rem; }
.sl-map__lens-tabs button.is-active { background: var(--sl-gold); border-color: var(--sl-gold); color: #fff; }
.sl-map__lens-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.sl-map__lens-grid article { background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: 1rem; padding: 1.2rem; }
.sl-map__lens-grid ul { color: var(--sl-muted); margin: .8rem 0 0; padding-left: 1.1rem; }
.sl-map__all-areas { margin-top: 3rem; }
.sl-map__all-areas > details > summary { cursor: pointer; font-weight: 750; padding: 1rem 0; }
.sl-map__empty { background: var(--sl-paper-deep); border-radius: 1rem; color: var(--sl-muted); margin-top: 1.5rem; padding: 1.5rem; }
.sl-map__muted { color: var(--sl-muted); }

.sl-map__evidence-list { display: grid; gap: .7rem; margin: 2rem 0 3rem; }
.sl-map__evidence-item { align-items: flex-start; background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: 1rem; cursor: pointer; display: flex; gap: .9rem; padding: 1rem 1.2rem; }
.sl-map__evidence-item input, .sl-map__select-row input, .sl-map__cv-sentence input, .sl-map__challenge input { accent-color: var(--sl-gold); flex: 0 0 auto; height: 1.25rem; margin-top: .2rem; width: 1.25rem; }
.sl-map__evidence-item strong, .sl-map__evidence-item small { display: block; }
.sl-map__evidence-item small { color: var(--sl-muted); margin-top: .2rem; }
.sl-map__evidence-form { background: var(--sl-ink); border-radius: 1.3rem; color: var(--sl-paper); display: grid; gap: 1rem; grid-template-columns: .35fr .65fr; padding: 1.5rem; }
.sl-map__evidence-form h3 { grid-column: 1 / -1; }
.sl-map__evidence-form label { display: flex; flex-direction: column; font-size: .84rem; font-weight: 700; gap: .35rem; }
.sl-map__evidence-form select, .sl-map__evidence-form textarea { background: #fff; border: 0; border-radius: .65rem; color: var(--sl-ink); min-height: 3rem; padding: .7rem; }
.sl-map__evidence-form textarea { min-height: 6.5rem; resize: vertical; }
.sl-map__evidence-form .sl-map__button { grid-column: 2; justify-self: start; }
.sl-map__custom-list { margin-top: 2rem; }
.sl-map__custom-evidence { align-items: center; border-bottom: 1px solid var(--sl-line); display: flex; justify-content: space-between; padding: .8rem 0; }
.sl-map__custom-evidence strong, .sl-map__custom-evidence small { display: block; }
.sl-map__custom-evidence small { color: var(--sl-muted); }

.sl-map__challenge-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin-top: 2rem; }
.sl-map__challenge { background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: 1.2rem; padding: 1.3rem; }
.sl-map__challenge h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.sl-map__challenge label { align-items: flex-start; border-top: 1px solid var(--sl-line); cursor: pointer; display: flex; gap: .7rem; padding: .85rem 0; }
.sl-map__challenge label small { color: var(--sl-gold); display: block; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sl-map__development-note { background: var(--sl-paper-deep); border-left: 4px solid var(--sl-gold); margin-top: 2rem; padding: 1.5rem; }

.sl-map__cv-columns { display: grid; gap: 1.5rem; grid-template-columns: 1fr 1fr; margin: 2rem 0; }
.sl-map__cv-columns > div { background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: 1rem; padding: 1.25rem; }
.sl-map__select-row { align-items: center; border-top: 1px solid var(--sl-line); display: flex; gap: .7rem; padding: .7rem 0; }
.sl-map__selected-evidence { border-top: 1px solid var(--sl-line); padding: .7rem 0; }
.sl-map__cv-subskills { background: var(--sl-paper-deep); border-radius: 1rem; margin: 1.2rem 0 2rem; padding: 1.2rem; }
.sl-map__cv-subskills small { color: var(--sl-muted); font-weight: 500; }
.sl-map__cv-sentences { margin: 2rem 0; }
.sl-map__cv-sentence { align-items: center; background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: .9rem; display: grid; gap: .7rem; grid-template-columns: auto 1fr auto; margin-bottom: .6rem; padding: .8rem 1rem; }
.sl-map__bridge { align-items: center; background: var(--sl-ink); border-radius: 1.25rem; color: var(--sl-paper); display: flex; gap: 1.5rem; justify-content: space-between; padding: 1.5rem; }
.sl-map__bridge h3, .sl-map__bridge p { margin-bottom: .3rem; }
.sl-map__bridge p { color: rgba(251,248,241,.72); }
.sl-map__bridge .sl-map__button { border-color: var(--sl-paper); color: var(--sl-paper); }
.sl-map__comparison { display: grid; gap: .65rem; margin-top: 2rem; }
.sl-map__comparison-row { align-items: center; background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: .9rem; display: flex; gap: 1rem; padding: 1rem; }
.sl-map__comparison-row > span { color: var(--sl-gold); font-size: 1.5rem; }
.sl-map__comparison-row p { margin: 0; }

.sl-map__debug { background: #171b1d; border-radius: .8rem; color: #d6efd8; margin-top: 4rem; padding: 1rem; }
.sl-map__debug summary { cursor: pointer; font-weight: 800; }
.sl-map__debug pre { max-height: 600px; overflow: auto; white-space: pre-wrap; }
.sl-map__result-footer-actions { display: flex; justify-content: space-between; margin-top: 5rem; }
.sl-map__dialog { background: transparent; border: 0; max-width: 560px; padding: 1rem; width: calc(100% - 2rem); }
.sl-map__dialog::backdrop { background: rgba(20,22,20,.72); }
.sl-map__dialog > div { background: var(--sl-paper); border-radius: 1.3rem; box-shadow: 0 30px 100px rgba(0,0,0,.25); padding: 1.7rem; }
.sl-map__dialog h2 { font-size: 2rem; }
.sl-map__dialog-field { display: flex; flex-direction: column; font-size: .85rem; font-weight: 700; gap: .35rem; margin: 1.2rem 0; }
.sl-map__dialog-field input { background: var(--sl-white); border: 1px solid var(--sl-line); border-radius: .65rem; min-height: 3rem; padding: .65rem .8rem; }

.sl-map__methodology h1 { font-size: clamp(3rem, 6vw, 6rem); }
.sl-map__prose { max-width: 760px; }
.sl-map__prose h2 { font-family: inherit; font-size: 1.35rem; letter-spacing: 0; margin: 2.2rem 0 .5rem; }
.sl-map__prose p { color: var(--sl-muted); }
.sl-map__prose aside { background: var(--sl-paper-deep); border-left: 4px solid var(--sl-gold); margin: 2rem 0; padding: 1.3rem; }
.sl-map__prose aside p { margin-bottom: 0; }

@media (max-width: 900px) {
  .sl-map__intro, .sl-map__map-intro { grid-template-columns: 1fr; }
  .sl-map__intro h1 { font-size: clamp(3rem, 10vw, 5.3rem); }
  .sl-map__light-card { min-height: auto; }
  .sl-map__notice { grid-template-columns: 1fr; }
  .sl-map__result-heading { align-items: flex-start; flex-direction: column; }
  .sl-map__lens-grid { grid-template-columns: repeat(2, 1fr); }
  .sl-map__map-intro { padding-top: 2rem; }
  .sl-light-map { max-width: 620px; }
}

@media (max-width: 680px) {
  .sl-map { font-size: 16px; }
  .sl-map__app-header { padding: .8rem 1rem; }
  .sl-map__brand small { display: none; }
  .sl-map__start-shell, .sl-map__narrow, .sl-map__question-shell, .sl-map__result-shell { padding-left: 1rem; padding-right: 1rem; }
  .sl-map__start-shell { padding-top: 3rem; }
  .sl-map__intro { gap: 2rem; }
  .sl-map__light-card { padding: 1rem; }
  .sl-map__orb { height: 110px; margin: 1.5rem auto; width: 110px; }
  .sl-map__orb span { font-size: 2.5rem; }
  .sl-map__resume { align-items: flex-start; flex-direction: column; }
  .sl-map__saved-result { align-items: flex-start; flex-direction: column; }
  .sl-map__mode-grid, .sl-map__combo-grid, .sl-map__challenge-grid, .sl-map__cv-columns { grid-template-columns: 1fr; }
  .sl-map__mode-card { min-height: 280px; padding: 1.4rem; }
  .sl-map__question-shell { min-height: 640px; padding-top: 1.5rem; }
  .sl-map__question-card h1 { font-size: clamp(1.8rem, 8vw, 2.7rem); margin-bottom: 1.6rem; }
  .sl-map__answer { min-height: 4.3rem; padding: .8rem; }
  .sl-map__question-nav .sl-map__button { min-width: 7.2rem; }
  .sl-map__result-actions { flex-wrap: wrap; width: 100%; }
  .sl-map__result-actions .sl-map__button { flex: 1; }
  .sl-map__tabs { margin-top: 2rem; }
  .sl-map__map-intro { gap: 1rem; min-height: auto; }
  .sl-light-map { margin: 1.5rem auto; max-width: 410px; }
  .sl-light-map__beam { height: 11px; left: 31px; top: -5px; width: calc((min(43vw, 170px) - 28px) * var(--level)); }
  .sl-light-map__label { font-size: .62rem; left: calc(var(--mx) * 1%); top: calc(var(--my) * 1%); width: 76px; }
  .sl-light-map__center { height: 76px; width: 76px; }
  .sl-map__area-card summary { grid-template-columns: 2.5rem 1fr auto; padding: .8rem; }
  .sl-map__area-symbol { height: 2.5rem; width: 2.5rem; }
  .sl-map__area-card summary strong { font-size: 1.12rem; }
  .sl-map__area-body { padding: 1.2rem; }
  .sl-map__subskills li { align-items: flex-start; flex-direction: column; }
  .sl-map__lens-grid { grid-template-columns: 1fr; }
  .sl-map__evidence-form { grid-template-columns: 1fr; }
  .sl-map__evidence-form .sl-map__button { grid-column: 1; }
  .sl-map__cv-sentence { align-items: flex-start; grid-template-columns: auto 1fr; }
  .sl-map__cv-sentence button { grid-column: 2; justify-self: start; }
  .sl-map__bridge { align-items: flex-start; flex-direction: column; }
  .sl-map__result-footer-actions { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 390px) {
  .sl-map__brand strong { font-size: 1rem; }
  .sl-map__quiet { font-size: .78rem; }
  .sl-map__button-row { align-items: stretch; flex-direction: column; width: 100%; }
  .sl-map__button-row .sl-map__button { width: 100%; }
  .sl-map__question-nav { gap: .5rem; }
  .sl-map__question-nav .sl-map__button { flex: 1; min-width: 0; padding-left: .7rem; padding-right: .7rem; }
  .sl-light-map__label { font-size: .56rem; width: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  .sl-map *, .sl-map *::before, .sl-map *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}

@media print {
  .sl-map__app-header, .sl-map__tabs, .sl-map__result-actions, .sl-map__result-footer-actions { display: none !important; }
  .sl-map { margin: 0; width: 100%; }
}
