:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #10204f;
  background: #f4f8ff;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --navy: #081d4d;
  --navy-2: #0b3477;
  --blue: #1268ed;
  --blue-2: #2f83ff;
  --violet: #6b4df6;
  --violet-2: #8a5cf6;
  --cyan: #13c8d2;
  --cyan-soft: #dff9fb;
  --green: #0aa878;
  --orange: #ff9d27;
  --ink: #10204f;
  --muted: #63718f;
  --line: #dde7f4;
  --panel: rgba(255, 255, 255, 0.96);
  --shadow: 0 24px 70px rgba(20, 55, 115, 0.13);
  --shadow-soft: 0 12px 34px rgba(20, 55, 115, 0.09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #f4f8ff; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
#root { min-height: 100vh; }
h1, h2, h3, h4, p { margin-top: 0; }

.lm-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--navy); flex: 0 0 auto; }
.lm-brand__mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(145deg, #eef5ff, #f5efff); box-shadow: inset 0 0 0 1px rgba(95, 76, 224, .10), 0 8px 20px rgba(37,74,142,.08); }
.lm-brand__mark img { width: 32px; height: 32px; }
.lm-brand__copy { display: grid; line-height: 1.05; }
.lm-brand__copy strong { font-size: 24px; letter-spacing: -.65px; }
.lm-brand__copy small { margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.lm-brand--compact .lm-brand__copy strong { font-size: 22px; color: white; }
.lm-brand--compact .lm-brand__mark { width: 42px; height: 42px; background: rgba(255,255,255,.12); box-shadow: none; }

.lm-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 21px; border-radius: 14px; border: 1px solid transparent; font-weight: 850; cursor: pointer; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.lm-btn:hover { transform: translateY(-2px); }
.lm-btn:disabled { cursor: not-allowed; opacity: .56; transform: none; }
.lm-btn--primary { color: white; background: linear-gradient(135deg, var(--blue), var(--violet)); box-shadow: 0 12px 28px rgba(60, 73, 225, .25); }
.lm-btn--secondary { color: var(--navy); background: white; border-color: #cddbef; box-shadow: 0 9px 22px rgba(28,66,125,.07); }
.lm-btn--ghost { color: #37528c; background: #f7faff; border-color: #dce6f4; }
.lm-btn--danger { color: #a53549; background: #fff4f6; border-color: #ffd8df; }
.lm-btn--full { width: 100%; }
.lm-btn--hero { min-height: 56px; padding: 0 27px; border-radius: 16px; font-size: 15px; }
.lm-btn--light { color: #132a63; background: white; box-shadow: 0 12px 30px rgba(5,24,68,.18); }
.lm-btn--glass { color: white; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.25); backdrop-filter: blur(12px); }

.lm-kicker { margin: 0 0 8px; color: var(--violet); font-weight: 900; font-size: 12px; letter-spacing: 1.55px; }
.lm-muted { color: var(--muted); }
.lm-card { background: var(--panel); border: 1px solid rgba(219, 230, 245, .96); border-radius: 22px; box-shadow: var(--shadow-soft); }
.lm-icon-badge { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-size: 21px; }
.lm-icon-badge--violet { background: #f0eaff; }
.lm-icon-badge--blue { background: #e7f1ff; }
.lm-icon-badge--cyan { background: #e4fbfc; }
.lm-icon-badge--orange { background: #fff1de; }
.lm-icon-badge--green { background: #e2f8ef; }

/* Public home V2 */
.lm-home { min-height: 100vh; background: #f6faff; color: var(--ink); overflow-x: hidden; }
.lm-home__header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.91); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(221,231,244,.9); }
.lm-home__nav { width: min(calc(100% - 44px), 1640px); min-height: 88px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.lm-home__links { display: flex; align-items: center; justify-content: flex-end; gap: clamp(12px, 1.45vw, 26px); font-size: 13px; font-weight: 780; white-space: nowrap; }
.lm-home__links > a:not(.lm-btn) { position: relative; text-decoration: none; color: #25385f; padding: 10px 0; }
.lm-home__links > a:not(.lm-btn)::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 0; height: 3px; border-radius: 999px; background: linear-gradient(90deg, var(--blue), var(--violet)); transition: width .2s ease, left .2s ease; }
.lm-home__links > a:not(.lm-btn):hover::after { left: 15%; width: 70%; }
.lm-home__login-button { min-height: 44px; padding: 0 18px; font-size: 13px; }

.lm-home__hero-wrap { position: relative; background: radial-gradient(circle at 8% 20%, rgba(36,168,255,.12), transparent 29%), radial-gradient(circle at 88% 12%, rgba(105,77,246,.11), transparent 32%), linear-gradient(180deg, #fbfdff 0%, #edf7ff 100%); }
.lm-home__hero-wrap::after { content: ""; position: absolute; inset: auto 0 0; height: 140px; background: linear-gradient(180deg, rgba(246,250,255,0), #f6faff); pointer-events: none; }
.lm-home__hero { width: min(calc(100% - 44px), 1640px); min-height: 720px; margin: 0 auto; padding: 70px 0 94px; display: grid; grid-template-columns: minmax(430px, .82fr) minmax(620px, 1.18fr); align-items: center; gap: clamp(42px, 5vw, 90px); position: relative; z-index: 1; }
.lm-home__eyebrow { display: inline-flex; align-items: center; gap: 10px; min-height: 34px; padding: 0 13px; margin-bottom: 20px; border-radius: 999px; background: rgba(255,255,255,.88); border: 1px solid #dce9f8; color: #365386; box-shadow: 0 8px 24px rgba(30,72,137,.07); font-size: 11px; font-weight: 900; letter-spacing: 1.25px; }
.lm-home__eyebrow > span:first-child { color: #ff9f22; font-size: 15px; }
.lm-home__copy h1 { margin: 0; max-width: 690px; color: var(--navy); font-size: clamp(58px, 5.35vw, 88px); line-height: .95; letter-spacing: -4.5px; }
.lm-home__copy h1 span { position: relative; display: inline-block; color: transparent; background: linear-gradient(100deg, #4d63ed, #7b4df5); -webkit-background-clip: text; background-clip: text; }
.lm-home__copy h1 span::after { content: ""; position: absolute; left: 8%; bottom: -9px; width: 84%; height: 7px; border-radius: 999px; background: linear-gradient(90deg, #ff9f22, #ffd660); transform: rotate(-1.5deg); }
.lm-home__copy > p { max-width: 700px; margin: 30px 0 28px; color: #4f6080; font-size: 18px; line-height: 1.7; }
.lm-home__copy > p strong { color: #2c4271; }
.lm-home__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lm-home__hero-proof { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; max-width: 690px; margin-top: 34px; }
.lm-home__hero-proof > div { display: grid; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 12px 13px; border-radius: 16px; background: rgba(255,255,255,.76); border: 1px solid rgba(216,229,246,.95); box-shadow: 0 9px 24px rgba(29,69,128,.06); }
.lm-home__hero-proof span { grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,#f3f7ff,#efeaff); }
.lm-home__hero-proof strong { color: #233765; font-size: 12px; }
.lm-home__hero-proof small { margin-top: 2px; color: #7a87a1; font-size: 10px; }

.lm-adventure { position: relative; min-height: 585px; border-radius: 48px; background-image: linear-gradient(180deg, rgba(5,30,73,.01), rgba(5,30,73,.10)), url('/assets/hero-matix-map2-CyXyfXAb.jpg'); background-size: cover; background-position: center; box-shadow: 0 34px 90px rgba(36,94,156,.22); border: 10px solid rgba(255,255,255,.76); overflow: hidden; isolation: isolate; }
.lm-adventure::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6,38,86,.02), transparent 42%); }
.lm-adventure::after { content: ""; position: absolute; inset: auto 5% -28px 5%; height: 70px; border-radius: 50%; background: rgba(18,83,160,.20); filter: blur(28px); z-index: -2; }
.lm-adventure__glass { position: absolute; left: 22px; top: 22px; display: flex; align-items: center; gap: 11px; padding: 11px 15px 11px 12px; border-radius: 17px; background: rgba(255,255,255,.90); border: 1px solid rgba(255,255,255,.85); box-shadow: 0 14px 34px rgba(8,43,95,.16); backdrop-filter: blur(14px); }
.lm-adventure__glass strong, .lm-adventure__glass small { display: block; }
.lm-adventure__glass strong { color: var(--navy); font-size: 13px; }
.lm-adventure__glass small { margin-top: 2px; color: #6b7894; font-size: 10px; font-weight: 700; }
.lm-adventure__spark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: white; background: linear-gradient(135deg,var(--blue),var(--violet)); font-size: 18px; }
.lm-adventure__floating { position: absolute; padding: 9px 13px; border-radius: 999px; color: white; font-size: 11px; font-weight: 900; letter-spacing: .2px; box-shadow: 0 12px 25px rgba(7,39,88,.20); }
.lm-adventure__floating--xp { right: 27px; top: 36px; background: linear-gradient(135deg,#ffab24,#f47d19); }
.lm-adventure__floating--route { right: 34px; bottom: 28px; background: linear-gradient(135deg,#12b9b1,#1675e8); }

.lm-home__section { width: min(calc(100% - 44px), 1640px); margin: 0 auto; padding: 92px 0; }
.lm-home__section-heading { max-width: 850px; margin: 0 auto 42px; text-align: center; }
.lm-home__section-heading h2 { margin: 0; color: var(--navy); font-size: clamp(38px, 4vw, 58px); line-height: 1.02; letter-spacing: -2.4px; }
.lm-home__section-heading > p:last-child { margin: 18px auto 0; max-width: 730px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.lm-home__section-heading--split { max-width: none; display: grid; grid-template-columns: 1fr .72fr; gap: 48px; align-items: end; text-align: left; }
.lm-home__section-heading--split > div { max-width: 830px; }
.lm-home__section-heading--split > p:last-child { max-width: 560px; margin: 0; padding-bottom: 5px; }

.lm-home__section--how { padding-top: 68px; }
.lm-how-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lm-how-card { position: relative; min-height: 245px; padding: 28px; border-radius: 25px; background: white; border: 1px solid #dfe9f6; box-shadow: 0 14px 38px rgba(29,69,128,.08); overflow: hidden; }
.lm-how-card > span:first-child { position: absolute; right: 20px; top: 15px; color: #e7edf7; font-size: 38px; font-weight: 950; }
.lm-how-card__icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 19px; background: linear-gradient(145deg,#eef6ff,#eee8ff); font-size: 28px; box-shadow: inset 0 0 0 1px rgba(103,84,232,.08); }
.lm-how-card h3 { margin: 28px 0 9px; color: var(--navy); font-size: 20px; letter-spacing: -.5px; }
.lm-how-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

.lm-home__section--routes { padding-top: 76px; }
.lm-route-premium-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lm-route-premium { position: relative; min-height: 360px; padding: 27px; border-radius: 30px; color: white; overflow: hidden; box-shadow: 0 20px 45px rgba(17,54,112,.15); isolation: isolate; }
.lm-route-premium::before { content: ""; position: absolute; width: 240px; height: 240px; right: -90px; top: -95px; border-radius: 50%; background: rgba(255,255,255,.13); z-index: -1; }
.lm-route-premium::after { content: ""; position: absolute; width: 180px; height: 180px; left: -90px; bottom: -100px; border-radius: 50%; background: rgba(255,255,255,.08); z-index: -1; }
.lm-route-premium--green { background: linear-gradient(155deg,#18b98b,#04715a); }
.lm-route-premium--violet { background: linear-gradient(155deg,#9b67f6,#5632bd); }
.lm-route-premium--blue { background: linear-gradient(155deg,#4599fb,#1654bd); }
.lm-route-premium--orange { background: linear-gradient(155deg,#ffb23f,#e47708); }
.lm-route-premium__top { display: flex; align-items: center; justify-content: space-between; }
.lm-route-premium__icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 22px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.22); font-size: 32px; }
.lm-route-premium__number { color: rgba(255,255,255,.35); font-size: 40px; font-weight: 950; }
.lm-route-premium h3 { margin: 37px 0 10px; max-width: 260px; font-size: 25px; line-height: 1.05; letter-spacing: -.8px; }
.lm-route-premium p { min-height: 44px; margin: 0; color: rgba(255,255,255,.88); font-size: 13px; line-height: 1.5; }
.lm-route-premium__path { display: flex; align-items: center; gap: 0; margin: 32px 0 17px; }
.lm-route-premium__path span { position: relative; width: 13px; height: 13px; border-radius: 50%; background: rgba(255,255,255,.9); border: 3px solid rgba(255,255,255,.33); box-shadow: 0 0 0 2px rgba(255,255,255,.18); }
.lm-route-premium__path span:not(:last-child)::after { content: ""; position: absolute; left: 10px; top: 3px; width: calc((100% + 30px) * 1); min-width: 38px; height: 2px; background: rgba(255,255,255,.45); }
.lm-route-premium__path span + span { margin-left: 38px; }
.lm-route-premium small { font-weight: 800; color: rgba(255,255,255,.86); }

.lm-home__section--missions { width: 100%; max-width: none; padding: 88px max(22px, calc((100% - 1640px) / 2)); background: linear-gradient(135deg,#071e50 0%,#0a3e80 58%,#5039bd 100%); }
.lm-missions-showcase { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(40px,5vw,80px); align-items: center; }
.lm-missions-showcase__copy .lm-kicker { color: #91d8ff; }
.lm-missions-showcase__copy h2 { margin: 0; max-width: 640px; color: white; font-size: clamp(39px,4.1vw,60px); line-height: 1.03; letter-spacing: -2.3px; }
.lm-missions-showcase__copy > p { margin: 23px 0; max-width: 620px; color: rgba(255,255,255,.75); font-size: 16px; line-height: 1.65; }
.lm-mission-bullets { display: grid; gap: 10px; color: rgba(255,255,255,.9); font-weight: 750; font-size: 13px; }
.lm-mission-preview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.lm-mission-preview { min-height: 330px; padding: 24px; border-radius: 27px; background: rgba(255,255,255,.95); box-shadow: 0 24px 50px rgba(3,17,51,.22); transform: translateY(0); }
.lm-mission-preview:nth-child(2) { transform: translateY(26px); }
.lm-mission-preview__badge { display: inline-flex; padding: 6px 9px; border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .8px; }
.lm-mission-preview__icon { width: 72px; height: 72px; margin-top: 27px; display: grid; place-items: center; border-radius: 23px; color: white; font-size: 31px; font-weight: 950; box-shadow: 0 15px 30px rgba(32,68,126,.16); }
.lm-mission-preview h3 { margin: 28px 0 8px; color: var(--navy); font-size: 21px; line-height: 1.08; }
.lm-mission-preview p { min-height: 65px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.lm-mission-preview small { color: #7c88a1; font-weight: 800; }
.lm-mission-preview--violet .lm-mission-preview__badge { color: #6747db; background: #f0eaff; }
.lm-mission-preview--violet .lm-mission-preview__icon { background: linear-gradient(135deg,#8c5cf6,#5433bd); }
.lm-mission-preview--orange .lm-mission-preview__badge { color: #b96100; background: #fff0dc; }
.lm-mission-preview--orange .lm-mission-preview__icon { background: linear-gradient(135deg,#ffad32,#e77707); }
.lm-mission-preview--blue .lm-mission-preview__badge { color: #1761c9; background: #e7f1ff; }
.lm-mission-preview--blue .lm-mission-preview__icon { background: linear-gradient(135deg,#3f94fa,#1857c0); }

.lm-home__section--pilot { padding-top: 110px; padding-bottom: 72px; }
.lm-pilot-banner { display: grid; grid-template-columns: .72fr 1.28fr; gap: 50px; align-items: center; min-height: 430px; padding: 48px; border-radius: 36px; background: linear-gradient(135deg,#fffdf6,#f6fbff 55%,#edf2ff); border: 1px solid #e0e9f5; box-shadow: var(--shadow); overflow: hidden; }
.lm-pilot-banner__visual { position: relative; min-height: 320px; border-radius: 30px; background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.22), transparent 38%), linear-gradient(145deg,#0b62dc,#6a45eb); display: grid; place-items: center; overflow: hidden; }
.lm-pilot-banner__visual::before, .lm-pilot-banner__visual::after { content: ""; position: absolute; border: 1px dashed rgba(255,255,255,.30); border-radius: 50%; }
.lm-pilot-banner__visual::before { width: 255px; height: 255px; }
.lm-pilot-banner__visual::after { width: 370px; height: 370px; }
.lm-pilot-banner__flag { position: absolute; left: 18px; top: 18px; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.92); color: #29447a; font-size: 10px; font-weight: 950; letter-spacing: 1px; }
.lm-pilot-banner__core { width: 130px; height: 130px; display: grid; place-items: center; border-radius: 34px; color: white; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(10px); font-size: 30px; font-weight: 950; letter-spacing: 1px; box-shadow: 0 20px 40px rgba(12,38,104,.22); }
.lm-pilot-banner__orbit { position: absolute; width: 53px; height: 53px; display: grid; place-items: center; border-radius: 17px; color: #17366d; background: white; font-weight: 950; box-shadow: 0 12px 28px rgba(5,30,74,.17); }
.lm-pilot-banner__orbit--1 { left: 16%; top: 25%; }
.lm-pilot-banner__orbit--2 { right: 14%; top: 21%; }
.lm-pilot-banner__orbit--3 { right: 21%; bottom: 17%; }
.lm-pilot-banner__copy h2 { margin: 0; max-width: 760px; color: var(--navy); font-size: clamp(37px,3.7vw,56px); line-height: 1.03; letter-spacing: -2px; }
.lm-pilot-banner__copy > p:not(.lm-kicker) { max-width: 790px; margin: 20px 0 27px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.lm-pilot-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.lm-pilot-stats > div { padding: 16px; border-radius: 18px; background: white; border: 1px solid #e1e9f4; }
.lm-pilot-stats strong { display: block; color: var(--navy); font-size: 25px; }
.lm-pilot-stats span { display: block; margin-top: 3px; color: #75819b; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }

.lm-home__section--creator { padding-top: 60px; }
.lm-creator { display: grid; grid-template-columns: minmax(330px,.7fr) minmax(0,1.3fr); gap: clamp(46px,6vw,95px); align-items: center; padding: 58px; border-radius: 38px; background: white; border: 1px solid #dfe9f6; box-shadow: var(--shadow); }
.lm-creator__portrait { position: relative; min-height: 440px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 32px; overflow: hidden; color: white; background: linear-gradient(155deg,#0b3577,#176fe9 58%,#6949e8); box-shadow: 0 24px 50px rgba(15,61,132,.21); }
.lm-creator__portrait::before { content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%; background: rgba(255,255,255,.12); top: 45px; }
.lm-creator__portrait::after { content: ""; position: absolute; inset: auto -60px -120px; height: 260px; border-radius: 50%; background: rgba(255,255,255,.08); }
.lm-creator__portrait-glow { position: absolute; width: 185px; height: 185px; top: 78px; border-radius: 50%; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 0 60px rgba(142,213,255,.22); }
.lm-creator__initials { position: relative; z-index: 2; width: 138px; height: 138px; display: grid; place-items: center; border-radius: 50%; background: white; color: #27448c; font-size: 42px; font-weight: 950; box-shadow: 0 18px 38px rgba(5,31,78,.22); }
.lm-creator__portrait > span { position: relative; z-index: 2; margin-top: 25px; color: rgba(255,255,255,.82); font-size: 11px; font-weight: 850; letter-spacing: .8px; text-transform: uppercase; }
.lm-creator__copy h2 { margin: 0; max-width: 810px; color: var(--navy); font-size: clamp(38px,3.6vw,56px); line-height: 1.03; letter-spacing: -2px; }
.lm-creator__copy h3 { margin: 30px 0 5px; color: #263d70; font-size: 24px; }
.lm-creator__role { margin: 0 0 20px !important; color: var(--violet) !important; font-size: 13px !important; font-weight: 850; }
.lm-creator__copy > p { max-width: 880px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.lm-creator__quote { margin-top: 24px; padding: 18px 20px; border-left: 4px solid var(--violet); border-radius: 0 16px 16px 0; background: #f5f2ff; color: #4e3ca3; font-weight: 800; line-height: 1.5; }

.lm-home__section--cta { padding-top: 64px; padding-bottom: 85px; }
.lm-home-cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 47px 50px; border-radius: 34px; color: white; background: linear-gradient(120deg,#0a2b68,#1265d9 56%,#6042d7); box-shadow: 0 28px 65px rgba(13,55,126,.22); }
.lm-home-cta .lm-kicker { color: #9bd8ff; }
.lm-home-cta h2 { margin: 0; font-size: clamp(34px,3.3vw,50px); letter-spacing: -1.8px; }
.lm-home-cta p:not(.lm-kicker) { max-width: 720px; margin: 13px 0 0; color: rgba(255,255,255,.74); line-height: 1.6; }
.lm-home-cta .lm-home__actions { flex: 0 0 auto; }

.lm-home__footer { background: linear-gradient(90deg,#061a45,#0a3776); color: white; }
.lm-home__footer-inner { width: min(calc(100% - 44px),1640px); min-height: 118px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; }
.lm-home__footer-links { display: flex; gap: 24px; align-items: center; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 750; }
.lm-home__footer-links a { text-decoration: none; }
.lm-home__footer-credit { justify-self: end; text-align: right; }
.lm-home__footer-credit span, .lm-home__footer-credit small { display: block; }
.lm-home__footer-credit span { font-size: 11px; color: rgba(255,255,255,.78); }
.lm-home__footer-credit small { margin-top: 5px; color: rgba(255,255,255,.49); }

/* Login V2 */
.lm-login { min-height: 100vh; display: grid; grid-template-columns: minmax(560px,1.08fr) minmax(520px,.92fr); background: #f8fbff; }
.lm-login__visual { position: relative; overflow: hidden; min-height: 790px; background-image: linear-gradient(180deg,rgba(255,255,255,.01),rgba(4,27,68,.09)), url('/assets/login-matix-v2-BxmFlLnm.jpg'); background-size: cover; background-position: center; }
.lm-login__visual::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(180deg,transparent,rgba(4,29,72,.58)); }
.lm-login__visual-overlay { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; padding: 42px 45px 48px; }
.lm-login__visual-badge { align-self: flex-start; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.91); color: #203b75; box-shadow: 0 12px 30px rgba(12,48,104,.15); font-size: 10px; font-weight: 900; letter-spacing: .9px; }
.lm-login__visual-overlay > div:last-child { max-width: 580px; color: white; }
.lm-login__visual-overlay h2 { margin: 0; font-size: clamp(35px,3.3vw,52px); line-height: 1.02; letter-spacing: -1.8px; }
.lm-login__visual-overlay p { max-width: 520px; margin: 13px 0 0; color: rgba(255,255,255,.80); line-height: 1.55; }
.lm-login__panel { display: grid; place-items: center; padding: 54px clamp(30px,5vw,78px); background: radial-gradient(circle at 90% 8%,#eee9ff 0,transparent 26%),#fbfdff; }
.lm-login__card { width: min(100%,590px); padding: 36px 42px 40px; border-radius: 30px; background: rgba(255,255,255,.96); border: 1px solid #dfe8f4; box-shadow: 0 26px 65px rgba(19,55,113,.13); }
.lm-login__card > .lm-brand { margin: 16px 0 26px; }
.lm-login__back { display: inline-flex; text-decoration: none; color: #60708f; font-size: 12px; font-weight: 800; }
.lm-login__icon { width: 60px; height: 60px; margin: 0 auto 15px; display: grid; place-items: center; border-radius: 20px; background: linear-gradient(145deg,#edf4ff,#efe9ff); font-size: 27px; }
.lm-login__card h1 { margin: 0; color: var(--navy); font-size: 39px; text-align: center; letter-spacing: -1.4px; }
.lm-login__intro { margin: 10px 0 27px; color: var(--muted); text-align: center; line-height: 1.55; }
.lm-form { display: grid; gap: 16px; }
.lm-field { display: grid; gap: 8px; color: #203461; font-size: 13px; font-weight: 850; }
.lm-input { width: 100%; min-height: 53px; border: 1px solid #ccd8e8; border-radius: 14px; padding: 0 15px; color: var(--ink); background: #fbfdff; outline: none; transition: border .18s, box-shadow .18s, background .18s; }
.lm-input:focus { background: white; border-color: var(--violet); box-shadow: 0 0 0 4px rgba(108,77,246,.10); }
.lm-login__pilot { display: flex; align-items: center; gap: 11px; padding: 14px 16px; margin-top: 20px; border-radius: 15px; background: #f5f2ff; color: #4f4f7d; font-size: 11px; line-height: 1.4; }
.lm-login__pilot > span:first-child { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: white; color: var(--violet); font-size: 18px; }
.lm-message { margin-top: 16px; padding: 12px 14px; border-radius: 12px; background: #eef4ff; color: #375487; font-weight: 750; font-size: 13px; }
.lm-session { display: grid; gap: 12px; }
.lm-session__profile { padding: 18px; border-radius: 16px; background: #f5f8ff; border: 1px solid #e2eafa; }
.lm-role-grid { display: grid; gap: 9px; }
/* App shell */
.lm-shell { min-height: 100vh; display: grid; grid-template-columns: 246px minmax(0, 1fr); background: #f4f7fc; }
.lm-sidebar { min-height: 100vh; position: sticky; top: 0; align-self: start; padding: 22px 15px; background: linear-gradient(180deg, #071e50 0%, #083b7d 100%); color: white; display: flex; flex-direction: column; }
.lm-sidebar__brand { padding: 4px 5px 21px; border-bottom: 1px solid rgba(255,255,255,.10); }
.lm-sidebar__brand > span { display: block; margin: 4px 0 0 55px; color: rgba(255,255,255,.62); font-size: 11px; font-weight: 700; }
.lm-sidebar__nav { display: grid; gap: 7px; padding: 18px 0; }
.lm-sidebar__item { min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 0 14px; border-radius: 13px; color: rgba(255,255,255,.83); text-decoration: none; font-size: 14px; font-weight: 750; transition: .18s; }
.lm-sidebar__item:hover { background: rgba(255,255,255,.08); color: white; }
.lm-sidebar__item.is-active { color: white; background: linear-gradient(135deg, #1e73ed, #6c4df6); box-shadow: 0 10px 20px rgba(22, 32, 97, .25); }
.lm-sidebar__item.is-disabled { opacity: .62; cursor: default; }
.lm-sidebar__icon { width: 25px; text-align: center; font-size: 17px; }
.lm-sidebar__footer { margin-top: auto; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.5; }
.lm-sidebar__footer strong { color: white; }
.lm-workspace { min-width: 0; }
.lm-topbar { min-height: 116px; padding: 25px clamp(24px, 4vw, 54px); display: flex; align-items: center; justify-content: space-between; gap: 20px; background: rgba(255,255,255,.95); border-bottom: 1px solid #e6edf7; }
.lm-topbar h1 { margin: 0; font-size: clamp(28px, 3.2vw, 42px); letter-spacing: -1.4px; color: var(--navy); }
.lm-topbar__subtitle { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
.lm-topbar__actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.lm-content { padding: 28px clamp(20px, 4vw, 50px) 50px; }
.lm-dashboard-grid { display: grid; gap: 18px; }
.lm-dashboard-grid--2 { grid-template-columns: 1.25fr .75fr; }
.lm-metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lm-metric { padding: 18px; min-height: 126px; display: flex; gap: 14px; align-items: flex-start; }
.lm-metric p { margin: 1px 0 8px; color: #5e6e8d; font-size: 12px; font-weight: 750; }
.lm-metric strong { display: block; font-size: 26px; color: var(--navy); line-height: 1; }
.lm-metric small { display: block; margin-top: 8px; color: #7c88a1; font-size: 11px; }
.lm-section-card { padding: 22px; }
.lm-section-card__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.lm-section-card__head h2 { margin: 0; color: var(--navy); font-size: 22px; letter-spacing: -.55px; }
.lm-section-card__head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.lm-mission-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.lm-mission-card { position: relative; padding: 18px; border-radius: 18px; background: linear-gradient(180deg, white, #f9fbff); border: 1px solid #e1e9f4; overflow: hidden; }
.lm-mission-card::before { content: ""; position: absolute; width: 100px; height: 100px; border-radius: 50%; right: -45px; top: -45px; background: linear-gradient(135deg, rgba(35,118,239,.12), rgba(108,77,246,.14)); }
.lm-mission-card__top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.lm-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border-radius: 999px; background: #f0ecff; color: #6449d8; font-size: 11px; font-weight: 850; }
.lm-mission-card h3 { margin: 15px 0 8px; font-size: 19px; color: var(--navy); }
.lm-mission-card p { margin: 0; color: var(--muted); line-height: 1.5; font-size: 13px; }
.lm-mission-card__meta { display: flex; gap: 12px; margin: 14px 0; color: #405781; font-size: 12px; font-weight: 750; }
.lm-complete-note { margin: 12px 0 !important; padding: 9px 11px; border-radius: 11px; background: #eaf9f3; color: #167354 !important; font-weight: 800; font-size: 11px !important; }
.lm-route-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lm-route-card { min-height: 210px; position: relative; padding: 20px; border-radius: 20px; color: white; overflow: hidden; box-shadow: 0 14px 26px rgba(16,44,91,.13); }
.lm-route-card::after { content: ""; position: absolute; width: 150px; height: 150px; border-radius: 50%; right: -70px; bottom: -70px; background: rgba(255,255,255,.14); }
.lm-route-card__icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 18px; background: rgba(255,255,255,.17); font-size: 28px; }
.lm-route-card h3 { margin: 22px 0 7px; font-size: 18px; }
.lm-route-card p { margin: 0; font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.88); }
.lm-route-card small { position: absolute; bottom: 17px; left: 20px; z-index: 2; font-weight: 800; }
.lm-route-card--green { background: linear-gradient(145deg, #12ae80, #08705b); }
.lm-route-card--violet { background: linear-gradient(145deg, #9661f6, #5937bd); }
.lm-route-card--blue { background: linear-gradient(145deg, #3e92fa, #1b59bf); }
.lm-route-card--orange { background: linear-gradient(145deg, #ffae3d, #e7780b); }
.lm-matix-card { min-height: 100%; padding: 22px; background: linear-gradient(155deg, #0d4fa5, #513bc0); color: white; position: relative; overflow: hidden; }
.lm-matix-card::after { content: "🦊"; position: absolute; right: -4px; bottom: -18px; font-size: 120px; filter: drop-shadow(0 8px 12px rgba(0,0,0,.16)); }
.lm-matix-card h3 { font-size: 22px; margin: 0 0 8px; }
.lm-matix-card p { max-width: 62%; color: rgba(255,255,255,.82); line-height: 1.5; font-size: 13px; }

/* Teacher */
.lm-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.lm-teacher-section { padding: 22px; position: relative; overflow: hidden; }
.lm-teacher-section__code { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 17px; color: white; font-size: 22px; font-weight: 900; background: linear-gradient(135deg, var(--blue), var(--violet)); box-shadow: 0 10px 20px rgba(67,74,218,.22); }
.lm-teacher-section h3 { margin: 18px 0 7px; color: var(--navy); font-size: 22px; }
.lm-teacher-section p { color: var(--muted); }
.lm-teacher-section__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px 0; }
.lm-teacher-section__stat { padding: 11px; border-radius: 12px; background: #f4f8ff; }
.lm-teacher-section__stat small { display: block; color: #7887a4; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.lm-teacher-section__stat strong { display: block; margin-top: 3px; color: var(--navy); }

/* Mission */
.lm-mission-page { min-height: 100vh; background: radial-gradient(circle at 80% 0%, #e4edff, transparent 31%), #f4f8ff; padding: 30px 20px 60px; }
.lm-mission-wrap { width: min(100%, 980px); margin: 0 auto; }
.lm-mission-hero { padding: 28px; margin-bottom: 18px; background: linear-gradient(135deg, #0b3f91, #5a43c8); color: white; position: relative; overflow: hidden; }
.lm-mission-hero::after { content: "🎯"; position: absolute; right: 25px; bottom: -18px; font-size: 120px; opacity: .18; }
.lm-mission-hero a { color: rgba(255,255,255,.86); font-size: 13px; font-weight: 800; text-decoration: none; }
.lm-mission-hero h1 { margin: 25px 0 10px; font-size: clamp(32px, 5vw, 48px); line-height: 1.03; letter-spacing: -1.6px; }
.lm-mission-hero p { max-width: 720px; color: rgba(255,255,255,.82); line-height: 1.55; }
.lm-mission-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.lm-mission-meta span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.14); font-size: 12px; font-weight: 750; }
.lm-quiz { padding: 26px; }
.lm-quiz__head { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 12px; }
.lm-quiz__progress { min-width: 130px; height: 8px; border-radius: 999px; background: #e8edf7; overflow: hidden; }
.lm-quiz__progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--violet)); }
.lm-chart { min-height: 230px; display: flex; align-items: flex-end; gap: clamp(10px, 3vw, 26px); padding: 30px 20px 18px; margin: 20px 0; border-radius: 18px; background: linear-gradient(180deg, #f7faff, #edf4ff); border: 1px solid #e1eaf6; }
.lm-chart__item { flex: 1; text-align: center; color: #4b5e84; font-size: 12px; font-weight: 800; }
.lm-chart__bar { width: min(100%, 76px); margin: 0 auto 8px; border-radius: 12px 12px 5px 5px; background: linear-gradient(180deg, #7c5cf6, #246fea); box-shadow: inset 0 1px rgba(255,255,255,.34); }
.lm-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.lm-option { min-height: 48px; border: 1px solid #d7e1ef; border-radius: 13px; background: white; color: #2f436d; font-weight: 800; cursor: pointer; }
.lm-option.is-selected { border-color: var(--violet); background: #f1edff; color: #573acb; box-shadow: 0 0 0 3px rgba(108,77,246,.09); }
.lm-quiz__result { padding: 34px; text-align: center; }
.lm-score-ring { width: 124px; height: 124px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--violet) 0 75%, #e7edf7 75% 100%); position: relative; }
.lm-score-ring::after { content: ""; position: absolute; width: 91px; height: 91px; border-radius: 50%; background: white; }
.lm-score-ring strong { position: relative; z-index: 1; font-size: 25px; color: var(--navy); }

/* Password / utility */
.lm-utility-page { min-height: 100vh; display: grid; place-items: center; padding: 30px 18px; background: radial-gradient(circle at 20% 10%, #e4f6ff, transparent 30%), radial-gradient(circle at 90% 90%, #eee8ff, transparent 32%), #f6f9ff; }
.lm-utility-card { width: min(100%, 560px); padding: 32px; }
.lm-utility-card h1 { margin: 10px 0 8px; font-size: 34px; letter-spacing: -1px; }
.lm-utility-card > p { color: var(--muted); line-height: 1.55; }
.lm-success { color: #157554; background: #eaf9f3; padding: 11px 13px; border-radius: 11px; font-weight: 750; }
.lm-error { color: #9a3547; background: #fff0f3; padding: 11px 13px; border-radius: 11px; font-weight: 750; }

/* Temporary admin */
.lm-temp { min-height: 100vh; display: grid; place-items: center; padding: 30px 18px; background: #f4f8ff; }
.lm-temp__card { width: min(100%, 680px); padding: 35px; text-align: center; }
.lm-temp__icon { width: 74px; height: 74px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 24px; background: #eeeaff; font-size: 35px; }
.lm-temp__card h1 { margin: 0 0 10px; color: var(--navy); font-size: 36px; }
.lm-temp__card p { color: var(--muted); line-height: 1.6; }


/* V2 Matix inside student environment */
.lm-matix-card { min-height: 285px; padding: 25px; background: linear-gradient(155deg,#0b3a83,#5238bd); color: white; position: relative; overflow: hidden; isolation: isolate; }
.lm-matix-card::before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 49%; background-image: linear-gradient(90deg,rgba(39,52,154,1) 0%,rgba(39,52,154,.20) 32%,rgba(39,52,154,0) 58%), url('/assets/matix-guide-CMcAq_1p.jpg'); background-size: cover; background-position: center 39%; opacity: .98; z-index: -1; }
.lm-matix-card::after { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 15% 20%,rgba(58,173,255,.35),transparent 35%); }
.lm-matix-card h3 { max-width: 56%; font-size: 24px; margin: 0 0 9px; }
.lm-matix-card p { max-width: 54%; color: rgba(255,255,255,.82); line-height: 1.55; font-size: 13px; }

@media (max-width: 1280px) {
  .lm-home__links { gap: 14px; }
  .lm-home__links > a:not(.lm-btn):nth-of-type(6) { display: none; }
  .lm-home__hero { grid-template-columns: minmax(390px,.85fr) minmax(520px,1.15fr); min-height: 660px; }
  .lm-adventure { min-height: 515px; }
  .lm-home__copy h1 { font-size: clamp(54px,5.2vw,74px); }
  .lm-route-premium { min-height: 340px; }
}

@media (max-width: 1120px) {
  .lm-home__nav { width: min(calc(100% - 32px), 1640px); }
  .lm-home__links > a:not(.lm-btn) { display: none; }
  .lm-home__hero { width: min(calc(100% - 32px), 1000px); grid-template-columns: 1fr; padding-top: 52px; gap: 38px; }
  .lm-home__copy { max-width: 820px; }
  .lm-home__copy h1 { max-width: 780px; }
  .lm-adventure { min-height: 540px; }
  .lm-home__section { width: min(calc(100% - 32px), 1000px); }
  .lm-home__section-heading--split { grid-template-columns: 1fr; gap: 15px; }
  .lm-home__section-heading--split > p:last-child { max-width: 760px; }
  .lm-how-grid, .lm-route-premium-grid { grid-template-columns: repeat(2,1fr); }
  .lm-missions-showcase { grid-template-columns: 1fr; }
  .lm-mission-preview-grid { max-width: 920px; }
  .lm-home__section--missions { width: 100%; padding-left: 32px; padding-right: 32px; }
  .lm-pilot-banner { grid-template-columns: 1fr; }
  .lm-pilot-banner__visual { min-height: 300px; }
  .lm-creator { grid-template-columns: 320px 1fr; padding: 40px; gap: 40px; }
  .lm-creator__portrait { min-height: 390px; }
  .lm-home-cta { align-items: flex-start; flex-direction: column; }
  .lm-home__footer-inner { width: min(calc(100% - 32px),1000px); grid-template-columns: 1fr 1fr; padding: 24px 0; }
  .lm-home__footer-links { order: 3; grid-column: 1 / 3; }
  .lm-login { grid-template-columns: 1fr; }
  .lm-login__visual { min-height: 560px; background-position: center 38%; }
  .lm-login__panel { padding-top: 42px; padding-bottom: 52px; }
  .lm-shell { grid-template-columns: 88px minmax(0,1fr); }
  .lm-sidebar__brand .lm-brand__copy, .lm-sidebar__brand > span, .lm-sidebar__item > span:last-child, .lm-sidebar__footer { display: none; }
  .lm-sidebar__item { justify-content: center; padding: 0; }
  .lm-sidebar__icon { width: auto; }
  .lm-sidebar__brand { display: grid; place-items: center; }
  .lm-metric-grid { grid-template-columns: repeat(2,1fr); }
  .lm-dashboard-grid--2 { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .lm-home__nav { min-height: 72px; }
  .lm-brand__copy small { display: none; }
  .lm-home__login-button { min-height: 42px; }
  .lm-home__hero { width: min(calc(100% - 26px), 720px); min-height: auto; padding: 42px 0 72px; }
  .lm-home__eyebrow { font-size: 9px; letter-spacing: .8px; }
  .lm-home__copy h1 { font-size: clamp(46px,13vw,66px); letter-spacing: -3px; }
  .lm-home__copy > p { margin-top: 25px; font-size: 16px; }
  .lm-home__actions .lm-btn { flex: 1 1 210px; }
  .lm-home__hero-proof { grid-template-columns: 1fr; }
  .lm-adventure { min-height: 390px; border-width: 6px; border-radius: 30px; background-position: 30% center; }
  .lm-adventure__glass { left: 14px; top: 14px; }
  .lm-adventure__floating--route { display: none; }
  .lm-home__section { width: min(calc(100% - 26px),720px); padding: 68px 0; }
  .lm-home__section-heading { margin-bottom: 30px; text-align: left; }
  .lm-home__section-heading h2 { font-size: clamp(36px,9vw,49px); }
  .lm-how-grid, .lm-route-premium-grid, .lm-mission-preview-grid { grid-template-columns: 1fr; }
  .lm-how-card { min-height: 210px; }
  .lm-route-premium { min-height: 320px; }
  .lm-home__section--missions { width: 100%; padding: 68px 13px; }
  .lm-mission-preview:nth-child(2) { transform: none; }
  .lm-pilot-banner { padding: 25px; gap: 30px; border-radius: 28px; }
  .lm-pilot-stats { grid-template-columns: repeat(2,1fr); }
  .lm-creator { grid-template-columns: 1fr; padding: 24px; border-radius: 28px; }
  .lm-creator__portrait { min-height: 370px; }
  .lm-home-cta { padding: 32px 25px; border-radius: 28px; }
  .lm-home-cta .lm-home__actions { width: 100%; }
  .lm-home-cta .lm-btn { width: 100%; }
  .lm-home__footer-inner { width: min(calc(100% - 26px),720px); grid-template-columns: 1fr; }
  .lm-home__footer-credit { justify-self: start; text-align: left; }
  .lm-home__footer-links { grid-column: 1; flex-wrap: wrap; gap: 14px 20px; }
  .lm-login__visual { min-height: 430px; }
  .lm-login__visual-overlay { padding: 24px; }
  .lm-login__visual-overlay h2 { font-size: 35px; }
  .lm-login__card { padding: 28px 22px 30px; }
  .lm-login__card h1 { font-size: 34px; }
  .lm-shell { display: block; }
  .lm-sidebar { min-height: auto; height: 68px; position: sticky; z-index: 20; padding: 8px 12px; flex-direction: row; align-items: center; }
  .lm-sidebar__brand { padding: 0; border: 0; margin-right: 10px; }
  .lm-sidebar__nav { display: flex; overflow-x: auto; padding: 0; gap: 5px; flex: 1; }
  .lm-sidebar__item { min-width: 46px; min-height: 46px; flex: 0 0 46px; }
  .lm-sidebar__footer { display: none; }
  .lm-topbar { padding: 20px; align-items: flex-start; flex-direction: column; }
  .lm-topbar__actions { width: 100%; justify-content: flex-start; }
  .lm-content { padding: 18px 14px 40px; }
  .lm-metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .lm-metric { min-height: 115px; padding: 14px; }
  .lm-route-grid { grid-template-columns: 1fr 1fr; }
  .lm-route-card { min-height: 195px; }
  .lm-options { grid-template-columns: 1fr; }
  .lm-matix-card { min-height: 320px; }
  .lm-matix-card::before { width: 58%; opacity: .76; }
  .lm-matix-card h3 { max-width: 55%; }
  .lm-matix-card p { max-width: 53%; }
}

@media (max-width: 480px) {
  .lm-brand__mark { width: 43px; height: 43px; }
  .lm-brand__copy strong { font-size: 20px; }
  .lm-home__login-button { width: 44px; padding: 0; font-size: 0; }
  .lm-home__login-button span { font-size: 16px; }
  .lm-home__copy h1 { font-size: clamp(43px,14vw,58px); }
  .lm-home__actions .lm-btn { width: 100%; flex-basis: 100%; }
  .lm-adventure { min-height: 330px; background-position: 24% center; }
  .lm-adventure__glass small { display: none; }
  .lm-adventure__floating--xp { right: 14px; bottom: 14px; top: auto; }
  .lm-pilot-banner__visual { min-height: 245px; }
  .lm-pilot-banner__visual::after { display: none; }
  .lm-pilot-stats { grid-template-columns: 1fr 1fr; }
  .lm-login__visual { min-height: 360px; background-position: 33% 42%; }
  .lm-login__visual-overlay > div:last-child p { display: none; }
  .lm-login__panel { padding: 24px 14px 38px; }
  .lm-route-grid, .lm-metric-grid { grid-template-columns: 1fr; }
  .lm-topbar__actions .lm-btn { width: 100%; }
  .lm-matix-card::before { width: 66%; opacity: .65; }
  .lm-matix-card h3 { max-width: 62%; }
  .lm-matix-card p { max-width: 58%; }
}

/* =========================================================
   LUDIMÁTICA V3 · REFINAMIENTO VISUAL INTEGRAL
   ========================================================= */

.lm-home--v3 {
  background:
    radial-gradient(circle at 12% 10%, rgba(61, 172, 255, .08), transparent 25%),
    radial-gradient(circle at 90% 25%, rgba(111, 78, 246, .08), transparent 27%),
    #f6faff;
}

.lm-home--v3 .lm-home__header {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 35px rgba(19, 56, 113, .06);
}

.lm-home--v3 .lm-home__nav {
  width: min(calc(100% - 48px), 1720px);
  min-height: 82px;
}

.lm-home--v3 .lm-home__links {
  gap: clamp(13px, 1.45vw, 25px);
}

.lm-home--v3 .lm-home__hero-wrap {
  background:
    radial-gradient(circle at 4% 18%, rgba(40, 165, 255, .15), transparent 27%),
    radial-gradient(circle at 88% 20%, rgba(115, 73, 247, .12), transparent 30%),
    linear-gradient(180deg, #fbfdff 0%, #eef7ff 100%);
}

.lm-home__hero--v3 {
  width: min(calc(100% - 48px), 1720px);
  min-height: auto;
  padding: 58px 0 82px;
  grid-template-columns: minmax(440px, .86fr) minmax(680px, 1.14fr);
  gap: clamp(38px, 4vw, 74px);
}

.lm-home--v3 .lm-home__copy h1 {
  max-width: 720px;
  font-size: clamp(60px, 5.2vw, 88px);
  line-height: .96;
}

.lm-home__eyebrow-mark {
  color: #ff9f22 !important;
}

.lm-home--v3 .lm-home__copy > p {
  max-width: 650px;
  margin-top: 28px;
  font-size: 18px;
}

.lm-home--v3 .lm-home__hero-proof {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 780px;
  gap: 10px;
}

.lm-home--v3 .lm-home__hero-proof > div {
  min-height: 84px;
  padding: 12px;
  background: rgba(255,255,255,.86);
}

.lm-home--v3 .lm-home__hero-proof > div strong {
  line-height: 1.15;
}

.lm-proof-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
  color: white;
  font-size: 17px;
  box-shadow: 0 8px 18px rgba(17,52,109,.14);
}
.lm-proof-icon--violet { background: linear-gradient(135deg,#7758f6,#5636cc) !important; }
.lm-proof-icon--cyan { background: linear-gradient(135deg,#2dd1da,#159daf) !important; }
.lm-proof-icon--gold { background: linear-gradient(135deg,#ffbe3d,#f18b13) !important; }
.lm-proof-icon--blue { background: linear-gradient(135deg,#4094ff,#1267e8) !important; }

.lm-adventure--v3 {
  min-height: 0;
  aspect-ratio: 1400 / 530;
  padding: 0;
  border: 8px solid rgba(255,255,255,.84);
  border-radius: 34px;
  background: #dff2ff;
  box-shadow: 0 30px 75px rgba(31,89,153,.23);
  overflow: hidden;
}

.lm-adventure--v3::before,
.lm-adventure--v3::after {
  display: none;
}

.lm-adventure__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.lm-adventure--v3 .lm-adventure__glass {
  z-index: 2;
  left: 18px;
  top: 18px;
  padding: 10px 14px 10px 10px;
}

.lm-adventure--v3 .lm-adventure__floating {
  z-index: 2;
}

.lm-home--v3 .lm-home__section {
  width: min(calc(100% - 48px), 1720px);
}

.lm-how-grid--v3 {
  gap: 18px;
}

.lm-how-grid--v3 .lm-how-card {
  min-height: 250px;
  padding: 26px;
  border: 0;
  color: white;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(23,58,112,.14);
}

.lm-how-card--navy { background: linear-gradient(145deg,#0a3475,#08245a); }
.lm-how-card--violet { background: linear-gradient(145deg,#7651ee,#4b2eb6); }
.lm-how-card--cyan { background: linear-gradient(145deg,#11b7c5,#08778e); }
.lm-how-card--orange { background: linear-gradient(145deg,#ffad2e,#df6f09); }

.lm-how-grid--v3 .lm-how-card h3,
.lm-how-grid--v3 .lm-how-card p {
  color: white;
  position: relative;
  z-index: 2;
}

.lm-how-grid--v3 .lm-how-card p {
  color: rgba(255,255,255,.84);
}

.lm-how-card__step {
  color: rgba(255,255,255,.65) !important;
}

.lm-how-grid--v3 .lm-how-card__icon {
  width: 58px;
  height: 58px;
  font-size: 25px;
  color: white;
  background: rgba(255,255,255,.17);
  border: 1px solid rgba(255,255,255,.2);
}

.lm-how-card__decor {
  position: absolute;
  right: -12px;
  bottom: -24px;
  font-size: 105px;
  line-height: 1;
  font-weight: 950;
  color: rgba(255,255,255,.09);
  transform: rotate(-9deg);
}

.lm-home--v3 .lm-route-premium {
  min-height: 360px;
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(19,55,108,.14);
}

.lm-home--v3 .lm-route-premium::before {
  background: radial-gradient(circle at 84% 18%, rgba(255,255,255,.22), transparent 29%);
}

.lm-missions-showcase--v3 {
  max-width: 1720px;
  margin: 0 auto;
  grid-template-columns: .66fr 1.34fr;
}

.lm-mission-preview-grid--4 {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}

.lm-mission-preview-grid--4 .lm-mission-preview {
  min-height: 330px;
  transform: none;
  padding: 22px;
}

.lm-mission-preview--green { background: linear-gradient(180deg,#e6fbf4,#fff); border-color: rgba(26,169,124,.35); }
.lm-mission-preview--green .lm-mission-preview__icon { background: linear-gradient(145deg,#20bd8b,#0b7861); color: white; }
.lm-mission-preview--green .lm-mission-preview__badge { color: #08705a; background: #d9f7ec; }

.lm-home__section--pilot-v3 {
  padding-top: 98px;
}

.lm-pilot-v3 {
  display: grid;
  grid-template-columns: minmax(320px,.42fr) minmax(620px,1.58fr);
  gap: 22px;
  align-items: stretch;
}

.lm-pilot-v3__identity {
  padding: 32px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 90% 8%, rgba(255,205,74,.18), transparent 30%),
    linear-gradient(160deg,#ffffff,#fff9eb);
  border: 1px solid #efe1bd;
  box-shadow: 0 20px 46px rgba(74,55,15,.10);
}

.lm-pilot-v3__eyebrow {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff0be;
  color: #815d08;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.1px;
}

.lm-pilot-v3__crest {
  width: 122px;
  height: 122px;
  margin: 25px 0 20px;
  object-fit: contain;
  filter: drop-shadow(0 12px 19px rgba(73,54,25,.17));
}

.lm-pilot-v3__identity h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(29px,2.6vw,42px);
  line-height: 1.04;
  letter-spacing: -1.3px;
}

.lm-pilot-v3__identity > p {
  margin: 18px 0 23px;
  color: #596985;
  line-height: 1.65;
}

.lm-pilot-v3__facts {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
}

.lm-pilot-v3__facts span {
  padding: 12px 8px;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid #eee2ca;
  color: #68748b;
  font-size: 10px;
  text-align: center;
}

.lm-pilot-v3__facts strong {
  display: block;
  margin-bottom: 3px;
  color: #9a6910;
  font-size: 21px;
}

.lm-pilot-v3__gallery {
  min-height: 560px;
  display: grid;
  grid-template-columns: 1.55fr .75fr .75fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}

.lm-pilot-photo {
  min-width: 0;
  min-height: 0;
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 23px;
  border: 5px solid white;
  box-shadow: 0 18px 38px rgba(20,55,104,.12);
  background: #dfeaf7;
}

.lm-pilot-photo--feature {
  grid-row: 1 / 3;
}

.lm-pilot-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.lm-pilot-photo:hover img {
  transform: scale(1.025);
}

.lm-pilot-photo figcaption {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  padding: 9px 11px;
  border-radius: 12px;
  background: rgba(5,25,62,.76);
  color: white;
  font-size: 11px;
  font-weight: 850;
  backdrop-filter: blur(9px);
}

.lm-creator--v3 {
  padding: 44px;
  grid-template-columns: minmax(290px,.42fr) minmax(0,1fr);
  gap: 54px;
  align-items: center;
  background:
    radial-gradient(circle at 10% 20%, rgba(37,113,239,.11), transparent 33%),
    radial-gradient(circle at 95% 12%, rgba(116,77,246,.10), transparent 32%),
    white;
}

.lm-creator__portrait--photo {
  min-height: 430px;
  padding: 0;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg,#edf5ff,#f0ecff);
}

.lm-creator__portrait--photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.lm-creator__portrait-badge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(7,29,76,.83);
  color: white;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
  backdrop-filter: blur(9px);
}

.lm-creator__copy h2 {
  font-size: clamp(38px,4vw,58px);
}

.lm-creator__signature {
  display: grid;
  gap: 4px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid #e3ebf6;
}

.lm-creator__signature strong {
  color: #4731b6;
  font-size: 18px;
}

.lm-creator__signature span {
  color: #77849b;
  font-size: 12px;
}

.lm-home-cta--v3 {
  background:
    radial-gradient(circle at 85% 0%, rgba(33,209,216,.25), transparent 30%),
    linear-gradient(135deg,#071d4f,#0b4aa2 60%,#5536c6);
}

/* Login V3 */
.lm-login--v3 {
  min-height: 100vh;
  grid-template-columns: minmax(560px, 1.12fr) minmax(510px, .88fr);
  background: #eef6ff;
  align-items: stretch;
}

.lm-login__visual--v3 {
  min-height: 100vh;
  display: grid;
  place-items: stretch;
  background: #cfeaff;
}

.lm-login__visual--v3::after {
  display: none;
}

.lm-login__art {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  object-fit: cover;
  object-position: center;
  display: block;
}

.lm-login__visual-chip {
  position: absolute;
  left: 28px;
  top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.91);
  color: #244075;
  box-shadow: 0 12px 28px rgba(17,55,115,.16);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .9px;
  backdrop-filter: blur(12px);
}

.lm-login__panel--v3 {
  min-height: 100vh;
  padding: 32px clamp(26px,4vw,64px);
  background:
    radial-gradient(circle at 80% 4%, rgba(116,77,246,.10), transparent 23%),
    radial-gradient(circle at 20% 94%, rgba(30,183,211,.08), transparent 25%),
    #f8fbff;
}

.lm-login__card--v3 {
  width: min(100%, 610px);
  padding: 30px 38px 32px;
  border-radius: 32px;
  box-shadow: 0 28px 70px rgba(17,55,111,.14);
}

.lm-login__card--v3 > .lm-brand {
  margin: 14px 0 18px;
}

.lm-login__card--v3 .lm-login__icon {
  width: 54px;
  height: 54px;
  margin-bottom: 11px;
  border-radius: 17px;
  color: #5940cf;
  font-size: 23px;
}

.lm-login__card--v3 h1 {
  font-size: clamp(34px,3vw,44px);
}

.lm-login__card--v3 .lm-input {
  min-height: 53px;
  border-radius: 14px;
  background: #fbfdff;
}

.lm-login__submit {
  margin-top: 4px;
  min-height: 54px;
}

.lm-login__help-links {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 17px;
  color: #4160a0;
  font-size: 11px;
  font-weight: 750;
}

.lm-login__pilot--v3 {
  margin-top: 16px;
  padding: 12px 14px;
  background: linear-gradient(145deg,#fbf8ff,#f1f6ff);
  border: 1px solid #ddd8f6;
}

.lm-login__pilot--v3 img {
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 5px 10px rgba(43,38,64,.13));
}

.lm-login__pilot--v3 > span {
  display: grid;
  gap: 3px;
}

.lm-login__pilot--v3 strong {
  color: #293d70;
  font-size: 12px;
}

.lm-login__pilot--v3 small {
  color: #6d7890;
}

/* Shared shell V3 */
.lm-shell--v3 {
  grid-template-columns: 270px minmax(0,1fr);
  background:
    radial-gradient(circle at 92% 3%, rgba(57,137,255,.07), transparent 23%),
    #f3f7fd;
}

.lm-shell--v3 .lm-sidebar {
  padding: 20px 16px;
  background:
    radial-gradient(circle at 15% 6%, rgba(71,134,255,.26), transparent 23%),
    radial-gradient(circle at 80% 74%, rgba(118,73,246,.18), transparent 28%),
    linear-gradient(180deg,#061a47 0%,#072b66 52%,#061944 100%);
  box-shadow: 14px 0 34px rgba(8,31,79,.08);
}

.lm-shell--v3 .lm-sidebar__nav {
  gap: 6px;
}

.lm-shell--v3 .lm-sidebar__item {
  min-height: 50px;
  border: 1px solid transparent;
}

.lm-shell--v3 .lm-sidebar__item.is-active {
  background: linear-gradient(135deg,#2677f5,#7549f3);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 12px 26px rgba(25,26,95,.28);
}

.lm-shell--v3 .lm-sidebar__footer {
  background: linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
  border-color: rgba(255,255,255,.14);
}

.lm-shell--v3 .lm-topbar {
  min-height: 112px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 25px rgba(20,55,105,.04);
}

.lm-shell--v3 .lm-content {
  padding-top: 22px;
}

.lm-metric-grid--v3 .lm-metric {
  min-height: 136px;
  position: relative;
  overflow: hidden;
  border-radius: 22px;
}

.lm-metric-grid--v3 .lm-metric::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  right: -36px;
  top: -36px;
  background: linear-gradient(145deg,rgba(46,127,244,.08),rgba(120,75,246,.10));
}

.lm-section-card--v3 {
  padding: 24px;
  border-radius: 26px;
}

.lm-chip--soft {
  color: #4e5f83;
  background: #f0f5fb;
}

/* Teacher dashboard V3 */
.lm-teacher-hero-v3 {
  min-height: 218px;
  padding: 34px 38px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  border-radius: 30px;
  color: white;
  background:
    linear-gradient(90deg,rgba(5,32,81,.92) 0%,rgba(7,54,123,.77) 45%,rgba(71,48,181,.46) 100%),
    url('/assets/hero-matix-map2-CyXyfXAb.jpg');
  background-size: cover;
  background-position: center 35%;
  box-shadow: 0 22px 50px rgba(14,54,111,.18);
}

.lm-teacher-hero-v3::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(255,255,255,.05),rgba(5,23,58,.15));
}

.lm-teacher-hero-v3 > * {
  position: relative;
  z-index: 1;
}

.lm-teacher-hero-v3 h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(30px,3.4vw,49px);
  line-height: 1.02;
  letter-spacing: -1.7px;
}

.lm-teacher-hero-v3 p {
  max-width: 670px;
  margin: 12px 0 0;
  color: rgba(255,255,255,.82);
}

.lm-teacher-hero-v3__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.lm-teacher-hero-v3__chips span {
  padding: 10px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.22);
  color: white;
  font-size: 11px;
  font-weight: 850;
  backdrop-filter: blur(10px);
}

.lm-section-grid--v3 {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.lm-teacher-section--v3 {
  min-height: 300px;
  border-radius: 24px;
  padding: 22px;
  background:
    radial-gradient(circle at 94% 5%, rgba(112,79,246,.11), transparent 31%),
    linear-gradient(180deg,#fff,#f9fbff);
}

.lm-teacher-section--v3::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 5px;
  background: linear-gradient(90deg,var(--blue),var(--violet),var(--cyan));
}

.lm-teacher-section__topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.lm-dashboard-grid--teacher-v3 {
  align-items: stretch;
}

.lm-matix-card--teacher {
  min-height: 100%;
}

/* Section management V3 */
.lm-section-hero-v3,
.lm-students-hero-v3,
.lm-import-hero-v3 {
  min-height: 205px;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 80% 20%,rgba(38,203,213,.28),transparent 24%),
    radial-gradient(circle at 62% 100%,rgba(121,74,246,.28),transparent 30%),
    linear-gradient(135deg,#08285f,#0e62bc 58%,#5d3bc5);
  box-shadow: 0 22px 48px rgba(15,53,105,.18);
}

.lm-section-hero-v3::after,
.lm-students-hero-v3::after,
.lm-import-hero-v3::after {
  content: "π   x²   %   △";
  position: absolute;
  right: 4%;
  top: 14%;
  color: rgba(255,255,255,.08);
  font-size: clamp(60px,7vw,115px);
  font-weight: 900;
  letter-spacing: 24px;
  transform: rotate(-6deg);
  pointer-events: none;
}

.lm-section-hero-v3 > *,
.lm-students-hero-v3 > *,
.lm-import-hero-v3 > * {
  position: relative;
  z-index: 1;
}

.lm-section-hero-v3__tag {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
}

.lm-section-hero-v3 h2,
.lm-students-hero-v3 h2,
.lm-import-hero-v3 h2 {
  max-width: 760px;
  margin: 12px 0 8px;
  font-size: clamp(30px,3.1vw,46px);
  line-height: 1.02;
  letter-spacing: -1.5px;
}

.lm-section-hero-v3 p,
.lm-students-hero-v3 p,
.lm-import-hero-v3 p {
  max-width: 730px;
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.55;
}

.lm-section-hero-v3__number,
.lm-students-hero-v3__count {
  width: 150px;
  height: 150px;
  flex: 0 0 150px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 38px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 1px rgba(255,255,255,.18);
}

.lm-section-hero-v3__number strong,
.lm-students-hero-v3__count strong {
  font-size: 48px;
  line-height: 1;
}

.lm-section-hero-v3__number span,
.lm-students-hero-v3__count span {
  margin-top: 7px;
  font-size: 11px;
  font-weight: 800;
  color: rgba(255,255,255,.8);
}

.lm-section-tools-v3 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.lm-tool-card-v3 {
  min-height: 320px;
  padding: 25px;
  position: relative;
  overflow: hidden;
  border-radius: 26px;
}

.lm-tool-card-v3::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -60px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(91,75,232,.08);
}

.lm-tool-card-v3__icon {
  width: 62px;
  height: 62px;
  margin-bottom: 17px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: white;
  font-size: 29px;
  font-weight: 900;
  box-shadow: 0 12px 23px rgba(28,67,133,.18);
}

.lm-tool-card-v3--students .lm-tool-card-v3__icon { background: linear-gradient(135deg,#2f83ff,#1268ed); }
.lm-tool-card-v3--missions .lm-tool-card-v3__icon { background: linear-gradient(135deg,#835cf8,#5d3aca); }
.lm-tool-card-v3--results .lm-tool-card-v3__icon { background: linear-gradient(135deg,#14bc91,#08775f); }

.lm-tool-card-v3 h3 {
  margin: 10px 0 9px;
  color: var(--navy);
  font-size: 25px;
}

.lm-tool-card-v3 p {
  min-height: 80px;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}

.lm-section-strip-v3 {
  display: grid;
  grid-template-columns: 210px 1fr auto;
  align-items: center;
  gap: 25px;
  padding: 24px;
  overflow: hidden;
}

.lm-section-strip-v3__visual {
  min-height: 120px;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 7px;
}

.lm-section-strip-v3__visual span {
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: white;
  font-size: 22px;
  font-weight: 900;
}
.lm-section-strip-v3__visual span:nth-child(1){background:#0da47b;}
.lm-section-strip-v3__visual span:nth-child(2){background:#7046df;}
.lm-section-strip-v3__visual span:nth-child(3){background:#f28a16;}
.lm-section-strip-v3__visual span:nth-child(4){background:#2377e7;}

.lm-section-strip-v3 h3 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 24px;
}

.lm-section-strip-v3 p {
  margin: 0;
  color: var(--muted);
}

/* Student list V3 */
.lm-student-list-v3 {
  padding: 24px;
  border-radius: 28px;
}

.lm-student-list-v3__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 20px;
}

.lm-student-list-v3__head h2 {
  margin: 0;
  color: var(--navy);
  font-size: 27px;
}

.lm-student-list-v3__head p:not(.lm-kicker) {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.lm-student-list-v3__actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lm-student-rows-v3 {
  display: grid;
  gap: 9px;
}

.lm-student-row-v3 {
  min-height: 78px;
  display: grid;
  grid-template-columns: 38px 48px minmax(210px,1.5fr) minmax(145px,.8fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 17px;
  border: 1px solid #e1e9f4;
  background: linear-gradient(180deg,#fff,#fbfdff);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.lm-student-row-v3:hover {
  transform: translateY(-1px);
  border-color: #cfdcf0;
  box-shadow: 0 10px 24px rgba(22,59,116,.07);
}

.lm-student-row-v3__order {
  color: #8793aa;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}

.lm-student-row-v3__avatar {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: white;
  background: linear-gradient(135deg,#2b7ff4,#6f4ae9);
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 8px 16px rgba(53,77,191,.18);
}

.lm-student-row-v3__identity h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 14px;
}

.lm-student-row-v3__identity p {
  margin: 0;
  color: #7e8aa1;
  font-size: 11px;
}

.lm-student-row-v3__code small {
  display: block;
  margin-bottom: 2px;
  color: #8a96ab;
  font-size: 9px;
  text-transform: uppercase;
  font-weight: 850;
  letter-spacing: .6px;
}

.lm-student-row-v3__code strong {
  color: #374d78;
  font-size: 11px;
}

.lm-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
}

.lm-status-pill--active {
  color: #087358;
  background: #e5f8f1;
}

.lm-student-row-v3__view {
  min-height: 38px;
  padding: 0 13px;
  font-size: 11px;
}

/* Import V3 */
.lm-import-hero-v3__icon {
  width: 120px;
  height: 120px;
  flex: 0 0 120px;
  display: grid;
  place-items: center;
  border-radius: 32px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.20);
  font-size: 50px;
  font-weight: 900;
  backdrop-filter: blur(10px);
}

.lm-import-card-v3,
.lm-import-preview-v3 {
  padding: 24px;
  border-radius: 28px;
}

.lm-import-drop-v3 {
  min-height: 150px;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border-radius: 22px;
  border: 1.5px dashed #bed0e9;
  background: linear-gradient(145deg,#f8fbff,#f4f0ff);
}

.lm-import-drop-v3__icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 19px;
  color: white;
  background: linear-gradient(135deg,#2b7ef3,#724bf0);
  font-size: 27px;
  font-weight: 900;
}

.lm-import-drop-v3 h2 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 23px;
}

.lm-import-drop-v3 p {
  margin: 0;
  max-width: 680px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.lm-import-file-v3 {
  position: relative;
  overflow: hidden;
}

.lm-import-file-v3 input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.lm-import-file-name-v3 {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 13px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #eaf8f3;
  color: #116e56;
}

.lm-import-file-name-v3 > span {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: white;
  font-weight: 900;
}

.lm-import-file-name-v3 small,
.lm-import-file-name-v3 strong {
  display: block;
}

.lm-import-file-name-v3 small {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .6px;
}

.lm-import-file-name-v3 strong {
  margin-top: 2px;
  font-size: 12px;
}

.lm-duplicate-status-v3 {
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
}

.lm-duplicate-status-v3.is-ok { color: #0c7357; background: #e5f8f1; }
.lm-duplicate-status-v3.is-error { color: #a4384b; background: #fff0f3; }

.lm-import-actions-v3 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 18px 0;
}

.lm-import-progress-v3 {
  height: 9px;
  margin: 12px 0 18px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef7;
}

.lm-import-progress-v3 > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#1a79f0,#7650f3);
  transition: width .2s ease;
}

.lm-import-result-v3 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 17px;
}

.lm-import-result-v3 span {
  padding: 9px 11px;
  border-radius: 11px;
  font-size: 11px;
}
.lm-import-result-v3 .is-ok { color:#0d7358;background:#e6f8f2; }
.lm-import-result-v3 .is-error { color:#a43a4d;background:#fff0f3; }

.lm-import-table-wrap-v3 {
  overflow-x: auto;
  border: 1px solid #e2eaf4;
  border-radius: 17px;
}

.lm-import-table-v3 {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  background: white;
}

.lm-import-table-v3 th {
  padding: 12px 14px;
  background: #f5f8fd;
  color: #64738e;
  font-size: 10px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.lm-import-table-v3 td {
  padding: 12px 14px;
  border-top: 1px solid #edf1f6;
  color: #4f5f7a;
  font-size: 11px;
}

.lm-import-table-v3 td strong {
  color: #20365f;
}

/* Student dashboard V3 */
.lm-student-hero-v3 {
  min-height: 250px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 330px;
  align-items: stretch;
  overflow: hidden;
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 26% 15%,rgba(37,185,255,.28),transparent 26%),
    linear-gradient(135deg,#08295f 0%,#0f5eb6 55%,#5d3dc7 100%);
  box-shadow: 0 22px 48px rgba(15,53,105,.18);
}

.lm-student-hero-v3__copy {
  padding: 36px 38px;
  align-self: center;
}

.lm-student-hero-v3 h2 {
  margin: 0;
  font-size: clamp(34px,4vw,56px);
  letter-spacing: -2px;
}

.lm-student-hero-v3 p {
  max-width: 700px;
  margin: 12px 0 0;
  color: rgba(255,255,255,.83);
  line-height: 1.55;
}

.lm-student-hero-v3__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.lm-student-hero-v3__chips span {
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 10px;
  font-weight: 850;
}

.lm-student-hero-v3__matix {
  min-height: 250px;
  background-image:
    linear-gradient(90deg,rgba(27,73,159,.96) 0%,rgba(27,73,159,.30) 24%,rgba(27,73,159,0) 52%),
    url('/assets/matix-guide-CMcAq_1p.jpg');
  background-size: cover;
  background-position: center 34%;
}

.lm-dashboard-grid--student-v3 {
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
}

.lm-route-grid--student-v3 .lm-route-card {
  min-height: 235px;
}

.lm-route-card__mini-path {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lm-route-card__mini-path span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  box-shadow: 0 0 0 3px rgba(255,255,255,.07);
}

.lm-route-card__mini-path span.is-on {
  width: 13px;
  height: 13px;
  background: white;
}

.lm-route-card__mini-path::before {
  content: "";
  position: absolute;
  left: 5px;
  right: 5px;
  top: 50%;
  height: 2px;
  background: rgba(255,255,255,.25);
  z-index: 0;
}

.lm-route-card__mini-path span {
  position: relative;
  z-index: 1;
}

.lm-progress-island-v3 {
  min-height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 27px;
  background:
    linear-gradient(180deg,rgba(4,30,79,.14),rgba(4,30,79,.58)),
    url('/assets/hero-matix-map2-CyXyfXAb.jpg');
  background-size: cover;
  background-position: 74% center;
  box-shadow: 0 20px 45px rgba(16,53,106,.18);
}

.lm-progress-island-v3__content {
  min-height: 100%;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: white;
  background: linear-gradient(180deg,transparent 25%,rgba(4,30,79,.77) 100%);
}

.lm-progress-island-v3 h3 {
  margin: 0;
  font-size: 27px;
  line-height: 1.05;
}

.lm-progress-island-v3 p {
  margin: 9px 0 18px;
  color: rgba(255,255,255,.82);
  line-height: 1.45;
  font-size: 12px;
}

.lm-progress-island-v3__nodes {
  display: grid;
  grid-template-columns: 32px 1fr 32px 1fr 32px 1fr 32px;
  align-items: center;
  gap: 6px;
}

.lm-progress-island-v3__nodes span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  border: 2px solid rgba(255,255,255,.58);
  font-size: 11px;
  font-weight: 900;
}

.lm-progress-island-v3__nodes span.is-on {
  background: #12ae80;
  border-color: white;
}

.lm-progress-island-v3__nodes i {
  height: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
}

.lm-dashboard-grid--student-bottom-v3 {
  align-items: stretch;
}

.lm-mission-grid--v3 {
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
}

.lm-mission-card--v3 {
  min-height: 285px;
  display: flex;
  flex-direction: column;
}

.lm-mission-card--v3 .lm-btn {
  margin-top: auto;
}

.lm-mission-card__symbol {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: white;
  background: linear-gradient(135deg,#277bf3,#724bf0);
  font-weight: 900;
}

.lm-student-side-v3 {
  padding: 22px;
  display: grid;
  gap: 15px;
  align-content: start;
}

.lm-student-side-v3__institution {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 15px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(145deg,#fffaf0,#fff);
  border: 1px solid #eee3ca;
}

.lm-student-side-v3__institution img {
  width: 86px;
  height: 86px;
  object-fit: contain;
}

.lm-student-side-v3__institution h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 19px;
}

.lm-student-side-v3__institution span {
  color: #65718b;
  font-size: 11px;
}

.lm-student-side-v3__tip {
  display: flex;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(145deg,#eef6ff,#f1ecff);
}

.lm-student-side-v3__tip-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: white;
  background: linear-gradient(135deg,#2b7df2,#744bf0);
}

.lm-student-side-v3__tip strong {
  color: var(--navy);
}

.lm-student-side-v3__tip p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

/* V3 responsive */
@media (max-width: 1380px) {
  .lm-home__hero--v3 {
    grid-template-columns: minmax(410px,.9fr) minmax(600px,1.1fr);
  }
  .lm-home--v3 .lm-home__hero-proof {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .lm-pilot-v3 {
    grid-template-columns: 360px 1fr;
  }
  .lm-shell--v3 {
    grid-template-columns: 250px minmax(0,1fr);
  }
}

@media (max-width: 1180px) {
  .lm-home__hero--v3 {
    grid-template-columns: 1fr;
  }
  .lm-adventure--v3 {
    width: 100%;
  }
  .lm-missions-showcase--v3 {
    grid-template-columns: 1fr;
  }
  .lm-mission-preview-grid--4 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .lm-pilot-v3 {
    grid-template-columns: 1fr;
  }
  .lm-pilot-v3__gallery {
    min-height: 650px;
  }
  .lm-section-grid--v3,
  .lm-section-tools-v3 {
    grid-template-columns: 1fr;
  }
  .lm-dashboard-grid--student-v3 {
    grid-template-columns: 1fr;
  }
  .lm-progress-island-v3 {
    min-height: 420px;
  }
  .lm-student-row-v3 {
    grid-template-columns: 38px 48px minmax(190px,1fr) auto auto;
  }
  .lm-student-row-v3__code {
    display: none;
  }
}

@media (max-width: 960px) {
  .lm-login--v3 {
    grid-template-columns: 1fr;
  }
  .lm-login__visual--v3,
  .lm-login__art {
    min-height: auto;
  }
  .lm-login__visual--v3 {
    aspect-ratio: 16 / 10;
  }
  .lm-login__art {
    height: 100%;
  }
  .lm-login__panel--v3 {
    min-height: auto;
  }
  .lm-shell--v3 {
    grid-template-columns: 88px minmax(0,1fr);
  }
  .lm-shell--v3 .lm-sidebar__brand .lm-brand__copy,
  .lm-shell--v3 .lm-sidebar__brand > span,
  .lm-shell--v3 .lm-sidebar__item > span:last-child,
  .lm-shell--v3 .lm-sidebar__footer {
    display: none;
  }
  .lm-shell--v3 .lm-sidebar__item {
    justify-content: center;
    padding: 0;
  }
  .lm-shell--v3 .lm-sidebar__icon {
    width: auto;
  }
  .lm-section-strip-v3 {
    grid-template-columns: 1fr;
  }
  .lm-section-strip-v3__visual {
    grid-template-columns: repeat(4,1fr);
    min-height: 70px;
  }
  .lm-student-hero-v3 {
    grid-template-columns: 1fr 260px;
  }
  .lm-import-drop-v3 {
    grid-template-columns: 56px 1fr;
  }
  .lm-import-file-v3 {
    grid-column: 1 / 3;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .lm-home--v3 .lm-home__nav,
  .lm-home__hero--v3,
  .lm-home--v3 .lm-home__section {
    width: min(calc(100% - 26px),720px);
  }
  .lm-home__hero--v3 {
    padding-top: 36px;
  }
  .lm-home--v3 .lm-home__copy h1 {
    font-size: clamp(45px,13vw,66px);
  }
  .lm-home--v3 .lm-home__hero-proof {
    grid-template-columns: 1fr 1fr;
  }
  .lm-adventure--v3 {
    border-radius: 24px;
    border-width: 5px;
  }
  .lm-adventure--v3 .lm-adventure__glass {
    left: 10px;
    top: 10px;
  }
  .lm-mission-preview-grid--4 {
    grid-template-columns: 1fr;
  }
  .lm-pilot-v3__gallery {
    min-height: auto;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 310px 180px 180px;
  }
  .lm-pilot-photo--feature {
    grid-column: 1 / 3;
    grid-row: 1;
  }
  .lm-creator--v3 {
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .lm-creator__portrait--photo {
    min-height: 420px;
  }
  .lm-login__visual--v3 {
    aspect-ratio: 4 / 3;
  }
  .lm-login__panel--v3 {
    padding: 24px 14px 36px;
  }
  .lm-login__card--v3 {
    padding: 26px 21px 28px;
  }
  .lm-shell--v3 {
    display: block;
  }
  .lm-shell--v3 .lm-sidebar {
    min-height: auto;
    height: 68px;
    position: sticky;
    z-index: 20;
    padding: 8px 12px;
    flex-direction: row;
    align-items: center;
  }
  .lm-shell--v3 .lm-sidebar__brand {
    padding: 0;
    border: 0;
    margin-right: 10px;
  }
  .lm-shell--v3 .lm-sidebar__nav {
    display: flex;
    overflow-x: auto;
    padding: 0;
    gap: 5px;
    flex: 1;
  }
  .lm-shell--v3 .lm-sidebar__item {
    min-width: 46px;
    min-height: 46px;
    flex: 0 0 46px;
  }
  .lm-teacher-hero-v3,
  .lm-section-hero-v3,
  .lm-students-hero-v3,
  .lm-import-hero-v3 {
    padding: 26px;
    align-items: flex-start;
    flex-direction: column;
  }
  .lm-teacher-hero-v3__chips {
    justify-content: flex-start;
  }
  .lm-section-hero-v3__number,
  .lm-students-hero-v3__count,
  .lm-import-hero-v3__icon {
    width: 110px;
    height: 110px;
    flex-basis: 110px;
  }
  .lm-student-hero-v3 {
    grid-template-columns: 1fr;
  }
  .lm-student-hero-v3__matix {
    min-height: 330px;
    background-position: center 28%;
  }
  .lm-student-list-v3__head {
    align-items: flex-start;
    flex-direction: column;
  }
  .lm-student-list-v3__actions {
    width: 100%;
    justify-content: flex-start;
  }
  .lm-student-row-v3 {
    grid-template-columns: 36px 46px 1fr auto;
    gap: 9px;
  }
  .lm-student-row-v3__code,
  .lm-status-pill {
    display: none;
  }
  .lm-student-row-v3__view {
    grid-column: 2 / 5;
    width: 100%;
  }
  .lm-import-drop-v3 {
    grid-template-columns: 1fr;
  }
  .lm-import-file-v3 {
    grid-column: 1;
  }
}

@media (max-width: 520px) {
  .lm-home--v3 .lm-home__hero-proof {
    grid-template-columns: 1fr;
  }
  .lm-adventure--v3 .lm-adventure__glass small,
  .lm-adventure--v3 .lm-adventure__floating {
    display: none;
  }
  .lm-pilot-v3__gallery {
    grid-template-columns: 1fr;
    grid-template-rows: 280px repeat(4,170px);
  }
  .lm-pilot-photo--feature {
    grid-column: 1;
  }
  .lm-pilot-v3__facts {
    grid-template-columns: 1fr;
  }
  .lm-login__visual--v3 {
    aspect-ratio: 1 / 1;
  }
  .lm-login__visual-chip {
    left: 14px;
    top: 14px;
  }
  .lm-section-strip-v3__visual {
    grid-template-columns: repeat(2,1fr);
  }
  .lm-student-side-v3__institution {
    grid-template-columns: 72px 1fr;
  }
  .lm-student-side-v3__institution img {
    width: 68px;
    height: 68px;
  }
}

/* Activity catalog V3 */
.lm-activities-hero-v3 {
  min-height: 210px;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 80% 15%,rgba(255,189,55,.22),transparent 24%),
    radial-gradient(circle at 65% 100%,rgba(117,73,246,.27),transparent 31%),
    linear-gradient(135deg,#08295f,#0d5fbc 56%,#5a3bc5);
  box-shadow: 0 22px 48px rgba(15,53,105,.18);
}

.lm-activities-hero-v3::after {
  content: "x²   π   %   △";
  position: absolute;
  right: 5%;
  top: 14%;
  font-size: clamp(55px,6vw,105px);
  font-weight: 900;
  color: rgba(255,255,255,.07);
  letter-spacing: 18px;
  transform: rotate(-5deg);
}

.lm-activities-hero-v3 > * {
  position: relative;
  z-index: 1;
}

.lm-activities-hero-v3 h2 {
  max-width: 760px;
  margin: 0 0 8px;
  font-size: clamp(31px,3.4vw,49px);
  letter-spacing: -1.6px;
  line-height: 1.02;
}

.lm-activities-hero-v3 p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.82);
}

.lm-activities-hero-v3__symbol {
  width: 120px;
  height: 120px;
  flex: 0 0 120px;
  display: grid;
  place-items: center;
  border-radius: 32px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
  font-size: 50px;
  font-weight: 900;
  backdrop-filter: blur(10px);
}

.lm-activity-catalog-v3 {
  padding: 24px;
  border-radius: 28px;
}

.lm-activity-grid-v3 {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
  gap: 17px;
}

.lm-activity-card-v3 {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid #e0e8f3;
  background: white;
  box-shadow: 0 14px 32px rgba(18,55,109,.08);
}

.lm-activity-card-v3__visual {
  min-height: 120px;
  padding: 18px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  color: white;
  position: relative;
  overflow: hidden;
}

.lm-activity-card-v3__visual::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  right: -60px;
  top: -70px;
  background: rgba(255,255,255,.15);
}

.lm-activity-card-v3--0 .lm-activity-card-v3__visual { background: linear-gradient(135deg,#0fac80,#08715b); }
.lm-activity-card-v3--1 .lm-activity-card-v3__visual { background: linear-gradient(135deg,#7a52ee,#4f2eb8); }
.lm-activity-card-v3--2 .lm-activity-card-v3__visual { background: linear-gradient(135deg,#328af4,#155aba); }
.lm-activity-card-v3--3 .lm-activity-card-v3__visual { background: linear-gradient(135deg,#ffac2d,#e37309); }

.lm-activity-card-v3__visual > span {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 31px;
  font-weight: 900;
}

.lm-activity-card-v3__visual small {
  position: relative;
  z-index: 1;
  font-weight: 900;
  letter-spacing: .8px;
}

.lm-activity-card-v3__body {
  padding: 20px;
}

.lm-activity-card-v3__badges {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.lm-xp-pill {
  padding: 7px 9px;
  border-radius: 999px;
  color: #8b630c;
  background: #fff3cf;
  font-size: 10px;
  font-weight: 900;
}

.lm-activity-card-v3 h3 {
  margin: 16px 0 6px;
  color: var(--navy);
  font-size: 22px;
}

.lm-activity-card-v3__theme {
  color: #624cd3 !important;
  font-weight: 850;
  font-size: 11px !important;
}

.lm-activity-card-v3__body > p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.lm-activity-card-v3__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 14px 0;
}

.lm-activity-card-v3__meta span {
  padding: 7px 9px;
  border-radius: 10px;
  background: #f4f7fb;
  color: #5f6f8b;
  font-size: 10px;
  font-weight: 800;
}

.lm-status-pill--prep {
  color: #7d6a45;
  background: #fff4dc;
}

.lm-activity-card-v3 .lm-status-pill {
  margin-bottom: 14px;
}

@media (max-width: 760px) {
  .lm-activities-hero-v3 {
    flex-direction: column;
    align-items: flex-start;
    padding: 26px;
  }
  .lm-activities-hero-v3__symbol {
    width: 105px;
    height: 105px;
    flex-basis: 105px;
  }
}

/* Student creation + detail V3 */
.lm-create-student-v3,
.lm-student-detail-v3 {
  display: grid;
  gap: 22px;
}

.lm-create-student-hero-v3,
.lm-student-detail-hero-v3 {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%,rgba(112,221,255,.28),transparent 25%),
    radial-gradient(circle at 66% 110%,rgba(151,79,255,.34),transparent 34%),
    linear-gradient(135deg,#072c68,#0e67c9 55%,#6939cc);
  box-shadow: 0 22px 48px rgba(15,53,105,.18);
}

.lm-create-student-hero-v3 {
  min-height: 190px;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.lm-create-student-hero-v3::after,
.lm-student-detail-hero-v3::after {
  content: "π  x²  %  △";
  position: absolute;
  right: 4%;
  top: 13%;
  color: rgba(255,255,255,.07);
  font-size: clamp(54px,6vw,98px);
  font-weight: 900;
  letter-spacing: 16px;
  transform: rotate(-5deg);
}

.lm-create-student-hero-v3 > *,
.lm-student-detail-hero-v3 > * {
  position: relative;
  z-index: 1;
}

.lm-create-student-hero-v3 h2 {
  max-width: 790px;
  margin: 0 0 8px;
  font-size: clamp(30px,3.2vw,47px);
  line-height: 1.03;
  letter-spacing: -1.4px;
}

.lm-create-student-hero-v3 p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.82);
}

.lm-create-student-hero-v3__badge {
  width: 112px;
  height: 112px;
  flex: 0 0 112px;
  display: grid;
  place-items: center;
  border-radius: 30px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.22);
  font-size: 58px;
  font-weight: 400;
  backdrop-filter: blur(10px);
}

.lm-create-student-card-v3 {
  padding: 28px;
  border-radius: 28px;
}

.lm-create-student-card-v3__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.lm-create-student-card-v3__head h2 {
  margin: 4px 0 6px;
  color: var(--navy);
  font-size: 29px;
}

.lm-create-student-card-v3__head p {
  margin: 0;
  color: var(--muted);
}

.lm-create-student-context-v3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.lm-create-student-context-v3 span {
  padding: 8px 11px;
  border-radius: 999px;
  color: #384d75;
  background: #eef4fc;
  font-size: 11px;
  font-weight: 850;
}

.lm-create-student-form-v3 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.lm-field--v3 {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.lm-field--v3 > span {
  color: #24375f;
  font-size: 12px;
  font-weight: 850;
}

.lm-field--v3 input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 13px 14px;
  border: 1px solid #ced9e8;
  border-radius: 13px;
  outline: none;
  background: #fbfdff;
  color: var(--navy);
  font: inherit;
  transition: border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.lm-field--v3 input:focus {
  border-color: #5d5cf0;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(93,92,240,.1);
}

.lm-field--wide,
.lm-security-note-v3,
.lm-create-student-form-v3 > .lm-error,
.lm-create-student-form-v3 > .lm-success-v3,
.lm-create-student-form-v3__actions {
  grid-column: 1 / -1;
}

.lm-security-note-v3 {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 16px 18px;
  border-radius: 17px;
  color: #3d4e70;
  background: linear-gradient(135deg,#eef7ff,#f2eeff);
  border: 1px solid #dce8f8;
}

.lm-security-note-v3 > span {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: white;
}

.lm-security-note-v3 p {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
}

.lm-success-v3 {
  padding: 14px 16px;
  border-radius: 14px;
  color: #14633e;
  background: #e8f8ef;
  border: 1px solid #c9ecd8;
  font-weight: 750;
}

.lm-create-student-form-v3__actions,
.lm-edit-panel-v3__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.lm-student-detail-hero-v3 {
  min-height: 180px;
  padding: 28px 34px;
  display: grid;
  grid-template-columns: 92px 1fr auto;
  align-items: center;
  gap: 20px;
}

.lm-student-detail-hero-v3__avatar {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  border-radius: 26px;
  color: #fff;
  background: linear-gradient(145deg,#8452fb,#2b7df2);
  border: 2px solid rgba(255,255,255,.42);
  box-shadow: 0 12px 28px rgba(1,31,79,.26);
  font-size: 38px;
  font-weight: 900;
}

.lm-student-detail-hero-v3 h2 {
  margin: 0 0 6px;
  font-size: clamp(30px,3vw,45px);
  letter-spacing: -1.2px;
}

.lm-student-detail-hero-v3 p {
  margin: 0;
  color: rgba(255,255,255,.82);
}

.lm-status-pill--active {
  color: #075d3e;
  background: #dff7ea;
}

.lm-status-pill--inactive {
  color: #8c343c;
  background: #ffe8eb;
}

.lm-student-detail-grid-v3 {
  align-items: start;
}

.lm-edit-panel-v3,
.lm-password-panel-v3 {
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(145deg,#f7f9ff,#eef5fc);
  border: 1px solid #e0e8f4;
}

.lm-edit-panel-v3 h3,
.lm-password-panel-v3 h3 {
  margin: 0 0 16px;
  color: var(--navy);
}

.lm-edit-panel-v3__grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
  margin-bottom: 16px;
}

.lm-info-grid-v3 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}

.lm-info-grid-v3 article {
  min-width: 0;
  padding: 16px;
  border-radius: 17px;
  background: #f6f9fd;
  border: 1px solid #e7edf5;
}

.lm-info-grid-v3 small {
  display: block;
  margin-bottom: 6px;
  color: #71809a;
  font-weight: 800;
}

.lm-info-grid-v3 strong {
  color: var(--navy);
}

.lm-code-wrap-v3 {
  display: block;
  overflow-wrap: anywhere;
  font-size: 11px;
}

.lm-student-actions-v3 {
  padding: 25px;
  border-radius: 27px;
  background:
    radial-gradient(circle at 95% 0,rgba(121,78,244,.13),transparent 31%),
    white;
}

.lm-student-actions-v3 h2 {
  margin: 4px 0 8px;
  color: var(--navy);
  font-size: 25px;
}

.lm-student-actions-v3 > p:not(.lm-kicker) {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.lm-student-actions-v3 > .lm-btn,
.lm-student-actions-v3 > .lm-success-v3,
.lm-student-actions-v3 > .lm-password-panel-v3 {
  margin-top: 12px;
}

.lm-password-panel-v3 {
  display: grid;
  gap: 13px;
  margin-bottom: 0;
}

.lm-btn--success {
  border-color: #168151 !important;
  color: white !important;
  background: linear-gradient(135deg,#14935e,#087347) !important;
}

.lm-btn--danger {
  border-color: #c44d58 !important;
  color: white !important;
  background: linear-gradient(135deg,#d85a65,#ab3541) !important;
}

.lm-activity-results-v3 {
  display: grid;
  gap: 11px;
}

.lm-activity-result-v3 {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 13px;
  padding: 14px 16px;
  border-radius: 17px;
  background: #f8fafe;
  border: 1px solid #e7edf5;
}

.lm-activity-result-v3__icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: white;
  background: linear-gradient(135deg,#654de9,#2b7df2);
  font-weight: 900;
}

.lm-activity-result-v3 h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 15px;
}

.lm-activity-result-v3 p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.lm-activity-result-v3__score {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lm-activity-result-v3__score strong {
  color: var(--navy);
}

.lm-activity-result-v3__score span {
  padding: 6px 8px;
  border-radius: 999px;
  color: #37567c;
  background: #eaf1fa;
  font-size: 10px;
  font-weight: 850;
}

@media (max-width: 820px) {
  .lm-create-student-form-v3,
  .lm-edit-panel-v3__grid,
  .lm-info-grid-v3 {
    grid-template-columns: 1fr;
  }
  .lm-create-student-card-v3__head,
  .lm-create-student-hero-v3 {
    flex-direction: column;
    align-items: flex-start;
  }
  .lm-create-student-context-v3 {
    justify-content: flex-start;
  }
  .lm-student-detail-hero-v3 {
    grid-template-columns: 86px 1fr;
  }
  .lm-student-detail-hero-v3 > .lm-status-pill {
    grid-column: 1 / 3;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .lm-create-student-card-v3,
  .lm-student-actions-v3 {
    padding: 20px;
  }
  .lm-student-detail-hero-v3 {
    padding: 24px;
    grid-template-columns: 1fr;
  }
  .lm-student-detail-hero-v3__avatar {
    width: 76px;
    height: 76px;
  }
  .lm-student-detail-hero-v3 > .lm-status-pill {
    grid-column: 1;
  }
  .lm-activity-result-v3 {
    grid-template-columns: 42px 1fr;
  }
  .lm-activity-result-v3__score {
    grid-column: 2;
  }
}

/* ============================================================
   LUDIMÁTICA V4 · NEON ADVENTURE SYSTEM
   Visual language approved for the pilot interface.
   ============================================================ */
:root {
  --v4-bg: #04122f;
  --v4-bg-2: #071d49;
  --v4-panel: rgba(8, 31, 75, .92);
  --v4-panel-soft: rgba(12, 39, 88, .82);
  --v4-line: rgba(117, 151, 232, .24);
  --v4-blue: #2f83ff;
  --v4-cyan: #21d4fd;
  --v4-violet: #7a4cff;
  --v4-magenta: #bc4dff;
  --v4-orange: #ff9418;
  --v4-gold: #ffc642;
  --v4-green: #29d887;
  --v4-white: #f8fbff;
  --v4-muted: #a9bbe2;
  --v4-shadow: 0 22px 70px rgba(0, 13, 46, .38);
  --v4-glow-blue: 0 0 0 1px rgba(93, 146, 255, .34), 0 0 34px rgba(52, 116, 255, .2);
  --v4-glow-violet: 0 0 0 1px rgba(166, 100, 255, .5), 0 0 34px rgba(128, 64, 255, .32);
}

@keyframes lmV4Float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes lmV4Pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(122, 76, 255, .35), 0 0 22px rgba(122, 76, 255, .25); }
  50% { box-shadow: 0 0 0 10px rgba(122, 76, 255, 0), 0 0 42px rgba(122, 76, 255, .45); }
}
@keyframes lmV4Shimmer {
  0% { transform: translateX(-140%); }
  100% { transform: translateX(180%); }
}
@keyframes lmV4Rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes lmV4GlowLine {
  0%,100% { opacity: .5; }
  50% { opacity: 1; }
}

/* Shared interactive effects */
.lm-v4-btn,
.lm-shell--v4 .lm-btn,
.lm-home--v4 .lm-btn,
.lm-login--v4 .lm-btn,
.lm-mission-page--v4 .lm-btn,
.lm-temp--v4 .lm-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, filter .24s ease;
}
.lm-v4-btn::after,
.lm-shell--v4 .lm-btn::after,
.lm-login--v4 .lm-btn::after,
.lm-mission-page--v4 .lm-btn::after {
  content: "";
  position: absolute;
  inset: -60% auto -60% -45%;
  width: 35%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  z-index: -1;
  transition: transform .55s ease;
}
.lm-v4-btn:hover,
.lm-shell--v4 .lm-btn:hover,
.lm-home--v4 .lm-btn:hover,
.lm-login--v4 .lm-btn:hover,
.lm-mission-page--v4 .lm-btn:hover,
.lm-temp--v4 .lm-btn:hover {
  transform: translateY(-3px) scale(1.018);
  filter: saturate(1.08);
}
.lm-v4-btn:hover::after,
.lm-shell--v4 .lm-btn:hover::after,
.lm-login--v4 .lm-btn:hover::after,
.lm-mission-page--v4 .lm-btn:hover::after { transform: translateX(520%) skewX(-18deg); }

/* ---------------- Public home V4 ---------------- */
.lm-home--v4 {
  color: #0a2457;
  background: #eef5ff;
  overflow: clip;
}
.lm-home--v4 .lm-home__header,
.lm-v4-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(3, 18, 50, .93);
  border-bottom: 1px solid rgba(99, 142, 230, .22);
  backdrop-filter: blur(20px) saturate(1.25);
  box-shadow: 0 10px 36px rgba(0, 12, 39, .18);
}
.lm-v4-nav {
  width: min(calc(100% - 42px), 1500px);
  min-height: 78px;
}
.lm-home--v4 .lm-brand { color: white; }
.lm-home--v4 .lm-brand__mark {
  background: linear-gradient(145deg, rgba(56,135,255,.27), rgba(123,68,255,.3));
  border: 1px solid rgba(117,174,255,.35);
  box-shadow: 0 0 28px rgba(83,116,255,.18), inset 0 0 18px rgba(255,255,255,.06);
}
.lm-home--v4 .lm-brand__copy strong { color: white; }
.lm-home--v4 .lm-brand__copy small { color: #9db5df; }
.lm-home--v4 .lm-home__links > a:not(.lm-btn) { color: #d8e5ff; }
.lm-home--v4 .lm-home__links > a:not(.lm-btn)::after { background: linear-gradient(90deg,var(--v4-orange),var(--v4-gold)); box-shadow: 0 0 12px rgba(255,151,26,.5); }
.lm-v4-glow-button { background: linear-gradient(135deg,#2f6fff,#7a4cff); border-color: rgba(172,202,255,.28); box-shadow: 0 0 24px rgba(85,89,255,.34),0 12px 28px rgba(0,0,0,.24); }

.lm-v4-hero {
  position: relative;
  isolation: isolate;
  min-height: 740px;
  background:
    radial-gradient(circle at 74% 20%, rgba(63,130,255,.22), transparent 32%),
    radial-gradient(circle at 16% 72%, rgba(127,58,255,.20), transparent 29%),
    linear-gradient(135deg,#06183e 0%,#082e6d 48%,#170b4a 100%);
  color: white;
}
.lm-v4-hero::after {
  content: "";
  position: absolute;
  left: -2%; right: -2%; bottom: -36px;
  height: 76px;
  border-radius: 50% 50% 0 0 / 70% 70% 0 0;
  background: #f6f9ff;
  z-index: 0;
}
.lm-v4-hero__stars {
  position: absolute; inset: 0; pointer-events: none; opacity: .68;
  background-image:
    radial-gradient(circle at 7% 20%, rgba(255,255,255,.85) 0 1px, transparent 2px),
    radial-gradient(circle at 24% 78%, rgba(90,193,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 58% 13%, rgba(255,255,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 89% 61%, rgba(182,101,255,.8) 0 1px, transparent 2px);
  background-size: 150px 130px, 180px 160px, 210px 170px, 170px 150px;
}
.lm-v4-hero__inner {
  width: min(calc(100% - 42px),1500px);
  min-height: 740px;
  margin: 0 auto;
  padding: 58px 0 82px;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(38px,4vw,72px);
  align-items: center;
  position: relative;
  z-index: 2;
}
.lm-v4-overline,
.lm-v4-kicker {
  color: #73d7ff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.lm-v4-overline { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 9px 12px; border-radius: 999px; background: rgba(26,73,139,.45); border: 1px solid rgba(86,155,247,.24); }
.lm-v4-overline span { color: var(--v4-gold); }
.lm-v4-hero__copy { animation: lmV4Rise .65s ease both; }
.lm-v4-hero__copy h1 { margin: 0; max-width: 620px; font-size: clamp(52px,5.3vw,84px); line-height: .96; letter-spacing: -4px; color: white; }
.lm-v4-hero__copy h1 span { display: block; width: fit-content; color: transparent; background: linear-gradient(90deg,#ff9b17,#ffd25d); -webkit-background-clip:text; background-clip:text; filter: drop-shadow(0 0 18px rgba(255,166,43,.2)); }
.lm-v4-hero__copy > p { max-width: 620px; margin: 24px 0 27px; color: #d3e2ff; font-size: 17px; line-height: 1.65; }
.lm-v4-hero__copy > p strong { color: white; }
.lm-v4-btn { min-height: 54px; padding: 0 24px; border-radius: 15px; font-size: 14px; font-weight: 900; text-decoration: none; }
.lm-v4-btn--orange { color: #fff; background: linear-gradient(135deg,#ffab2f,#ff7c0a); border: 1px solid rgba(255,227,170,.5); box-shadow: 0 0 25px rgba(255,139,20,.34), 0 14px 32px rgba(5,17,48,.24); }
.lm-v4-btn--glass { color: white; background: rgba(17,47,104,.7); border: 1px solid rgba(129,172,255,.52); backdrop-filter: blur(16px); box-shadow: inset 0 0 18px rgba(121,88,255,.10); }
.lm-v4-feature-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 34px; max-width: 650px; }
.lm-v4-feature-strip article { min-height: 70px; display:flex; align-items:center; gap:12px; padding: 12px 14px; border-radius: 17px; border:1px solid rgba(119,160,236,.25); background:linear-gradient(145deg,rgba(13,52,112,.72),rgba(14,37,85,.7)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); transition:.25s ease; }
.lm-v4-feature-strip article:hover { transform: translateY(-5px) scale(1.02); border-color: rgba(116,173,255,.62); box-shadow: 0 0 28px rgba(39,110,255,.24), inset 0 1px 0 rgba(255,255,255,.12); }
.lm-v4-feature-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.08);font-size:22px; }
.lm-v4-feature-strip strong,.lm-v4-feature-strip small { display:block; }
.lm-v4-feature-strip strong { color:#fff;font-size:12px; }
.lm-v4-feature-strip small { margin-top:3px;color:#91a9d1;font-size:10px; }

.lm-v4-hero-art { margin:0; height: 575px; position:relative; overflow:hidden; border-radius: 34px; border: 8px solid rgba(210,230,255,.17); box-shadow: 0 30px 90px rgba(0,11,42,.48),0 0 60px rgba(42,109,255,.16); animation: lmV4Rise .78s .1s ease both; background:#071b45; }
.lm-v4-hero-art > img:first-child { width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.04);transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .6s ease; }
.lm-v4-hero-art:hover > img:first-child { transform:scale(1.085);filter:saturate(1.08) contrast(1.03); }
.lm-v4-hero-art::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,58,.10),transparent 42%,rgba(7,17,53,.02));pointer-events:none; }
.lm-v4-hero-art__guide { position:absolute;z-index:4;left:18px;top:18px;display:flex;align-items:center;gap:9px;padding:8px 12px 8px 8px;border-radius:16px;background:rgba(247,250,255,.92);box-shadow:0 16px 40px rgba(0,19,55,.25);backdrop-filter:blur(14px); }
.lm-v4-hero-art__guide img { width:40px;height:40px;border-radius:12px;object-fit:cover;object-position:20% 45%; }
.lm-v4-hero-art__guide strong,.lm-v4-hero-art__guide small { display:block; }
.lm-v4-hero-art__guide strong { color:#0c2a63;font-size:12px; }
.lm-v4-hero-art__guide small { margin-top:2px;color:#71809e;font-size:9px; }
.lm-v4-map-node { position:absolute;z-index:5;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-weight:950;color:white;border:3px solid rgba(255,255,255,.75);box-shadow:0 0 24px currentColor;background:#285dff;animation:lmV4Pulse 2.5s ease-in-out infinite; }
.lm-v4-map-node--one { left:57%;top:22%;color:#44e7bd;background:#0ba176; }
.lm-v4-map-node--two { right:24%;top:34%;color:#62beff;background:#1479e8;animation-delay:.4s; }
.lm-v4-map-node--three { right:12%;top:53%;color:#c28aff;background:#7946e8;animation-delay:.8s; }
.lm-v4-map-node--four { right:4%;bottom:13%;color:#ffbc57;background:#ef7f13;animation-delay:1.1s; }

.lm-v4-section { padding: 86px max(22px,calc((100% - 1500px)/2)); position:relative; }
.lm-v4-section--light { background:linear-gradient(180deg,#f8fbff,#eef5ff); }
.lm-v4-section__head { margin-bottom:34px;text-align:center; }
.lm-v4-section__head h2 { margin:6px 0 0;color:#0b285f;font-size:clamp(38px,4vw,60px);line-height:1.02;letter-spacing:-2.2px; }
.lm-v4-section__head > p:not(.lm-v4-kicker),.lm-v4-section__head > div + p { max-width:620px;color:#63759a;line-height:1.65; }
.lm-v4-section__head--split { display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:38px;text-align:left; }
.lm-v4-section__head--split > p { justify-self:end;margin:0; }

.lm-v4-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.lm-v4-step { min-height:285px;position:relative;padding:28px 26px 24px;border-radius:26px;background:#fff;border:1px solid #dce7f6;box-shadow:0 18px 45px rgba(23,61,125,.09);overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease; }
.lm-v4-step::after { content:"";position:absolute;inset:auto -35px -65px auto;width:155px;height:155px;border-radius:50%;background:currentColor;opacity:.07; }
.lm-v4-step:hover { transform:translateY(-12px) scale(1.035);border-color:currentColor;box-shadow:0 28px 62px rgba(14,51,118,.18),0 0 0 4px color-mix(in srgb,currentColor 10%,transparent);z-index:3; }
.lm-v4-step--green { color:#0aa57a; }.lm-v4-step--blue { color:#267af4; }.lm-v4-step--violet { color:#7546ea; }.lm-v4-step--orange { color:#ec8511; }
.lm-v4-step__number { position:absolute;right:22px;top:17px;font-size:38px;font-weight:950;opacity:.32; }
.lm-v4-step__icon { width:66px;height:66px;display:grid;place-items:center;border-radius:20px;background:color-mix(in srgb,currentColor 12%,white);font-size:34px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 25%,transparent); }
.lm-v4-step h3 { margin:22px 0 8px;color:#0d2a60;font-size:21px; }.lm-v4-step p { color:#627393;line-height:1.55;font-size:13px; }.lm-v4-step__action { display:inline-flex;margin-top:8px;font-size:11px;font-weight:900;opacity:0;transform:translateY(7px);transition:.24s ease; }.lm-v4-step:hover .lm-v4-step__action { opacity:1;transform:none; }

.lm-v4-section--dark { color:white;background:radial-gradient(circle at 12% 0,rgba(37,103,248,.22),transparent 25%),radial-gradient(circle at 86% 90%,rgba(116,61,255,.2),transparent 27%),linear-gradient(135deg,#04183b,#071f52 55%,#130b3b); }
.lm-v4-section--dark::before { content:"";position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(85,128,215,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(85,128,215,.12) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000); }
.lm-v4-section__head--inverse { position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;text-align:left; }
.lm-v4-section__head--inverse h2 { color:white; }.lm-v4-section__head--inverse > p { margin:0;color:#a8bce4;justify-self:end; }
.lm-v4-competencies { position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px; }
.lm-v4-competency { min-height:290px;padding:27px 23px;border-radius:30px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.17);box-shadow:0 25px 55px rgba(0,10,35,.28),inset 0 1px 0 rgba(255,255,255,.13);transition:transform .28s ease,box-shadow .28s ease,filter .28s ease; }
.lm-v4-competency:hover { transform:translateY(-11px) scale(1.035);filter:saturate(1.12);box-shadow:0 34px 70px rgba(0,9,35,.36),0 0 38px color-mix(in srgb,currentColor 34%,transparent); }
.lm-v4-competency::after { content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-60px;bottom:-75px;background:rgba(255,255,255,.10); }
.lm-v4-competency--green { color:#69ffbf;background:linear-gradient(145deg,#07885f,#11ba87); }.lm-v4-competency--blue { color:#7fc1ff;background:linear-gradient(145deg,#0a62cf,#2389f5); }.lm-v4-competency--violet { color:#d0a7ff;background:linear-gradient(145deg,#6931cb,#9a52f5); }.lm-v4-competency--orange { color:#ffd47a;background:linear-gradient(145deg,#db6c09,#ff9f20); }
.lm-v4-competency__icon { width:80px;height:80px;display:grid;place-items:center;border-radius:25px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:42px;box-shadow:0 15px 35px rgba(0,0,0,.16); }
.lm-v4-competency h3 { margin:28px 0 8px;color:white;font-size:25px;letter-spacing:-.6px; }.lm-v4-competency p { min-height:46px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.5; }.lm-v4-competency > span { display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.14);color:white;font-size:10px;font-weight:900; }

.lm-v4-section--missions { background:linear-gradient(180deg,#f7faff,#eef4ff); }
.lm-v4-section__head--mission { display:flex;justify-content:space-between;align-items:flex-end;text-align:left;gap:28px; }
.lm-v4-section__head--mission > div:first-child { max-width:870px; }.lm-v4-section__head--mission h2 { color:#0a285f;font-size:clamp(38px,4vw,58px); }.lm-v4-section__head--mission p { margin:10px 0 0;color:#697b9c;line-height:1.55; }
.lm-v4-carousel-controls { display:flex;align-items:center;gap:10px;flex:0 0 auto; }
.lm-v4-carousel-controls button { width:46px;height:46px;border-radius:15px;border:1px solid #d7e3f4;background:white;color:#315b9e;font-size:21px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(27,62,123,.08);transition:.2s ease; }.lm-v4-carousel-controls button:hover,.lm-v4-carousel-controls button.is-active { transform:translateY(-3px);color:white;background:linear-gradient(135deg,#326ff2,#7949f4);box-shadow:0 0 24px rgba(93,78,255,.28); }.lm-v4-carousel-controls span { font-weight:900;color:#7384a4;font-size:11px; }
.lm-v4-missions-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.lm-v4-mission-card { min-height:390px;border-radius:26px;background:white;border:1px solid #dfe7f4;box-shadow:0 18px 46px rgba(22,60,123,.10);overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease; }
.lm-v4-mission-card:hover,.lm-v4-mission-card.is-featured:hover { transform:translateY(-13px) scale(1.035);border-color:#885dff;box-shadow:0 32px 65px rgba(42,52,127,.22),0 0 0 4px rgba(123,77,245,.09),0 0 30px rgba(123,77,245,.22);z-index:4; }
.lm-v4-mission-card.is-featured { transform:translateY(-6px);border-color:#9b78ff;box-shadow:0 24px 58px rgba(59,53,152,.18),0 0 0 3px rgba(120,83,242,.08); }
.lm-v4-mission-card__art { height:170px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#12336d,#2f7be5); }
.lm-v4-mission-card__art::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 35%,rgba(255,255,255,.27),transparent 25%),linear-gradient(135deg,transparent 45%,rgba(255,255,255,.09)); }
.lm-v4-mission-card__art > span { font-size:72px;filter:drop-shadow(0 14px 16px rgba(0,0,0,.25));transition:transform .38s ease;z-index:2; }.lm-v4-mission-card:hover .lm-v4-mission-card__art > span { transform:scale(1.17) rotate(-3deg); }
.lm-v4-mission-card__art i { position:absolute;left:-20%;right:-20%;bottom:-48px;height:80px;border-radius:50%;background:rgba(2,15,49,.35); }.lm-v4-mission-card__art b { position:absolute;left:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:#18396d;font-size:9px;z-index:3; }
.lm-v4-mission-card--green .lm-v4-mission-card__art { background:linear-gradient(145deg,#087f5c,#20b879); }.lm-v4-mission-card--gold .lm-v4-mission-card__art { background:linear-gradient(145deg,#9a6010,#f0a92e); }.lm-v4-mission-card--violet .lm-v4-mission-card__art { background:linear-gradient(145deg,#4520a5,#8452f5); }.lm-v4-mission-card--cyan .lm-v4-mission-card__art { background:linear-gradient(145deg,#087fa0,#17c8d7); }.lm-v4-mission-card--blue .lm-v4-mission-card__art { background:linear-gradient(145deg,#164b9e,#327fed); }.lm-v4-mission-card--orange .lm-v4-mission-card__art { background:linear-gradient(145deg,#c9630a,#ff9e23); }.lm-v4-mission-card--pink .lm-v4-mission-card__art { background:linear-gradient(145deg,#8c2c8f,#d649b8); }.lm-v4-mission-card--teal .lm-v4-mission-card__art { background:linear-gradient(145deg,#06717f,#17b8ad); }
.lm-v4-mission-card__body { padding:20px 20px 21px; }.lm-v4-mission-card__body > small { color:#7254d8;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.7px; }.lm-v4-mission-card h3 { margin:8px 0 8px;color:#0d2b61;font-size:19px;line-height:1.12; }.lm-v4-mission-card p { min-height:66px;margin:0;color:#667896;font-size:12px;line-height:1.5; }.lm-v4-mission-card__meta { display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;margin-top:16px;padding-top:13px;border-top:1px solid #e5ebf5; }.lm-v4-mission-card__meta span { color:#416088;font-size:10px;font-weight:850; }

.lm-v4-section--institution { color:white;background:linear-gradient(135deg,#05205a,#0b4da5 58%,#10267b); }
.lm-v4-institution { display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:stretch; }
.lm-v4-institution__identity { padding:30px;border-radius:28px;background:linear-gradient(145deg,rgba(7,30,82,.75),rgba(9,45,105,.65));border:1px solid rgba(117,166,255,.25);box-shadow:var(--v4-shadow); }
.lm-v4-institution__identity > img { width:115px;height:115px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28)); }.lm-v4-institution__identity h2 { margin:17px 0 12px;color:white;font-size:clamp(30px,3vw,45px);line-height:1.02; }.lm-v4-institution__identity > p:not(.lm-v4-kicker) { color:#c7d8f5;line-height:1.6;font-size:13px; }.lm-v4-institution__facts { display:flex;gap:9px;flex-wrap:wrap;margin-top:18px; }.lm-v4-institution__facts span { padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:10px; }.lm-v4-institution__facts strong { color:#fff;font-size:16px;margin-right:4px; }
.lm-v4-school-collage { display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:10px;min-height:460px; }.lm-v4-school-collage figure { margin:0;position:relative;overflow:hidden;border-radius:20px;border:2px solid rgba(134,179,255,.38);box-shadow:0 17px 38px rgba(0,15,47,.26); }.lm-v4-school-collage figure.is-main { grid-row:1/3; }.lm-v4-school-collage img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .35s ease; }.lm-v4-school-collage figure:hover img { transform:scale(1.075);filter:saturate(1.12); }.lm-v4-school-collage figcaption { position:absolute;left:9px;bottom:9px;padding:6px 9px;border-radius:999px;background:rgba(3,21,58,.75);backdrop-filter:blur(8px);color:white;font-size:9px;font-weight:850; }

.lm-v4-section--creator { background:radial-gradient(circle at 13% 15%,rgba(61,133,255,.09),transparent 27%),linear-gradient(180deg,#f8fbff,#eef4ff); }
.lm-v4-creator { display:grid;grid-template-columns:250px 1.2fr 1fr;gap:30px;align-items:center;padding:38px;border-radius:34px;background:rgba(255,255,255,.92);border:1px solid #dbe6f6;box-shadow:0 24px 64px rgba(23,60,122,.11); }
.lm-v4-creator__portrait { position:relative;border-radius:28px;overflow:hidden;background:#edf3fb;box-shadow:0 18px 44px rgba(18,52,108,.15); }.lm-v4-creator__portrait img { width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center top; }.lm-v4-creator__portrait span { position:absolute;left:14px;right:14px;bottom:14px;padding:8px;border-radius:999px;background:#0b2d68;color:white;text-align:center;font-size:9px;font-weight:900;letter-spacing:.5px; }.lm-v4-creator__copy h2 { margin:7px 0 13px;color:#0a285f;font-size:clamp(34px,3.2vw,50px);line-height:1.02;letter-spacing:-1.5px; }.lm-v4-creator__copy p { color:#667898;line-height:1.6;font-size:13px; }.lm-v4-creator__copy > strong,.lm-v4-creator__copy > small { display:block; }.lm-v4-creator__copy > strong { color:#5c39d7;margin-top:16px; }.lm-v4-creator__copy > small { margin-top:4px;color:#7b8ba6; }
.lm-v4-real-metrics { display:grid;grid-template-columns:repeat(2,1fr);gap:11px; }.lm-v4-real-metrics article { min-height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:14px;border-radius:22px;background:linear-gradient(145deg,#f8fbff,#eef3ff);border:1px solid #dbe5f5;box-shadow:0 12px 28px rgba(30,67,128,.06);transition:.25s ease; }.lm-v4-real-metrics article:hover { transform:translateY(-6px);border-color:#9675fb;box-shadow:0 18px 38px rgba(62,60,155,.13); }.lm-v4-real-metrics span { font-size:25px; }.lm-v4-real-metrics strong { margin-top:7px;color:#0b2d66;font-size:29px; }.lm-v4-real-metrics small { color:#7384a0;text-align:center;font-size:10px; }

.lm-v4-section--cta { padding-top:20px;padding-bottom:48px;background:#eef4ff; }.lm-v4-cta { display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:24px;padding:25px 32px;border-radius:30px;color:white;background:linear-gradient(115deg,#0a347c,#1f5dc8 48%,#6239d8);box-shadow:0 22px 54px rgba(17,56,132,.22);overflow:hidden;position:relative; }.lm-v4-cta::after { content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:23%;top:-150px;background:rgba(255,255,255,.08); }.lm-v4-cta > img { width:118px;height:118px;object-fit:cover;object-position:22% 48%;border-radius:26px;box-shadow:0 0 32px rgba(114,89,255,.45); }.lm-v4-cta h2 { margin:5px 0 5px;font-size:34px; }.lm-v4-cta p:not(.lm-v4-kicker) { margin:0;color:#ccdcfb; }
.lm-v4-footer { color:white;background:linear-gradient(135deg,#031331,#061e48);border-top:1px solid rgba(83,127,213,.22); }.lm-v4-footer__grid { width:min(calc(100% - 42px),1500px);margin:0 auto;padding:38px 0;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:32px; }.lm-v4-footer__grid > div { display:grid;align-content:start;gap:7px; }.lm-v4-footer__grid p,.lm-v4-footer__grid a,.lm-v4-footer__grid span { color:#91a8d1;font-size:11px;text-decoration:none; }.lm-v4-footer__grid strong { color:#d8e5ff;font-size:10px;letter-spacing:1px; }.lm-v4-footer__grid a:hover { color:#fff; }.lm-v4-footer__bottom { width:min(calc(100% - 42px),1500px);margin:0 auto;padding:15px 0 24px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(92,132,204,.16);color:#7e96c0;font-size:10px; }

/* ---------------- Login V4 ---------------- */
.lm-login--v4 { min-height:100vh;display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(500px,.92fr);background:#040e28;color:white; }
.lm-v4-login-visual { min-height:760px;position:relative;overflow:hidden;background:#06163c; }
.lm-v4-login-visual > img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.08) contrast(1.02); }
.lm-v4-login-visual__shade { position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,13,40,.72) 0%,rgba(3,19,52,.27) 48%,rgba(4,14,43,.58) 100%),linear-gradient(180deg,rgba(3,13,39,.2),rgba(3,15,45,.7)); }
.lm-v4-login-visual__copy { position:relative;z-index:2;height:100%;min-height:760px;padding:34px clamp(30px,4vw,64px);display:flex;flex-direction:column; }
.lm-v4-login-visual__brand { display:flex;align-items:center;gap:10px; }.lm-v4-version { display:inline-flex;padding:5px 8px;border-radius:9px;background:rgba(118,73,255,.18);border:1px solid rgba(142,107,255,.5);color:#d7c7ff;font-size:10px;font-weight:950; }
.lm-v4-login-visual__headline { margin:auto 0 28px;max-width:550px; }.lm-v4-login-visual__headline h2 { margin:7px 0 13px;color:white;font-size:clamp(44px,4.3vw,68px);line-height:.98;letter-spacing:-2.6px; }.lm-v4-login-visual__headline h2 span { color:#ffa221; }.lm-v4-login-visual__headline > p:not(.lm-v4-kicker) { max-width:470px;color:#d7e3fa;line-height:1.55; }
.lm-v4-login-tip { width:min(100%,470px);display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:18px;background:rgba(5,25,70,.78);border:1px solid rgba(132,86,255,.5);box-shadow:0 0 30px rgba(100,61,255,.16);backdrop-filter:blur(14px); }.lm-v4-login-tip img { width:58px;height:58px;border-radius:15px;object-fit:cover;object-position:20% 45%; }.lm-v4-login-tip strong { color:#ffd269;font-size:11px; }.lm-v4-login-tip p { margin:4px 0 0;color:#c1d1ee;font-size:10px;line-height:1.45; }
.lm-v4-login-benefits { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:24px; }.lm-v4-login-benefits article { display:flex;align-items:center;gap:8px;padding:10px;border-radius:16px;background:rgba(7,29,70,.66);border:1px solid rgba(109,151,230,.2);backdrop-filter:blur(10px); }.lm-v4-login-benefits article > span { font-size:23px; }.lm-v4-login-benefits strong,.lm-v4-login-benefits small { display:block; }.lm-v4-login-benefits strong { color:white;font-size:10px; }.lm-v4-login-benefits small { color:#91a8d2;font-size:8px;margin-top:2px; }
.lm-v4-login-panel { display:grid;place-items:center;padding:40px clamp(28px,5vw,72px);background:radial-gradient(circle at 100% 0,rgba(107,60,255,.19),transparent 28%),linear-gradient(180deg,#06143a,#030c24); }
.lm-v4-login-card { width:min(100%,570px);padding:34px 38px;border-radius:30px;background:linear-gradient(145deg,rgba(8,27,70,.96),rgba(6,20,58,.96));border:1px solid rgba(115,145,229,.28);box-shadow:0 30px 90px rgba(0,0,0,.38),0 0 50px rgba(74,75,255,.10);position:relative;overflow:hidden; }.lm-v4-login-card::before { content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--v4-cyan),var(--v4-violet),var(--v4-orange)); }
.lm-v4-login-card__top { display:flex;align-items:center;gap:8px; }.lm-v4-login-card__top .lm-brand { color:white; }.lm-v4-login-card__top .lm-brand__copy strong { color:white; }.lm-v4-login-card__top .lm-brand__copy small { color:#91a8d1; }.lm-v4-login-card__top .lm-brand__mark { background:rgba(255,255,255,.06);border:1px solid rgba(126,162,239,.2); }
.lm-v4-login-back { display:inline-flex;margin:18px 0 8px;color:#93b8ff;text-decoration:none;font-size:10px;font-weight:850; }.lm-v4-login-lock { width:56px;height:56px;margin:6px auto 12px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#142f72,#432c8c);border:1px solid rgba(151,119,255,.28);font-size:25px;box-shadow:0 0 24px rgba(109,71,255,.16); }.lm-v4-login-card h1 { margin:0;text-align:center;color:white;font-size:37px;letter-spacing:-1.2px; }.lm-v4-login-card__intro { margin:8px 0 24px;text-align:center;color:#9fb2d6;line-height:1.5;font-size:12px; }
.lm-field--dark { color:#d9e5fb; }.lm-v4-input-wrap { display:grid;grid-template-columns:36px 1fr;align-items:center;border:1px solid rgba(113,143,213,.36);border-radius:14px;background:rgba(3,16,49,.55);transition:.2s ease; }.lm-v4-input-wrap:focus-within { border-color:#7957ff;box-shadow:0 0 0 4px rgba(119,77,255,.10),0 0 24px rgba(85,73,255,.12); }.lm-v4-input-wrap > span { text-align:center;opacity:.8; }.lm-input--dark { min-height:53px;border:0!important;background:transparent!important;color:white!important;box-shadow:none!important;padding-left:0; }.lm-input--dark::placeholder { color:#6077a6; }
.lm-v4-login-submit { width:100%;min-height:56px;margin-top:4px;border:1px solid rgba(255,225,171,.55);border-radius:15px;color:white;background:linear-gradient(135deg,#ff9c1a,#ff7e0c);box-shadow:0 0 28px rgba(255,132,14,.34),0 14px 30px rgba(0,0,0,.25);font-weight:950;text-decoration:none; }.lm-v4-login-submit:hover { box-shadow:0 0 44px rgba(255,140,22,.55),0 17px 34px rgba(0,0,0,.28); }
.lm-v4-login-help { display:flex;justify-content:center;gap:9px;margin:17px 0;color:#80abff;font-size:10px; }.lm-v4-login-pilot,.lm-v4-security { display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:16px;background:rgba(13,39,84,.56);border:1px solid rgba(107,143,216,.22); }.lm-v4-login-pilot img { width:44px;height:44px;object-fit:contain; }.lm-v4-login-pilot strong,.lm-v4-login-pilot small,.lm-v4-security strong,.lm-v4-security small { display:block; }.lm-v4-login-pilot strong,.lm-v4-security strong { color:#e6efff;font-size:10px; }.lm-v4-login-pilot small,.lm-v4-security small { margin-top:2px;color:#8da5ce;font-size:9px; }.lm-v4-security { margin-top:10px; }.lm-v4-security > span { font-size:23px; }.lm-message--v4 { background:rgba(61,117,221,.13);border:1px solid rgba(99,148,239,.28);color:#bdd3ff; }
.lm-session--v4 .lm-session__profile { background:rgba(14,42,90,.55);border-color:rgba(113,151,226,.2);color:white; }.lm-session--v4 .lm-session__profile p { color:#9ab0d6; }

/* ---------------- Shared app shell V4 ---------------- */
.lm-shell--v4 {
  min-height:100vh;
  grid-template-columns:260px minmax(0,1fr);
  color:var(--v4-white);
  background:
    radial-gradient(circle at 78% 2%,rgba(68,92,255,.16),transparent 28%),
    radial-gradient(circle at 0 92%,rgba(127,52,255,.13),transparent 23%),
    linear-gradient(135deg,#03112e,#061b45 58%,#07183b);
}
.lm-shell--v4 .lm-sidebar { width:auto;min-height:100vh;padding:18px 14px;background:linear-gradient(180deg,rgba(3,18,51,.98),rgba(5,31,73,.98));border-right:1px solid rgba(90,130,208,.2);box-shadow:12px 0 36px rgba(0,10,35,.16); }
.lm-shell--v4 .lm-sidebar__brand { padding:5px 6px 18px;border-bottom:1px solid rgba(113,151,226,.14); }.lm-shell--v4 .lm-sidebar__brand > span { color:#7fa0d7;font-size:10px;letter-spacing:.8px;text-transform:uppercase;font-weight:850;margin:7px 0 0 54px;display:block; }.lm-shell--v4 .lm-sidebar__nav { gap:5px;padding-top:14px; }.lm-shell--v4 .lm-sidebar__item { min-height:47px;border-radius:14px;color:#bfcee8;background:transparent;border:1px solid transparent;transition:.22s ease; }.lm-shell--v4 .lm-sidebar__item:hover:not(.is-disabled) { transform:translateX(4px);color:white;background:rgba(44,78,146,.34);border-color:rgba(99,139,222,.2); }.lm-shell--v4 .lm-sidebar__item.is-active { color:white;background:linear-gradient(100deg,#5c42e8,#394bf3);border-color:rgba(181,164,255,.35);box-shadow:0 0 26px rgba(92,63,245,.32); }.lm-shell--v4 .lm-sidebar__icon { width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.05); }
.lm-sidebar__v4-bottom { margin-top:auto;display:grid;gap:10px; }.lm-sidebar__institution { display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center;padding:12px;border-radius:17px;background:rgba(10,35,77,.75);border:1px solid rgba(106,145,217,.2);font-size:9px;color:#b9cae6;line-height:1.45; }.lm-sidebar__institution img { width:48px;height:48px;object-fit:contain; }.lm-sidebar__institution strong { color:#fff;font-size:10px; }.lm-sidebar__matix { min-height:104px;display:grid;grid-template-columns:68px 1fr;gap:10px;align-items:center;padding:10px;border-radius:18px;background:linear-gradient(145deg,rgba(31,58,124,.8),rgba(70,37,137,.78));border:1px solid rgba(143,103,255,.28);box-shadow:0 0 22px rgba(98,62,255,.1);overflow:hidden; }.lm-sidebar__matix img { width:76px;height:94px;object-fit:cover;object-position:20% 43%;border-radius:17px;transform:translateX(-5px); }.lm-sidebar__matix strong,.lm-sidebar__matix small { display:block; }.lm-sidebar__matix strong { color:white;font-size:11px; }.lm-sidebar__matix small { margin-top:5px;color:#b8c8e8;font-size:9px;line-height:1.4; }
.lm-shell--v4 .lm-workspace { min-width:0;background:transparent; }.lm-shell--v4 .lm-topbar { position:sticky;top:0;z-index:30;min-height:104px;padding:20px clamp(24px,3vw,46px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(3,18,50,.82);border-bottom:1px solid rgba(90,129,205,.18);backdrop-filter:blur(18px); }.lm-topbar__eyebrow { display:flex;align-items:center;gap:7px;color:#7fb8ff;font-size:9px;font-weight:950;letter-spacing:1.2px; }.lm-topbar__eyebrow span { color:#ffbc42; }.lm-shell--v4 .lm-topbar h1 { margin:4px 0 0;color:white;font-size:clamp(28px,2.6vw,42px);letter-spacing:-1.2px; }.lm-shell--v4 .lm-topbar__subtitle { margin-top:4px;color:#8fa7cf;font-size:11px; }.lm-shell--v4 .lm-topbar__actions { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px; }.lm-shell--v4 .lm-content { padding:26px clamp(22px,3vw,42px) 52px;gap:20px; }
.lm-shell--v4 .lm-card { color:#f5f8ff;background:linear-gradient(145deg,rgba(9,34,80,.94),rgba(7,27,67,.92));border-color:rgba(106,144,219,.20);box-shadow:0 18px 45px rgba(0,10,37,.22),inset 0 1px 0 rgba(255,255,255,.025); }.lm-shell--v4 .lm-card h2,.lm-shell--v4 .lm-card h3,.lm-shell--v4 .lm-card h4,.lm-shell--v4 .lm-section-card__head h2 { color:white; }.lm-shell--v4 .lm-card p,.lm-shell--v4 .lm-muted,.lm-shell--v4 .lm-section-card__head p { color:#9fb1d1; }.lm-shell--v4 .lm-kicker { color:#64ccff; }.lm-shell--v4 .lm-chip { color:#d7e5ff;background:rgba(54,90,160,.36);border-color:rgba(111,151,229,.22); }.lm-shell--v4 .lm-btn--primary { color:white;background:linear-gradient(135deg,#376ff6,#7648f3);border-color:rgba(161,160,255,.26);box-shadow:0 0 25px rgba(77,70,255,.18),0 12px 28px rgba(0,0,0,.17); }.lm-shell--v4 .lm-btn--secondary { color:#e8f1ff;background:rgba(13,41,92,.84);border-color:rgba(110,149,225,.28);box-shadow:none; }.lm-shell--v4 .lm-btn--ghost { color:#bcd1f4;background:rgba(9,30,71,.62);border-color:rgba(102,140,213,.23); }.lm-shell--v4 .lm-input,.lm-shell--v4 select,.lm-shell--v4 textarea { color:#f4f7ff;background:rgba(3,18,49,.62);border-color:rgba(111,145,207,.34); }.lm-shell--v4 .lm-input::placeholder,.lm-shell--v4 textarea::placeholder { color:#667da7; }.lm-shell--v4 .lm-input:focus,.lm-shell--v4 select:focus,.lm-shell--v4 textarea:focus { border-color:#7658ff;box-shadow:0 0 0 4px rgba(115,82,255,.11),0 0 24px rgba(93,77,255,.12); }

/* Cards, metric widgets and hover motion in all protected areas */
.lm-shell--v4 .lm-metric,
.lm-shell--v4 .lm-teacher-section,
.lm-shell--v4 .lm-route-card,
.lm-shell--v4 .lm-tool-card-v3,
.lm-shell--v4 .lm-mission-card,
.lm-shell--v4 .lm-student-row-v3,
.lm-shell--v4 .lm-activity-card-v3,
.lm-shell--v4 .lm-student-card-v3 {
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease,filter .24s ease;
}
.lm-shell--v4 .lm-metric:hover,
.lm-shell--v4 .lm-teacher-section:hover,
.lm-shell--v4 .lm-route-card:hover,
.lm-shell--v4 .lm-tool-card-v3:hover,
.lm-shell--v4 .lm-mission-card:hover,
.lm-shell--v4 .lm-activity-card-v3:hover,
.lm-shell--v4 .lm-student-card-v3:hover {
  transform:translateY(-7px) scale(1.018);
  border-color:rgba(131,94,255,.58);
  box-shadow:0 26px 55px rgba(0,7,30,.35),0 0 30px rgba(102,74,255,.18);
  z-index:5;
}
.lm-shell--v4 .lm-metric { overflow:hidden;position:relative;background:linear-gradient(145deg,rgba(13,49,106,.93),rgba(8,30,72,.92)); }.lm-shell--v4 .lm-metric::before { content:"";position:absolute;inset:-50% auto -50% -35%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-18deg);transition:transform .6s ease; }.lm-shell--v4 .lm-metric:hover::before { transform:translateX(650%) skewX(-18deg); }.lm-shell--v4 .lm-metric p { color:#91a7ce; }.lm-shell--v4 .lm-metric strong { color:white; }.lm-shell--v4 .lm-metric small { color:#7189b4; }
.lm-shell--v4 .lm-icon-badge { color:white;background:linear-gradient(145deg,rgba(78,121,230,.28),rgba(115,69,239,.3));border:1px solid rgba(128,156,233,.2);box-shadow:0 0 24px rgba(94,68,245,.11); }

/* Teacher/student hero blocks */
.lm-shell--v4 .lm-teacher-hero-v3,
.lm-shell--v4 .lm-student-hero-v3,
.lm-shell--v4 .lm-section-hero-v3,
.lm-shell--v4 .lm-students-hero-v3,
.lm-shell--v4 .lm-import-hero-v3,
.lm-shell--v4 .lm-create-student-hero-v3,
.lm-shell--v4 .lm-student-detail-hero-v3 {
  color:white;
  background:
    radial-gradient(circle at 85% 20%,rgba(31,155,255,.20),transparent 25%),
    radial-gradient(circle at 18% 110%,rgba(143,60,255,.24),transparent 30%),
    linear-gradient(120deg,#0a2f73,#0c4b9e 52%,#3d2a9a);
  border:1px solid rgba(122,167,247,.24);
  box-shadow:0 24px 62px rgba(0,10,38,.26),inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;
  overflow:hidden;
}
.lm-shell--v4 .lm-teacher-hero-v3::after,
.lm-shell--v4 .lm-student-hero-v3::after,
.lm-shell--v4 .lm-section-hero-v3::after { content:"✦   +XP   π   x²";position:absolute;right:25px;bottom:14px;color:rgba(255,255,255,.08);font-size:36px;font-weight:950;letter-spacing:10px; }
.lm-shell--v4 .lm-student-hero-v3__matix { box-shadow:0 0 45px rgba(98,78,255,.24); }

/* Existing V3 route cards made V4 */
.lm-shell--v4 .lm-route-card { color:white;border-color:rgba(255,255,255,.10);box-shadow:0 15px 36px rgba(0,9,37,.20); }.lm-shell--v4 .lm-route-card h3 { color:white; }.lm-shell--v4 .lm-route-card p,.lm-shell--v4 .lm-route-card small { color:rgba(255,255,255,.78); }.lm-shell--v4 .lm-route-card--green { background:linear-gradient(145deg,#087d5e,#0eab7e); }.lm-shell--v4 .lm-route-card--violet { background:linear-gradient(145deg,#5130b4,#7945e6); }.lm-shell--v4 .lm-route-card--blue { background:linear-gradient(145deg,#1454ad,#247ee6); }.lm-shell--v4 .lm-route-card--orange { background:linear-gradient(145deg,#bd5f0a,#f58c18); }.lm-shell--v4 .lm-route-card__icon { color:white;background:rgba(255,255,255,.13); }

/* Section management tools */
.lm-shell--v4 .lm-section-tools-v3 { gap:16px; }.lm-shell--v4 .lm-tool-card-v3 { background:linear-gradient(145deg,rgba(11,42,93,.95),rgba(7,28,69,.94)); }.lm-shell--v4 .lm-tool-card-v3__icon { color:white;background:linear-gradient(145deg,#305fcf,#7647ef);box-shadow:0 0 25px rgba(91,70,246,.20); }.lm-shell--v4 .lm-section-strip-v3 { color:#dfeaff;background:linear-gradient(120deg,rgba(9,45,99,.9),rgba(38,30,104,.88));border-color:rgba(115,149,223,.2); }.lm-shell--v4 .lm-section-strip-v3 h3 { color:white; }.lm-shell--v4 .lm-section-strip-v3 p { color:#9eb2d4; }

/* Student table/list pages */
.lm-shell--v4 table { border-collapse:separate;border-spacing:0; }.lm-shell--v4 th { color:#91a7cf!important;background:rgba(9,31,70,.72)!important;border-color:rgba(96,133,205,.16)!important; }.lm-shell--v4 td { color:#dce8fb!important;border-color:rgba(91,127,199,.13)!important; }.lm-shell--v4 tbody tr { transition:.2s ease; }.lm-shell--v4 tbody tr:hover { background:rgba(76,61,174,.20)!important;box-shadow:inset 3px 0 0 #865dff; }.lm-shell--v4 .lm-student-list-v3,.lm-shell--v4 .lm-table-card-v3 { background:linear-gradient(145deg,rgba(9,33,77,.94),rgba(6,26,64,.93));border-color:rgba(103,140,214,.19); }.lm-shell--v4 .lm-student-row-v3 { background:rgba(8,30,70,.72);border-color:rgba(102,139,210,.15); }.lm-shell--v4 .lm-student-row-v3:hover { transform:translateX(3px);background:rgba(58,45,135,.34);border-color:rgba(132,87,255,.46);box-shadow:0 0 24px rgba(104,75,255,.13); }

/* Import area */
.lm-shell--v4 .lm-import-zone-v3,
.lm-shell--v4 .lm-import-dropzone-v3,
.lm-shell--v4 .lm-import-card-v3 { color:#dbe8ff;background:radial-gradient(circle at 50% 10%,rgba(93,65,234,.15),transparent 26%),rgba(6,25,65,.75);border-color:rgba(127,84,255,.45);box-shadow:inset 0 0 45px rgba(58,72,213,.07);transition:.24s ease; }.lm-shell--v4 .lm-import-zone-v3:hover,.lm-shell--v4 .lm-import-dropzone-v3:hover { transform:translateY(-4px) scale(1.006);border-color:#865fff;box-shadow:0 0 36px rgba(113,78,255,.22),inset 0 0 45px rgba(62,82,218,.10); }

/* Student dashboard island and missions */
.lm-shell--v4 .lm-progress-island-v3 { border:1px solid rgba(104,151,237,.25);box-shadow:0 22px 55px rgba(0,10,38,.28); }.lm-shell--v4 .lm-progress-island-v3__nodes span.is-on { animation:lmV4Pulse 2.4s ease-in-out infinite; }.lm-shell--v4 .lm-mission-card--v3 { background:linear-gradient(145deg,rgba(13,45,95,.95),rgba(8,27,68,.95)); }.lm-shell--v4 .lm-mission-card--v3 h3 { color:white; }.lm-shell--v4 .lm-mission-card--v3 p { color:#9fb3d5; }.lm-shell--v4 .lm-student-side-v3 { background:linear-gradient(145deg,rgba(13,45,95,.95),rgba(31,28,89,.95)); }.lm-shell--v4 .lm-student-side-v3__tip { background:rgba(102,62,223,.18);border-color:rgba(145,96,255,.24); }

/* Form, create and detail pages */
.lm-shell--v4 .lm-field--v3 > span { color:#c8d8f2; }.lm-shell--v4 .lm-field--v3 input { color:white;background:rgba(3,18,49,.66);border-color:rgba(109,144,211,.28); }.lm-shell--v4 .lm-info-grid-v3 article,.lm-shell--v4 .lm-edit-panel-v3,.lm-shell--v4 .lm-password-panel-v3 { color:#dce8fa;background:rgba(7,28,68,.75);border-color:rgba(105,142,215,.18); }.lm-shell--v4 .lm-info-grid-v3 strong,.lm-shell--v4 .lm-edit-panel-v3 h3,.lm-shell--v4 .lm-password-panel-v3 h3 { color:white; }.lm-shell--v4 .lm-info-grid-v3 small { color:#7f96bc; }.lm-shell--v4 .lm-activity-result-v3 { background:rgba(8,31,72,.76);border-color:rgba(106,141,211,.18); }.lm-shell--v4 .lm-activity-result-v3 h3,.lm-shell--v4 .lm-activity-result-v3__score strong { color:white; }.lm-shell--v4 .lm-activity-result-v3 p { color:#91a8ce; }

/* ---------------- Mission / quiz V4 ---------------- */
.lm-mission-page--v4 { min-height:100vh;color:white;background:radial-gradient(circle at 85% 8%,rgba(122,60,255,.18),transparent 28%),linear-gradient(135deg,#03112f,#071d4b 58%,#0b1641); }.lm-mission-page--v4 .lm-mission-wrap { width:min(calc(100% - 42px),1350px);padding:34px 0 60px; }.lm-mission-page--v4 .lm-card { color:white;background:linear-gradient(145deg,rgba(9,34,80,.95),rgba(6,26,64,.94));border-color:rgba(109,146,219,.21);box-shadow:0 22px 55px rgba(0,8,32,.28); }.lm-mission-page--v4 .lm-mission-hero { padding:30px;background:radial-gradient(circle at 90% 0,rgba(130,63,255,.25),transparent 28%),linear-gradient(120deg,#0b367c,#143e92 55%,#472a9f); }.lm-mission-page--v4 .lm-mission-hero h1 { color:white;font-size:clamp(36px,4vw,58px); }.lm-mission-page--v4 .lm-mission-hero p { color:#c7d8f5; }.lm-mission-page--v4 .lm-mission-meta span { background:rgba(4,22,59,.42);border-color:rgba(145,169,231,.22);color:#e4efff; }.lm-mission-page--v4 .lm-quiz { margin-top:18px;padding:30px;background:radial-gradient(circle at 20% 0,rgba(53,114,244,.12),transparent 24%),linear-gradient(145deg,rgba(10,35,80,.97),rgba(7,28,69,.96)); }.lm-mission-page--v4 .lm-quiz h2,.lm-mission-page--v4 .lm-quiz h3 { color:white; }.lm-mission-page--v4 .lm-chart { padding:22px;border-radius:22px;background:rgba(3,19,51,.62);border:1px solid rgba(103,142,213,.18); }.lm-mission-page--v4 .lm-chart__bar { background:linear-gradient(180deg,#8b5fff,#287ef2);box-shadow:0 0 18px rgba(96,79,255,.25);transition:.25s ease; }.lm-mission-page--v4 .lm-chart__item:hover .lm-chart__bar { filter:brightness(1.16);transform:scaleX(1.05); }.lm-mission-page--v4 .lm-option { color:#dbe6f8;background:rgba(6,27,67,.76);border-color:rgba(106,144,216,.22);transition:.22s ease; }.lm-mission-page--v4 .lm-option:hover { transform:translateY(-3px) scale(1.015);border-color:#835cff;box-shadow:0 0 24px rgba(116,78,255,.18); }.lm-mission-page--v4 .lm-option.is-selected { color:white;background:linear-gradient(145deg,#3f56d7,#7544e7);border-color:#a783ff;box-shadow:0 0 28px rgba(122,76,255,.30); }.lm-mission-page--v4 .lm-quiz__progress { background:rgba(91,124,190,.18); }.lm-mission-page--v4 .lm-quiz__progress span { background:linear-gradient(90deg,#2e82ff,#9c52ff);box-shadow:0 0 20px rgba(105,77,255,.32); }

/* Utility/change-password and future panels V4 */
.lm-utility-page--v4,.lm-temp--v4 { min-height:100vh;color:white;background:radial-gradient(circle at 80% 5%,rgba(113,64,255,.18),transparent 27%),linear-gradient(135deg,#03122f,#07204c); }.lm-utility-page--v4 .lm-card,.lm-temp--v4 .lm-card { color:white;background:linear-gradient(145deg,rgba(11,38,84,.96),rgba(7,27,67,.95));border-color:rgba(108,144,217,.22);box-shadow:0 25px 70px rgba(0,7,29,.3); }.lm-temp--v4 h1,.lm-utility-page--v4 h1 { color:white; }.lm-temp--v4 p,.lm-utility-page--v4 p { color:#a7bbda; }

/* Responsive V4 */
@media (max-width: 1250px) {
  .lm-v4-hero__inner { grid-template-columns:1fr 1.06fr; }
  .lm-v4-hero-art { height:520px; }
  .lm-v4-creator { grid-template-columns:220px 1fr; }
  .lm-v4-real-metrics { grid-column:1 / 3;grid-template-columns:repeat(4,1fr); }
  .lm-v4-institution { grid-template-columns:.85fr 1.15fr; }
}
@media (max-width: 1060px) {
  .lm-v4-nav__links > a:not(.lm-btn):nth-of-type(2),.lm-v4-nav__links > a:not(.lm-btn):nth-of-type(5) { display:none; }
  .lm-v4-hero__inner { grid-template-columns:1fr; }
  .lm-v4-hero { min-height:auto; }.lm-v4-hero-art { height:min(65vw,590px); }.lm-v4-feature-strip { max-width:none; }
  .lm-v4-steps,.lm-v4-competencies,.lm-v4-missions-grid { grid-template-columns:repeat(2,1fr); }
  .lm-v4-section__head--split,.lm-v4-section__head--inverse { grid-template-columns:1fr;text-align:left; }.lm-v4-section__head--split > p,.lm-v4-section__head--inverse > p { justify-self:start; }
  .lm-v4-institution { grid-template-columns:1fr; }
  .lm-v4-school-collage { min-height:520px; }
  .lm-login--v4 { grid-template-columns:1fr; }.lm-v4-login-visual { min-height:660px; }.lm-v4-login-visual__copy { min-height:660px; }.lm-v4-login-panel { padding:44px 24px 60px; }
  .lm-shell--v4 { grid-template-columns:86px minmax(0,1fr); }.lm-shell--v4 .lm-sidebar__brand .lm-brand__copy,.lm-shell--v4 .lm-sidebar__brand > span,.lm-shell--v4 .lm-sidebar__item > span:last-child,.lm-sidebar__institution > div,.lm-sidebar__matix > div { display:none; }.lm-sidebar__institution { grid-template-columns:1fr;place-items:center; }.lm-sidebar__matix { grid-template-columns:1fr;place-items:center;min-height:82px; }.lm-sidebar__matix img { width:60px;height:72px;transform:none; }.lm-shell--v4 .lm-sidebar__item { justify-content:center;padding:8px; }.lm-shell--v4 .lm-sidebar__icon { width:34px;height:34px; }
}
@media (max-width: 760px) {
  .lm-v4-nav { width:min(calc(100% - 24px),1500px);min-height:68px; }.lm-home--v4 .lm-brand__copy small { display:none; }.lm-home--v4 .lm-brand__copy strong { font-size:19px; }.lm-home--v4 .lm-brand__mark { width:40px;height:40px; }.lm-v4-nav__links > a:not(.lm-btn) { display:none; }.lm-v4-nav__links { gap:6px; }.lm-v4-hero__inner { width:min(calc(100% - 24px),1500px);padding:44px 0 70px; }.lm-v4-hero__copy h1 { font-size:clamp(46px,13vw,64px);letter-spacing:-2.8px; }.lm-v4-hero__copy > p { font-size:15px; }.lm-v4-feature-strip { grid-template-columns:1fr 1fr; }.lm-v4-hero-art { height:390px;border-width:5px;border-radius:25px; }.lm-v4-map-node { width:34px;height:34px;font-size:11px; }.lm-v4-hero-art__guide { transform:scale(.9);transform-origin:left top; }
  .lm-v4-section { padding:66px 16px; }.lm-v4-section__head h2 { font-size:40px; }.lm-v4-steps,.lm-v4-competencies,.lm-v4-missions-grid { grid-template-columns:1fr; }.lm-v4-section__head--mission { align-items:flex-start;flex-direction:column; }.lm-v4-mission-card.is-featured { transform:none; }.lm-v4-school-collage { grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px;min-height:auto; }.lm-v4-school-collage figure.is-main { grid-column:1 / 3;grid-row:1; }.lm-v4-creator { padding:22px;grid-template-columns:1fr; }.lm-v4-creator__portrait { max-width:280px; }.lm-v4-real-metrics { grid-column:1;grid-template-columns:repeat(2,1fr); }.lm-v4-cta { grid-template-columns:85px 1fr; }.lm-v4-cta > img { width:84px;height:84px; }.lm-v4-cta .lm-home__actions { grid-column:1 / 3; }.lm-v4-footer__grid { grid-template-columns:1fr 1fr; }.lm-v4-footer__bottom { flex-direction:column; }
  .lm-v4-login-visual { min-height:560px; }.lm-v4-login-visual__copy { min-height:560px;padding:25px 20px; }.lm-v4-login-visual__headline h2 { font-size:44px; }.lm-v4-login-benefits { grid-template-columns:1fr; }.lm-v4-login-card { padding:28px 22px; }.lm-v4-login-card h1 { font-size:32px; }
  .lm-shell--v4 { grid-template-columns:1fr; }.lm-shell--v4 .lm-sidebar { position:static;min-height:auto;display:block;padding:10px 12px; }.lm-shell--v4 .lm-sidebar__brand,.lm-sidebar__v4-bottom { display:none; }.lm-shell--v4 .lm-sidebar__nav { display:flex;overflow-x:auto;padding:0;gap:7px; }.lm-shell--v4 .lm-sidebar__item { min-width:50px;flex:0 0 auto; }.lm-shell--v4 .lm-topbar { position:static;padding:18px;align-items:flex-start;flex-direction:column; }.lm-shell--v4 .lm-topbar__actions { width:100%;justify-content:flex-start; }.lm-shell--v4 .lm-content { padding:18px 14px 40px; }.lm-shell--v4 .lm-metric-grid { grid-template-columns:1fr 1fr!important; }
  .lm-mission-page--v4 .lm-mission-wrap { width:min(calc(100% - 24px),1350px); }.lm-mission-page--v4 .lm-mission-hero,.lm-mission-page--v4 .lm-quiz { padding:22px; }
}
@media (max-width: 480px) {
  .lm-v4-feature-strip { grid-template-columns:1fr; }.lm-v4-hero-art { height:310px; }.lm-v4-map-node--one,.lm-v4-map-node--two { display:none; }.lm-v4-section__head h2 { font-size:35px; }.lm-v4-real-metrics { grid-template-columns:1fr 1fr; }.lm-v4-footer__grid { grid-template-columns:1fr; }.lm-v4-cta { grid-template-columns:1fr;text-align:center; }.lm-v4-cta > img { margin:auto; }.lm-v4-cta .lm-home__actions { grid-column:1;justify-content:center; }.lm-shell--v4 .lm-metric-grid { grid-template-columns:1fr!important; }
}

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

/* ============================================================
   V4 FIEL · RECONSTRUCCIÓN A PARTIR DE LA REFERENCIA APROBADA
   ============================================================ */
:root {
  --lm4-bg: #031331;
  --lm4-bg-deep: #020b21;
  --lm4-panel: rgba(7, 28, 68, .92);
  --lm4-panel-2: rgba(11, 39, 88, .90);
  --lm4-line: rgba(114, 157, 255, .25);
  --lm4-white: #f8fbff;
  --lm4-muted: #9cb1d6;
  --lm4-blue: #2684ff;
  --lm4-cyan: #2ce2ff;
  --lm4-violet: #7d4dff;
  --lm4-magenta: #be4fff;
  --lm4-orange: #ff9418;
  --lm4-gold: #ffc948;
  --lm4-green: #25d88b;
  --lm4-shadow: 0 26px 70px rgba(0, 7, 28, .44);
}

html { scroll-behavior: smooth; }
body { background: var(--lm4-bg-deep); }

/* branded surface texture */
.lm-home--reference,
.lm-shell--v4,
.lm-login--v4,
.lm-mission-page--v4,
.lm-utility-page--v4,
.lm-temp--v4 {
  background:
    radial-gradient(circle at 15% 8%, rgba(41,121,255,.13), transparent 23%),
    radial-gradient(circle at 83% 22%, rgba(130,66,255,.13), transparent 25%),
    linear-gradient(135deg, #020c25 0%, #061b43 52%, #0a1542 100%);
}

.lm-home--reference::before,
.lm-shell--v4::before,
.lm-login--v4::before,
.lm-mission-page--v4::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .24;
  background-image:
    linear-gradient(rgba(83,124,217,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(83,124,217,.09) 1px, transparent 1px),
    radial-gradient(circle, rgba(77,177,255,.48) 0 1px, transparent 1.7px);
  background-size: 56px 56px, 56px 56px, 180px 180px;
  mask-image: linear-gradient(to bottom, #000 0 74%, transparent 100%);
}

/* Header identical in spirit to approved reference */
.lm-home--reference .lm-v4-header {
  height: 72px;
  background: rgba(2, 14, 42, .96);
  border-bottom: 1px solid rgba(111, 147, 233, .22);
  box-shadow: 0 12px 38px rgba(0, 8, 31, .32);
}
.lm-home--reference .lm-v4-nav { min-height: 72px; width: min(calc(100% - 36px), 1460px); }
.lm-home--reference .lm-brand__mark,
.lm-shell--v4 .lm-brand__mark,
.lm-login--v4 .lm-brand__mark {
  background: linear-gradient(145deg, #1a8fff, #754cff 62%, #b741ff);
  border: 1px solid rgba(198, 222, 255, .55);
  box-shadow: inset 0 0 14px rgba(255,255,255,.15), 0 0 22px rgba(86,87,255,.32);
}
.lm-home--reference .lm-home__links > a:not(.lm-btn) {
  padding: 27px 4px 23px;
  font-size: 13px;
  font-weight: 800;
  color: #e3ecff;
}
.lm-home--reference .lm-home__links > a:not(.lm-btn):hover { color: #fff; text-shadow: 0 0 14px rgba(112,177,255,.42); }
.lm-home--reference .lm-home__links > a:not(.lm-btn):first-child::after { transform: scaleX(1); }

/* HERO: artwork integrated, no boxed/empty look */
.lm-v4-hero--reference {
  min-height: 650px;
  overflow: hidden;
  background:
    radial-gradient(circle at 73% 24%, rgba(41,124,255,.28), transparent 35%),
    linear-gradient(110deg, #061847 0%, #07296a 42%, #082b69 55%, #090f3e 100%);
}
.lm-v4-hero--reference::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,18,53,.96) 0 32%, rgba(5,22,59,.58) 46%, rgba(6,20,53,.08) 66%, rgba(5,13,40,.16) 100%);
  pointer-events: none;
  z-index: 1;
}
.lm-v4-hero--reference::after {
  height: 44px;
  bottom: -23px;
  background: #f5f8ff;
}
.lm-v4-hero--reference .lm-v4-hero__inner {
  width: min(calc(100% - 42px), 1460px);
  min-height: 650px;
  padding: 48px 0 64px;
  grid-template-columns: .72fr 1.28fr;
  gap: 18px 30px;
  align-items: center;
}
.lm-v4-hero--reference .lm-v4-hero__copy { z-index: 5; padding-left: 4px; }
.lm-v4-hero--reference .lm-v4-hero__copy h1 {
  max-width: 560px;
  font-size: clamp(54px, 5.2vw, 82px);
  line-height: .98;
  letter-spacing: -3.5px;
  text-shadow: 0 12px 30px rgba(0,0,0,.2);
}
.lm-v4-hero--reference .lm-v4-hero__copy h1 span { display: inline; color: #ff9c1b; background: none; -webkit-text-fill-color: currentColor; }
.lm-v4-hero--reference .lm-v4-hero__copy > p { max-width: 520px; margin: 18px 0 24px; font-size: 15px; line-height: 1.55; }
.lm-v4-hero-art--reference {
  height: 500px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  margin-right: -9vw;
}
.lm-v4-hero-art--reference > img:first-child {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 18% center;
  border-radius: 28px 0 0 28px;
  box-shadow: -22px 0 50px rgba(0,22,72,.38);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 11%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 11%, #000 100%);
}
.lm-v4-hero-art--reference::after { background: linear-gradient(90deg, rgba(5,25,65,.58), transparent 24%); }
.lm-v4-hero-art--reference .lm-v4-hero-art__guide { left: 12%; top: 22px; }
.lm-v4-feature-strip--wide {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0,1fr));
  max-width: none;
  margin-top: -5px;
  padding: 11px;
  background: rgba(4, 22, 59, .8);
  border: 1px solid rgba(93, 149, 255, .34);
  border-radius: 20px;
  box-shadow: 0 18px 44px rgba(0, 9, 35, .32), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(16px);
}
.lm-v4-feature-strip--wide article { min-height: 64px; background: transparent; border: 0; border-right: 1px solid rgba(118,149,216,.18); border-radius: 13px; }
.lm-v4-feature-strip--wide article:last-child { border-right: 0; }
.lm-v4-feature-strip--wide article:hover { background: rgba(31,87,173,.28); box-shadow: 0 0 30px rgba(50,117,255,.20); }

/* Journey section: intro + 4 cards, same silhouette as approved mockup */
.lm-v4-section--journey { padding: 72px max(22px, calc((100% - 1460px)/2)) 78px; background: linear-gradient(180deg, #f8fbff, #edf4ff); }
.lm-v4-journey { display: grid; grid-template-columns: .68fr 1.82fr; gap: 24px; align-items: stretch; }
.lm-v4-journey__intro { padding: 24px 22px; position: relative; }
.lm-v4-journey__intro h2 { margin: 8px 0 12px; color: #09255b; font-size: clamp(36px,3.4vw,54px); line-height: .96; letter-spacing: -2px; }
.lm-v4-journey__intro > p:last-of-type { color: #566c96; line-height: 1.6; }
.lm-v4-path-doodle { margin-top: 38px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 10px; color: #7048e7; }
.lm-v4-path-doodle span,.lm-v4-path-doodle b { width: 38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#6f4ae7;color:white;box-shadow:0 10px 22px rgba(89,60,196,.24); }
.lm-v4-path-doodle i { height: 2px; border-top: 2px dashed #8a6ff0; }
.lm-v4-section--journey .lm-v4-steps { gap: 14px; }
.lm-v4-section--journey .lm-v4-step { min-height: 290px; border-radius: 20px; padding: 23px 21px 22px; }
.lm-v4-section--journey .lm-v4-step__icon { width: 72px; height: 72px; font-size: 38px; box-shadow: 0 14px 28px rgba(11,44,102,.11); }
.lm-v4-section--journey .lm-v4-step:hover { transform: translateY(-14px) scale(1.045); }
.lm-v4-section--journey .lm-v4-step--violet { transform: translateY(-9px) scale(1.02); border-color: #a67dff; box-shadow: 0 0 0 3px rgba(132,83,255,.14), 0 24px 48px rgba(69,48,151,.18); }

/* Competencies: dark stage and shield silhouettes */
.lm-v4-routes-section--reference { padding-top: 70px; padding-bottom: 78px; overflow: hidden; }
.lm-v4-routes-section--reference::after { content:""; position:absolute; inset:0; background: radial-gradient(circle at 50% 110%, rgba(61,86,255,.16), transparent 34%); pointer-events:none; }
.lm-v4-competencies--shield .lm-v4-competency {
  min-height: 320px;
  padding: 36px 28px 42px;
  clip-path: polygon(8% 0,92% 0,100% 12%,100% 77%,50% 100%,0 77%,0 12%);
  border-radius: 0;
  border: none;
  box-shadow: 0 28px 50px rgba(0,0,0,.30), inset 0 0 0 2px rgba(255,255,255,.13);
  text-align: center;
}
.lm-v4-competencies--shield .lm-v4-competency::before { content:""; position:absolute; inset: 10px; clip-path: inherit; border: 1px solid rgba(255,255,255,.17); pointer-events:none; }
.lm-v4-competencies--shield .lm-v4-competency__icon { margin: 2px auto 12px; width: 92px; height: 92px; font-size: 32px; font-weight: 950; color:white; background: linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.08)); box-shadow: 0 18px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.3); }
.lm-v4-competencies--shield .lm-v4-competency h3 { margin-top: 17px; }

/* Mission carousel: illustrated art, white cards, active glow */
.lm-v4-section--missions-reference { padding-top: 70px; background: linear-gradient(180deg, #f7faff 0%, #edf4ff 100%); }
.lm-v4-section--missions-reference .lm-v4-missions-grid { gap: 16px; }
.lm-v4-section--missions-reference .lm-v4-mission-card { min-height: 410px; border-radius: 22px; background: #fff; border: 1px solid #dce6f5; box-shadow: 0 18px 42px rgba(15,54,114,.12); overflow: hidden; }
.lm-v4-section--missions-reference .lm-v4-mission-card:hover { transform: translateY(-12px) scale(1.035); box-shadow: 0 30px 62px rgba(26,62,132,.22), 0 0 0 3px rgba(111,83,255,.10); }
.lm-v4-section--missions-reference .lm-v4-mission-card.is-featured { transform: translateY(-11px) scale(1.025); border-color: #9e7aff; box-shadow: 0 0 0 4px rgba(125,76,255,.14), 0 28px 65px rgba(68,48,147,.20); }
.lm-v4-mission-card__art--image { height: 205px; background-size: cover; background-position: center; position:relative; }
.lm-v4-mission-card__art--image > b { top: 12px; left: 12px; right: auto; background: rgba(249,253,255,.94); color:#14366d; border:1px solid rgba(255,255,255,.8); }
.lm-v4-mission-card__art--image > span { position:absolute; right:15px; bottom:12px; width:44px;height:44px; display:grid;place-items:center; border-radius:15px; background:rgba(7,27,70,.78); backdrop-filter:blur(8px); font-size:25px; box-shadow:0 8px 22px rgba(0,0,0,.25); }
.lm-v4-section--missions-reference .lm-v4-mission-card__body { padding: 18px 18px 20px; }
.lm-v4-section--missions-reference .lm-v4-mission-card__body h3 { color:#09275d; font-size:21px; }
.lm-v4-section--missions-reference .lm-v4-mission-card__body p { color:#627596; }
.lm-v4-section--missions-reference .lm-v4-mission-card__meta { border-top:1px solid #edf1f7; padding-top:13px; }

/* Institution + creator in the richer deep-blue stage */
.lm-v4-section--institution-reference { background: radial-gradient(circle at 90% 15%, rgba(30,108,255,.22), transparent 26%), linear-gradient(135deg,#06225a,#093c8f 50%,#092b6f); color:white; }
.lm-v4-section--institution-reference .lm-v4-institution__identity h2 { color:white; }
.lm-v4-section--institution-reference .lm-v4-institution__identity > p { color:#c7d8f6; }
.lm-v4-section--institution-reference .lm-v4-institution__identity > img { width:140px;height:140px; filter: drop-shadow(0 16px 30px rgba(0,0,0,.3)); }
.lm-v4-section--institution-reference .lm-v4-school-collage figure { border: 3px solid rgba(218,234,255,.85); box-shadow: 0 16px 38px rgba(0,7,33,.3); }
.lm-v4-section--institution-reference .lm-v4-school-collage figure:hover { transform: translateY(-5px) scale(1.015); box-shadow:0 22px 50px rgba(0,6,28,.36),0 0 26px rgba(52,131,255,.18); }

.lm-v4-section--creator-reference { background: linear-gradient(180deg,#eef4ff,#f7f9ff); }
.lm-v4-section--creator-reference .lm-v4-creator { background: linear-gradient(145deg, #ffffff, #f5f7ff); border:1px solid #dfe8f6; box-shadow:0 24px 64px rgba(18,53,110,.12); }
.lm-v4-section--creator-reference .lm-v4-creator__portrait { border-radius:50%; overflow:visible; background:transparent; box-shadow:none; }
.lm-v4-section--creator-reference .lm-v4-creator__portrait img { border-radius:50%; border:5px solid #fff; box-shadow:0 0 0 3px #79b7ff, 0 18px 42px rgba(16,56,120,.18); }
.lm-v4-section--creator-reference .lm-v4-real-metrics article { min-height:125px; background:linear-gradient(145deg,#f8fbff,#eef3ff); border:1px solid #dfe8f6; box-shadow:0 12px 24px rgba(16,47,105,.08); }
.lm-v4-section--creator-reference .lm-v4-real-metrics article:hover { transform:translateY(-7px) scale(1.025); border-color:#a38cff; box-shadow:0 20px 38px rgba(65,48,145,.14); }

.lm-v4-section--cta-reference { padding-top: 34px; padding-bottom:34px; background:linear-gradient(100deg,#32107c,#5c25d0 45%,#2429ad 100%); }
.lm-v4-section--cta-reference .lm-v4-cta { min-height:150px; background:transparent; border:0; box-shadow:none; }
.lm-v4-section--cta-reference .lm-v4-cta h2 { color:white; }
.lm-v4-section--cta-reference .lm-v4-cta p { color:#cfdcff; }
.lm-v4-section--cta-reference .lm-v4-cta > img { filter: drop-shadow(0 14px 24px rgba(0,0,0,.32)); animation: lmV4Float 3s ease-in-out infinite; }
.lm-v4-footer--reference { background:#020d2a; border-top:1px solid rgba(118,154,231,.20); }

/* =============== APP SHELLS / PANELS =============== */
.lm-shell--v4 { position:relative; z-index:1; grid-template-columns: 248px minmax(0, 1fr); min-height:100vh; color:var(--lm4-white); }
.lm-shell--v4 .lm-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 20px 15px;
  background: linear-gradient(180deg, rgba(3,20,53,.99), rgba(4,29,70,.99));
  border-right:1px solid rgba(103,145,228,.20);
  box-shadow: 14px 0 44px rgba(0,8,31,.16);
  overflow:auto;
}
.lm-shell--v4 .lm-sidebar__brand { padding: 4px 4px 18px; border-bottom:1px solid rgba(106,145,218,.15); }
.lm-shell--v4 .lm-sidebar__brand > span { color:#7ea0d4; font-size:11px; font-weight:850; letter-spacing:.8px; text-transform:uppercase; }
.lm-shell--v4 .lm-sidebar__nav { padding-top:18px; gap:8px; }
.lm-shell--v4 .lm-sidebar__item { min-height:48px; border-radius:14px; color:#c4d4ee; font-weight:750; }
.lm-shell--v4 .lm-sidebar__item:hover { color:#fff; background:rgba(30,78,157,.32); transform:translateX(3px); }
.lm-shell--v4 .lm-sidebar__item.is-active { color:#fff; background:linear-gradient(100deg,#6947ee,#395ff6); border:1px solid rgba(165,177,255,.30); box-shadow:0 0 24px rgba(108,74,255,.28), inset 0 1px 0 rgba(255,255,255,.12); }
.lm-shell--v4 .lm-sidebar__icon { width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.055);font-size:18px;color:#dfe9ff; }
.lm-shell--v4 .lm-sidebar__institution { border:1px solid rgba(93,139,218,.18); background:rgba(10,38,84,.54); border-radius:16px; }
.lm-shell--v4 .lm-sidebar__matix { border:1px solid rgba(132,76,255,.27); background:linear-gradient(145deg,rgba(91,48,203,.34),rgba(28,48,122,.38)); border-radius:17px; box-shadow:0 0 28px rgba(106,57,255,.12); }

.lm-shell--v4 .lm-workspace { min-width:0; background:transparent; }
.lm-shell--v4 .lm-topbar {
  position:sticky; top:0; z-index:30;
  min-height:92px;
  padding:20px 28px;
  color:white;
  background:rgba(3,18,49,.88);
  border-bottom:1px solid rgba(106,145,218,.16);
  backdrop-filter: blur(18px) saturate(1.2);
}
.lm-shell--v4 .lm-topbar__eyebrow { color:#6fcfff; }
.lm-shell--v4 .lm-topbar h1 { color:white; font-size:30px; letter-spacing:-1px; }
.lm-shell--v4 .lm-topbar__subtitle { color:#89a4cf; }
.lm-shell--v4 .lm-content { padding:22px 24px 52px; position:relative; z-index:2; }
.lm-shell--v4 .lm-card { background:linear-gradient(145deg,rgba(10,36,82,.96),rgba(6,26,64,.95)); color:#e8f1ff; border:1px solid rgba(104,147,225,.20); box-shadow:0 18px 46px rgba(0,7,30,.26), inset 0 1px 0 rgba(255,255,255,.035); }
.lm-shell--v4 .lm-card:hover { border-color:rgba(119,157,255,.32); }

.lm-shell--v4 .lm-metric-grid { gap:13px; }
.lm-shell--v4 .lm-metric { min-height:110px; padding:17px; border-radius:17px; transition:.25s ease; }
.lm-shell--v4 .lm-metric:hover { transform:translateY(-6px); box-shadow:0 24px 50px rgba(0,7,31,.34),0 0 24px rgba(63,102,255,.12); }
.lm-shell--v4 .lm-metric p { color:#8da7ce; }
.lm-shell--v4 .lm-metric strong { color:white; font-size:30px; }
.lm-shell--v4 .lm-metric small { color:#7290c0; }
.lm-shell--v4 .lm-icon-badge { border:1px solid rgba(255,255,255,.12); box-shadow:0 10px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.16); }

.lm-shell--v4 .lm-teacher-hero-v3,
.lm-shell--v4 .lm-student-hero-v3,
.lm-shell--v4 .lm-section-hero-v3,
.lm-shell--v4 .lm-students-hero-v3,
.lm-shell--v4 .lm-import-hero-v3,
.lm-shell--v4 .lm-create-student-hero-v3,
.lm-shell--v4 .lm-student-detail-hero-v3,
.lm-shell--v4 .lm-activities-hero-v3 {
  border:1px solid rgba(107,148,231,.24);
  background:
    radial-gradient(circle at 78% 20%, rgba(107,63,255,.22), transparent 27%),
    linear-gradient(120deg,#092f73,#0d3d8d 52%,#3d258e);
  box-shadow:0 24px 60px rgba(0,8,34,.3), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.lm-shell--v4 .lm-teacher-hero-v3 h2,
.lm-shell--v4 .lm-student-hero-v3 h2,
.lm-shell--v4 .lm-section-hero-v3 h2,
.lm-shell--v4 .lm-students-hero-v3 h2,
.lm-shell--v4 .lm-import-hero-v3 h2,
.lm-shell--v4 .lm-create-student-hero-v3 h2,
.lm-shell--v4 .lm-student-detail-hero-v3 h2,
.lm-shell--v4 .lm-activities-hero-v3 h2 { color:white; }

/* section cards and table surfaces */
.lm-shell--v4 .lm-section-card--v3 { border-radius:20px; }
.lm-shell--v4 .lm-section-card__head h2 { color:white; }
.lm-shell--v4 .lm-section-card__head p { color:#8da5ca; }
.lm-shell--v4 .lm-chip { color:#d9e7ff; background:rgba(93,67,205,.28); border:1px solid rgba(139,103,255,.24); }
.lm-shell--v4 .lm-chip--soft { color:#7df5b4; background:rgba(22,151,98,.18); border-color:rgba(59,228,150,.22); }
.lm-shell--v4 .lm-teacher-section--v3,
.lm-shell--v4 .lm-tool-card-v3,
.lm-shell--v4 .lm-activity-card-v3,
.lm-shell--v4 .lm-student-row-v3 {
  background:linear-gradient(145deg,rgba(12,43,94,.92),rgba(7,28,67,.92));
  border:1px solid rgba(103,145,223,.20);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.lm-shell--v4 .lm-teacher-section--v3:hover,
.lm-shell--v4 .lm-tool-card-v3:hover,
.lm-shell--v4 .lm-activity-card-v3:hover,
.lm-shell--v4 .lm-student-row-v3:hover {
  transform:translateY(-7px) scale(1.012);
  border-color:#8e70ff;
  box-shadow:0 22px 42px rgba(0,6,28,.32),0 0 28px rgba(120,77,255,.18);
}
.lm-shell--v4 .lm-teacher-section--v3 h3,
.lm-shell--v4 .lm-activity-card-v3 h3,
.lm-shell--v4 .lm-student-row-v3 strong { color:white; }
.lm-shell--v4 .lm-teacher-section--v3 p,
.lm-shell--v4 .lm-activity-card-v3 p,
.lm-shell--v4 .lm-student-row-v3 p { color:#8fa8cf; }
.lm-shell--v4 .lm-teacher-section__stat { background:rgba(4,20,54,.55); border:1px solid rgba(97,139,215,.14); }
.lm-shell--v4 .lm-teacher-section__stat small { color:#7896c4; }
.lm-shell--v4 .lm-teacher-section__stat strong { color:white; }

/* route cards on dashboards */
.lm-shell--v4 .lm-route-card { min-height:220px; border:1px solid rgba(255,255,255,.16); box-shadow:0 18px 36px rgba(0,8,34,.28); transition:.25s cubic-bezier(.2,.8,.2,1); }
.lm-shell--v4 .lm-route-card:hover { transform:translateY(-10px) scale(1.035); filter:saturate(1.10) brightness(1.04); box-shadow:0 28px 52px rgba(0,6,31,.35),0 0 34px currentColor; }

/* student island/map card */
.lm-shell--v4 .lm-progress-island-v3 {
  min-height:360px;
  background:
    linear-gradient(90deg, rgba(3,19,53,.16), rgba(3,19,53,.06)),
    url('/assets/hero-matix-map2-CyXyfXAb.jpg') center/cover no-repeat;
  border-radius:22px;
  overflow:hidden;
  position:relative;
}
.lm-shell--v4 .lm-progress-island-v3::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,17,48,.88) 0 38%, rgba(3,17,48,.2) 67%, rgba(3,17,48,.1)); }
.lm-shell--v4 .lm-progress-island-v3__content { position:relative; z-index:2; max-width:52%; padding:28px; }
.lm-shell--v4 .lm-progress-island-v3__content h3 { color:white; font-size:28px; }
.lm-shell--v4 .lm-progress-island-v3__content p { color:#b6c9e6; }

/* mission cards in student dashboards: illuminated tiles */
.lm-shell--v4 .lm-mission-card--v3 { border-radius:18px; overflow:hidden; min-height:260px; position:relative; }
.lm-shell--v4 .lm-mission-card--v3:hover { transform:translateY(-9px) scale(1.025); border-color:#a078ff; box-shadow:0 24px 50px rgba(0,6,29,.34),0 0 30px rgba(125,76,255,.18); }
.lm-shell--v4 .lm-mission-card--v3 .lm-btn { margin-top:auto; }

/* student list */
.lm-shell--v4 .lm-student-list-v3,
.lm-shell--v4 .lm-import-card-v3,
.lm-shell--v4 .lm-create-student-card-v3,
.lm-shell--v4 .lm-edit-panel-v3,
.lm-shell--v4 .lm-password-panel-v3 {
  background:linear-gradient(145deg,rgba(8,32,75,.97),rgba(5,24,60,.96));
  border:1px solid rgba(104,145,221,.20);
  box-shadow:0 18px 48px rgba(0,7,28,.26);
}
.lm-shell--v4 .lm-student-row-v3 { color:#dce8fb; }
.lm-shell--v4 .lm-student-row-v3:hover { transform:translateX(6px) scale(1.005); }
.lm-shell--v4 .lm-status-pill--active { color:#79f6b5; background:rgba(26,156,100,.17); border:1px solid rgba(52,224,144,.20); }
.lm-shell--v4 .lm-input,
.lm-shell--v4 select,
.lm-shell--v4 textarea { color:#eef5ff; background:rgba(3,17,48,.72); border-color:rgba(106,145,217,.25); }
.lm-shell--v4 .lm-input:focus,
.lm-shell--v4 select:focus,
.lm-shell--v4 textarea:focus { outline:none; border-color:#8e6cff; box-shadow:0 0 0 3px rgba(126,78,255,.13),0 0 24px rgba(88,79,255,.16); }

/* Import: premium wizard/drop zone */
.lm-shell--v4 .lm-import-progress-v3 { background:rgba(5,25,61,.80); border:1px solid rgba(105,145,220,.20); }
.lm-shell--v4 .lm-import-drop-v3 {
  min-height:280px;
  background:
    radial-gradient(circle at 50% 50%,rgba(93,57,211,.19),transparent 38%),
    linear-gradient(145deg,rgba(7,31,75,.92),rgba(14,29,87,.90));
  border:2px dashed rgba(142,97,255,.60);
  box-shadow:inset 0 0 40px rgba(91,58,214,.10),0 0 28px rgba(81,66,255,.12);
  transition:.25s ease;
}
.lm-shell--v4 .lm-import-drop-v3:hover { transform:scale(1.01); border-color:#be8cff; box-shadow:inset 0 0 55px rgba(111,69,255,.15),0 0 36px rgba(111,69,255,.22); }
.lm-shell--v4 .lm-import-table-v3 { color:#d6e4fa; }
.lm-shell--v4 .lm-import-table-v3 th { color:#87a4d1; }
.lm-shell--v4 .lm-import-table-v3 td { border-color:rgba(95,134,207,.13); }

/* Buttons */
.lm-shell--v4 .lm-btn--primary,
.lm-login--v4 .lm-btn--primary,
.lm-mission-page--v4 .lm-btn--primary {
  color:#fff;
  background:linear-gradient(135deg,#6647f3,#346ff9 58%,#20a1ff);
  border:1px solid rgba(174,197,255,.33);
  box-shadow:0 12px 28px rgba(31,79,202,.24),0 0 24px rgba(104,74,255,.16);
}
.lm-shell--v4 .lm-btn--secondary { color:#eaf2ff; background:rgba(14,45,96,.72); border-color:rgba(102,147,228,.30); }
.lm-shell--v4 .lm-btn--ghost { color:#a9bee0; border-color:rgba(102,143,218,.20); background:rgba(6,26,63,.48); }

/* Login reconstructed to match approved visual */
.lm-login--v4 { position:relative; z-index:1; min-height:100vh; grid-template-columns:minmax(0,1.55fr) minmax(420px,.82fr); color:white; }
.lm-login--v4 .lm-v4-login-visual { min-height:100vh; background:#061643; }
.lm-login--v4 .lm-v4-login-visual > img { width:100%;height:100%;object-fit:cover;object-position:center; filter:saturate(1.08) contrast(1.03); }
.lm-login--v4 .lm-v4-login-visual__shade { background:linear-gradient(90deg,rgba(2,12,38,.50),rgba(2,12,38,.08) 68%,rgba(4,18,49,.52)); }
.lm-login--v4 .lm-v4-login-visual__copy { padding:28px 34px 34px; min-height:100vh; }
.lm-login--v4 .lm-v4-login-visual__headline { margin-top:auto; max-width:510px; padding-bottom:24px; }
.lm-login--v4 .lm-v4-login-visual__headline h2 { font-size:clamp(44px,4.4vw,72px); line-height:.98; }
.lm-login--v4 .lm-v4-login-visual__headline h2 span { color:#ff9a1d; }
.lm-login--v4 .lm-v4-login-tip { background:rgba(4,21,60,.82); border-color:rgba(136,98,255,.36); box-shadow:0 0 30px rgba(109,65,255,.18); }
.lm-login--v4 .lm-v4-login-panel { background:linear-gradient(180deg,#06143b,#060e2e); padding:38px; }
.lm-login--v4 .lm-v4-login-card { max-width:520px; background:linear-gradient(145deg,rgba(11,34,83,.97),rgba(7,22,61,.98)); border:1px solid rgba(123,99,255,.42); box-shadow:0 32px 80px rgba(0,5,25,.38),0 0 45px rgba(109,60,255,.16); }
.lm-login--v4 .lm-v4-login-card h1 { color:white; }
.lm-login--v4 .lm-v4-login-card__intro { color:#9eb2d5; }
.lm-login--v4 .lm-v4-login-submit { color:white; background:linear-gradient(135deg,#ffad23,#ff790b); border-color:rgba(255,219,157,.48); box-shadow:0 0 34px rgba(255,129,11,.32),0 15px 30px rgba(0,0,0,.28); }
.lm-login--v4 .lm-v4-login-submit:hover { box-shadow:0 0 46px rgba(255,139,20,.50),0 18px 35px rgba(0,0,0,.32); }
.lm-login--v4 .lm-input--dark { color:#fff; background:#07173f; border-color:rgba(116,91,232,.55); }
.lm-login--v4 .lm-v4-login-pilot,.lm-login--v4 .lm-v4-security { background:rgba(8,31,73,.70); border-color:rgba(93,137,218,.22); }

/* Mission page: richer game mission surface */
.lm-mission-page--v4 { position:relative; z-index:1; }
.lm-mission-page--v4 .lm-mission-hero { border:1px solid rgba(124,89,255,.28); box-shadow:0 20px 55px rgba(0,7,28,.3); }
.lm-mission-page--v4 .lm-quiz { border-radius:22px; }
.lm-mission-page--v4 .lm-option:hover { transform:translateY(-5px) scale(1.02); }

/* extra animations requested by user */
@keyframes lm4Breath { 0%,100%{filter:brightness(1);transform:scale(1)} 50%{filter:brightness(1.12);transform:scale(1.025)} }
@keyframes lm4Trail { from{background-position:0 0} to{background-position:46px 0} }
.lm-v4-map-node { animation: lmV4Pulse 2.3s ease-in-out infinite, lmV4Float 3.4s ease-in-out infinite; }
.lm-shell--v4 .lm-progress-island-v3__nodes i { background:linear-gradient(90deg,#32e8c0 50%,rgba(93,129,201,.28) 50%); background-size:46px 100%; animation:lm4Trail 2.6s linear infinite; }
.lm-v4-competency__icon,.lm-shell--v4 .lm-route-card__icon { transition:transform .28s ease,filter .28s ease; }
.lm-v4-competency:hover .lm-v4-competency__icon,.lm-shell--v4 .lm-route-card:hover .lm-route-card__icon { transform:translateY(-5px) rotate(-2deg) scale(1.08); filter:drop-shadow(0 10px 16px rgba(0,0,0,.22)); }

/* responsive faithful */
@media (max-width:1180px){
  .lm-v4-hero--reference .lm-v4-hero__inner{grid-template-columns:.85fr 1.15fr}
  .lm-v4-hero-art--reference{margin-right:-15vw}
  .lm-v4-feature-strip--wide{grid-template-columns:repeat(2,1fr)}
  .lm-v4-feature-strip--wide article:nth-child(2){border-right:0}
  .lm-v4-journey{grid-template-columns:1fr}
  .lm-v4-journey__intro{max-width:720px}
  .lm-shell--v4{grid-template-columns:210px minmax(0,1fr)}
}
@media (max-width:900px){
  .lm-v4-hero--reference .lm-v4-hero__inner{grid-template-columns:1fr;padding-top:40px}
  .lm-v4-hero-art--reference{margin:0;height:min(60vw,500px)}
  .lm-v4-hero-art--reference>img:first-child{border-radius:24px;mask-image:none;-webkit-mask-image:none}
  .lm-v4-hero--reference::before{background:linear-gradient(180deg,rgba(4,18,53,.88),rgba(4,18,53,.15) 64%)}
  .lm-v4-feature-strip--wide{grid-template-columns:1fr 1fr}
  .lm-shell--v4{grid-template-columns:84px minmax(0,1fr)}
}
@media (max-width:680px){
  .lm-v4-feature-strip--wide{grid-template-columns:1fr}
  .lm-v4-feature-strip--wide article{border-right:0;border-bottom:1px solid rgba(118,149,216,.18)}
  .lm-v4-feature-strip--wide article:last-child{border-bottom:0}
  .lm-v4-section--journey{padding-inline:14px}
  .lm-shell--v4{grid-template-columns:1fr}
  .lm-shell--v4 .lm-sidebar{position:static;height:auto}
}

/* illustrated mission tile inside student dashboard */
.lm-shell--v4 .lm-mission-card--illustrated { padding:0; display:flex; flex-direction:column; }
.lm-shell--v4 .lm-mission-card__visual-v4 { min-height:145px; padding:12px; background-size:cover; background-position:center; display:flex; justify-content:space-between; align-items:flex-start; transition:transform .38s ease,filter .3s ease; }
.lm-shell--v4 .lm-mission-card--illustrated:hover .lm-mission-card__visual-v4 { transform:scale(1.035); filter:saturate(1.12) brightness(1.04); }
.lm-shell--v4 .lm-mission-card__content-v4 { padding:17px; display:flex; flex:1; flex-direction:column; }
.lm-shell--v4 .lm-mission-card__content-v4 h3 { margin:0 0 8px; color:#fff; font-size:19px; }
.lm-shell--v4 .lm-mission-card__content-v4 > p { margin:0 0 12px; color:#93abd0; line-height:1.5; }
.lm-shell--v4 .lm-activity-card-v3__visual--image { min-height:165px; background-size:cover; background-position:center; position:relative; }
.lm-shell--v4 .lm-activity-card-v3__visual--image span { background:rgba(5,25,67,.74); backdrop-filter:blur(7px); border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 24px rgba(0,0,0,.24); }
.lm-shell--v4 .lm-activity-card-v3__visual--image small { background:rgba(5,21,55,.74); color:#eaf2ff; border:1px solid rgba(255,255,255,.14); }
.lm-shell--v4 .lm-v4-quick-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.lm-shell--v4 .lm-v4-quick-action { min-height:96px; padding:16px; display:grid; grid-template-columns:48px 1fr 20px; align-items:center; gap:12px; color:#eaf2ff; text-decoration:none; border-radius:18px; background:linear-gradient(145deg,rgba(14,47,101,.92),rgba(11,31,76,.92)); border:1px solid rgba(109,147,224,.22); box-shadow:0 14px 30px rgba(0,7,29,.22); transition:.24s ease; }
.lm-shell--v4 .lm-v4-quick-action>span:first-child { width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#6045e5,#2d7df4);font-size:24px;box-shadow:0 10px 23px rgba(49,75,209,.24); }
.lm-shell--v4 .lm-v4-quick-action strong,.lm-shell--v4 .lm-v4-quick-action small { display:block; }
.lm-shell--v4 .lm-v4-quick-action strong { color:#fff; font-size:13px; }
.lm-shell--v4 .lm-v4-quick-action small { margin-top:4px;color:#8fa7ca;font-size:10px;line-height:1.35; }
.lm-shell--v4 .lm-v4-quick-action>b { color:#8fb6ff;font-size:19px; }
.lm-shell--v4 .lm-v4-quick-action:hover,.lm-shell--v4 .lm-v4-quick-action.is-glowing { transform:translateY(-7px) scale(1.015); border-color:#9b78ff; box-shadow:0 20px 42px rgba(0,7,29,.30),0 0 28px rgba(126,79,255,.20); }
.lm-shell--v4 .lm-v4-quick-action.is-disabled { opacity:.66; cursor:default; }
@media(max-width:1180px){.lm-shell--v4 .lm-v4-quick-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.lm-shell--v4 .lm-v4-quick-actions{grid-template-columns:1fr}}

/* LUDIMATICA_HOME_V17_FIX_START */
/* Portada a escala normal/grande y recorte del hero exclusivamente hacia la derecha. */
.lm-home--reference{zoom:1.08}
.lm-v4-hero--reference .lm-v4-hero__inner{
  width:min(calc(100% - 52px),1460px)!important;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)!important;
  gap:28px!important;
}
.lm-v4-hero-art--reference{
  margin-right:0!important;min-width:0!important;overflow:hidden!important;border-radius:26px!important;
}
.lm-v4-hero-art--reference>img:first-child{
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:left center!important;border-radius:26px!important;
  -webkit-mask-image:none!important;mask-image:none!important;transform:scale(1.005)!important;
}
.lm-v4-hero-art--reference:hover>img:first-child{transform:scale(1.02)!important}
@media(max-width:1180px){
  .lm-home--reference{zoom:1}
  .lm-v4-hero-art--reference{margin-right:0!important}
  .lm-v4-hero-art--reference>img:first-child{object-position:left center!important}
}
/* LUDIMATICA_HOME_V17_FIX_END */


/* ================================================================
   LUDIMATICA HOME V2 · propuesta scrapbook clara (22-08-2026)
   Referencia visual aprobada por el usuario; conserva contenido y fotos.
   ================================================================ */
.lm-home--scrapbook{
  --paper:#fbf7ec;
  --paper-2:#f4efe2;
  --ink:#0e2d56;
  --ink-soft:#4f6480;
  --orange:#f28b21;
  --mint:#55bda8;
  --mint-soft:#dff3ec;
  --blue:#2e75ca;
  --blue-soft:#e4effd;
  --violet:#7756c8;
  --violet-soft:#eee8fb;
  --yellow:#f2b52d;
  --red:#d85b51;
  --line:#d9d1bd;
  --shadow:0 16px 42px rgba(58,49,28,.10);
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 1%,rgba(241,190,81,.09),transparent 28%),
    radial-gradient(circle at 92% 19%,rgba(72,174,155,.08),transparent 24%),
    linear-gradient(180deg,#fdfaf1 0%,#f9f4e8 100%);
  zoom:1!important;
}
.lm-home--scrapbook::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.lm-home--scrapbook .lm-home__header{position:sticky;top:0;z-index:80;background:rgba(253,250,241,.96)!important;border-bottom:1px solid rgba(174,158,126,.25)!important;box-shadow:0 7px 24px rgba(80,64,30,.06);backdrop-filter:blur(16px)}
.lm-home--scrapbook .lm-v4-nav{width:min(calc(100% - 48px),1440px);min-height:76px;margin:auto;padding:0!important}
.lm-home--scrapbook .lm-v4-nav__links a:not(.lm-btn){color:#253e5f!important;font-weight:800!important;font-size:13px!important;position:relative}
.lm-home--scrapbook .lm-v4-nav__links a:not(.lm-btn)::after{content:"";position:absolute;left:12%;right:12%;bottom:-10px;height:3px;border-radius:99px;background:var(--yellow);transform:scaleX(0);transition:.22s}
.lm-home--scrapbook .lm-v4-nav__links a:not(.lm-btn):hover::after{transform:scaleX(1)}
.lm-home--scrapbook .lm-home__login-button{background:linear-gradient(135deg,#f4a23c,#ec7621)!important;border:0!important;color:#fff!important;box-shadow:0 9px 24px rgba(222,112,27,.24)!important}

/* hero */
.lm-home--scrapbook .lm-v4-hero--reference{min-height:auto!important;background:transparent!important;color:var(--ink)!important;padding:48px 0 24px;overflow:visible}
.lm-home--scrapbook .lm-v4-hero--reference::before,.lm-home--scrapbook .lm-v4-hero__stars{display:none!important}
.lm-home--scrapbook .lm-v4-hero--reference .lm-v4-hero__inner{width:min(calc(100% - 56px),1440px)!important;margin:auto!important;padding:0!important;display:grid!important;grid-template-columns:minmax(350px,.78fr) minmax(560px,1.22fr)!important;grid-template-areas:"copy art" "features features"!important;gap:30px 34px!important;align-items:center!important}
.lm-home--scrapbook .lm-v4-hero__copy{grid-area:copy;position:relative;padding:18px 6px 18px 10px!important}
.lm-home--scrapbook .lm-v4-overline{display:inline-flex!important;align-items:center;gap:8px;padding:8px 13px;border:1.5px dashed #e4b74b;border-radius:999px;background:#fff8da;color:#8a5c12!important;box-shadow:none!important;font-weight:900;letter-spacing:.09em;font-size:11px}
.lm-home--scrapbook .lm-v4-hero__copy h1{max-width:560px!important;margin:18px 0 14px!important;color:var(--ink)!important;font-size:clamp(50px,5.15vw,76px)!important;line-height:.92!important;letter-spacing:-.055em!important;text-shadow:none!important}
.lm-home--scrapbook .lm-v4-hero__copy h1 span{display:inline;color:var(--orange)!important;background:none!important;-webkit-text-fill-color:initial!important}
.lm-home--scrapbook .lm-v4-hero__copy p{max-width:520px!important;color:#40556e!important;font-size:15px!important;line-height:1.55!important}
.lm-home--scrapbook .lm-v4-hero__copy p strong{color:var(--ink)!important}
.lm-home--scrapbook .lm-v4-hero__copy::after{content:"✦";position:absolute;right:14px;top:8px;font-size:34px;color:#f5b929;filter:drop-shadow(0 3px 0 #fff)}
.lm-home--scrapbook .lm-v4-btn{font-weight:900!important;border-radius:13px!important;min-height:48px!important;padding:0 20px!important}
.lm-home--scrapbook .lm-v4-btn--orange{background:linear-gradient(135deg,#f69c32,#ef771d)!important;color:#fff!important;border:1px solid #e77b25!important;box-shadow:0 8px 18px rgba(220,110,25,.22)!important}
.lm-home--scrapbook .lm-v4-btn--glass{background:#fffdf7!important;color:var(--ink)!important;border:1.5px solid #b7c7db!important;box-shadow:none!important}
.lm-home--scrapbook .lm-v4-hero-art--reference{grid-area:art;height:455px!important;margin:0!important;border:2px solid rgba(35,66,100,.13)!important;border-radius:26px!important;background:#dbe9ea!important;overflow:hidden!important;box-shadow:var(--shadow)!important;transform:rotate(.25deg)}
.lm-home--scrapbook .lm-v4-hero-art--reference::before,.lm-home--scrapbook .lm-v4-hero-art--reference::after{content:"";position:absolute;z-index:5;width:74px;height:25px;background:#eadfbdcc;top:4px;transform:rotate(-12deg);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.lm-home--scrapbook .lm-v4-hero-art--reference::before{left:-13px}.lm-home--scrapbook .lm-v4-hero-art--reference::after{right:-15px;transform:rotate(14deg)}
.lm-home--scrapbook .lm-v4-hero-art--reference>img:first-child{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(1.1) contrast(1.02)!important;border-radius:24px!important;mask-image:none!important;-webkit-mask-image:none!important}
.lm-home--scrapbook .lm-v4-hero-art__guide{top:18px!important;left:22px!important;background:rgba(255,255,255,.94)!important;color:var(--ink)!important;border:1px solid rgba(34,67,104,.15)!important;box-shadow:0 9px 26px rgba(24,56,87,.13)!important}
.lm-home--scrapbook .lm-v4-hero-art__guide small{color:#66809b!important}
.lm-home--scrapbook .lm-v4-map-node{box-shadow:0 4px 0 rgba(255,255,255,.8),0 8px 22px rgba(35,67,98,.20)!important}
.lm-home--scrapbook .lm-v4-feature-strip--wide{grid-area:features!important;position:relative!important;margin:2px 0 0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.lm-home--scrapbook .lm-v4-feature-strip--wide article{min-height:94px!important;padding:16px 17px!important;border:1px solid rgba(91,109,119,.12)!important;border-radius:18px!important;background:#eaf4f0!important;box-shadow:0 6px 15px rgba(47,58,51,.05)!important}
.lm-home--scrapbook .lm-v4-feature-strip--wide article:nth-child(2){background:#eef1f8!important}.lm-home--scrapbook .lm-v4-feature-strip--wide article:nth-child(3){background:#fff1ca!important}.lm-home--scrapbook .lm-v4-feature-strip--wide article:nth-child(4){background:#e2f2ed!important}
.lm-home--scrapbook .lm-v4-feature-icon{width:44px!important;height:44px!important;border-radius:13px!important;background:rgba(255,255,255,.72)!important;display:grid!important;place-items:center;font-size:24px!important}
.lm-home--scrapbook .lm-v4-feature-strip strong{color:var(--ink)!important}.lm-home--scrapbook .lm-v4-feature-strip small{color:#6b7d8e!important}

/* journey / scrapbook clipped cards */
.lm-home--scrapbook .lm-v4-section{width:100%!important;padding:58px max(28px,calc((100vw - 1440px)/2))!important}
.lm-home--scrapbook .lm-v4-section--journey{background:var(--paper)!important;color:var(--ink)!important}
.lm-home--scrapbook .lm-v4-journey{width:100%!important;display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:24px!important;align-items:stretch!important}
.lm-home--scrapbook .lm-v4-journey__intro{position:relative!important;padding:30px 26px!important;background:#cfe9df!important;border:1px solid #b9dacf!important;border-radius:10px 34px 18px 12px!important;box-shadow:0 11px 20px rgba(59,94,80,.09)!important;transform:rotate(-.5deg)!important}
.lm-home--scrapbook .lm-v4-journey__intro::before{content:"TU AVENTURA";position:absolute;left:-12px;top:-15px;padding:7px 13px;background:#f5c44a;color:#244057;font-size:10px;font-weight:1000;letter-spacing:.08em;transform:rotate(-5deg);box-shadow:0 3px 0 rgba(139,94,24,.12)}
.lm-home--scrapbook .lm-v4-journey__intro .lm-v4-kicker{display:none}
.lm-home--scrapbook .lm-v4-journey__intro h2{color:var(--ink)!important;font-size:38px!important;line-height:1!important;letter-spacing:-.035em!important}
.lm-home--scrapbook .lm-v4-journey__intro p{color:#496277!important;line-height:1.55!important}
.lm-home--scrapbook .lm-v4-path-doodle i{border-top:2px dashed #607890!important}.lm-home--scrapbook .lm-v4-path-doodle span,.lm-home--scrapbook .lm-v4-path-doodle b{color:#7656d6!important}
.lm-home--scrapbook .lm-v4-steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.lm-home--scrapbook .lm-v4-step{position:relative!important;min-height:280px!important;padding:42px 20px 24px!important;background:#fffdf7!important;border:1px solid #ded8c9!important;border-radius:14px!important;color:var(--ink)!important;box-shadow:0 8px 18px rgba(78,64,33,.07)!important;overflow:visible!important;transform:none!important}
.lm-home--scrapbook .lm-v4-step::before{content:"";position:absolute;top:-12px;left:50%;width:28px;height:28px;border-radius:7px 7px 4px 4px;background:#303841;box-shadow:inset 0 -5px 0 #1b2228,0 4px 8px rgba(0,0,0,.15);transform:translateX(-50%)}
.lm-home--scrapbook .lm-v4-step::after{content:"";position:absolute;top:-7px;left:50%;width:2px;height:13px;background:#aab0b4;transform:translateX(-50%)}
.lm-home--scrapbook .lm-v4-step__number{top:14px!important;right:15px!important;color:#6fbf9e!important;opacity:1!important;font-size:27px!important;font-weight:1000!important}
.lm-home--scrapbook .lm-v4-step--blue .lm-v4-step__number{color:#78a9e8!important}.lm-home--scrapbook .lm-v4-step--violet .lm-v4-step__number{color:#a48ada!important}.lm-home--scrapbook .lm-v4-step--orange .lm-v4-step__number{color:#e6a247!important}
.lm-home--scrapbook .lm-v4-step__icon{width:58px!important;height:58px!important;border-radius:17px!important;background:#e6f5ef!important;display:grid!important;place-items:center!important;font-size:30px!important;margin:5px 0 18px!important}.lm-home--scrapbook .lm-v4-step--blue .lm-v4-step__icon{background:#e6f0fb!important}.lm-home--scrapbook .lm-v4-step--violet .lm-v4-step__icon{background:#eee7fa!important}.lm-home--scrapbook .lm-v4-step--orange .lm-v4-step__icon{background:#fff0dc!important}
.lm-home--scrapbook .lm-v4-step h3{color:var(--ink)!important;font-size:20px!important}.lm-home--scrapbook .lm-v4-step p{color:#62738a!important;line-height:1.55!important}.lm-home--scrapbook .lm-v4-step__action{color:#6049cf!important;font-weight:900!important;font-size:12px!important}

/* competencies */
.lm-home--scrapbook .lm-v4-routes-section--reference{background:#f8f3e7!important;color:var(--ink)!important;border-top:1px solid #e7dec9!important;border-bottom:1px solid #e7dec9!important}
.lm-home--scrapbook .lm-v4-section__head{width:100%!important;margin-bottom:30px!important}.lm-home--scrapbook .lm-v4-section__head--inverse h2,.lm-home--scrapbook .lm-v4-section__head--inverse>div h2{color:var(--ink)!important}.lm-home--scrapbook .lm-v4-section__head--inverse>p{color:#64768a!important}.lm-home--scrapbook .lm-v4-section__head--inverse .lm-v4-kicker{display:inline-block!important;padding:6px 12px!important;background:#f5c54e!important;color:#624a10!important;transform:rotate(-2deg)!important;border-radius:3px!important}
.lm-home--scrapbook .lm-v4-competencies--shield{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important}
.lm-home--scrapbook .lm-v4-competency{min-height:184px!important;padding:22px!important;clip-path:none!important;border-radius:18px!important;background:#fffdf7!important;border:1px solid #ddd6c7!important;color:var(--ink)!important;box-shadow:0 9px 20px rgba(78,65,34,.06)!important;text-align:left!important;display:grid!important;grid-template-columns:68px 1fr!important;grid-template-rows:auto auto auto!important;column-gap:16px!important;align-content:center!important}
.lm-home--scrapbook .lm-v4-competency::before,.lm-home--scrapbook .lm-v4-competency::after{display:none!important}
.lm-home--scrapbook .lm-v4-competency__icon{grid-row:1/4!important;width:68px!important;height:68px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#fff!important;font-size:24px!important;box-shadow:inset 0 0 0 5px rgba(255,255,255,.28),0 7px 13px rgba(0,0,0,.10)!important}.lm-home--scrapbook .lm-v4-competency--green .lm-v4-competency__icon{background:#14a67f!important}.lm-home--scrapbook .lm-v4-competency--blue .lm-v4-competency__icon{background:#267ed1!important}.lm-home--scrapbook .lm-v4-competency--violet .lm-v4-competency__icon{background:#7251c5!important}.lm-home--scrapbook .lm-v4-competency--orange .lm-v4-competency__icon{background:#df7c1e!important}
.lm-home--scrapbook .lm-v4-competency h3{margin:0!important;color:var(--ink)!important;font-size:18px!important}.lm-home--scrapbook .lm-v4-competency p{margin:5px 0!important;color:#637487!important;font-size:13px!important;line-height:1.4!important}.lm-home--scrapbook .lm-v4-competency>span{justify-self:start!important;margin-top:7px!important;padding:4px 9px!important;border-radius:99px!important;color:#fff!important;background:#3a9e84!important;font-size:10px!important;font-weight:900!important}.lm-home--scrapbook .lm-v4-competency--blue>span{background:#2d7ccd!important}.lm-home--scrapbook .lm-v4-competency--violet>span{background:#7254be!important}.lm-home--scrapbook .lm-v4-competency--orange>span{background:#da7a22!important}

/* missions */
.lm-home--scrapbook .lm-v4-section--missions-reference{background:#f1f5f7!important;color:var(--ink)!important}
.lm-home--scrapbook .lm-v4-section__head--mission{display:grid!important;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr)!important;gap:26px!important;align-items:end!important;margin-bottom:18px!important}
.lm-home--scrapbook .lm-v4-section__head--mission>div:first-child{padding:24px!important;border-radius:12px 30px 15px 12px!important;background:#ddeaf6!important;box-shadow:0 7px 18px rgba(55,84,105,.07)!important;transform:rotate(-.3deg)!important}.lm-home--scrapbook .lm-v4-section__head--mission h2{color:var(--ink)!important;font-size:39px!important;line-height:1.04!important}.lm-home--scrapbook .lm-v4-section__head--mission p{color:#60748b!important}.lm-home--scrapbook .lm-v4-section__head--mission .lm-v4-kicker{display:inline-block;padding:5px 10px;background:#aec9e8;color:#274761;transform:rotate(-2deg);border-radius:3px}
.lm-home--scrapbook .lm-v4-carousel-controls{justify-self:end!important}.lm-home--scrapbook .lm-v4-carousel-controls button{background:#fffdf8!important;color:#35506b!important;border-color:#c7d2db!important}.lm-home--scrapbook .lm-v4-carousel-controls button.is-active{background:#6555d7!important;color:#fff!important;border-color:#6555d7!important}
.lm-home--scrapbook .lm-v4-missions-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important}
.lm-home--scrapbook .lm-v4-mission-card{background:#fff!important;color:var(--ink)!important;border:1px solid #d7dde2!important;border-radius:17px!important;overflow:hidden!important;box-shadow:0 10px 22px rgba(34,60,80,.08)!important;transform:none!important;min-height:410px!important}.lm-home--scrapbook .lm-v4-mission-card.is-featured{border-color:#8c70df!important;box-shadow:0 12px 26px rgba(92,67,178,.16)!important}
.lm-home--scrapbook .lm-v4-mission-card__art--image{min-height:148px!important;background-size:cover!important;filter:saturate(1.12) contrast(1.04)!important}.lm-home--scrapbook .lm-v4-mission-card__art b{background:#fffdf8!important;color:#563fb4!important;border:1px solid #ded4fb!important}
.lm-home--scrapbook .lm-v4-mission-card__body small{color:#6650c6!important}.lm-home--scrapbook .lm-v4-mission-card__body h3{color:var(--ink)!important}.lm-home--scrapbook .lm-v4-mission-card__body p{color:#647488!important}.lm-home--scrapbook .lm-v4-mission-card__meta{border-top-color:#e5e9ed!important;color:#375270!important}

/* contest teaser, modeled after the approved reference layout */
.lm-home--scrapbook .lm-contest-home--scrapbook{width:min(calc(100% - 56px),1440px)!important;margin:36px auto 54px!important;padding:28px 28px!important;display:grid!important;grid-template-columns:150px minmax(0,1fr) minmax(310px,.78fr)!important;gap:24px!important;align-items:center!important;color:var(--ink)!important;background:#fff2cf!important;border:1px solid #ead8ad!important;border-radius:24px!important;box-shadow:0 12px 26px rgba(86,67,28,.08)!important;overflow:visible!important}
.lm-home--scrapbook .lm-contest-home--scrapbook::before{content:""!important;position:absolute!important;left:20px!important;top:-13px!important;width:92px!important;height:26px!important;background:#ead7a7cc!important;opacity:1!important;transform:rotate(-6deg)!important;background-image:none!important}
.lm-home--scrapbook .lm-contest-home__trophy-card{position:relative;display:grid;place-items:center;min-height:150px}.lm-home--scrapbook .lm-contest-home__trophy{font-size:92px!important;filter:drop-shadow(0 10px 10px rgba(113,74,12,.18))!important}.lm-home--scrapbook .lm-contest-home__spark{position:absolute;left:2px;top:2px;color:#f2af27;font-size:28px}
.lm-home--scrapbook .lm-contest-home__copy{color:var(--ink)!important}.lm-home--scrapbook .lm-contest-home__copy .lm-v4-kicker{margin:4px 0!important;color:#647a90!important}.lm-home--scrapbook .lm-contest-home__badge{display:inline-flex!important;background:#23436f!important;color:#fff!important;border:0!important;border-radius:4px!important;padding:6px 10px!important;font-size:10px!important;letter-spacing:.08em!important;transform:rotate(-1deg)!important}.lm-home--scrapbook .lm-contest-home__copy h2{margin:6px 0 8px!important;color:var(--ink)!important;font-size:34px!important;line-height:1.02!important;letter-spacing:-.025em!important}.lm-home--scrapbook .lm-contest-home__copy h2 span{color:#e47c22!important}.lm-home--scrapbook .lm-contest-home__copy>p:last-of-type{max-width:680px!important;color:#52677c!important;font-size:14px!important;line-height:1.5!important}.lm-home--scrapbook .lm-contest-home__countdown{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lm-home--scrapbook .lm-contest-home__countdown>span{font-weight:1000;color:#785d1d;font-size:11px}
.lm-home--scrapbook .lm-contest-home .contest-countdown--compact{display:flex!important;gap:5px!important}.lm-home--scrapbook .lm-contest-home .contest-countdown__unit{min-width:50px!important;padding:5px 7px!important;background:#fffdf7!important;border:1px solid #e5d6ac!important;border-radius:9px!important;color:var(--ink)!important}.lm-home--scrapbook .lm-contest-home .contest-countdown__unit strong{font-size:14px!important;color:#e47c22!important}.lm-home--scrapbook .lm-contest-home .contest-countdown__unit small{font-size:7px!important;color:#7c6d4b!important}
.lm-home--scrapbook .lm-contest-home__side{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;align-items:center}.lm-home--scrapbook .lm-contest-home__categories{position:static!important;display:grid!important;gap:7px!important}.lm-home--scrapbook .lm-contest-home__categories span{min-width:0!important;padding:9px 12px!important;background:#fffdf7!important;border:1px solid #e0d5b8!important;border-radius:9px!important;color:var(--ink)!important;box-shadow:none!important}.lm-home--scrapbook .lm-contest-home__categories small{color:#728092!important}.lm-home--scrapbook .lm-contest-home__metric{position:static!important;width:92px!important;height:92px!important;border-radius:50%!important;background:#fffdf7!important;border:1px solid #d8d2c2!important;color:var(--ink)!important;transform:none!important}.lm-home--scrapbook .lm-contest-home__metric strong{font-size:31px!important}.lm-home--scrapbook .lm-contest-home__metric span{color:#607080!important}.lm-home--scrapbook .lm-contest-home__buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:4px}.lm-home--scrapbook .lm-contest-home__buttons a{min-height:40px;display:grid;place-items:center;border-radius:10px;text-decoration:none;font-size:11px;font-weight:1000}.lm-home--scrapbook .lm-contest-home__learn{background:#f2c231;color:#4a3c15}.lm-home--scrapbook .lm-contest-home__enter{background:#276daf;color:white}

/* institution and creator */
.lm-home--scrapbook .lm-v4-section--institution-reference{background:#eaf3ef!important;color:var(--ink)!important;border-top:1px solid #d5e3dc!important}.lm-home--scrapbook .lm-v4-institution{width:100%!important;gap:26px!important}.lm-home--scrapbook .lm-v4-institution__identity{background:#fffaf0!important;border:1px solid #dfd7c8!important;border-radius:22px!important;color:var(--ink)!important;box-shadow:0 10px 22px rgba(62,70,52,.06)!important;text-align:center!important;align-items:center!important}.lm-home--scrapbook .lm-v4-institution__identity img{margin-inline:auto!important;display:block!important;filter:drop-shadow(0 7px 8px rgba(59,46,16,.14))}.lm-home--scrapbook .lm-v4-institution__identity h2{color:#19556a!important}.lm-home--scrapbook .lm-v4-institution__identity p{color:#607486!important}.lm-home--scrapbook .lm-v4-institution__facts span{background:#fff!important;border-color:#e6dcc8!important;color:#536b7a!important}.lm-home--scrapbook .lm-v4-institution__facts strong{color:var(--ink)!important}.lm-home--scrapbook .lm-v4-school-collage figure{border:4px solid #fffdf8!important;border-radius:13px!important;box-shadow:0 8px 18px rgba(49,71,60,.10)!important}.lm-home--scrapbook .lm-v4-school-collage figcaption{background:rgba(13,45,74,.82)!important}
.lm-home--scrapbook .lm-v4-section--creator-reference{background:#fbf7ec!important;color:var(--ink)!important}.lm-home--scrapbook .lm-v4-creator{width:100%!important;padding:26px!important;background:#fffdf7!important;border:1px solid #dfd8ca!important;border-radius:26px!important;box-shadow:0 10px 23px rgba(66,56,31,.06)!important}.lm-home--scrapbook .lm-v4-creator__portrait img{border-color:#7cb4ea!important}.lm-home--scrapbook .lm-v4-creator__copy h2{color:var(--ink)!important}.lm-home--scrapbook .lm-v4-creator__copy p,.lm-home--scrapbook .lm-v4-creator__copy small{color:#66788c!important}.lm-home--scrapbook .lm-v4-real-metrics article{background:#edf5f1!important;border-color:#d6e5df!important;color:var(--ink)!important}.lm-home--scrapbook .lm-v4-real-metrics article:nth-child(2){background:#f4f0e3!important}.lm-home--scrapbook .lm-v4-real-metrics article:nth-child(3){background:#eaf0f8!important}.lm-home--scrapbook .lm-v4-real-metrics article:nth-child(4){background:#efe9f7!important}.lm-home--scrapbook .lm-v4-real-metrics small{color:#708192!important}
.lm-home--scrapbook .lm-v4-section--cta-reference{background:linear-gradient(105deg,#6551d5,#5246c5 55%,#3f4ac0)!important}.lm-home--scrapbook .lm-v4-cta{width:100%!important}.lm-home--scrapbook .lm-v4-section--cta-reference .lm-v4-kicker,.lm-home--scrapbook .lm-v4-section--cta-reference h2,.lm-home--scrapbook .lm-v4-section--cta-reference p{color:#fff!important}.lm-home--scrapbook .lm-v4-section--cta-reference .lm-v4-btn--glass{background:#205597!important;color:#fff!important;border-color:#8ca7d5!important}
.lm-home--scrapbook .lm-v4-footer--reference{background:#f8f3e8!important;color:var(--ink)!important;border-top:1px solid #ded6c5!important}.lm-home--scrapbook .lm-v4-footer--reference a,.lm-home--scrapbook .lm-v4-footer--reference span,.lm-home--scrapbook .lm-v4-footer--reference p{color:#5c6c7b!important}.lm-home--scrapbook .lm-v4-footer--reference strong{color:#263f59!important}

@media(max-width:1180px){
  .lm-home--scrapbook .lm-v4-hero--reference .lm-v4-hero__inner{grid-template-columns:1fr 1.25fr!important}
  .lm-home--scrapbook .lm-v4-journey{grid-template-columns:1fr!important}
  .lm-home--scrapbook .lm-v4-steps,.lm-home--scrapbook .lm-v4-competencies--shield,.lm-home--scrapbook .lm-v4-missions-grid{grid-template-columns:repeat(2,1fr)!important}
  .lm-home--scrapbook .lm-contest-home--scrapbook{grid-template-columns:120px 1fr!important}.lm-home--scrapbook .lm-contest-home__side{grid-column:1/-1!important;grid-template-columns:1fr 90px!important}
}
@media(max-width:900px){
  .lm-home--scrapbook .lm-v4-nav__links a:not(.lm-btn){display:none!important}
  .lm-home--scrapbook .lm-v4-hero--reference .lm-v4-hero__inner{grid-template-columns:1fr!important;grid-template-areas:"copy" "art" "features"!important}
  .lm-home--scrapbook .lm-v4-hero-art--reference{height:420px!important}
  .lm-home--scrapbook .lm-v4-feature-strip--wide{grid-template-columns:repeat(2,1fr)!important}
  .lm-home--scrapbook .lm-v4-section__head--mission{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .lm-home--scrapbook .lm-v4-nav{width:calc(100% - 24px)}
  .lm-home--scrapbook .lm-v4-hero--reference .lm-v4-hero__inner{width:calc(100% - 28px)!important}
  .lm-home--scrapbook .lm-v4-hero__copy h1{font-size:48px!important}
  .lm-home--scrapbook .lm-v4-feature-strip--wide,.lm-home--scrapbook .lm-v4-steps,.lm-home--scrapbook .lm-v4-competencies--shield,.lm-home--scrapbook .lm-v4-missions-grid{grid-template-columns:1fr!important}
  .lm-home--scrapbook .lm-v4-section{padding:42px 14px!important}
  .lm-home--scrapbook .lm-contest-home--scrapbook{width:calc(100% - 28px)!important;grid-template-columns:1fr!important;padding:22px!important}.lm-home--scrapbook .lm-contest-home__trophy-card{display:none}.lm-home--scrapbook .lm-contest-home__side{grid-column:auto!important;grid-template-columns:1fr!important}.lm-home--scrapbook .lm-contest-home__metric{display:none!important}.lm-home--scrapbook .lm-contest-home__buttons{grid-template-columns:1fr!important}
}
.lm-home--scrapbook .lm-home__header .lm-brand__copy strong{color:#183b67!important}.lm-home--scrapbook .lm-home__header .lm-brand__copy small{color:#6d7e8d!important}
/* ============================================================
   LUDIMATICA V5 - visual system reconstructed from the approved
   Concepto 5 references. This file intentionally overrides the
   legacy V3/V4 presentation without changing application logic.
   ============================================================ */

:root {
  --v5-bg: #041434;
  --v5-bg-2: #071d4a;
  --v5-bg-3: #0a2f69;
  --v5-panel: rgba(9, 35, 79, 0.9);
  --v5-panel-strong: rgba(7, 29, 68, 0.97);
  --v5-border: rgba(121, 160, 234, 0.22);
  --v5-border-hot: rgba(153, 111, 255, 0.68);
  --v5-white: #f7fbff;
  --v5-copy: #c2d2ec;
  --v5-muted: #7f9bc6;
  --v5-purple: #8257ff;
  --v5-purple-2: #b36cff;
  --v5-blue: #1d78ff;
  --v5-cyan: #1ad9e5;
  --v5-green: #31d676;
  --v5-orange: #ff8a16;
  --v5-gold: #ffc84b;
  --v5-shadow: 0 24px 60px rgba(0, 7, 30, 0.35);
  --v5-glow: 0 0 0 1px rgba(154, 112, 255, 0.26), 0 0 28px rgba(123, 73, 255, 0.2), 0 20px 46px rgba(0, 7, 30, 0.3);
}

/* ---------- Shared shell ---------- */
.lm-shell--v5 {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  background:
    radial-gradient(circle at 84% 3%, rgba(91, 56, 255, 0.18), transparent 30%),
    radial-gradient(circle at 42% 18%, rgba(24, 119, 255, 0.14), transparent 32%),
    linear-gradient(145deg, #041434 0%, #061a43 48%, #071330 100%);
  color: var(--v5-white);
}

.lm-shell--v5 .lm-workspace {
  min-width: 0;
  min-height: 100vh;
  background:
    linear-gradient(rgba(41, 78, 143, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(41, 78, 143, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 78% 0%, rgba(90, 64, 255, 0.16), transparent 29%),
    linear-gradient(160deg, #071a43, #051534 58%, #06152f);
  background-size: 54px 54px, 54px 54px, auto, auto;
}

.lm-sidebar--v5 {
  min-height: 100vh;
  height: 100vh;
  position: sticky;
  top: 0;
  align-self: start;
  z-index: 30;
  padding: 20px 16px;
  background:
    radial-gradient(circle at 20% 12%, rgba(83, 74, 255, 0.22), transparent 26%),
    linear-gradient(180deg, #05143a 0%, #061f4e 58%, #051532 100%);
  border-right: 1px solid rgba(87, 132, 213, 0.18);
  box-shadow: 18px 0 50px rgba(0, 6, 28, 0.18);
  overflow-y: auto;
}

.lm-sidebar--v5 .lm-sidebar__brand {
  padding: 3px 5px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.lm-sidebar--v5 .lm-brand__mark {
  background: linear-gradient(145deg, rgba(42, 118, 255, 0.28), rgba(128, 69, 255, 0.28));
  border: 1px solid rgba(135, 177, 255, 0.25);
  box-shadow: 0 10px 28px rgba(34, 69, 181, 0.24), inset 0 0 18px rgba(255, 255, 255, 0.06);
}

.lm-sidebar--v5 .lm-brand__copy strong { color: #fff; }
.lm-sidebar--v5 .lm-sidebar__brand > span {
  display: inline-block;
  margin: 10px 0 0 4px;
  color: #7894c1;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.lm-sidebar__nav--v5 {
  display: grid;
  gap: 7px;
  padding-top: 20px;
}

.lm-sidebar--v5 .lm-sidebar__item {
  min-height: 50px;
  display: grid;
  grid-template-columns: 34px 1fr 18px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border-radius: 15px;
  color: #c5d5ee;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: 13px;
  font-weight: 760;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
}

.lm-sidebar--v5 .lm-sidebar__item:hover:not(.is-disabled) {
  color: #fff;
  transform: translateX(4px);
  background: rgba(52, 82, 160, 0.22);
  border-color: rgba(113, 154, 235, 0.18);
}

.lm-sidebar--v5 .lm-sidebar__item.is-active {
  color: #fff;
  background: linear-gradient(100deg, rgba(112, 72, 255, 0.97), rgba(45, 93, 246, 0.96));
  border-color: rgba(184, 154, 255, 0.45);
  box-shadow: 0 0 25px rgba(110, 73, 255, 0.35), inset 0 0 20px rgba(255, 255, 255, 0.06);
}

.lm-sidebar--v5 .lm-sidebar__item.is-disabled { opacity: .52; }
.lm-sidebar--v5 .lm-sidebar__icon { font-size: 19px; text-align: center; }
.lm-sidebar--v5 .lm-sidebar__chevron { color: #82a9e7; font-size: 22px; text-align: right; }
.lm-sidebar__v5-spacer { flex: 1 1 auto; min-height: 22px; }

.lm-sidebar__v5-bottom { display: grid; gap: 12px; }
.lm-sidebar__institution--v5 {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 11px;
  align-items: center;
  padding: 13px;
  border-radius: 16px;
  background: rgba(8, 31, 74, 0.76);
  border: 1px solid rgba(105, 148, 224, 0.2);
  color: #c8d9f3;
  font-size: 10px;
  line-height: 1.45;
}
.lm-sidebar__institution--v5 img { width: 54px; height: 54px; object-fit: contain; }
.lm-sidebar__institution--v5 strong { color: #8db7ff; text-transform: uppercase; letter-spacing: .7px; font-size: 9px; }

.lm-sidebar__matix--v5 {
  position: relative;
  min-height: 122px;
  display: grid;
  grid-template-columns: 74px 1fr;
  align-items: end;
  gap: 8px;
  padding: 12px 12px 12px 8px;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(63, 42, 150, 0.95), rgba(29, 65, 143, 0.93));
  border: 1px solid rgba(162, 118, 255, 0.5);
  box-shadow: 0 15px 35px rgba(4, 8, 36, 0.3), inset 0 0 30px rgba(112, 72, 255, 0.12);
}
.lm-sidebar__matix--v5::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 12%, rgba(255,255,255,.12), transparent 24%); pointer-events: none; }
.lm-sidebar__matix--v5 img { width: 76px; height: 96px; object-fit: cover; object-position: 50% 34%; border-radius: 16px; transform: translateY(7px); border: 1px solid rgba(255,255,255,.17); }
.lm-sidebar__matix--v5 strong { display: block; color: #fff; font-size: 12px; margin-bottom: 4px; }
.lm-sidebar__matix--v5 small { display: block; color: #bdcdec; font-size: 9px; line-height: 1.45; }

.lm-topbar--v5 {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 92px;
  padding: 18px clamp(24px, 3vw, 44px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: rgba(4, 18, 48, 0.86);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(100, 144, 222, 0.16);
  box-shadow: 0 16px 40px rgba(0, 5, 27, 0.14);
}
.lm-topbar--v5 .lm-topbar__eyebrow { color: #7e9fd2; font-size: 9px; letter-spacing: 1.55px; font-weight: 900; }
.lm-topbar--v5 .lm-topbar__eyebrow span { color: #9b74ff; }
.lm-topbar--v5 h1 { margin: 3px 0 2px; color: #fff; font-size: clamp(24px, 2.3vw, 34px); letter-spacing: -1px; }
.lm-topbar--v5 .lm-topbar__subtitle { margin: 0; color: #8ba5cc; font-size: 12px; }
.lm-topbar--v5 .lm-topbar__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }

.lm-shell--v5 .lm-btn,
.lm-mission-page--v5 .lm-btn,
.lm-login--v5 .lm-btn,
.lm-utility-page--v5 .lm-btn {
  min-height: 44px;
  border-radius: 12px;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, filter .24s ease, border-color .24s ease;
}
.lm-shell--v5 .lm-btn:hover:not(:disabled),
.lm-mission-page--v5 .lm-btn:hover:not(:disabled),
.lm-login--v5 .lm-btn:hover:not(:disabled) {
  transform: translateY(-3px) scale(1.015);
}
.lm-shell--v5 .lm-btn--primary,
.lm-mission-page--v5 .lm-btn--primary,
.lm-login--v5 .lm-btn--primary {
  color: #fff;
  background: linear-gradient(100deg, #7252ff, #8b4cff 46%, #1c78ff);
  border-color: rgba(188, 154, 255, 0.48);
  box-shadow: 0 10px 30px rgba(104, 65, 255, 0.26), inset 0 0 16px rgba(255,255,255,.05);
}
.lm-shell--v5 .lm-btn--primary:hover,
.lm-mission-page--v5 .lm-btn--primary:hover { box-shadow: 0 0 26px rgba(146, 93, 255, 0.36), 0 18px 38px rgba(0, 7, 30, .28); filter: saturate(1.08) brightness(1.05); }
.lm-shell--v5 .lm-btn--secondary,
.lm-mission-page--v5 .lm-btn--secondary {
  color: #eaf3ff;
  background: linear-gradient(145deg, rgba(16, 54, 113, .9), rgba(7, 31, 73, .9));
  border-color: rgba(101, 149, 230, .3);
  box-shadow: none;
}
.lm-shell--v5 .lm-btn--ghost,
.lm-mission-page--v5 .lm-btn--ghost {
  color: #aac3e8;
  background: rgba(8, 30, 70, 0.52);
  border-color: rgba(102, 148, 225, .19);
}

.lm-v5-page {
  width: min(calc(100% - 44px), 1460px);
  margin: 0 auto;
  padding: 24px 0 34px;
  display: grid;
  gap: 16px;
}
.lm-v5-panel {
  background: linear-gradient(145deg, rgba(10, 39, 87, 0.96), rgba(6, 27, 65, 0.96));
  border: 1px solid var(--v5-border);
  border-radius: 18px;
  box-shadow: var(--v5-shadow);
  color: var(--v5-white);
  overflow: hidden;
}
.lm-v5-panel-glow { border: 1px solid rgba(130, 112, 255, .25); box-shadow: var(--v5-glow); }
.lm-v5-panel__head { min-height: 54px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.lm-v5-panel__head h2 { margin: 3px 0 0; color: #fff; font-size: 20px; letter-spacing: -.45px; }
.lm-v5-panel__head > a { color: #9cbfff; text-decoration: none; font-size: 11px; font-weight: 850; }
.lm-v5-eyebrow { display: inline-flex; align-items: center; gap: 6px; color: #c6b6ff; font-size: 9px; font-weight: 950; letter-spacing: 1.45px; text-transform: uppercase; }
.lm-v5-eyebrow--dark { color: #8fb4ed; }
.lm-v5-soft-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; color: #a8c3ec; background: rgba(19, 61, 124, .5); border: 1px solid rgba(114, 159, 234, .17); font-size: 9px; font-weight: 800; white-space: nowrap; }
.lm-v5-panel-note { margin: 15px 0 0; color: #718db7; font-size: 9px; line-height: 1.55; }

/* ---------- Teacher dashboard ---------- */
.lm-v5-welcome-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 14px; }
.lm-v5-welcome-card {
  position: relative;
  padding: 26px 28px;
  border-radius: 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 30%, rgba(48, 164, 255, .24), transparent 28%),
    radial-gradient(circle at 69% 90%, rgba(137, 72, 255, .25), transparent 32%),
    linear-gradient(115deg, #102b6b, #0a3d88 47%, #09275d);
}
.lm-v5-welcome-card::after { content: "π   x²   %   △"; position: absolute; right: 24px; bottom: 8px; color: rgba(255,255,255,.07); font-size: 44px; font-weight: 900; letter-spacing: 10px; transform: rotate(-4deg); }
.lm-v5-welcome-card h2 { max-width: 760px; margin: 7px 0 9px; color: #fff; font-size: clamp(24px, 2.7vw, 39px); line-height: 1.05; letter-spacing: -1.25px; }
.lm-v5-welcome-card p { max-width: 780px; margin: 0; color: #b5c9e6; font-size: 12px; line-height: 1.65; }
.lm-v5-stat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.lm-v5-stat-chips span { min-height: 35px; display: inline-flex; align-items: center; gap: 5px; padding: 0 12px; border-radius: 999px; color: #d5e3f7; background: rgba(4, 22, 58, .48); border: 1px solid rgba(141, 177, 237, .2); font-size: 10px; }
.lm-v5-stat-chips b { color: #fff; font-size: 13px; }

.lm-v5-motivation-card { min-height: 170px; display: grid; grid-template-columns: 1fr 86px; align-items: center; gap: 8px; padding: 23px; border-radius: 20px; background: linear-gradient(135deg, #42238e, #3032a7 55%, #124f9b); border: 1px solid rgba(169, 116, 255, .45); box-shadow: var(--v5-glow); overflow: hidden; }
.lm-v5-motivation-card__copy span { color: #d4c6ff; font-size: 9px; font-weight: 900; letter-spacing: 1px; }
.lm-v5-motivation-card__copy strong { display: block; margin: 8px 0 7px; color: #fff; font-size: 19px; line-height: 1.15; }
.lm-v5-motivation-card__copy small { color: #bdc8ef; line-height: 1.45; }
.lm-v5-motivation-card__trophy { font-size: 64px; filter: drop-shadow(0 0 20px rgba(255, 194, 45, .33)); animation: lmV5Float 3s ease-in-out infinite; }

.lm-v5-section-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lm-v5-class-card { min-height: 150px; padding: 17px; display: grid; grid-template-rows: auto 1fr auto auto; gap: 9px; border-radius: 17px; color: #10204f; text-decoration: none; background: linear-gradient(160deg, #fff 0%, #f5f8ff 100%); border: 2px solid rgba(255,255,255,.75); box-shadow: 0 14px 34px rgba(0, 8, 35, .22); transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, filter .25s ease; }
.lm-v5-class-card:hover { transform: translateY(-7px) scale(1.018); filter: saturate(1.03); box-shadow: 0 22px 46px rgba(0, 7, 31, .32), 0 0 25px rgba(91, 95, 255, .16); }
.lm-v5-class-card__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lm-v5-class-card__top > span { min-width: 66px; padding: 6px 11px; border-radius: 999px; color: #fff; font-size: 15px; font-weight: 950; text-align: center; }
.lm-v5-class-card--green .lm-v5-class-card__top > span { background: linear-gradient(135deg,#33c25b,#7bc94b); }
.lm-v5-class-card--blue .lm-v5-class-card__top > span { background: linear-gradient(135deg,#1475ef,#34a4ff); }
.lm-v5-class-card--violet .lm-v5-class-card__top > span { background: linear-gradient(135deg,#7d48e9,#a25af1); }
.lm-v5-class-card__top i { font-style: normal; color: #6a7894; font-size: 9px; font-weight: 800; }
.lm-v5-class-card__metric { display: flex; align-items: center; gap: 10px; }
.lm-v5-class-card__people { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; font-size: 22px; background: #eef4ff; }
.lm-v5-class-card__metric strong, .lm-v5-class-card__metric small { display: block; }
.lm-v5-class-card__metric strong { font-size: 28px; line-height: 1; color: #10204f; }
.lm-v5-class-card__metric small { margin-top: 2px; color: #6c7b98; font-size: 9px; font-weight: 800; }
.lm-v5-class-card__bar { height: 6px; border-radius: 999px; overflow: hidden; background: #e6ebf4; }
.lm-v5-class-card__bar span { display: block; height: 100%; border-radius: inherit; }
.lm-v5-class-card--green .lm-v5-class-card__bar span { background: #2fbf66; }
.lm-v5-class-card--blue .lm-v5-class-card__bar span { background: #2083f5; }
.lm-v5-class-card--violet .lm-v5-class-card__bar span { background: #8b52ea; }
.lm-v5-class-card__link { display: flex; justify-content: space-between; color: #4d5f85; font-size: 9px; font-weight: 850; }
.lm-v5-class-card__link b { color: #345fe9; }

.lm-v5-teacher-main-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: 14px; }
.lm-v5-competency-actions, .lm-v5-plan-panel, .lm-v5-coverage-panel, .lm-v5-actions-panel { padding: 19px; }
.lm-v5-competency-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.lm-v5-competency-action { min-height: 148px; position: relative; padding: 16px 13px 13px; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); transition: transform .25s ease, box-shadow .25s ease, filter .25s ease; }
.lm-v5-competency-action:hover { transform: translateY(-7px) scale(1.025); filter: brightness(1.07) saturate(1.08); }
.lm-v5-competency-action--green { background: linear-gradient(155deg,#0e8c68,#07553f); box-shadow: inset 0 0 25px rgba(54,255,176,.08); }
.lm-v5-competency-action--blue { background: linear-gradient(155deg,#1b6ee8,#123c9a); }
.lm-v5-competency-action--violet { background: linear-gradient(155deg,#7544e8,#42228e); }
.lm-v5-competency-action--orange { background: linear-gradient(155deg,#f58520,#b34b0a); }
.lm-v5-competency-action__icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: #fff; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.15); font-size: 19px; font-weight: 950; box-shadow: inset 0 0 18px rgba(255,255,255,.06); transition: transform .25s ease; }
.lm-v5-competency-action:hover .lm-v5-competency-action__icon { transform: translateY(-4px) rotate(-3deg) scale(1.08); }
.lm-v5-competency-action h3 { margin: 12px 0 6px; color: #fff; font-size: 13px; line-height: 1.15; }
.lm-v5-competency-action p { margin: 0; color: rgba(255,255,255,.72); font-size: 9px; line-height: 1.45; }
.lm-v5-mini-arrow { position: absolute; right: 12px; bottom: 11px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.13); }
.lm-v5-panel-link { min-height: 42px; margin-top: 11px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border-radius: 12px; color: #d7e6ff; background: rgba(17, 57, 116, .55); border: 1px solid rgba(112,157,231,.16); font-size: 10px; font-weight: 800; }
.lm-v5-panel-link span { color: #7796c2; font-size: 9px; }

.lm-v5-plan-panel__body { display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 15px; }
.lm-v5-donut { width: 146px; aspect-ratio: 1; padding: 16px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#7c3aed 0 70%, #1a315f 70% 100%); box-shadow: 0 0 28px rgba(99, 69, 255, .17); }
.lm-v5-donut::before { content: ""; grid-area: 1/1; width: 100%; height: 100%; border-radius: 50%; background: #071c45; border: 1px solid rgba(126,166,234,.16); }
.lm-v5-donut > div { grid-area: 1/1; z-index: 1; text-align: center; }
.lm-v5-donut strong { display: block; color: #fff; font-size: 30px; line-height: 1; }
.lm-v5-donut small { display: block; margin-top: 5px; color: #94afd5; font-size: 9px; }
.lm-v5-donut--complete { background: conic-gradient(#35d96d 0 25%, #2e82ff 25% 50%, #8354f6 50% 75%, #ff8a16 75% 100%); }
.lm-v5-plan-list, .lm-v5-route-status-list { display: grid; gap: 9px; }
.lm-v5-plan-list > div, .lm-v5-route-status-list > div { min-height: 31px; display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid rgba(107, 148, 216, .12); }
.lm-v5-plan-list strong, .lm-v5-route-status-list b { color: #d8e6fb; font-size: 10px; }
.lm-v5-plan-list b, .lm-v5-route-status-list small { color: #85a1ca; font-size: 9px; }
.lm-v5-dot { width: 9px; height: 9px; border-radius: 3px; box-shadow: 0 0 12px currentColor; }
.lm-v5-dot--green { color:#36db77; background:#36db77; }
.lm-v5-dot--blue { color:#2d8dff; background:#2d8dff; }
.lm-v5-dot--violet { color:#9b63ff; background:#9b63ff; }
.lm-v5-dot--orange { color:#ff8a16; background:#ff8a16; }

.lm-v5-teacher-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 14px; }
.lm-v5-bar-chart { display: grid; gap: 14px; padding: 8px 0 2px; }
.lm-v5-bar-chart__row { display: grid; grid-template-columns: 86px 1fr 32px; align-items: center; gap: 10px; color: #a8bddb; font-size: 10px; }
.lm-v5-bar-chart__row > div { height: 10px; border-radius: 999px; background: rgba(83, 116, 173, .25); overflow: hidden; }
.lm-v5-bar-chart__row i { display: block; height: 100%; border-radius: inherit; min-width: 5px; transition: width .6s ease; }
.lm-v5-bar-chart__row i.tone-green { background: linear-gradient(90deg,#26c66d,#73e970); }
.lm-v5-bar-chart__row i.tone-blue { background: linear-gradient(90deg,#287df4,#42c3ff); }
.lm-v5-bar-chart__row i.tone-violet { background: linear-gradient(90deg,#7750f3,#c15fff); }
.lm-v5-bar-chart__row b { color: #fff; font-size: 12px; }
.lm-v5-actions-list { display: grid; gap: 9px; }
.lm-v5-actions-list > a, .lm-v5-actions-list > span { min-height: 65px; display: grid; grid-template-columns: 44px 1fr 20px; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 14px; color: #dce9fb; text-decoration: none; background: rgba(12, 47, 101, .62); border: 1px solid rgba(109, 151, 223, .15); transition: .24s ease; }
.lm-v5-actions-list > a:hover { transform: translateX(5px); border-color: #8768ff; box-shadow: 0 0 22px rgba(112, 77, 255, .18); }
.lm-v5-actions-list > a > span, .lm-v5-actions-list > span > span { width: 42px; height: 42px; display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#6348e2,#226fdb);font-size:20px; }
.lm-v5-actions-list strong, .lm-v5-actions-list small { display:block; }
.lm-v5-actions-list strong { font-size: 11px; }
.lm-v5-actions-list small { margin-top:3px;color:#7f9cc5;font-size:9px; }
.lm-v5-actions-list b { color:#82aaff; font-size:18px; }
.lm-v5-actions-list .is-disabled { opacity:.55; }

.lm-v5-impact-strip { min-height: 76px; display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); align-items: center; padding: 12px 20px; border-radius: 18px; background: linear-gradient(100deg, rgba(69,35,145,.9), rgba(14,58,126,.86) 52%, rgba(75,26,126,.86)); border:1px solid rgba(145,103,255,.27); box-shadow:0 0 28px rgba(98,62,255,.14); }
.lm-v5-impact-strip > div { min-height: 44px; display:flex; align-items:center; gap:9px; padding:0 18px; border-right:1px solid rgba(255,255,255,.1); }
.lm-v5-impact-strip > div:last-child { border-right:0; }
.lm-v5-impact-strip span { font-size:27px; color:#ffd459; }
.lm-v5-impact-strip strong, .lm-v5-impact-strip b { color:#fff; font-size:17px; }
.lm-v5-impact-strip small { color:#b9c9eb; font-size:9px; }

/* ---------- Section dashboard ---------- */
.lm-v5-section-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.lm-v5-summary-tile { min-height:96px; display:grid;grid-template-columns:56px 1fr;align-items:center;gap:11px;padding:15px;border-radius:16px;background:linear-gradient(145deg,rgba(12,48,101,.92),rgba(7,30,70,.94));border:1px solid rgba(111,154,229,.19);box-shadow:0 12px 28px rgba(0,8,34,.21);transition:.24s ease; }
.lm-v5-summary-tile:hover { transform:translateY(-6px); box-shadow:0 18px 38px rgba(0,7,31,.29),0 0 24px rgba(102,79,255,.13); }
.lm-v5-summary-tile > span { width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#fff;font-size:24px;font-weight:900;box-shadow:inset 0 0 18px rgba(255,255,255,.08); }
.lm-v5-summary-tile--green > span{background:linear-gradient(145deg,#20a865,#39d26e)}
.lm-v5-summary-tile--violet > span{background:linear-gradient(145deg,#6e42d8,#a356f6)}
.lm-v5-summary-tile--blue > span{background:linear-gradient(145deg,#1874e8,#2ab7ee)}
.lm-v5-summary-tile--orange > span{background:linear-gradient(145deg,#ef6e1d,#ffab22)}
.lm-v5-summary-tile small,.lm-v5-summary-tile strong,.lm-v5-summary-tile i{display:block}.lm-v5-summary-tile small{color:#8ea8ce;font-size:9px}.lm-v5-summary-tile strong{margin-top:2px;color:#fff;font-size:25px;line-height:1}.lm-v5-summary-tile i{margin-top:5px;color:#77a1e1;font-style:normal;font-size:9px}

.lm-v5-tabs-actions { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 1px;border-bottom:1px solid rgba(94,137,211,.16); }
.lm-v5-tabs { display:flex;gap:8px;align-items:center; }
.lm-v5-tabs > * { min-height:42px;padding:0 15px;display:flex;align-items:center;color:#88a2c8;text-decoration:none;font-size:10px;font-weight:850;border-bottom:2px solid transparent; }
.lm-v5-tabs .is-active { color:#fff;border-color:#a568ff;box-shadow:0 10px 18px -14px #b06cff; }
.lm-v5-tabs .is-disabled { opacity:.48; }
.lm-v5-tabs-actions__buttons { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px; }

.lm-v5-section-main-grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:14px; }
.lm-v5-assigned-missions-panel,.lm-v5-section-progress-panel{padding:18px}.lm-v5-mission-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.lm-v5-mini-mission{border-radius:15px;overflow:hidden;background:#071d47;border:1px solid rgba(99,145,218,.16);transition:.26s ease}.lm-v5-mini-mission:hover,.lm-v5-mini-mission.is-highlighted{transform:translateY(-6px) scale(1.015);border-color:#946dff;box-shadow:0 0 26px rgba(123,75,255,.21),0 18px 38px rgba(0,7,30,.28)}.lm-v5-mini-mission__image{min-height:125px;padding:9px;background-size:cover;background-position:center;display:flex;align-items:flex-start}.lm-v5-mini-mission__image span{padding:5px 8px;border-radius:999px;background:rgba(242,246,255,.94);color:#4d40aa;font-size:8px;font-weight:900;box-shadow:0 6px 16px rgba(0,0,0,.2)}.lm-v5-mini-mission__body{padding:13px}.lm-v5-mini-mission__body small{color:#7fa4d8;font-size:8px}.lm-v5-mini-mission__body h3{margin:4px 0 6px;color:#fff;font-size:14px}.lm-v5-mini-mission__body p{min-height:48px;margin:0;color:#88a0c4;font-size:9px;line-height:1.45}.lm-v5-mini-mission__body>div{display:flex;justify-content:space-between;gap:6px;margin-top:9px}.lm-v5-mini-mission__body b{color:#b18cff;font-size:9px}.lm-v5-mini-mission__body i{color:#56dc92;font-size:8px;font-style:normal}.lm-v5-section-progress-panel__body{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px}.lm-v5-empty-state{min-height:190px;display:grid;place-items:center;align-content:center;text-align:center;padding:25px;color:#8fa8ce}.lm-v5-empty-state>span{font-size:33px;color:#8b66ff}.lm-v5-empty-state strong{margin-top:6px;color:#e8f0ff}.lm-v5-empty-state p{max-width:420px;margin:7px 0 0;font-size:10px;line-height:1.5}
.lm-v5-section-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.lm-v5-tool-card{min-height:112px;display:grid;grid-template-columns:56px 1fr 25px;align-items:center;gap:11px;padding:15px;border-radius:17px;text-decoration:none;color:#fff;border:1px solid rgba(111,155,229,.19);background:linear-gradient(145deg,rgba(12,49,103,.94),rgba(7,31,73,.96));transition:.25s ease}.lm-v5-tool-card:hover:not(.is-disabled){transform:translateY(-7px) scale(1.012);border-color:#9b72ff;box-shadow:var(--v5-glow)}.lm-v5-tool-card>span{width:53px;height:53px;display:grid;place-items:center;border-radius:16px;font-size:24px}.lm-v5-tool-card--students>span{background:linear-gradient(145deg,#2878eb,#40c5ff)}.lm-v5-tool-card--missions>span{background:linear-gradient(145deg,#7b45df,#b45aff)}.lm-v5-tool-card--results>span{background:linear-gradient(145deg,#f3741e,#ffb12c)}.lm-v5-tool-card small{color:#7897c2;font-size:8px;letter-spacing:.7px}.lm-v5-tool-card h3{margin:3px 0 4px;font-size:15px}.lm-v5-tool-card p{margin:0;color:#8da5c8;font-size:9px;line-height:1.4}.lm-v5-tool-card>b{color:#8fb7f3;font-size:22px}.lm-v5-tool-card.is-disabled{opacity:.55}

/* ---------- Student list ---------- */
.lm-v5-students-heading,.lm-v5-activities-heading{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 27px;border-radius:20px;background:radial-gradient(circle at 90% 20%,rgba(108,73,255,.25),transparent 25%),linear-gradient(115deg,#0b2d6c,#0a438e 50%,#0a2b68);border:1px solid rgba(116,155,224,.19);box-shadow:var(--v5-shadow)}.lm-v5-students-heading h2,.lm-v5-activities-heading h2{max-width:800px;margin:5px 0 6px;color:#fff;font-size:28px;letter-spacing:-.8px}.lm-v5-students-heading p,.lm-v5-activities-heading p{margin:0;color:#b1c6e4;font-size:11px}.lm-v5-students-heading__actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.lm-v5-student-management-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px}.lm-v5-student-table-panel{padding:16px}.lm-v5-student-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:9px;margin-bottom:12px}.lm-v5-search{min-height:43px;display:grid;grid-template-columns:35px 1fr;align-items:center;border-radius:12px;background:rgba(5,25,61,.78);border:1px solid rgba(111,154,230,.18);overflow:hidden}.lm-v5-search>span{text-align:center;color:#81a9e3;font-size:20px}.lm-v5-search input{height:42px;border:0;outline:0;background:transparent;color:#eef5ff;padding:0 12px 0 2px;font-size:10px}.lm-v5-search input::placeholder{color:#617da9}.lm-v5-filter-chip{min-height:43px;padding:0 13px;display:flex;align-items:center;border-radius:12px;color:#9fb7db;background:rgba(11,42,90,.69);border:1px solid rgba(108,152,226,.16);font-size:9px;font-weight:800}.lm-v5-student-table-head,.lm-v5-student-row{display:grid;grid-template-columns:54px minmax(280px,1.4fr) minmax(150px,.75fr) 95px 82px;align-items:center;gap:9px}.lm-v5-student-table-head{padding:9px 11px;color:#6f8db9;font-size:8px;text-transform:uppercase;letter-spacing:.6px}.lm-v5-student-table-body{display:grid;gap:6px}.lm-v5-student-row{min-height:67px;padding:8px 11px;border-radius:13px;background:linear-gradient(90deg,rgba(15,51,106,.74),rgba(10,37,83,.64));border:1px solid rgba(99,143,215,.13);transition:.24s ease}.lm-v5-student-row:hover{transform:translateX(5px) scale(1.003);background:linear-gradient(90deg,rgba(48,45,131,.78),rgba(18,47,99,.72));border-color:#8d6aff;box-shadow:0 0 25px rgba(120,77,255,.16)}.lm-v5-student-row__order{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;color:#a9c4e9;background:#0b306c;border:1px solid rgba(113,161,238,.18);font-size:10px;font-weight:900}.lm-v5-student-row__identity{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:9px}.lm-v5-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#7d4cf2,#2788ec);font-size:11px;font-weight:950;box-shadow:0 0 18px rgba(109,76,244,.18)}.lm-v5-student-row__identity strong,.lm-v5-student-row__identity small{display:block}.lm-v5-student-row__identity strong{font-size:10px;color:#fff}.lm-v5-student-row__identity small{margin-top:3px;color:#7291bc;font-size:8px}.lm-v5-student-code small,.lm-v5-student-code strong{display:block}.lm-v5-student-code small{color:#6f8cb6;font-size:7px}.lm-v5-student-code strong{margin-top:2px;color:#c7d8f0;font-size:9px}.lm-v5-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 9px;border-radius:999px;color:#67e7a1;background:rgba(33,152,94,.16);border:1px solid rgba(66,220,140,.17);font-size:8px;font-weight:850}.lm-v5-row-action{position:relative;width:43px;height:35px;display:grid;place-items:center;justify-self:end;border-radius:11px;color:#d7c8ff;background:rgba(92,61,184,.31);border:1px solid rgba(151,107,255,.35);text-decoration:none;font-weight:900;letter-spacing:1px;transition:.22s ease}.lm-v5-row-action span{display:none}.lm-v5-row-action:hover{transform:scale(1.08);box-shadow:0 0 20px rgba(137,86,255,.3)}.lm-v5-table-footer{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 0;color:#6c88b1;font-size:8px}.lm-v5-students-summary{display:grid;gap:12px;align-content:start}.lm-v5-summary-card,.lm-v5-tip-card{padding:17px}.lm-v5-summary-card h2{margin:5px 0 14px;color:#fff;font-size:24px}.lm-v5-summary-card__metric{display:flex;align-items:center;gap:12px}.lm-v5-summary-card__metric>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#20a462,#38d872);font-size:24px}.lm-v5-summary-card__metric small,.lm-v5-summary-card__metric strong{display:block}.lm-v5-summary-card__metric small{color:#8ca7cb;font-size:9px}.lm-v5-summary-card__metric strong{margin-top:2px;color:#fff;font-size:30px}.lm-v5-summary-progress{height:7px;margin:13px 0 10px;border-radius:999px;background:rgba(72,105,164,.27);overflow:hidden}.lm-v5-summary-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd16f,#22e89a)}.lm-v5-summary-card p{margin:0;color:#718cb6;font-size:9px}.lm-v5-tip-card{display:grid;grid-template-columns:38px 1fr;gap:10px}.lm-v5-tip-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:#ffd85b;background:rgba(255,188,48,.12)}.lm-v5-tip-card strong{color:#fff;font-size:10px}.lm-v5-tip-card p{margin:4px 0 0;color:#829dc5;font-size:9px;line-height:1.45}

/* ---------- Import ---------- */
.lm-v5-import-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:17px;overflow:hidden;background:rgba(7,29,69,.8);border:1px solid rgba(109,153,227,.18)}.lm-v5-import-step{min-height:66px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:10px 14px;color:#718eb8;border-right:1px solid rgba(97,140,214,.14);transition:.24s ease}.lm-v5-import-step:last-child{border-right:0}.lm-v5-import-step>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(118,160,232,.25);font-size:10px;font-weight:900}.lm-v5-import-step strong,.lm-v5-import-step small{display:block}.lm-v5-import-step strong{font-size:9px}.lm-v5-import-step small{margin-top:2px;font-size:7px}.lm-v5-import-step.is-active{color:#e6f0ff;background:linear-gradient(100deg,rgba(111,67,239,.45),rgba(21,85,176,.24))}.lm-v5-import-step.is-active>span{color:#fff;background:linear-gradient(145deg,#764ee9,#4c78f0);border-color:#b693ff;box-shadow:0 0 18px rgba(125,82,255,.29)}
.lm-v5-import-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.lm-v5-import-main{padding:17px}.lm-v5-dropzone{min-height:250px;position:relative;display:grid;place-items:center;align-content:center;text-align:center;padding:25px;border-radius:18px;cursor:pointer;background:radial-gradient(circle at 50% 45%,rgba(83,69,240,.18),transparent 31%),linear-gradient(145deg,rgba(4,24,62,.92),rgba(11,38,91,.84));border:1px dashed rgba(145,107,255,.72);box-shadow:inset 0 0 40px rgba(92,61,219,.08);transition:.28s ease}.lm-v5-dropzone:hover,.lm-v5-dropzone.has-file{transform:scale(1.008);border-color:#c195ff;box-shadow:inset 0 0 55px rgba(105,70,255,.13),0 0 32px rgba(112,75,255,.19)}.lm-v5-dropzone input{position:absolute;opacity:0;pointer-events:none}.lm-v5-excel-icon{width:68px;height:74px;display:grid;place-items:center;margin-bottom:10px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#2ab56b,#0a7f4b);border:2px solid #75e7ad;font-size:32px;font-weight:950;box-shadow:0 0 25px rgba(39,213,121,.24)}.lm-v5-dropzone>strong{color:#fff;font-size:18px}.lm-v5-dropzone>p{max-width:620px;margin:7px auto 14px;color:#8fa8cd;font-size:9px;line-height:1.55}.lm-v5-file-name{margin-top:10px;color:#5be398;font-size:9px}.lm-v5-import-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:18px 0 10px}.lm-v5-import-preview-head h2{margin:3px 0 0;color:#fff;font-size:18px}.lm-v5-validation-pill{min-height:29px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;font-size:8px;font-weight:850}.lm-v5-validation-pill.is-ok{color:#6ceca8;background:rgba(27,148,90,.15);border:1px solid rgba(65,224,140,.2)}.lm-v5-validation-pill.is-error{color:#ff9b9b;background:rgba(180,47,56,.16);border:1px solid rgba(255,101,101,.22)}.lm-v5-import-table-wrap{border-radius:14px;overflow:hidden;border:1px solid rgba(101,145,219,.15)}.lm-v5-import-table{width:100%;border-collapse:collapse;color:#b9cdea;font-size:8px}.lm-v5-import-table th{padding:9px 8px;text-align:left;color:#7694be;background:rgba(5,25,61,.96);font-size:7px;text-transform:uppercase}.lm-v5-import-table td{padding:9px 8px;border-top:1px solid rgba(91,131,197,.11);background:rgba(10,38,82,.58)}.lm-v5-import-table tr:hover td{background:rgba(48,43,126,.45)}.lm-v5-import-table strong{color:#e6effe}.lm-v5-section-pill{display:inline-flex;padding:4px 7px;border-radius:999px;color:#cbb7ff;background:rgba(110,69,215,.21);font-weight:850}.lm-v5-import-progress{height:8px;margin-top:12px;border-radius:999px;background:rgba(66,99,155,.27);overflow:hidden}.lm-v5-import-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7d4eff,#cf5dff)}.lm-v5-import-result{display:flex;gap:10px;margin-top:11px;font-size:9px}.lm-v5-import-result .is-ok{color:#60e99f}.lm-v5-import-result .is-error{color:#ff8e8e}.lm-v5-import-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:14px}.lm-v5-import-primary{min-width:240px}.lm-v5-import-side{display:grid;gap:12px;align-content:start}.lm-v5-validation-card,.lm-v5-map-columns-card{padding:17px}.lm-v5-validation-card .lm-v5-donut{width:128px;margin:13px auto}.lm-v5-validation-list{display:grid;gap:7px}.lm-v5-validation-list span{min-height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-radius:10px;background:rgba(12,48,100,.6);color:#8ba7cf;font-size:9px}.lm-v5-validation-list strong{color:#fff}.lm-v5-validation-card p{margin:12px 0 0;color:#7591ba;font-size:8px;line-height:1.5}.lm-v5-map-columns-card{display:grid;gap:8px}.lm-v5-map-columns-card>div{min-height:34px;display:grid;grid-template-columns:25px 1fr;align-items:center;padding:0 9px;border-radius:10px;background:rgba(11,43,90,.58);color:#b8cbe6;font-size:9px}.lm-v5-map-columns-card>div span{color:#52e49a}.lm-v5-matix-help{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;padding:15px;border-radius:17px;background:linear-gradient(145deg,#4f2796,#252f9c);border:1px solid rgba(177,111,255,.53);box-shadow:0 0 28px rgba(117,72,255,.16)}.lm-v5-matix-help__icon{width:60px;height:60px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.12);font-size:32px}.lm-v5-matix-help strong{color:#fff;font-size:10px}.lm-v5-matix-help p{margin:4px 0 0;color:#c0cbea;font-size:8px;line-height:1.45}

/* ---------- Activities ---------- */
.lm-v5-activities-heading__symbol{width:82px;height:82px;display:grid;place-items:center;border-radius:26px;color:#fff;background:linear-gradient(145deg,#7c4eea,#2d78eb);border:1px solid rgba(194,164,255,.38);font-size:42px;box-shadow:0 0 33px rgba(108,71,255,.28);animation:lmV5Float 3s ease-in-out infinite}.lm-v5-competency-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lm-v5-competency-filter{min-height:69px;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:9px;padding:10px 12px;border-radius:15px;color:#fff;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 26px rgba(0,7,30,.2);transition:.24s ease}.lm-v5-competency-filter:hover{transform:translateY(-5px) scale(1.012)}.lm-v5-competency-filter>b{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.13);font-size:15px}.lm-v5-competency-filter strong,.lm-v5-competency-filter small{display:block}.lm-v5-competency-filter strong{font-size:10px}.lm-v5-competency-filter small{margin-top:3px;color:rgba(255,255,255,.69);font-size:8px}.lm-v5-competency-filter--green{background:linear-gradient(145deg,#0c8f66,#07533e)}.lm-v5-competency-filter--blue{background:linear-gradient(145deg,#176ddb,#103c91)}.lm-v5-competency-filter--violet{background:linear-gradient(145deg,#7243d8,#3f2487)}.lm-v5-competency-filter--orange{background:linear-gradient(145deg,#f47a18,#ad480b)}.lm-v5-catalog-panel{padding:18px}.lm-v5-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.lm-v5-catalog-card{overflow:hidden;border-radius:16px;background:linear-gradient(145deg,#0a2d68,#071b44);border:1px solid rgba(104,148,222,.17);transition:.27s ease;box-shadow:0 14px 32px rgba(0,7,30,.22)}.lm-v5-catalog-card:hover{transform:translateY(-8px) scale(1.012);border-color:#966cff;box-shadow:0 0 28px rgba(128,78,255,.2),0 22px 45px rgba(0,7,30,.29)}.lm-v5-catalog-card.is-assigned{border-color:rgba(78,218,147,.32)}.lm-v5-catalog-card__image{min-height:155px;padding:10px;display:flex;align-items:flex-start;justify-content:space-between;background-size:cover;background-position:center;transition:transform .35s ease,filter .35s ease}.lm-v5-catalog-card:hover .lm-v5-catalog-card__image{transform:scale(1.025);filter:saturate(1.09) brightness(1.04)}.lm-v5-catalog-card__image span,.lm-v5-catalog-card__image i{padding:5px 8px;border-radius:999px;font-size:8px;font-style:normal;font-weight:900;backdrop-filter:blur(8px)}.lm-v5-catalog-card__image span{color:#3d3199;background:rgba(246,245,255,.93)}.lm-v5-catalog-card__image i{color:#d9e7fb;background:rgba(4,21,52,.72);border:1px solid rgba(255,255,255,.13)}.lm-v5-catalog-card__body{padding:14px}.lm-v5-catalog-card__badges{display:flex;align-items:center;justify-content:space-between;gap:8px}.lm-v5-catalog-card__badges span{color:#80a4d8;font-size:8px}.lm-v5-catalog-card__badges b{color:#c39cff;font-size:8px}.lm-v5-catalog-card h3{margin:7px 0 6px;color:#fff;font-size:15px;line-height:1.2}.lm-v5-catalog-card p{min-height:53px;margin:0;color:#87a0c4;font-size:9px;line-height:1.45}.lm-v5-catalog-card__meta{display:flex;justify-content:space-between;gap:8px;margin:10px 0;color:#7594bf;font-size:8px}

/* ---------- Student dashboard ---------- */
.lm-v5-student-top-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.5fr);gap:14px}.lm-v5-student-progress-card{padding:18px}.lm-v5-student-progress-card__body{display:grid;grid-template-columns:100px 136px 1fr;gap:13px;align-items:center}.lm-v5-xp-block>span{width:42px;height:42px;display:grid;place-items:center;margin-bottom:9px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#2d8bf5,#674ef0);box-shadow:0 0 18px rgba(68,103,255,.22)}.lm-v5-xp-block small,.lm-v5-xp-block strong,.lm-v5-xp-block i{display:block}.lm-v5-xp-block small{color:#7797c5;font-size:8px}.lm-v5-xp-block strong{margin-top:3px;color:#fff;font-size:29px}.lm-v5-xp-block i{color:#64df91;font-style:normal;font-size:8px}.lm-v5-progress-mini-stats{display:grid;gap:12px}.lm-v5-progress-mini-stats>div{padding-bottom:9px;border-bottom:1px solid rgba(98,140,211,.13)}.lm-v5-progress-mini-stats small,.lm-v5-progress-mini-stats strong,.lm-v5-progress-mini-stats span{display:block}.lm-v5-progress-mini-stats small{color:#7591ba;font-size:8px}.lm-v5-progress-mini-stats strong{margin-top:2px;color:#fff;font-size:21px}.lm-v5-progress-mini-stats span{color:#7e9bc4;font-size:8px}
.lm-v5-student-map-card{min-height:260px;position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(113,159,234,.23);box-shadow:var(--v5-shadow);background:#09235a}.lm-v5-student-map-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s ease}.lm-v5-student-map-card:hover img{transform:scale(1.035);filter:saturate(1.06) brightness(1.03)}.lm-v5-student-map-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,48,.84) 0 32%,rgba(3,16,48,.18) 62%,rgba(3,16,48,.05))}.lm-v5-student-map-card__overlay{position:absolute;z-index:2;left:22px;top:24px;max-width:280px}.lm-v5-student-map-card__overlay h2{margin:5px 0 7px;color:#fff;font-size:23px;line-height:1.08}.lm-v5-student-map-card__overlay p{margin:0;color:#b0c5e4;font-size:9px;line-height:1.45}.lm-v5-map-pulse{position:absolute;z-index:3;width:16px;height:16px;border-radius:50%;background:#7e5cff;box-shadow:0 0 0 0 rgba(126,92,255,.55);animation:lmV5Pulse 2s infinite}.lm-v5-map-pulse--one{left:55%;top:42%}.lm-v5-map-pulse--two{left:73%;top:54%;animation-delay:.8s}
.lm-v5-competency-progress-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lm-v5-competency-progress{min-height:78px;display:grid;grid-template-columns:44px 1fr 38px;align-items:center;gap:10px;padding:11px 13px;border-radius:15px;background:linear-gradient(145deg,rgba(10,40,88,.94),rgba(7,28,66,.95));border:1px solid rgba(106,150,224,.17);transition:.24s ease}.lm-v5-competency-progress:hover{transform:translateY(-5px);border-color:rgba(137,102,255,.53);box-shadow:0 0 22px rgba(118,78,255,.13)}.lm-v5-competency-progress__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:900}.lm-v5-competency-progress--green .lm-v5-competency-progress__icon{background:#159a5f}.lm-v5-competency-progress--blue .lm-v5-competency-progress__icon{background:#1c78e9}.lm-v5-competency-progress--violet .lm-v5-competency-progress__icon{background:#744bd9}.lm-v5-competency-progress--orange .lm-v5-competency-progress__icon{background:#dc6b16}.lm-v5-competency-progress strong{color:#dce8fa;font-size:9px}.lm-v5-competency-progress small{color:#6f8db7;font-size:7px}.lm-v5-competency-progress>b{color:#fff;font-size:13px}.lm-v5-progress-line{height:5px;margin:5px 0;border-radius:999px;background:rgba(73,107,166,.28);overflow:hidden}.lm-v5-progress-line i{display:block;height:100%;border-radius:inherit}.lm-v5-competency-progress--green i{background:#51d36b}.lm-v5-competency-progress--blue i{background:#398cff}.lm-v5-competency-progress--violet i{background:#a05eff}.lm-v5-competency-progress--orange i{background:#ff8a1d}
.lm-v5-student-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) 330px;gap:14px}.lm-v5-active-missions{padding:18px}.lm-v5-student-mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}.lm-v5-student-mission-card{overflow:hidden;border-radius:16px;background:linear-gradient(145deg,#0a2d68,#071a41);border:1px solid rgba(100,145,219,.18);transition:.27s ease}.lm-v5-student-mission-card:hover,.lm-v5-student-mission-card.is-featured{transform:translateY(-8px) scale(1.012);border-color:#9a6dff;box-shadow:0 0 28px rgba(133,78,255,.23),0 20px 40px rgba(0,7,30,.29)}.lm-v5-student-mission-card__image{min-height:150px;padding:10px;display:flex;align-items:flex-start;justify-content:space-between;background-size:cover;background-position:center;transition:transform .4s ease}.lm-v5-student-mission-card:hover .lm-v5-student-mission-card__image{transform:scale(1.025)}.lm-v5-student-mission-card__image span,.lm-v5-student-mission-card__image i{padding:5px 8px;border-radius:999px;font-size:8px;font-style:normal;font-weight:900;backdrop-filter:blur(8px)}.lm-v5-student-mission-card__image span{color:#3e2e9e;background:rgba(248,247,255,.94)}.lm-v5-student-mission-card__image i{color:#dbeaff;background:rgba(3,18,48,.72);border:1px solid rgba(255,255,255,.13)}.lm-v5-student-mission-card__body{padding:14px}.lm-v5-student-mission-card__body>small{color:#7da1d2;font-size:8px}.lm-v5-student-mission-card h3{margin:5px 0 6px;color:#fff;font-size:15px;line-height:1.17}.lm-v5-student-mission-card p{min-height:50px;margin:0;color:#849fc5;font-size:9px;line-height:1.45}.lm-v5-student-mission-card__meta{display:flex;justify-content:space-between;gap:8px;margin:10px 0;color:#96b2da;font-size:8px}.lm-v5-complete-chip{margin:0 0 9px;padding:7px 8px;border-radius:9px;color:#67e29d;background:rgba(29,146,89,.13);font-size:8px}.lm-v5-student-side-column{display:grid;gap:12px;align-content:start}.lm-v5-achievements-card{padding:16px}.lm-v5-achievement-list{display:grid;gap:8px}.lm-v5-achievement-list>div{min-height:57px;display:grid;grid-template-columns:39px 1fr 24px;align-items:center;gap:8px;padding:8px 9px;border-radius:12px;background:rgba(11,43,91,.62);border:1px solid rgba(101,146,220,.12)}.lm-v5-achievement-list>div>span{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:rgba(91,67,188,.31);font-size:19px}.lm-v5-achievement-list strong,.lm-v5-achievement-list small{display:block}.lm-v5-achievement-list strong{color:#dbe7f8;font-size:9px}.lm-v5-achievement-list small{margin-top:2px;color:#6d8ab5;font-size:7px}.lm-v5-achievement-list b{color:#6f8eb9}.lm-v5-achievement-list .is-done{border-color:rgba(55,215,129,.25)}.lm-v5-achievement-list .is-done b{color:#5ce49d}.lm-v5-student-institution{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:12px;padding:14px}.lm-v5-student-institution img{width:66px;height:66px;object-fit:contain}.lm-v5-student-institution h3{margin:4px 0 2px;color:#fff;font-size:16px}.lm-v5-student-institution p{margin:0;color:#9cb0cf;font-size:9px}.lm-v5-student-institution small{color:#7190ba;font-size:8px}.lm-v5-matix-chat{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:10px;min-height:105px;padding:11px;border-radius:17px;background:linear-gradient(145deg,#4d2891,#242e90);border:1px solid rgba(178,112,255,.48);box-shadow:0 0 26px rgba(113,69,255,.15)}.lm-v5-matix-chat img{width:82px;height:82px;object-fit:cover;object-position:50% 30%;border-radius:15px;border:1px solid rgba(255,255,255,.15)}.lm-v5-matix-chat strong{color:#fff;font-size:10px}.lm-v5-matix-chat p{margin:4px 0 0;color:#c0cbea;font-size:8px;line-height:1.45}

/* ---------- Mission page ---------- */
.lm-mission-page--v5{min-height:100vh;color:#eef6ff;background:radial-gradient(circle at 86% 0%,rgba(98,47,215,.22),transparent 29%),linear-gradient(155deg,#041434,#062154 52%,#071335);}
.lm-v5-mission-shell{width:min(calc(100% - 34px),1540px);margin:0 auto;padding-bottom:34px}.lm-v5-mission-topbar{min-height:74px;display:grid;grid-template-columns:260px 1fr 210px;align-items:center;gap:16px;border-bottom:1px solid rgba(102,148,224,.16)}.lm-v5-mission-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.lm-v5-mission-brand img{width:41px;height:41px}.lm-v5-mission-brand strong,.lm-v5-mission-brand small{display:block}.lm-v5-mission-brand strong{font-size:20px}.lm-v5-mission-brand small{margin-top:2px;color:#819bc1;font-size:8px}.lm-v5-mission-topbar nav{display:flex;justify-content:center;gap:28px}.lm-v5-mission-topbar nav a,.lm-v5-mission-topbar nav span{position:relative;padding:25px 0;color:#a8bddb;text-decoration:none;font-size:10px;font-weight:800}.lm-v5-mission-topbar nav .is-active{color:#fff}.lm-v5-mission-topbar nav .is-active::after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;border-radius:999px;background:#ff9a20;box-shadow:0 0 12px #ff9a20}.lm-v5-mission-user{display:flex;justify-content:flex-end;align-items:center;gap:8px;color:#d9e7fb;font-size:10px}.lm-v5-mission-user>span{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#2c8ef1,#7048ed)}.lm-v5-mission-breadcrumbs{min-height:54px;display:flex;align-items:center;gap:8px;color:#718fb9;font-size:9px}.lm-v5-mission-breadcrumbs a{color:#8faee0;text-decoration:none}.lm-v5-mission-breadcrumbs strong{color:#c8d8ef}.lm-v5-mission-heading{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(430px,.8fr);align-items:center;gap:20px;padding:13px 0 18px}.lm-v5-mission-emblem{width:84px;height:84px;display:grid;place-items:center;border-radius:27px;color:#fff;font-size:40px;border:2px solid rgba(255,255,255,.18);box-shadow:0 0 30px currentColor}.lm-v5-mission-emblem--green{background:linear-gradient(145deg,#0e9b67,#05523c);color:#58e6a3}.lm-v5-mission-emblem--gold{background:linear-gradient(145deg,#f3a91e,#a86608);color:#ffd86a}.lm-v5-mission-emblem--violet{background:linear-gradient(145deg,#7e4ee7,#45228d);color:#b987ff}.lm-v5-mission-emblem--cyan{background:linear-gradient(145deg,#0ea7b9,#075f8e);color:#51e8ff}.lm-v5-mission-emblem--blue{background:linear-gradient(145deg,#2479eb,#133f9e);color:#78bcff}.lm-v5-mission-emblem--orange{background:linear-gradient(145deg,#ef6b19,#a83d09);color:#ffb246}.lm-v5-mission-emblem--pink{background:linear-gradient(145deg,#d5479c,#7134b8);color:#ff8ed0}.lm-v5-mission-emblem--teal{background:linear-gradient(145deg,#0aa891,#086d74);color:#5effdc}.lm-v5-mission-heading__copy h1{margin:5px 0 6px;color:#fff;font-size:clamp(30px,3.6vw,48px);line-height:1.03;letter-spacing:-1.5px}.lm-v5-mission-heading__copy p{max-width:700px;margin:0;color:#a5bbda;font-size:11px;line-height:1.55}.lm-v5-mission-meta-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lm-v5-mission-meta-cards article{min-height:71px;padding:12px;border-radius:14px;background:linear-gradient(145deg,rgba(13,48,101,.86),rgba(8,31,73,.9));border:1px solid rgba(107,151,224,.18)}.lm-v5-mission-meta-cards small,.lm-v5-mission-meta-cards strong{display:block}.lm-v5-mission-meta-cards small{color:#7795bf;font-size:7px}.lm-v5-mission-meta-cards strong{margin-top:4px;color:#f3f7ff;font-size:10px;line-height:1.25}.lm-v5-mission-reward-strip{min-height:58px;display:grid;grid-template-columns:180px 1fr 200px;align-items:center;gap:15px;padding:10px 16px;border-radius:15px;background:linear-gradient(145deg,rgba(10,39,86,.94),rgba(6,26,63,.94));border:1px solid rgba(109,153,228,.18)}.lm-v5-mission-reward-strip>div:first-child{display:flex;align-items:center;gap:8px;color:#b687ff}.lm-v5-mission-reward-strip>div:first-child span{font-size:22px}.lm-v5-mission-reward-strip>div:first-child strong{font-size:14px}.lm-v5-mission-progress-track{display:grid;grid-template-columns:120px 1fr 42px;align-items:center;gap:9px;color:#8ca6cb;font-size:8px}.lm-v5-mission-progress-track>i{height:8px;border-radius:999px;background:rgba(71,104,161,.27);overflow:hidden}.lm-v5-mission-progress-track b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7952ff,#c75bff)}.lm-v5-mission-progress-track>strong{color:#fff}.lm-v5-mission-reward-strip>div:last-child{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:6px}.lm-v5-mission-reward-strip>div:last-child>span{color:#ffc441;font-size:20px}.lm-v5-mission-reward-strip>div:last-child small{color:#7894bd;font-size:7px}.lm-v5-mission-reward-strip>div:last-child strong{color:#fff;font-size:10px}.lm-v5-mission-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;margin-top:14px}.lm-v5-mission-main{display:grid;gap:13px}.lm-v5-mission-visual-card{overflow:hidden;border-radius:17px;background:#09214f;border:1px solid rgba(107,151,224,.17);box-shadow:var(--v5-shadow)}.lm-v5-mission-visual-card__image{min-height:315px;background-size:cover;background-position:center;transition:transform .45s ease,filter .35s ease}.lm-v5-mission-visual-card:hover .lm-v5-mission-visual-card__image{transform:scale(1.02);filter:saturate(1.07) brightness(1.03)}.lm-v5-mission-visual-card__caption{min-height:96px;display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;padding:12px 17px;background:linear-gradient(145deg,#0a2d69,#071b44)}.lm-v5-mission-visual-card__caption img{width:66px;height:66px;object-fit:cover;object-position:50% 30%;border-radius:14px;border:1px solid rgba(255,255,255,.15)}.lm-v5-mission-visual-card__caption strong{color:#fff;font-size:14px}.lm-v5-mission-visual-card__caption p{margin:4px 0 0;color:#91a9cc;font-size:9px;line-height:1.45}.lm-v5-mission-side{display:grid;gap:11px;align-content:start}.lm-v5-mission-side>.lm-v5-panel{padding:15px}.lm-v5-reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.lm-v5-reward-grid>div{min-height:93px;display:grid;place-items:center;text-align:center;padding:10px;border-radius:13px;background:rgba(13,48,99,.64);border:1px solid rgba(103,148,221,.13)}.lm-v5-reward-grid span{font-size:25px}.lm-v5-reward-grid strong{display:block;color:#fff;font-size:15px}.lm-v5-reward-grid small{color:#7591b9;font-size:8px}.lm-v5-objective-card,.lm-v5-hints-card{display:grid;grid-template-columns:42px 1fr;gap:10px}.lm-v5-objective-card>span,.lm-v5-hints-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(87,62,187,.26);font-size:20px}.lm-v5-objective-card strong,.lm-v5-hints-card strong{color:#fff;font-size:10px}.lm-v5-objective-card p,.lm-v5-hints-card p{margin:4px 0 0;color:#829ec5;font-size:8px;line-height:1.45}.lm-v5-preparation-card{min-height:105px;display:grid;grid-template-columns:48px 1fr 140px;align-items:center;gap:12px;padding:15px}.lm-v5-preparation-card>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:rgba(104,76,214,.26);font-size:22px}.lm-v5-preparation-card strong{color:#fff}.lm-v5-preparation-card p{margin:4px 0 0;color:#839fc7;font-size:9px}.lm-v5-loading-card{margin-top:30px;padding:25px;text-align:center}

/* Quiz inside the V5 mission page */
.lm-mission-page--v5 .lm-quiz,.lm-mission-page--v5 .lm-quiz__result{padding:18px;background:linear-gradient(145deg,#0a2e6a,#071b45);border:1px solid rgba(111,155,229,.18);color:#e9f1ff;box-shadow:var(--v5-shadow)}.lm-mission-page--v5 .lm-quiz__head h2{color:#fff}.lm-mission-page--v5 .lm-kicker{color:#b694ff}.lm-mission-page--v5 .lm-chart{min-height:220px;padding:20px;border-radius:15px;background:rgba(4,22,58,.73);border:1px solid rgba(103,147,220,.15)}.lm-mission-page--v5 .lm-chart__bar{background:linear-gradient(180deg,#a65dff,#2e83ff);box-shadow:0 0 14px rgba(113,76,255,.24)}.lm-mission-page--v5 .lm-chart__item strong,.lm-mission-page--v5 .lm-chart__item div{color:#d9e7fa}.lm-mission-page--v5 .lm-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.lm-mission-page--v5 .lm-option{min-height:52px;border-radius:12px;color:#dbe7f9;background:rgba(13,48,101,.68);border:1px solid rgba(107,151,224,.2);transition:.22s ease}.lm-mission-page--v5 .lm-option:hover,.lm-mission-page--v5 .lm-option.is-selected{transform:translateY(-3px);color:#fff;border-color:#a174ff;background:linear-gradient(145deg,rgba(105,64,224,.75),rgba(32,83,176,.75));box-shadow:0 0 20px rgba(125,76,255,.18)}.lm-mission-page--v5 .lm-score-ring{color:#fff;background-color:#0b2a60!important}

/* ---------- Legacy forms/details re-skinned into V5 ---------- */
.lm-shell--v5 .lm-content{width:min(calc(100% - 44px),1460px);margin:0 auto;padding:24px 0 34px}.lm-shell--v5 .lm-card,.lm-shell--v5 .lm-section-card,.lm-shell--v5 .lm-create-student-card-v3,.lm-shell--v5 .lm-edit-panel-v3,.lm-shell--v5 .lm-password-panel-v3,.lm-shell--v5 .lm-student-actions-v3{color:#dce8fa;background:linear-gradient(145deg,rgba(10,39,87,.96),rgba(6,27,65,.96));border-color:rgba(111,154,229,.18);box-shadow:var(--v5-shadow)}.lm-shell--v5 .lm-section-card h2,.lm-shell--v5 .lm-section-card h3,.lm-shell--v5 .lm-student-detail-hero-v3 h2,.lm-shell--v5 .lm-create-student-card-v3 h2,.lm-shell--v5 .lm-student-actions-v3 h3{color:#fff}.lm-shell--v5 .lm-section-card p,.lm-shell--v5 .lm-student-detail-hero-v3 p,.lm-shell--v5 .lm-create-student-card-v3 p{color:#88a1c5}.lm-shell--v5 .lm-student-detail-hero-v3,.lm-shell--v5 .lm-create-student-hero-v3{border-radius:20px;background:radial-gradient(circle at 88% 25%,rgba(106,71,255,.23),transparent 26%),linear-gradient(115deg,#0c2d6d,#0a438f 50%,#092963);border:1px solid rgba(119,158,225,.19);box-shadow:var(--v5-shadow)}.lm-shell--v5 .lm-student-detail-hero-v3__avatar{background:linear-gradient(145deg,#7a50ed,#2b87ea);box-shadow:0 0 25px rgba(113,77,255,.24)}.lm-shell--v5 .lm-metric{background:linear-gradient(145deg,rgba(12,48,101,.94),rgba(7,30,70,.95));border-color:rgba(111,154,229,.18)}.lm-shell--v5 .lm-metric p,.lm-shell--v5 .lm-metric small{color:#7e9bc5}.lm-shell--v5 .lm-metric strong{color:#fff}.lm-shell--v5 .lm-info-grid-v3 article,.lm-shell--v5 .lm-activity-result-v3{background:rgba(10,42,90,.65);border-color:rgba(105,150,223,.14)}.lm-shell--v5 .lm-info-grid-v3 small,.lm-shell--v5 .lm-activity-result-v3 p{color:#7795bf}.lm-shell--v5 .lm-info-grid-v3 strong,.lm-shell--v5 .lm-activity-result-v3 strong{color:#e8f1ff}.lm-shell--v5 .lm-field,.lm-shell--v5 .lm-field--v3{color:#bcd0ec}.lm-shell--v5 input,.lm-shell--v5 select,.lm-shell--v5 textarea{color:#edf5ff;background:rgba(3,18,48,.72);border-color:rgba(108,151,224,.23)}.lm-shell--v5 input:focus,.lm-shell--v5 select:focus,.lm-shell--v5 textarea:focus{outline:none;border-color:#8f6cff;box-shadow:0 0 0 3px rgba(132,82,255,.12),0 0 22px rgba(106,72,255,.15)}

/* ---------- Utility / password ---------- */
.lm-utility-page--v5{min-height:100vh;display:grid;place-items:center;padding:25px;color:#dce8fa;background:radial-gradient(circle at 75% 10%,rgba(102,63,236,.2),transparent 30%),linear-gradient(150deg,#041434,#072052)}.lm-utility-page--v5 .lm-utility-card{width:min(100%,600px);padding:28px;color:#dce8fa;background:linear-gradient(145deg,#0b306c,#071c46);border:1px solid rgba(114,156,228,.22);box-shadow:var(--v5-shadow)}.lm-utility-page--v5 h1{color:#fff}.lm-utility-page--v5 p{color:#8fa7ca}.lm-utility-page--v5 .lm-field{color:#bed0e9}.lm-utility-page--v5 .lm-input{color:#fff;background:rgba(4,22,58,.78);border-color:rgba(108,152,225,.22)}

/* ---------- Public page fixes for V5 ---------- */
.lm-home--v5 .lm-v4-mission-card__art{min-height:178px;background-size:cover;background-position:center;overflow:hidden}.lm-home--v5 .lm-v4-mission-card__art>b{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;color:#47359f;background:rgba(249,248,255,.94);box-shadow:0 7px 18px rgba(0,0,0,.16);font-size:9px}.lm-home--v5 .lm-v4-mission-card__body h3{font-size:18px;line-height:1.12}.lm-home--v5 .lm-v4-mission-card__body p{min-height:65px}.lm-home--v5 .lm-v4-mission-card:hover{transform:translateY(-10px) scale(1.025);box-shadow:0 0 30px rgba(123,77,255,.19),0 26px 52px rgba(6,27,70,.18)}.lm-home--v5 .lm-v4-mission-card:hover .lm-v4-mission-card__art{filter:saturate(1.08) brightness(1.04)}

/* ---------- Login V5 ---------- */
.lm-login--v5{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(430px,.7fr);color:#eaf3ff;background:radial-gradient(circle at 12% 18%,rgba(31,112,255,.16),transparent 28%),radial-gradient(circle at 88% 76%,rgba(120,63,255,.19),transparent 31%),linear-gradient(145deg,#031230,#061b47)}.lm-login--v5 .lm-v4-login-visual{min-height:100vh;position:relative;overflow:hidden}.lm-login--v5 .lm-v4-login-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.03)}.lm-login--v5 .lm-v4-login-visual__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,45,.86),rgba(3,16,45,.16) 72%,rgba(3,16,45,.36)),linear-gradient(0deg,rgba(3,16,45,.78),transparent 47%)}.lm-login--v5 .lm-v4-login-visual__copy{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;padding:30px 38px}.lm-login--v5 .lm-v4-login-visual__brand{display:flex;align-items:center;gap:9px}.lm-login--v5 .lm-v4-version{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:8px;color:#d6c9ff;background:rgba(103,69,215,.24);border:1px solid rgba(160,118,255,.4);font-size:9px;font-weight:900}.lm-login--v5 .lm-v4-login-visual__headline{margin-top:auto;max-width:620px;padding-bottom:22px}.lm-login--v5 .lm-v4-login-visual__headline h2{margin:5px 0 10px;color:#fff;font-size:clamp(40px,4.8vw,66px);line-height:.98;letter-spacing:-2px}.lm-login--v5 .lm-v4-login-visual__headline h2 span{color:#ff9a23}.lm-login--v5 .lm-v4-login-visual__headline p{max-width:560px;color:#c2d2eb;line-height:1.55}.lm-login--v5 .lm-v4-login-tip{max-width:380px;display:grid;grid-template-columns:66px 1fr;align-items:center;gap:10px;padding:10px 13px;border-radius:15px;background:rgba(5,23,61,.78);border:1px solid rgba(140,103,255,.39);box-shadow:0 0 24px rgba(102,71,255,.16)}.lm-login--v5 .lm-v4-login-tip img{width:64px;height:64px;object-fit:cover;object-position:50% 30%;border-radius:13px}.lm-login--v5 .lm-v4-login-tip strong{color:#ffe19a;font-size:10px}.lm-login--v5 .lm-v4-login-tip p{margin:3px 0 0;color:#aabddb;font-size:8px;line-height:1.45}.lm-login--v5 .lm-v4-login-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.lm-login--v5 .lm-v4-login-benefits article{min-height:64px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px;padding:8px 10px;border-radius:12px;background:rgba(6,25,63,.7);border:1px solid rgba(112,153,224,.15)}.lm-login--v5 .lm-v4-login-benefits article>span{font-size:21px}.lm-login--v5 .lm-v4-login-benefits strong,.lm-login--v5 .lm-v4-login-benefits small{display:block}.lm-login--v5 .lm-v4-login-benefits strong{font-size:9px}.lm-login--v5 .lm-v4-login-benefits small{margin-top:2px;color:#7895bf;font-size:7px}.lm-login--v5 .lm-v4-login-panel{display:grid;place-items:center;padding:35px 28px;background:linear-gradient(180deg,rgba(3,16,45,.78),rgba(3,15,40,.93))}.lm-login--v5 .lm-v4-login-card{width:min(100%,500px);padding:29px;border-radius:24px;background:linear-gradient(145deg,rgba(8,32,76,.96),rgba(7,21,58,.98));border:1px solid rgba(131,103,255,.4);box-shadow:0 0 38px rgba(106,71,255,.22),0 34px 70px rgba(0,5,25,.4)}.lm-login--v5 .lm-v4-login-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.lm-login--v5 .lm-v4-login-card .lm-brand__copy strong{color:#fff}.lm-login--v5 .lm-v4-login-card .lm-brand__copy small{color:#7795bf}.lm-login--v5 .lm-v4-login-back{display:inline-flex;margin-top:15px;color:#8faadd;text-decoration:none;font-size:9px}.lm-login--v5 .lm-v4-login-lock{width:55px;height:55px;margin:16px auto 9px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#7249e9,#2c7ce9);font-size:25px;box-shadow:0 0 25px rgba(110,74,255,.25)}.lm-login--v5 .lm-v4-login-card h1{text-align:center;color:#fff;font-size:30px}.lm-login--v5 .lm-v4-login-card__intro{text-align:center;color:#859fc4;font-size:10px}.lm-login--v5 .lm-field--dark{color:#c1d2eb}.lm-login--v5 .lm-v4-input-wrap{display:grid;grid-template-columns:40px 1fr;align-items:center;border:1px solid rgba(120,93,245,.45);border-radius:13px;background:rgba(3,18,48,.73);overflow:hidden}.lm-login--v5 .lm-v4-input-wrap>span{text-align:center;color:#a98cff}.lm-login--v5 .lm-input--dark{border:0;background:transparent;color:#fff}.lm-login--v5 .lm-v4-login-submit{width:100%;min-height:52px;color:#fff;background:linear-gradient(100deg,#ff9a12,#ff6f0f);border:1px solid #ffc34e;box-shadow:0 0 28px rgba(255,126,17,.29),0 15px 30px rgba(95,39,3,.25)}.lm-login--v5 .lm-v4-login-submit:hover{box-shadow:0 0 36px rgba(255,143,24,.4),0 18px 34px rgba(76,30,3,.3)}.lm-login--v5 .lm-v4-login-help{display:flex;justify-content:center;gap:8px;margin:14px 0;color:#7795bf;font-size:8px}.lm-login--v5 .lm-v4-login-pilot,.lm-login--v5 .lm-v4-security{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;margin-top:9px;padding:10px;border-radius:13px;background:rgba(9,39,83,.7);border:1px solid rgba(103,148,220,.16)}.lm-login--v5 .lm-v4-login-pilot img{width:44px;height:44px;object-fit:contain}.lm-login--v5 .lm-v4-login-pilot strong,.lm-login--v5 .lm-v4-security strong{display:block;color:#dce9fb;font-size:9px}.lm-login--v5 .lm-v4-login-pilot small,.lm-login--v5 .lm-v4-security small{display:block;margin-top:2px;color:#708db7;font-size:7px}.lm-login--v5 .lm-v4-security>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:rgba(35,111,208,.25);font-size:22px}

/* ---------- Micro-interactions ---------- */
@keyframes lmV5Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes lmV5Pulse{0%{box-shadow:0 0 0 0 rgba(126,92,255,.55)}70%{box-shadow:0 0 0 14px rgba(126,92,255,0)}100%{box-shadow:0 0 0 0 rgba(126,92,255,0)}}
@keyframes lmV5Glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}
.lm-v5-action-button{animation:lmV5Glow 3.2s ease-in-out infinite}

/* ---------- Responsive ---------- */
@media (max-width: 1240px) {
  .lm-shell--v5{grid-template-columns:210px minmax(0,1fr)}
  .lm-v5-teacher-main-grid,.lm-v5-section-main-grid,.lm-v5-student-main-grid{grid-template-columns:1fr}
  .lm-v5-student-management-grid,.lm-v5-import-grid{grid-template-columns:1fr}
  .lm-v5-students-summary,.lm-v5-import-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-v5-competency-action-grid,.lm-v5-competency-progress-strip,.lm-v5-competency-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-v5-student-top-grid{grid-template-columns:1fr}
  .lm-v5-mission-heading{grid-template-columns:90px 1fr}.lm-v5-mission-meta-cards{grid-column:1/-1}.lm-v5-mission-layout{grid-template-columns:1fr}.lm-v5-mission-side{grid-template-columns:repeat(3,minmax(0,1fr))}.lm-v5-mission-side>.lm-btn{grid-column:1/-1}
  .lm-login--v5{grid-template-columns:1.25fr .75fr}
}

@media (max-width: 980px) {
  .lm-shell--v5{grid-template-columns:82px minmax(0,1fr)}
  .lm-sidebar--v5{padding:15px 10px}.lm-sidebar--v5 .lm-sidebar__brand>span,.lm-sidebar--v5 .lm-brand__copy,.lm-sidebar--v5 .lm-sidebar__item>span:nth-child(2),.lm-sidebar--v5 .lm-sidebar__chevron,.lm-sidebar__institution--v5>div,.lm-sidebar__matix--v5>div{display:none}.lm-sidebar--v5 .lm-sidebar__item{grid-template-columns:1fr;padding:0;place-items:center}.lm-sidebar--v5 .lm-sidebar__icon{font-size:22px}.lm-sidebar__institution--v5{grid-template-columns:1fr;place-items:center;padding:8px}.lm-sidebar__matix--v5{grid-template-columns:1fr;place-items:center;min-height:88px;padding:6px}.lm-sidebar__matix--v5 img{width:62px;height:74px}
  .lm-v5-welcome-grid,.lm-v5-teacher-bottom-grid{grid-template-columns:1fr}.lm-v5-section-strip{grid-template-columns:repeat(3,1fr)}.lm-v5-section-summary-grid{grid-template-columns:repeat(2,1fr)}.lm-v5-section-tools{grid-template-columns:1fr}.lm-v5-student-table-head,.lm-v5-student-row{grid-template-columns:46px minmax(220px,1fr) minmax(120px,.6fr) 80px}.lm-v5-student-table-head>span:last-child,.lm-v5-student-row>a{display:none}.lm-v5-student-toolbar{grid-template-columns:1fr 1fr}.lm-v5-search{grid-column:1/-1}.lm-v5-impact-strip{grid-template-columns:repeat(2,1fr)}.lm-v5-impact-strip>div{border-bottom:1px solid rgba(255,255,255,.08)}
  .lm-v5-mission-topbar{grid-template-columns:1fr auto}.lm-v5-mission-topbar nav{display:none}.lm-v5-mission-heading{grid-template-columns:80px 1fr}.lm-v5-mission-meta-cards{grid-template-columns:1fr 1fr 1fr}.lm-v5-mission-reward-strip{grid-template-columns:150px 1fr}.lm-v5-mission-reward-strip>div:last-child{grid-column:1/-1}.lm-v5-mission-side{grid-template-columns:1fr}
  .lm-login--v5{grid-template-columns:1fr}.lm-login--v5 .lm-v4-login-visual{min-height:620px}.lm-login--v5 .lm-v4-login-visual__copy{min-height:620px}.lm-login--v5 .lm-v4-login-panel{min-height:760px}
}

@media (max-width: 680px) {
  .lm-shell--v5{grid-template-columns:1fr}.lm-sidebar--v5{position:static;height:auto;min-height:auto;display:block;padding:10px}.lm-sidebar--v5 .lm-sidebar__brand,.lm-sidebar__v5-bottom{display:none}.lm-sidebar__nav--v5{display:flex;overflow-x:auto;padding:0;gap:6px}.lm-sidebar--v5 .lm-sidebar__item{min-width:52px;height:46px}.lm-topbar--v5{position:static;padding:15px 16px;align-items:flex-start;flex-direction:column}.lm-topbar--v5 .lm-topbar__actions{justify-content:flex-start}.lm-v5-page{width:min(calc(100% - 24px),1460px);padding-top:12px}.lm-v5-section-strip,.lm-v5-section-summary-grid,.lm-v5-competency-action-grid,.lm-v5-competency-progress-strip,.lm-v5-competency-filter-row,.lm-v5-students-summary,.lm-v5-import-side{grid-template-columns:1fr}.lm-v5-welcome-card h2,.lm-v5-students-heading h2,.lm-v5-activities-heading h2{font-size:24px}.lm-v5-students-heading,.lm-v5-activities-heading{align-items:flex-start;flex-direction:column}.lm-v5-teacher-main-grid,.lm-v5-teacher-bottom-grid{grid-template-columns:1fr}.lm-v5-plan-panel__body,.lm-v5-section-progress-panel__body{grid-template-columns:1fr}.lm-v5-donut{margin:0 auto}.lm-v5-tabs-actions{align-items:flex-start;flex-direction:column}.lm-v5-tabs{width:100%;overflow-x:auto}.lm-v5-student-progress-card__body{grid-template-columns:1fr 130px}.lm-v5-progress-mini-stats{grid-column:1/-1;grid-template-columns:1fr 1fr}.lm-v5-student-table-head{display:none}.lm-v5-student-row{grid-template-columns:38px 1fr}.lm-v5-student-row__code,.lm-v5-student-row>.lm-v5-status-pill,.lm-v5-student-row>a{grid-column:2}.lm-v5-student-toolbar{grid-template-columns:1fr}.lm-v5-filter-chip{display:none}.lm-v5-impact-strip{grid-template-columns:1fr}.lm-v5-impact-strip>div{border-right:0}.lm-v5-import-steps{grid-template-columns:1fr 1fr}.lm-v5-import-step{border-bottom:1px solid rgba(97,140,214,.14)}.lm-v5-import-table-wrap{overflow-x:auto}.lm-v5-import-table{min-width:780px}.lm-v5-catalog-grid,.lm-v5-student-mission-grid{grid-template-columns:1fr}.lm-v5-mission-shell{width:min(calc(100% - 20px),1540px)}.lm-v5-mission-heading{grid-template-columns:1fr}.lm-v5-mission-emblem{width:70px;height:70px}.lm-v5-mission-meta-cards{grid-template-columns:1fr}.lm-v5-mission-reward-strip{grid-template-columns:1fr}.lm-v5-mission-progress-track{grid-template-columns:100px 1fr 35px}.lm-v5-mission-visual-card__image{min-height:220px}.lm-mission-page--v5 .lm-options{grid-template-columns:1fr 1fr}.lm-login--v5 .lm-v4-login-visual{min-height:560px}.lm-login--v5 .lm-v4-login-visual__copy{min-height:560px;padding:20px}.lm-login--v5 .lm-v4-login-visual__headline h2{font-size:38px}.lm-login--v5 .lm-v4-login-benefits{grid-template-columns:1fr}.lm-login--v5 .lm-v4-login-panel{padding:22px 14px}.lm-login--v5 .lm-v4-login-card{padding:20px}
}

@media (hover: none) {
  .lm-v5-class-card:hover,.lm-v5-competency-action:hover,.lm-v5-mini-mission:hover,.lm-v5-tool-card:hover,.lm-v5-student-row:hover,.lm-v5-catalog-card:hover,.lm-v5-student-mission-card:hover{transform:none;box-shadow:initial}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Ludimática V6 — ajustes finales de contraste, gestión de estudiantes y nitidez visual */

:root {
  --v6-navy: #031632;
  --v6-panel: #08295d;
  --v6-panel-2: #0b3778;
  --v6-border: rgba(120, 161, 231, .2);
  --v6-purple: #855cff;
  --v6-blue: #2a8cff;
  --v6-cyan: #31d5ff;
  --v6-green: #37df8d;
  --v6-orange: #ff9828;
  --v6-text: #f4f8ff;
  --v6-muted: #91a9ce;
}

/* ---------- Identidad superior: el nombre siempre debe ser legible ---------- */
.lm-topbar--v6 {
  background: linear-gradient(90deg, rgba(4, 19, 50, .98), rgba(6, 29, 69, .96) 55%, rgba(18, 26, 75, .97));
  border-bottom-color: rgba(128, 167, 238, .22);
}
.lm-topbar--v6 .lm-topbar__title-block,
.lm-topbar--v6 .lm-topbar__title-block * {
  opacity: 1;
}
.lm-topbar--v6 h1 {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .32);
}
.lm-topbar--v6 .lm-topbar__subtitle {
  color: #b8cae6 !important;
}
.lm-topbar__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.lm-v6-user-pill {
  min-height: 52px;
  display: grid;
  grid-template-columns: 38px minmax(140px, 1fr);
  align-items: center;
  gap: 9px;
  padding: 7px 12px 7px 8px;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg, rgba(17, 55, 113, .96), rgba(30, 39, 112, .93));
  border: 1px solid rgba(147, 115, 255, .42);
  box-shadow: 0 10px 28px rgba(0, 5, 29, .26), inset 0 0 18px rgba(128, 93, 255, .07);
}
.lm-v6-user-pill__avatar {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #7c52f5, #2389ef);
  border: 1px solid rgba(255, 255, 255, .22);
  box-shadow: 0 0 18px rgba(111, 79, 255, .25);
  font-size: 11px;
  font-weight: 950;
}
.lm-v6-user-pill__copy strong,
.lm-v6-user-pill__copy small {
  display: block;
  opacity: 1 !important;
}
.lm-v6-user-pill__copy strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-size: 10px;
  line-height: 1.2;
  text-shadow: 0 1px 9px rgba(0, 0, 0, .28);
}
.lm-v6-user-pill__copy small {
  margin-top: 3px;
  color: #9db9e0 !important;
  font-size: 8px;
}

/* El bloque que aparece inmediatamente después del login heredaba un fondo blanco. */
.lm-login--v5 .lm-session--v5 .lm-session__profile,
.lm-login--v5 .lm-session__profile {
  color: #fff !important;
  background: linear-gradient(145deg, rgba(12, 49, 105, .96), rgba(18, 30, 83, .96)) !important;
  border: 1px solid rgba(137, 105, 255, .42) !important;
  box-shadow: 0 12px 30px rgba(0, 7, 32, .25), inset 0 0 20px rgba(127, 84, 255, .07);
}
.lm-login--v5 .lm-session__profile strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  opacity: 1 !important;
  font-size: 15px;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .3);
}
.lm-login--v5 .lm-session__profile p {
  color: #b7cbea !important;
  opacity: 1 !important;
}
.lm-login--v5 .lm-role-grid .lm-btn--secondary,
.lm-login--v5 .lm-session--v5 > .lm-btn--ghost {
  color: #eaf2ff;
  background: rgba(13, 48, 101, .75);
  border-color: rgba(120, 159, 229, .25);
}

/* ---------- Panel de lista de estudiantes V6 ---------- */
.lm-v6-students-page {
  gap: 15px;
}
.lm-v6-students-hero {
  position: relative;
  min-height: 210px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  align-items: center;
  gap: 22px;
  padding: 28px 30px;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 83% 24%, rgba(149, 86, 255, .34), transparent 22%),
    radial-gradient(circle at 20% 110%, rgba(35, 138, 255, .27), transparent 35%),
    linear-gradient(115deg, #071e4d 0%, #0b397b 48%, #27195e 100%);
  border: 1px solid rgba(137, 166, 233, .25);
  box-shadow: 0 24px 60px rgba(0, 6, 31, .31), inset 0 0 40px rgba(118, 78, 255, .06);
}
.lm-v6-students-hero::before,
.lm-v6-students-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}
.lm-v6-students-hero::before {
  width: 320px;
  height: 320px;
  right: -150px;
  top: -165px;
  border: 1px solid rgba(129, 105, 255, .16);
  box-shadow: 0 0 0 35px rgba(123, 93, 255, .035), 0 0 0 75px rgba(123, 93, 255, .025);
}
.lm-v6-students-hero::after {
  width: 8px;
  height: 8px;
  left: 58%;
  top: 30px;
  background: #9c7aff;
  box-shadow: 80px 34px 0 #46cfff, 165px 110px 0 #ff9a2d, -95px 85px 0 #48e396;
}
.lm-v6-students-hero__copy,
.lm-v6-students-hero__actions {
  position: relative;
  z-index: 2;
}
.lm-v6-students-hero__copy h2 {
  margin: 6px 0 8px;
  color: #fff;
  font-size: clamp(31px, 3.5vw, 48px);
  line-height: 1;
  letter-spacing: -1.5px;
}
.lm-v6-students-hero__copy p {
  max-width: 760px;
  margin: 0;
  color: #b8cae5;
  font-size: 11px;
  line-height: 1.6;
}
.lm-v6-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.lm-v6-hero-chips span {
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  color: #dceaff;
  background: rgba(4, 22, 58, .54);
  border: 1px solid rgba(145, 177, 236, .16);
  backdrop-filter: blur(8px);
  font-size: 8px;
  font-weight: 850;
}
.lm-v6-students-hero__actions {
  display: grid;
  gap: 10px;
}
.lm-v6-excel-primary {
  min-height: 90px;
  display: grid;
  grid-template-columns: 54px 1fr 24px;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-radius: 18px;
  text-decoration: none;
  background: linear-gradient(135deg, rgba(18, 134, 78, .95), rgba(11, 92, 66, .96));
  border: 1px solid rgba(112, 238, 171, .38);
  box-shadow: 0 15px 36px rgba(0, 25, 30, .27), 0 0 28px rgba(48, 216, 127, .12);
  transition: transform .24s ease, box-shadow .24s ease, filter .24s ease;
}
.lm-v6-excel-primary:hover {
  transform: translateY(-5px) scale(1.012);
  box-shadow: 0 22px 46px rgba(0, 20, 28, .33), 0 0 36px rgba(48, 216, 127, .22);
  filter: brightness(1.04);
}
.lm-v6-excel-primary__icon {
  width: 52px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, #39cf82, #087148);
  border: 1px solid rgba(255, 255, 255, .28);
  box-shadow: inset 0 0 15px rgba(255, 255, 255, .09), 0 0 18px rgba(59, 234, 144, .2);
  font-size: 26px;
  font-weight: 950;
}
.lm-v6-excel-primary__copy small,
.lm-v6-excel-primary__copy strong,
.lm-v6-excel-primary__copy em {
  display: block;
  font-style: normal;
}
.lm-v6-excel-primary__copy small { color: #9af4c1; font-size: 7px; letter-spacing: 1px; font-weight: 900; }
.lm-v6-excel-primary__copy strong { margin-top: 3px; color: #fff; font-size: 13px; }
.lm-v6-excel-primary__copy em { margin-top: 3px; color: #b9e7d0; font-size: 8px; }
.lm-v6-excel-primary > b { color: #fff; font-size: 21px; }
.lm-v6-new-student { width: 100%; justify-content: center; }

.lm-v6-roster-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
}
.lm-v6-roster-stat {
  min-height: 94px;
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(145deg, rgba(12, 48, 101, .93), rgba(6, 28, 67, .95));
  border: 1px solid rgba(112, 155, 227, .18);
  box-shadow: 0 13px 30px rgba(0, 7, 31, .22);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.lm-v6-roster-stat:hover { transform: translateY(-5px); border-color: rgba(145, 105, 255, .55); box-shadow: 0 20px 38px rgba(0, 7, 31, .29), 0 0 22px rgba(112, 76, 255, .12); }
.lm-v6-roster-stat > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  font-size: 22px;
  box-shadow: inset 0 0 14px rgba(255, 255, 255, .09);
}
.lm-v6-roster-stat--green > span { background: linear-gradient(145deg, #18a765, #39db87); }
.lm-v6-roster-stat--violet > span { background: linear-gradient(145deg, #7248de, #a45bf7); }
.lm-v6-roster-stat--blue > span { background: linear-gradient(145deg, #1876e8, #35b8f2); }
.lm-v6-roster-stat--orange > span { background: linear-gradient(145deg, #ef6f1d, #ffab25); }
.lm-v6-roster-stat small,
.lm-v6-roster-stat strong,
.lm-v6-roster-stat em { display: block; font-style: normal; }
.lm-v6-roster-stat small { color: #8fa9d0; font-size: 8px; }
.lm-v6-roster-stat strong { margin-top: 2px; color: #fff; font-size: 24px; line-height: 1; }
.lm-v6-roster-stat em { margin-top: 5px; color: #7393c0; font-size: 7px; }

.lm-v6-student-management-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 315px;
  gap: 14px;
}
.lm-v6-roster-panel {
  padding: 18px;
}
.lm-v6-roster-panel__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}
.lm-v6-roster-panel__head h2 { margin: 4px 0 3px; color: #fff; font-size: 21px; }
.lm-v6-roster-panel__head p { margin: 0; color: #7795be; font-size: 8px; }
.lm-v6-count-chip {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
  color: #d6c7ff;
  background: rgba(107, 69, 209, .22);
  border: 1px solid rgba(158, 117, 255, .31);
  font-size: 8px;
  font-weight: 850;
}
.lm-v6-student-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 8px;
  margin-bottom: 11px;
}
.lm-v6-search {
  min-height: 44px;
  display: grid;
  grid-template-columns: 38px 1fr 34px;
  align-items: center;
  border-radius: 13px;
  overflow: hidden;
  background: rgba(4, 23, 58, .8);
  border: 1px solid rgba(112, 155, 229, .2);
  transition: border-color .22s ease, box-shadow .22s ease;
}
.lm-v6-search:focus-within { border-color: #8d68ff; box-shadow: 0 0 0 3px rgba(126, 83, 255, .09), 0 0 20px rgba(126, 83, 255, .11); }
.lm-v6-search > span { display: grid; place-items: center; color: #7fa8e2; font-size: 20px; }
.lm-v6-search input { min-width: 0; height: 42px; border: 0 !important; outline: 0 !important; box-shadow: none !important; padding: 0 5px; background: transparent !important; color: #f2f7ff !important; font-size: 9px; }
.lm-v6-search input::placeholder { color: #657fab; }
.lm-v6-search button { width: 29px; height: 29px; display: grid; place-items: center; border: 0; border-radius: 9px; color: #c6d6ec; background: rgba(103, 72, 197, .24); cursor: pointer; }
.lm-v6-filter-chip {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  border-radius: 13px;
  color: #9fb6d7;
  background: rgba(9, 38, 83, .72);
  border: 1px solid rgba(108, 151, 224, .15);
  font-size: 8px;
  font-weight: 800;
}
.lm-v6-filter-chip i { width: 7px; height: 7px; border-radius: 50%; background: #43df8d; box-shadow: 0 0 10px rgba(67, 223, 141, .55); }
.lm-v6-student-table-head,
.lm-v6-student-row {
  display: grid;
  grid-template-columns: 52px minmax(250px, 1.3fr) minmax(190px, .9fr) 85px 100px;
  align-items: center;
  gap: 10px;
}
.lm-v6-student-table-head {
  padding: 9px 12px;
  color: #6f8db9;
  font-size: 7px;
  text-transform: uppercase;
  letter-spacing: .7px;
}
.lm-v6-student-table-body { display: grid; gap: 7px; }
.lm-v6-student-row {
  position: relative;
  min-height: 76px;
  padding: 9px 12px;
  overflow: hidden;
  border-radius: 15px;
  background: linear-gradient(90deg, rgba(14, 51, 106, .84), rgba(8, 33, 77, .76));
  border: 1px solid rgba(101, 145, 218, .15);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease;
}
.lm-v6-student-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: #8661ff;
  box-shadow: 0 0 12px rgba(134, 97, 255, .5);
}
.lm-v6-student-row--blue::before { background: #3ca9ff; box-shadow: 0 0 12px rgba(60, 169, 255, .5); }
.lm-v6-student-row--green::before { background: #42dd91; box-shadow: 0 0 12px rgba(66, 221, 145, .5); }
.lm-v6-student-row--orange::before { background: #ff9d32; box-shadow: 0 0 12px rgba(255, 157, 50, .5); }
.lm-v6-student-row:hover {
  z-index: 2;
  transform: translateX(5px) scale(1.004);
  background: linear-gradient(90deg, rgba(37, 49, 130, .9), rgba(13, 45, 96, .84));
  border-color: rgba(151, 111, 255, .57);
  box-shadow: 0 13px 30px rgba(0, 8, 34, .3), 0 0 25px rgba(126, 82, 255, .15);
}
.lm-v6-student-row__order {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #bed2ee;
  background: #0a3475;
  border: 1px solid rgba(120, 166, 238, .2);
  font-size: 10px;
  font-weight: 950;
}
.lm-v6-student-row__identity {
  min-width: 0;
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.lm-v6-avatar {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #7852ed, #2a8be9);
  border: 2px solid rgba(255, 255, 255, .12);
  box-shadow: 0 0 20px rgba(104, 78, 243, .2);
  font-size: 11px;
  font-weight: 950;
}
.lm-v6-student-row--blue .lm-v6-avatar { background: linear-gradient(145deg, #247ce9, #2dc0e9); }
.lm-v6-student-row--green .lm-v6-avatar { background: linear-gradient(145deg, #18a36a, #49dc8a); }
.lm-v6-student-row--orange .lm-v6-avatar { background: linear-gradient(145deg, #e9701d, #ffab27); }
.lm-v6-student-row__identity strong,
.lm-v6-student-row__identity small,
.lm-v6-student-account strong,
.lm-v6-student-account small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-v6-student-row__identity strong { color: #f5f8ff; font-size: 10px; }
.lm-v6-student-row__identity small { margin-top: 4px; color: #748fb8; font-size: 7px; }
.lm-v6-student-account strong { color: #cbdcf2; font-size: 9px; }
.lm-v6-student-account small { margin-top: 4px; color: #6d89b4; font-size: 7px; }
.lm-v6-status-pill {
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 9px;
  border-radius: 999px;
  color: #75e8a8;
  background: rgba(27, 146, 89, .14);
  border: 1px solid rgba(68, 223, 141, .19);
  font-size: 8px;
  font-weight: 850;
}
.lm-v6-status-pill i { width: 6px; height: 6px; border-radius: 50%; background: #4ce294; box-shadow: 0 0 9px rgba(76, 226, 148, .5); }
.lm-v6-row-action {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border-radius: 11px;
  color: #e1d7ff;
  text-decoration: none;
  background: linear-gradient(145deg, rgba(103, 68, 203, .43), rgba(49, 80, 171, .38));
  border: 1px solid rgba(153, 113, 255, .34);
  font-size: 8px;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease;
}
.lm-v6-row-action:hover { transform: translateY(-2px); box-shadow: 0 0 20px rgba(136, 87, 255, .23); }
.lm-v6-row-action span { font-size: 13px; }
.lm-v6-table-footer {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 5px 0;
  color: #718eb9;
  font-size: 8px;
}
.lm-v6-table-footer strong { color: #c2d4ed; }

.lm-v6-students-side { display: grid; gap: 12px; align-content: start; }
.lm-v6-excel-card {
  position: relative;
  overflow: hidden;
  padding: 19px;
  border-radius: 19px;
  color: #fff;
  background: radial-gradient(circle at 90% 4%, rgba(88, 243, 161, .22), transparent 25%), linear-gradient(145deg, #0b704e, #073a3c 65%, #0a285c);
  border: 1px solid rgba(94, 227, 158, .29);
  box-shadow: 0 18px 40px rgba(0, 15, 34, .29), 0 0 25px rgba(48, 213, 124, .08);
}
.lm-v6-excel-card__glow { position: absolute; width: 150px; height: 150px; right: -70px; top: -70px; border-radius: 50%; background: rgba(69, 236, 147, .1); box-shadow: 0 0 0 34px rgba(69, 236, 147, .035); }
.lm-v6-excel-card__icon { position: relative; width: 62px; height: 66px; display: grid; place-items: center; margin-bottom: 11px; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #39ce82, #087046); border: 1px solid rgba(255, 255, 255, .26); box-shadow: 0 0 22px rgba(63, 228, 140, .21); font-size: 30px; font-weight: 950; }
.lm-v6-excel-card h3 { margin: 5px 0 7px; color: #fff; font-size: 21px; }
.lm-v6-excel-card p { margin: 0; color: #bae2d1; font-size: 9px; line-height: 1.55; }
.lm-v6-excel-card__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 13px 0; }
.lm-v6-excel-card__steps span { min-height: 28px; display: grid; place-items: center; border-radius: 9px; color: #c9f1dc; background: rgba(4, 34, 39, .38); border: 1px solid rgba(132, 232, 177, .12); font-size: 7px; }
.lm-v6-excel-card .lm-btn { width: 100%; justify-content: center; background: linear-gradient(100deg, #2fc675, #19a96e) !important; border-color: rgba(154, 248, 196, .35) !important; }
.lm-v6-section-card { padding: 17px; }
.lm-v6-section-card__top { display: grid; grid-template-columns: 45px 1fr; align-items: center; gap: 10px; margin-bottom: 10px; }
.lm-v6-section-card__top > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, #6c48dd, #287edc); font-size: 21px; }
.lm-v6-section-card__top small,
.lm-v6-section-card__top strong { display: block; }
.lm-v6-section-card__top small { color: #788fb8; font-size: 7px; letter-spacing: .6px; }
.lm-v6-section-card__top strong { margin-top: 3px; color: #fff; font-size: 14px; }
.lm-v6-section-metric { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid rgba(100, 142, 210, .12); color: #809bc1; font-size: 8px; }
.lm-v6-section-metric b { color: #e6effe; font-size: 10px; }
.lm-v6-section-progress { height: 7px; margin: 12px 0 9px; border-radius: 999px; background: rgba(72, 104, 160, .27); overflow: hidden; }
.lm-v6-section-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6f52f1, #37a7ff); }
.lm-v6-section-card__note { color: #6e8bb6; font-size: 7px; }
.lm-v6-tip-card { min-height: 86px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 10px; padding: 14px; }
.lm-v6-tip-card > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; color: #ffe06a; background: rgba(255, 188, 47, .12); font-size: 20px; }
.lm-v6-tip-card strong { color: #fff; font-size: 9px; }
.lm-v6-tip-card p { margin: 4px 0 0; color: #7e9bc3; font-size: 8px; line-height: 1.45; }

/* ---------- El importador Excel queda visualmente evidente ---------- */
.lm-v5-page--import .lm-v5-import-steps {
  box-shadow: 0 14px 36px rgba(0, 7, 31, .21);
}
.lm-v5-page--import .lm-v5-dropzone {
  min-height: 300px;
  background: radial-gradient(circle at 50% 45%, rgba(60, 216, 133, .12), transparent 24%), radial-gradient(circle at 70% 25%, rgba(102, 70, 255, .16), transparent 32%), linear-gradient(145deg, rgba(4, 24, 62, .97), rgba(9, 41, 91, .92));
  border: 1px dashed rgba(93, 224, 156, .65);
}
.lm-v5-page--import .lm-v5-dropzone:hover,
.lm-v5-page--import .lm-v5-dropzone.has-file {
  border-color: #73e9aa;
  box-shadow: inset 0 0 55px rgba(55, 213, 129, .08), 0 0 32px rgba(91, 228, 158, .13);
}
.lm-v5-page--import .lm-v5-excel-icon {
  width: 78px;
  height: 82px;
  font-size: 38px;
}
.lm-v5-page--import .lm-v5-dropzone > strong { font-size: 20px; }
.lm-v5-page--import .lm-v5-dropzone > p { font-size: 10px; }

/* ---------- Misiones: imágenes más nítidas, proporción uniforme y centrado controlado ---------- */
.lm-home--v5 .lm-v4-mission-card__art,
.lm-v5-mini-mission__image,
.lm-v5-catalog-card__image,
.lm-v5-student-mission-card__image,
.lm-v5-mission-visual-card__image {
  aspect-ratio: 16 / 9;
  min-height: 0 !important;
  height: auto;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  image-rendering: auto;
  filter: none;
}
.lm-home--v5 .lm-v4-mission-card__art { padding: 10px; }
.lm-v5-mini-mission__image,
.lm-v5-catalog-card__image,
.lm-v5-student-mission-card__image { padding: 9px; }
.lm-v5-mission-visual-card__image { width: 100%; }
.lm-home--v5 .lm-v4-mission-card:hover .lm-v4-mission-card__art,
.lm-v5-mini-mission:hover .lm-v5-mini-mission__image,
.lm-v5-catalog-card:hover .lm-v5-catalog-card__image,
.lm-v5-student-mission-card:hover .lm-v5-student-mission-card__image,
.lm-v5-mission-visual-card:hover .lm-v5-mission-visual-card__image {
  transform: scale(1.015);
  filter: saturate(1.035) contrast(1.015);
}

/* ---------- Responsive V6 ---------- */
@media (max-width: 1180px) {
  .lm-v6-students-hero { grid-template-columns: 1fr; }
  .lm-v6-students-hero__actions { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .lm-v6-new-student { min-height: 90px; }
  .lm-v6-roster-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lm-v6-student-management-grid { grid-template-columns: 1fr; }
  .lm-v6-students-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lm-v6-tip-card { grid-column: 1 / -1; }
  .lm-topbar__right { justify-content: flex-start; }
}

@media (max-width: 820px) {
  .lm-topbar--v6 { align-items: stretch !important; }
  .lm-topbar__right { width: 100%; align-items: stretch; flex-direction: column; }
  .lm-v6-user-pill { width: 100%; }
  .lm-v6-students-hero { padding: 21px 18px; }
  .lm-v6-students-hero__actions { grid-template-columns: 1fr; }
  .lm-v6-new-student { min-height: 48px; }
  .lm-v6-roster-stats { grid-template-columns: 1fr 1fr; }
  .lm-v6-student-toolbar { grid-template-columns: 1fr; }
  .lm-v6-student-table-head { display: none; }
  .lm-v6-student-row { grid-template-columns: 44px minmax(0, 1fr) 86px; gap: 8px; }
  .lm-v6-student-row__identity { grid-column: 2; }
  .lm-v6-student-account { grid-column: 2; padding-left: 55px; }
  .lm-v6-status-pill { grid-column: 3; grid-row: 1; }
  .lm-v6-row-action { grid-column: 3; grid-row: 2; }
  .lm-v6-students-side { grid-template-columns: 1fr; }
  .lm-v6-tip-card { grid-column: auto; }
  .lm-v6-table-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .lm-v6-roster-stats { grid-template-columns: 1fr; }
  .lm-v6-student-row { grid-template-columns: 40px minmax(0, 1fr); }
  .lm-v6-status-pill,
  .lm-v6-row-action { grid-column: 2; grid-row: auto; justify-self: start; }
  .lm-v6-student-account { padding-left: 0; }
  .lm-v6-excel-primary { grid-template-columns: 48px 1fr 18px; }
  .lm-v6-excel-primary__icon { width: 47px; height: 51px; }
}

@media (hover: none) {
  .lm-v6-excel-primary:hover,
  .lm-v6-roster-stat:hover,
  .lm-v6-student-row:hover,
  .lm-v6-row-action:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .lm-v6-excel-primary,
  .lm-v6-roster-stat,
  .lm-v6-student-row,
  .lm-v6-row-action,
  .lm-home--v5 .lm-v4-mission-card__art,
  .lm-v5-mini-mission__image,
  .lm-v5-catalog-card__image,
  .lm-v5-student-mission-card__image,
  .lm-v5-mission-visual-card__image { transition: none !important; }
}

/* ---------- Paneles administrativo/institucional temporales: contraste correcto ---------- */
.lm-temp--v5 {
  min-height: 100vh;
  color: #eef5ff;
  background: radial-gradient(circle at 78% 8%, rgba(116, 72, 255, .23), transparent 29%), linear-gradient(145deg, #031431, #072459 58%, #101b54);
}
.lm-temp--v5 .lm-temp__card {
  color: #eef5ff;
  background: linear-gradient(145deg, rgba(11, 47, 99, .97), rgba(7, 27, 67, .98));
  border: 1px solid rgba(128, 165, 231, .22);
  box-shadow: 0 28px 70px rgba(0, 6, 29, .35), 0 0 35px rgba(118, 77, 255, .09);
}
.lm-temp--v5 .lm-temp__card h1,
.lm-temp--v5 .lm-temp__card strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  opacity: 1 !important;
}
.lm-temp--v5 .lm-temp__card p { color: #a9bddb !important; }
.lm-temp--v5 .lm-temp__icon { background: linear-gradient(145deg, #744de7, #2d7ee9); box-shadow: 0 0 25px rgba(114, 76, 242, .25); }

/* =========================================================
   V6 FINAL — correcciones solicitadas sin alterar la cabecera
   pública de la portada.
   ========================================================= */

/* Después del login: nombre e institución centrados. */
.lm-login--v5 .lm-session--v5 .lm-session__profile,
.lm-login--v5 .lm-session__profile {
  display: grid;
  justify-items: center;
  text-align: center;
  width: 100%;
}
.lm-login--v5 .lm-session__profile strong,
.lm-login--v5 .lm-session__profile p {
  width: 100%;
  text-align: center;
}
.lm-login--v5 .lm-session__profile p {
  margin: 5px 0 0;
}

/* Portada: no se modifica la barra superior. Solo se ajusta el área
   fotográfica de las misiones para evitar imágenes sobredimensionadas. */
.lm-home--v5 .lm-v4-mission-card__art--image {
  aspect-ratio: auto;
  height: 158px !important;
  min-height: 158px !important;
  padding: 0 !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center;
  image-rendering: auto;
  transform-origin: center center;
}
.lm-home--v5 .lm-v4-mission-card:hover .lm-v4-mission-card__art--image {
  transform: scale(1.01);
  filter: saturate(1.025) contrast(1.015);
}

/* Paneles internos: las mismas ilustraciones se muestran más contenidas
   y centradas para evitar recortes agresivos y pérdida de nitidez. */
.lm-v5-mini-mission__image {
  height: 116px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center center;
}
.lm-v5-catalog-card__image,
.lm-v5-student-mission-card__image {
  height: 154px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center center;
}
.lm-v5-mission-visual-card__image {
  min-height: 280px !important;
  height: 280px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center center;
}

/* Lista de estudiantes: reserva espacio real para la acción completa. */
.lm-v6-student-table-head,
.lm-v6-student-row {
  grid-template-columns: 52px minmax(230px, 1.35fr) minmax(155px, .85fr) 82px 112px;
}
.lm-v6-row-action {
  width: 100%;
  min-width: 104px;
  padding: 0 12px;
  white-space: nowrap;
  overflow: visible;
  line-height: 1;
}
.lm-v6-row-action span {
  flex: 0 0 auto;
}

@media (max-width: 1040px) and (min-width: 821px) {
  .lm-v6-student-table-head,
  .lm-v6-student-row {
    grid-template-columns: 48px minmax(195px, 1.2fr) minmax(135px, .8fr) 76px 108px;
    gap: 8px;
  }
}

@media (max-width: 820px) {
  .lm-v6-row-action {
    width: auto;
    min-width: 96px;
    justify-self: end;
  }
}

@media (max-width: 560px) {
  .lm-v6-row-action {
    justify-self: start;
  }
  .lm-home--v5 .lm-v4-mission-card__art--image {
    height: 148px !important;
    min-height: 148px !important;
  }
}
:root{--v15-navy:#082d68;--v15-blue:#1769e8;--v15-sky:#eaf6ff;--v15-green:#16a36d;--v15-orange:#f68b1f;--v15-purple:#7050e8;--v15-ink:#15375f;--v15-paper:#fffdf8;--v15-line:#dce9f7;--v15-shadow:0 18px 42px rgba(21,55,95,.12)}
.v15-home{min-height:100vh;color:var(--v15-ink);background:linear-gradient(#fffdf8,#f7fbff);font-family:inherit}.v15-home *{box-sizing:border-box}.v15-home__header{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid #dce8f4;box-shadow:0 4px 18px rgba(9,46,89,.06)}.v15-home__nav{width:min(1480px,calc(100% - 36px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.v15-home__links{display:flex;align-items:center;gap:22px}.v15-home__links a{color:#183654;text-decoration:none;font-weight:850;font-size:14px;white-space:nowrap}.v15-home__links a:hover{color:var(--v15-blue)}.v15-home__login{padding:14px 22px!important;border-radius:14px;background:linear-gradient(135deg,#ffb128,#f58217)!important;color:#fff!important;box-shadow:0 8px 22px rgba(245,130,23,.24)}
.v15-home__hero{width:min(1480px,calc(100% - 36px));margin:24px auto 0;padding:38px;border:1px solid #eee2cc;border-radius:30px;background:radial-gradient(circle at 84% 8%,rgba(35,153,255,.11),transparent 23%),linear-gradient(180deg,#fffefb,#fffaf0);box-shadow:0 16px 42px rgba(75,59,30,.07);display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;position:relative;overflow:hidden}.v15-home__hero::before,.v15-home__hero::after{content:none!important;display:none!important}.v15-home__copy{align-self:center}.v15-home__eyebrow{display:inline-flex;padding:9px 14px;border-radius:10px;background:#e7f2ff;color:#1b62aa;font-weight:950;font-size:12px;letter-spacing:.08em}.v15-home__copy h1{margin:16px 0 14px;font-size:clamp(52px,5vw,78px);line-height:.94;letter-spacing:-3.2px;color:#103e74}.v15-home__copy h1 em{display:block;color:var(--v15-green);font-style:normal}.v15-home__copy p{max-width:560px;font-size:18px;line-height:1.55;color:#45617a}.v15-home__copy>strong{display:block;margin-top:6px;font-size:17px}.v15-home__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.v15-home__actions a{padding:14px 20px;border-radius:14px;text-decoration:none;font-weight:900}.v15-home__actions a:first-child{background:var(--v15-blue);color:white;box-shadow:0 8px 20px rgba(23,105,232,.22)}.v15-home__actions a:last-child{border:1px solid #d6c6a5;background:white;color:#163d68}.v15-home__art{position:relative;margin:0;min-height:390px;border:6px solid #fff;border-radius:28px;overflow:hidden;background:#d7f0ff;box-shadow:0 20px 45px rgba(19,73,120,.17)}.v15-home__art>img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}.v15-home__art figcaption{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(5,42,85,.17)}.v15-home__art figcaption img{width:56px;height:56px;object-fit:cover;border-radius:12px}.v15-home__art figcaption b,.v15-home__art figcaption small{display:block}.v15-home__art figcaption small{margin-top:2px;color:#6f8296}.v15-home__spark{position:absolute;color:#ffd33e;font-style:normal;font-size:26px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.12));animation:v15float 2.7s ease-in-out infinite}.v15-home__spark.s1{right:12%;top:13%}.v15-home__spark.s2{right:6%;bottom:15%;animation-delay:.7s}.v15-home__spark.s3{left:51%;top:9%;animation-delay:1.2s}@keyframes v15float{50%{transform:translateY(-7px) rotate(8deg)}}
.v15-home__features{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v15-home__features article{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid #dde9f4;border-radius:18px;background:rgba(255,255,255,.85)}.v15-home__features article:nth-child(1){background:#f4efff}.v15-home__features article:nth-child(2){background:#eefaf4}.v15-home__features article:nth-child(3){background:#eff8ff}.v15-home__features article:nth-child(4){background:#fff8e3}.v15-home__features span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:white;font-size:24px}.v15-home__features b,.v15-home__features small{display:block}.v15-home__features small{margin-top:3px;color:#667d92}
.v15-home__journey{width:min(1480px,calc(100% - 36px));margin:22px auto;padding:26px;border:1px solid #e2e8f0;border-radius:28px;background:#fff;box-shadow:0 12px 32px rgba(22,54,90,.06);display:grid;grid-template-columns:250px 1fr;gap:22px}.v15-home__journey-title{padding:22px;border-radius:22px;background:linear-gradient(145deg,#e9fbf5,#eff8ff)}.v15-home__journey-title span,.v15-home__routes>div>span,.v15-home__contest-copy>span{font-size:11px;font-weight:950;letter-spacing:.11em;color:#7952d5}.v15-home__journey-title h2,.v15-home__routes h2,.v15-home__contest h2{margin:7px 0 8px;font-size:34px;line-height:1.02}.v15-home__journey-title p,.v15-home__routes p,.v15-home__contest p{color:#62798f;line-height:1.5}.v15-home__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v15-home__steps article{position:relative;padding:20px 16px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;text-align:center}.v15-home__steps article>b{position:absolute;right:14px;top:12px;font-size:25px;color:#79a98d}.v15-home__steps article:nth-child(2)>b{color:#e7a420}.v15-home__steps article:nth-child(3)>b{color:#8d67df}.v15-home__steps article:nth-child(4)>b{color:#ef7447}.v15-home__steps article>span{display:grid;place-items:center;width:62px;height:62px;margin:8px auto 10px;border-radius:18px;background:#eef8f3;font-size:31px}.v15-home__steps article:nth-child(2)>span{background:#fff5df}.v15-home__steps article:nth-child(3)>span{background:#f3efff}.v15-home__steps article:nth-child(4)>span{background:#fff0ed}.v15-home__steps h3{margin:4px 0;font-size:18px}.v15-home__steps p{font-size:13px;color:#6b7e91;line-height:1.45}
.v15-home__routes{width:min(1480px,calc(100% - 36px));margin:22px auto;padding:34px;border-radius:30px;color:white;background:radial-gradient(circle at 88% 18%,rgba(113,80,232,.25),transparent 25%),linear-gradient(135deg,#082b67,#0e477f 58%,#082b67);box-shadow:0 18px 44px rgba(10,43,97,.18)}.v15-home__routes>div:first-child{max-width:720px}.v15-home__routes h2{color:white}.v15-home__routes p{color:#c6d7eb}.v15-home__route-grid{margin-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v15-home__route-grid article{padding:20px;border-radius:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}.v15-home__route-grid i{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.14);font-size:23px;font-style:normal;font-weight:950}.v15-home__route-grid b,.v15-home__route-grid small{display:block}.v15-home__route-grid b{margin:12px 0 4px;font-size:18px}.v15-home__route-grid small{color:#c7d9ed;line-height:1.4}
.v15-home__contest{width:min(1480px,calc(100% - 36px));margin:22px auto 34px;padding:32px;border-radius:28px;background:linear-gradient(135deg,#fff6d9,#fff);border:1px solid #efd89c;display:grid;grid-template-columns:1fr 330px;gap:24px;align-items:center}.v15-home__contest-copy a{display:inline-block;margin-top:10px;padding:13px 18px;border-radius:13px;background:#0f62d7;color:white;text-decoration:none;font-weight:900}.v15-home__contest-card{padding:20px;border-radius:22px;background:white;border:1px solid #eadfbf;text-align:center;box-shadow:0 10px 28px rgba(72,58,33,.08)}.v15-home__contest-card img{width:88px;height:100px;object-fit:contain}.v15-home__contest-card b,.v15-home__contest-card span,.v15-home__contest-card small{display:block}.v15-home__contest-card b{margin-top:8px;font-size:18px}.v15-home__contest-card span{margin-top:3px}.v15-home__contest-card small{margin-top:3px;color:#75859a}
/* Login: elimina residuos decorativos viejos y refuerza legibilidad */
.lm-login--v5{background:#051b3d!important}.lm-v4-login-visual::before,.lm-v4-login-visual::after,.lm-v4-login-panel::before,.lm-v4-login-panel::after{content:none!important;display:none!important}.lm-v4-login-card{border-radius:26px!important;border:1px solid rgba(128,164,227,.22)!important;box-shadow:0 24px 58px rgba(0,0,0,.22)!important}.lm-v4-login-submit{border-radius:14px!important;background:linear-gradient(135deg,#ff9f19,#ff7416)!important}
@media(max-width:1050px){.v15-home__links a:not(.v15-home__login){display:none}.v15-home__hero{grid-template-columns:1fr}.v15-home__features,.v15-home__steps,.v15-home__route-grid{grid-template-columns:repeat(2,1fr)}.v15-home__journey{grid-template-columns:1fr}.v15-home__contest{grid-template-columns:1fr}}@media(max-width:650px){.v15-home__hero{padding:22px}.v15-home__copy h1{font-size:48px}.v15-home__features,.v15-home__steps,.v15-home__route-grid{grid-template-columns:1fr}.v15-home__contest-card{display:none}}
/* Reforzamiento directo de la portada existente: evita depender de una página nueva. */
.lm-home--reference{background:linear-gradient(180deg,#fffdf8,#f6fbff)!important;color:#15375f!important}.lm-home--reference .lm-v4-header{background:#fff!important;border-bottom:1px solid #dce8f4!important;box-shadow:0 4px 18px rgba(9,46,89,.06)!important}.lm-home--reference .lm-v4-nav__links a{color:#183654!important;text-shadow:none!important}.lm-home--reference .lm-v4-nav__links a:hover{color:#1769e8!important}.lm-home--reference .lm-home__login-button{background:linear-gradient(135deg,#ffb128,#f58217)!important;color:#fff!important;border:none!important;border-radius:14px!important}.lm-home--reference .lm-v4-hero--reference{background:radial-gradient(circle at 84% 8%,rgba(35,153,255,.10),transparent 23%),linear-gradient(180deg,#fffefb,#fffaf0)!important;border:1px solid #eee2cc!important;border-radius:30px!important;box-shadow:0 16px 42px rgba(75,59,30,.07)!important;overflow:hidden!important}.lm-home--reference .lm-v4-hero--reference::before,.lm-home--reference .lm-v4-hero--reference::after,.lm-home--reference .lm-v4-hero__stars::before,.lm-home--reference .lm-v4-hero__stars::after{content:none!important;display:none!important}.lm-home--reference .lm-v4-hero__copy h1{color:#103e74!important;text-shadow:none!important}.lm-home--reference .lm-v4-hero__copy h1 span{display:block!important;color:#16a36d!important}.lm-home--reference .lm-v4-hero__copy p{color:#45617a!important}.lm-home--reference .lm-v4-hero-art--reference{border:6px solid #fff!important;border-radius:28px!important;box-shadow:0 20px 45px rgba(19,73,120,.17)!important;overflow:hidden!important}.lm-home--reference .lm-v4-feature-strip article{border-radius:18px!important;background:#fff!important;border:1px solid #dde9f4!important;box-shadow:0 8px 20px rgba(19,63,100,.05)!important}.lm-home--reference .lm-v4-feature-strip article:nth-child(1){background:#f4efff!important}.lm-home--reference .lm-v4-feature-strip article:nth-child(2){background:#eefaf4!important}.lm-home--reference .lm-v4-feature-strip article:nth-child(3){background:#eff8ff!important}.lm-home--reference .lm-v4-feature-strip article:nth-child(4){background:#fff8e3!important}.lm-home--reference .lm-v4-section--journey{background:#fff!important}.lm-home--reference .lm-v4-journey{border-radius:28px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 12px 32px rgba(22,54,90,.06)!important}.lm-home--reference .lm-v4-journey__intro{border-radius:22px!important;background:linear-gradient(145deg,#e9fbf5,#eff8ff)!important}.lm-home--reference .lm-v4-step{border-radius:20px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:none!important}.lm-home--reference [class*="tape"],.lm-home--reference [class*="sticker"],.lm-home--reference [class*="paperclip"]{display:none!important;content:none!important}
:root {
  --u103-navy: #0c3769;
  --u103-blue: #0a8cf0;
  --u103-blue-2: #43b6f4;
  --u103-green: #10b878;
  --u103-green-dark: #087d54;
  --u103-yellow: #ffc942;
  --u103-orange: #ff9f2f;
  --u103-purple: #7766e8;
  --u103-coral: #ff625e;
  --u103-ink: #14345c;
  --u103-muted: #6d829b;
  --u103-bg: #eef7ff;
  --u103-line: #d6e6f2;
  --u103-card: #ffffff;
}

.u102,
.u102-exam,
.u103 {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 10% 0%, #dff3ff 0, transparent 33%),
    radial-gradient(circle at 100% 18%, #e7f6ff 0, transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, #eef7ff 48%, #f8fbff 100%);
  color: var(--u103-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.u103 *, .u102 *, .u102-exam * { box-sizing: border-box; }
.u103 button, .u103 input, .u103 select, .u103 textarea { font: inherit; }
.u103 button, .u103 a { -webkit-tap-highlight-color: transparent; }
.u103 button:focus-visible, .u103 a:focus-visible, .u103 input:focus-visible, .u103 select:focus-visible, .u103 textarea:focus-visible { outline: 3px solid #0a8cf044; outline-offset: 2px; }

.u103-topbar {
  min-height: 64px;
  padding: 9px max(3.5vw, 22px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--u103-line);
  box-shadow: 0 8px 24px rgba(31, 74, 113, .06);
  position: relative;
  z-index: 10;
}
.u103-brand { display: flex; align-items: center; gap: 9px; color: var(--u103-navy); }
.u103-brand b { font-size: 19px; font-weight: 900; }
.u103-fox { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px 10px 13px 13px; background: linear-gradient(145deg, #ff9b28, #ff6b22); color: #fff; box-shadow: 0 5px 12px #ff8a2733; transform: rotate(45deg); }
.u103-fox::first-letter { transform: rotate(-45deg); }
.u103-breadcrumb { display: flex; align-items: center; gap: 9px; color: #66829c; font-size: 12px; font-weight: 700; min-width: 0; }
.u103-breadcrumb a, .u103-breadcrumb button { border: 1px solid #d8e7f3; background: #f8fbff; color: #285d8d; text-decoration: none; padding: 7px 11px; border-radius: 10px; cursor: pointer; font-weight: 800; white-space: nowrap; }
.u103-topbar > strong { font-size: 11px; color: #476c8f; letter-spacing: .04em; white-space: nowrap; }

.u103-student-hero, .u103-teacher-hero {
  max-width: 1200px;
  margin: 26px auto 18px;
  min-height: 292px;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
  overflow: hidden;
  border-radius: 27px;
  background: linear-gradient(118deg, #084a91 0%, #057dca 57%, #17a7dd 100%);
  color: #fff;
  box-shadow: 0 22px 52px rgba(23, 78, 124, .22);
  border: 1px solid #ffffff44;
}
.u103-hero-copy { padding: 34px 38px; display: flex; flex-direction: column; justify-content: center; }
.u103-hero-copy > small { font-size: 11px; font-weight: 900; letter-spacing: .12em; opacity: .9; }
.u103-hero-copy h1 { margin: 7px 0 6px; font-size: clamp(40px, 5vw, 58px); line-height: 1; letter-spacing: -.04em; }
.u103-hero-copy h1 mark { color: var(--u103-yellow); background: none; }
.u103-hero-copy > p { margin: 0 0 20px; font-size: 17px; line-height: 1.35; max-width: 540px; }
.u103-illustration, .u103-teacher-illustration { width: 100%; height: 100%; min-height: 260px; display: block; }
.u103-illustration.is-compact { min-height: 0; height: auto; }

.u103-metrics { display: flex; gap: 9px; flex-wrap: wrap; }
.u103-metrics span { min-width: 108px; display: grid; grid-template-columns: 31px auto; grid-template-rows: auto auto; align-items: center; column-gap: 8px; padding: 8px 10px; border-radius: 12px; background: #ffffffee; color: var(--u103-ink); box-shadow: 0 5px 15px #052f6014; }
.u103-metrics span > b { grid-row: 1 / 3; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: #fff; }
.u103-metrics span > strong { font-size: 15px; line-height: 1; }
.u103-metrics span > small { font-size: 9px; font-weight: 800; color: #71859a; }
.u103-metrics .is-green > b { background: var(--u103-green); }
.u103-metrics .is-purple > b { background: var(--u103-purple); }
.u103-metrics .is-yellow > b { background: var(--u103-orange); }
.u103-metrics .is-coral > b { background: var(--u103-coral); }

.u103-routes, .u103-config-wrap, .u103-results-wrap { max-width: 1200px; margin: 20px auto 58px; }
.u103-section-heading, .u103-section-title { display: flex; align-items: center; gap: 13px; margin: 18px 4px; }
.u103-section-heading { justify-content: space-between; align-items: flex-end; }
.u103-section-heading small, .u103-section-title small { display: block; color: var(--u103-blue); font-size: 10px; letter-spacing: .12em; font-weight: 900; }
.u103-section-heading h2, .u103-section-title h2 { margin: 2px 0 0; font-size: 23px; letter-spacing: -.02em; }
.u103-section-heading p, .u103-section-title p { margin: 4px 0 0; font-size: 13px; line-height: 1.45; color: var(--u103-muted); }
.u103-section-heading > p { max-width: 390px; text-align: right; }
.u103-section-icon { width: 45px; height: 45px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; background: #dff2ff; color: var(--u103-blue); font-size: 21px; box-shadow: inset 0 0 0 1px #c9e8fb; }
.u103-section-icon.is-results { background: #e8e6ff; color: var(--u103-purple); }

.u103-route-grid, .u103-config-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.u103-route-card, .u103-config-card { background: rgba(255,255,255,.98); border: 1px solid var(--u103-line); border-radius: 22px; box-shadow: 0 14px 38px rgba(34, 77, 113, .11); overflow: hidden; }
.u103-route-card { padding: 21px; border-top: 5px solid var(--u103-green); }
.u103-route-card.is-2 { border-top-color: var(--u103-blue); }
.u103-route-card > header, .u103-config-card > header { display: grid; grid-template-columns: 54px 1fr 62px; align-items: center; gap: 12px; }
.u103-number { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #22c988, #0fa96f); color: #fff; font-size: 19px; font-weight: 900; box-shadow: 0 7px 18px #13b67933; }
.is-2 .u103-number { background: linear-gradient(145deg, #21a1ff, #087fd6); box-shadow: 0 7px 18px #0a8cf033; }
.u103-route-card header small, .u103-config-card header small { color: #7b91a7; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.u103-route-card header h3, .u103-config-card header h3 { margin: 3px 0; font-size: 18px; line-height: 1.18; }
.u103-route-card header p, .u103-config-card header p { margin: 0; color: var(--u103-muted); font-size: 12px; }
.u103-topic-badge { width: 58px; height: 54px; display: grid; place-items: center; justify-self: end; border-radius: 16px; background: #eaf8f2; color: var(--u103-green-dark); font-size: 18px; font-weight: 900; transform: rotate(2deg); }
.is-2 .u103-topic-badge { background: #e7f4ff; color: #0878c9; }
.u103-status { margin: 17px 0 12px; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 11px; font-size: 12px; font-weight: 900; }
.u103-status.is-open { background: #e5f8ef; color: #08774f; }
.u103-status.is-scheduled { background: #fff4d7; color: #8a6818; }
.u103-status.is-disabled, .u103-status.is-closed { background: #edf2f6; color: #687d90; }
.u103-route-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 13px; }
.u103-route-meta span { padding: 10px; border-radius: 11px; background: #f6f9fc; color: #667f97; font-size: 11px; }
.u103-route-meta b { display: block; margin-bottom: 4px; color: #2b5b83; font-size: 10px; }
.u103-completed { display: flex; justify-content: space-between; align-items: center; margin: 10px 0; padding: 9px 11px; border-radius: 10px; background: #eff5ff; }
.u103-completed strong { color: var(--u103-blue); font-size: 22px; }
.u103-completed span { color: #5f7890; font-size: 11px; font-weight: 800; }
.u103-start-button, .u103-save, .u103-begin-button, .u103-next { width: 100%; border: 0; border-radius: 11px; padding: 12px 16px; color: #fff; font-weight: 900; cursor: pointer; box-shadow: 0 7px 17px rgba(9, 111, 189, .17); }
.u103-start-button.is-1, .u103-save.is-1 { background: linear-gradient(135deg, #11b878, #08a56a); }
.u103-start-button.is-2, .u103-save.is-2, .u103-begin-button, .u103-next { background: linear-gradient(135deg, #0c94f4, #087bd7); }
.u103-start-button:disabled, .u103-save:disabled { background: #aab8c6; box-shadow: none; cursor: not-allowed; }

.u103-config-card { padding: 21px; border-top: 5px solid var(--u103-green); }
.u103-config-card.is-2 { border-top-color: var(--u103-blue); }
.u103-toggle-row { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; margin: 16px 0 13px; padding: 11px 12px; background: #f3f8fb; border-radius: 13px; cursor: pointer; }
.u103-toggle-row input { position: absolute; opacity: 0; pointer-events: none; }
.u103-toggle { width: 44px; height: 25px; border-radius: 99px; background: #b5c5d4; position: relative; transition: .2s; }
.u103-toggle::after { content: ""; position: absolute; left: 3px; top: 3px; width: 19px; height: 19px; border-radius: 50%; background: #fff; box-shadow: 0 1px 5px #0002; transition: .2s; }
.u103-toggle-row input:checked + .u103-toggle { background: var(--u103-green); }
.u103-config-card.is-2 .u103-toggle-row input:checked + .u103-toggle { background: var(--u103-blue); }
.u103-toggle-row input:checked + .u103-toggle::after { transform: translateX(19px); }
.u103-toggle-row > span:last-child { display: flex; flex-direction: column; }
.u103-toggle-row b { font-size: 13px; }
.u103-toggle-row small { margin-top: 2px; color: #7a8fa3; font-size: 10px; }
.u103-fields { display: grid; grid-template-columns: 1.25fr .75fr; gap: 11px; }
.u103-fields label { color: #385c7e; font-size: 11px; font-weight: 800; }
.u103-fields label > span { display: block; margin-bottom: 6px; }
.u103-fields input, .u103-fields select { width: 100%; padding: 10px 11px; border: 1px solid #cadbe8; border-radius: 10px; background: #fff; color: var(--u103-ink); }
.u103-fields input:disabled { background: #eef3f7; color: #9cadbb; }
.u103-save { margin-top: 13px; }
.u102-card-message { margin-top: 11px; padding: 9px 11px; border-radius: 9px; font-size: 12px; font-weight: 800; }
.u102-card-message.is-ok { background: #e6f8ef; color: #08764f; }
.u102-card-message.is-error, .u102-alert.is-error { background: #fff0ef; border: 1px solid #f0c6c3; color: #9d3b38; }
.u102-alert { max-width: 1200px; margin: 12px auto; padding: 12px 15px; border-radius: 12px; font-weight: 750; }
.u102-loading { padding: 25px; text-align: center; border: 1px dashed #c9ddea; border-radius: 17px; background: #fff; color: #6e8498; font-weight: 800; }

.u103-results-wrap { margin-top: -16px; }
.u103-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.u103-refresh { border: 1px solid #cfe0ed; background: #fff; color: #2c628d; padding: 9px 13px; border-radius: 10px; font-weight: 850; cursor: pointer; white-space: nowrap; }
.u103-refresh:disabled { opacity: .55; cursor: wait; }
.u103-year-chip { display: inline-block; margin: -6px 0 11px 4px; padding: 6px 10px; border-radius: 99px; background: #eaf6ff; color: #2a658f; font-size: 11px; }
.u103-results-card { background: #fff; border: 1px solid var(--u103-line); border-radius: 22px; box-shadow: 0 16px 38px rgba(34, 77, 113, .1); overflow: hidden; }
.u103-section-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding: 13px; background: #f3f8fc; border-bottom: 1px solid var(--u103-line); }
.u103-section-tabs button { border: 1px solid #d6e4ef; border-radius: 13px; background: #fff; padding: 11px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 8px; color: #47718f; cursor: pointer; }
.u103-section-tabs button > span { grid-row: 1 / 3; font-size: 21px; }
.u103-section-tabs button b { font-size: 15px; }
.u103-section-tabs button small { font-size: 9px; color: #8195a7; }
.u103-section-tabs button.active { color: #fff; background: linear-gradient(135deg, #168fe6, #0a70c3); border-color: transparent; box-shadow: 0 7px 18px #0a8cf029; }
.u103-section-tabs button.active small { color: #dceeff; }
.u103-table-wrap { padding: 16px 18px 20px; overflow-x: auto; }
.u103-table-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }
.u103-table-title > div:first-child { display: flex; align-items: baseline; gap: 9px; }
.u103-table-title strong { font-size: 20px; }
.u103-table-title > div:first-child span { color: #7a8fa4; font-size: 11px; }
.u103-table-legend { display: flex; gap: 12px; color: #778ca1; font-size: 10px; }
.u103-table-legend span { display: flex; align-items: center; gap: 5px; }
.u103-table-legend i { width: 8px; height: 8px; border-radius: 50%; background: #aebcc8; }
.u103-table-legend i.is-green { background: var(--u103-green); }
.u103-results-table { width: 100%; min-width: 820px; border-collapse: separate; border-spacing: 0; font-size: 12px; }
.u103-results-table th { padding: 10px 11px; text-align: left; background: #edf7ff; color: #315e86; border-top: 1px solid #d7e7f3; border-bottom: 1px solid #d7e7f3; font-size: 10px; text-transform: uppercase; letter-spacing: .035em; }
.u103-results-table th:first-child { border-left: 1px solid #d7e7f3; border-radius: 10px 0 0 10px; }
.u103-results-table th:last-child { border-right: 1px solid #d7e7f3; border-radius: 0 10px 10px 0; }
.u103-results-table td { padding: 10px 11px; border-bottom: 1px solid #edf2f6; vertical-align: middle; }
.u103-student-name { display: flex; align-items: center; gap: 9px; min-width: 230px; }
.u103-student-name > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #dff2ff, #bfe5fb); color: #166a9e; font-size: 10px; font-weight: 900; }
.u103-student-name div { display: flex; flex-direction: column; }
.u103-student-name b { font-size: 12px; }
.u103-student-name small { color: #8aa0b3; font-size: 9px; }
.u103-grade, .u103-average { display: inline-flex; align-items: baseline; gap: 2px; min-width: 52px; justify-content: center; padding: 6px 8px; border-radius: 9px; font-weight: 900; }
.u103-grade small { font-size: 8px; font-weight: 800; }
.u103-grade.is-pass { background: #e5f8ef; color: #087650; }
.u103-grade.is-low { background: #fff0e7; color: #b55d20; }
.u103-average { background: #edf4ff; color: #285fa0; }
.u103-score-empty { color: #a2b0bc; font-weight: 800; }
.u103-result-status { display: inline-block; padding: 6px 8px; border-radius: 99px; font-size: 9px; font-weight: 900; white-space: nowrap; }
.u103-result-status.is-done { background: #e5f8ef; color: #087650; }
.u103-result-status.is-partial { background: #fff3d8; color: #8a6717; }
.u103-result-status.is-pending { background: #edf2f5; color: #687d8f; }
.u103-empty-results { padding: 34px; text-align: center; color: #71869a; }
.u103-empty-results b { display: block; color: #315e84; font-size: 18px; }
.u103-empty-results p { margin: 5px 0; }

.u103-intro-shell { max-width: 1200px; margin: 24px auto 55px; display: grid; grid-template-columns: 148px 1fr; gap: 18px; }
.u103-intro-side { display: flex; flex-direction: column; gap: 12px; }
.u103-intro-index, .u103-intro-nav { background: #fff; border: 1px solid var(--u103-line); border-radius: 18px; box-shadow: 0 10px 25px rgba(31,75,113,.08); }
.u103-intro-index { padding: 15px; display: flex; flex-direction: column; }
.u103-intro-index span { color: var(--u103-blue); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.u103-intro-index strong { margin-top: 5px; font-size: 16px; }
.u103-intro-index small { color: #8195a7; font-size: 9px; }
.u103-intro-nav { padding: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.u103-intro-nav span { height: 35px; display: grid; place-items: center; border-radius: 10px; background: #edf6fd; color: #47708f; font-size: 11px; font-weight: 900; }
.u103-intro-card { background: #fff; border: 1px solid var(--u103-line); border-radius: 22px; box-shadow: 0 16px 40px rgba(31,75,113,.1); overflow: hidden; }
.u103-intro-card > header { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--u103-line); }
.u103-clipboard { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; background: #e4f4ff; color: var(--u103-blue); font-size: 21px; font-weight: 900; }
.u103-intro-card > header small { color: var(--u103-blue); font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.u103-intro-card > header h1 { margin: 2px 0; font-size: 20px; }
.u103-intro-card > header p { margin: 0; color: #71879b; font-size: 11px; }
.u103-story-card { margin: 20px; border: 1px solid #ffe2a3; border-radius: 19px; background: linear-gradient(135deg, #fff9e8, #fffdf7 62%, #f1fbff); display: grid; grid-template-columns: 1.25fr .75fr; overflow: hidden; }
.u103-story-copy { padding: 21px 22px; }
.u103-story-label { display: inline-block; padding: 5px 8px; border-radius: 8px; background: #ffcf59; color: #6d500b; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.u103-story-copy h2 { margin: 8px 0 10px; font-size: 21px; color: #184d79; }
.u103-story-copy p { margin: 7px 0; color: #4c6b85; font-size: 12px; line-height: 1.55; }
.u103-fact-row { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.u103-fact-row span { padding: 5px 8px; border-radius: 99px; background: #fff; border: 1px solid #ecdba8; color: #456681; font-size: 9px; font-weight: 850; }
.u103-story-card .u103-illustration { align-self: end; min-height: 230px; height: 100%; }
.u103-begin-button { width: calc(100% - 40px); margin: 0 20px 20px; font-size: 14px; }
.u103-begin-button span { margin-left: 7px; }

.u103-exam-bar { position: sticky; top: 0; z-index: 35; min-height: 70px; padding: 10px max(2.5vw, 18px); display: grid; grid-template-columns: auto minmax(270px,1fr) auto auto auto; align-items: center; gap: 14px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--u103-line); box-shadow: 0 7px 20px rgba(25, 72, 111, .1); }
.u103-exam-back { border: 1px solid #d5e4ef; background: #f8fbff; color: #245d8c; border-radius: 10px; padding: 8px 11px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.u103-exam-title { display: flex; flex-direction: column; min-width: 0; }
.u103-exam-title small { color: #6d86a0; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.u103-exam-title strong { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.u102-save-state { min-width: 74px; color: #688197; font-size: 10px; font-weight: 800; text-align: center; }
.u103-timer { display: flex; align-items: center; gap: 8px; color: #1c6295; }
.u103-timer > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: #e5f4ff; color: var(--u103-blue); font-size: 18px; }
.u103-timer div { display: flex; flex-direction: column; }
.u103-timer small { font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.u103-timer strong { font-size: 19px; line-height: 1; }
.u103-finish { border: 0; border-radius: 10px; background: linear-gradient(135deg, #ff6b63, #f34d51); color: #fff; padding: 9px 13px; font-weight: 900; cursor: pointer; }
.u103-progress { position: sticky; top: 70px; z-index: 34; height: 4px; background: #dfeaf2; }
.u103-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--u103-green), #44cfa0); transition: width .2s; }

.u103-exam-layout { max-width: 1200px; margin: 22px auto 54px; display: grid; grid-template-columns: 210px 1fr; gap: 17px; }
.u103-exam-side { display: flex; flex-direction: column; gap: 12px; }
.u103-competency-mini, .u103-question-nav, .u103-mini-tip, .u103-question-panel { background: #fff; border: 1px solid var(--u103-line); border-radius: 18px; box-shadow: 0 10px 26px rgba(31,75,113,.08); }
.u103-competency-mini { padding: 12px; display: flex; align-items: center; gap: 9px; }
.u103-competency-mini > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #e6f4ff; color: var(--u103-blue); font-weight: 900; }
.u103-competency-mini div { display: flex; flex-direction: column; min-width: 0; }
.u103-competency-mini small { color: var(--u103-green-dark); font-size: 8px; font-weight: 900; }
.u103-competency-mini strong { font-size: 10px; line-height: 1.25; }
.u103-question-nav { padding: 13px; }
.u103-question-nav > span { font-size: 11px; font-weight: 900; }
.u103-question-nav > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin: 9px 0; }
.u103-question-nav button { height: 36px; border: 1px solid #d8e6f0; border-radius: 10px; background: #f4f8fb; color: #627c92; font-weight: 900; cursor: pointer; }
.u103-question-nav button.answered { background: #e7f7ef; border-color: #bfe6d3; color: #087750; }
.u103-question-nav button.active { background: var(--u103-blue); border-color: var(--u103-blue); color: #fff; box-shadow: 0 5px 12px #0a8cf02c; }
.u103-question-nav > small { color: #7f93a5; font-size: 9px; }
.u103-mini-tip { padding: 13px; display: flex; gap: 8px; align-items: flex-start; background: linear-gradient(145deg, #fff9e9, #fff); border-color: #f1dfb1; }
.u103-mini-tip b { font-size: 19px; }
.u103-mini-tip p { margin: 0; color: #776d52; font-size: 9px; line-height: 1.45; }
.u103-question-panel { overflow: hidden; }
.u103-question-panel > header { padding: 17px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--u103-line); background: linear-gradient(180deg, #fff, #fbfdff); }
.u103-question-panel > header > div { min-width: 0; }
.u103-question-chip { display: inline-block; padding: 5px 9px; border-radius: 99px; background: linear-gradient(135deg, #1fc682, #0dac70); color: #fff; font-size: 9px; font-weight: 900; }
.u103-question-panel > header small { display: block; margin-top: 6px; color: #7190a8; font-size: 8px; letter-spacing: .09em; font-weight: 900; }
.u103-question-panel > header h2 { margin: 2px 0 0; font-size: 19px; }
.u103-points-chip { flex: 0 0 auto; padding: 6px 9px; border-radius: 99px; background: #e9f6ff; color: #1374b5; font-size: 9px; font-weight: 900; }
.u103-question-body { padding: 22px; min-height: 420px; }
.u103-question-prompt { margin-bottom: 18px; padding: 15px; border: 1px solid #d8e8f3; border-radius: 15px; background: linear-gradient(135deg, #f6fbff, #fff); }
.u103-question-prompt > div { display: flex; align-items: flex-start; gap: 11px; }
.u103-prompt-icon { width: 43px; height: 43px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, #e8f6ff, #d4edff); color: #087ccf; font-size: 15px; font-weight: 900; }
.u103-question-prompt p { margin: 0; color: #234b70; font-size: 16px; line-height: 1.5; font-weight: 650; }
.u103-question-prompt small { display: block; margin: 8px 0 0 54px; color: #7d8fa1; font-size: 10px; }
.u103-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.u103-options button { min-height: 60px; padding: 10px 11px; display: flex; align-items: center; gap: 10px; text-align: left; border: 1px solid #d7e4ed; border-radius: 13px; background: #fbfdff; color: #224a6f; cursor: pointer; transition: .14s ease; }
.u103-options button:hover { transform: translateY(-1px); border-color: #9fcdef; box-shadow: 0 6px 14px #2b74aa10; }
.u103-options button > b { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: #e7f0f7; color: #58748d; }
.u103-options button span { font-size: 12px; line-height: 1.35; }
.u103-options button.selected { border-color: var(--u103-blue); background: #eaf6ff; box-shadow: inset 0 0 0 1px #0a8cf01d; }
.u103-options button.selected > b { background: var(--u103-blue); color: #fff; }
.u103-formula-card { padding: 18px; border-radius: 16px; background: linear-gradient(135deg, #fff8e6, #fffdf8 55%, #f4fbff); border: 1px solid #f2dca7; }
.u103-formula { display: block; padding: 17px; margin-bottom: 13px; border-radius: 13px; background: #fff; border: 1px solid #e6e8e8; color: #123f72; text-align: center; font-family: Georgia, "Times New Roman", serif; font-size: clamp(19px, 3vw, 27px); font-weight: 800; letter-spacing: .02em; }
.u103-complete { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.u103-complete label { color: #42627f; font-size: 10px; font-weight: 800; }
.u103-complete label > span { display: block; margin-bottom: 5px; }
.u103-complete input { width: 100%; padding: 10px; border: 1px solid #c9dbe7; border-radius: 10px; background: #fff; color: #123f72; font-size: 16px; font-weight: 800; text-align: center; }
.u103-matching { display: grid; gap: 8px; }
.u103-match-head { display: grid; grid-template-columns: 1fr 220px; gap: 42px; padding: 0 12px; color: #6a859c; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.u103-matching label { display: grid; grid-template-columns: 1fr 26px 220px; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: #f7fbfe; border: 1px solid #e1ebf2; }
.u103-matching label > span:first-child { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 750; }
.u103-matching label > span:first-child b { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; background: #e4f3fe; color: #1777b4; }
.u103-matching label > span:nth-child(2) { text-align: center; color: var(--u103-blue); font-weight: 900; }
.u103-matching select { width: 100%; padding: 9px 10px; border: 1px solid #c9dbe7; border-radius: 9px; background: #fff; color: #28506f; font-size: 11px; }
.u103-order { display: grid; gap: 8px; }
.u103-order > div { display: grid; grid-template-columns: 34px 1fr 32px 32px; gap: 7px; align-items: center; padding: 9px; border: 1px solid #d9e5ee; border-radius: 12px; background: #f8fbfd; }
.u103-order > div > b { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: linear-gradient(145deg, #ffc84d, #f3aa24); color: #fff; }
.u103-order > div > span { font-size: 11px; }
.u103-order button { height: 31px; border: 0; border-radius: 8px; background: #e8f1f7; color: #3e6583; font-weight: 900; cursor: pointer; }
.u103-order button:disabled { opacity: .35; cursor: default; }
.u103-help { display: block; margin-top: 9px; color: #8194a5; font-size: 9px; }
.u103-justification { display: block; margin-top: 13px; padding: 13px; border-radius: 13px; background: #fff9e8; border: 1px solid #f2dfaa; }
.u103-justification > span { display: block; margin-bottom: 6px; color: #665b39; font-size: 10px; font-weight: 900; }
.u103-justification textarea { width: 100%; resize: vertical; min-height: 82px; padding: 10px 11px; border: 1px solid #d7cfb3; border-radius: 10px; background: #fff; color: #284c68; font-size: 11px; line-height: 1.45; }
.u103-question-panel > footer { display: flex; justify-content: space-between; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--u103-line); background: #fbfdff; }
.u103-question-panel > footer button { min-width: 130px; border: 1px solid #d1e0eb; border-radius: 10px; padding: 10px 15px; background: #fff; color: #365e7d; font-weight: 850; cursor: pointer; }
.u103-question-panel > footer button:disabled { opacity: .42; cursor: default; }
.u103-question-panel > footer .u103-next { width: auto; min-width: 145px; border: 0; color: #fff; }
.u103-question-panel > footer .u103-next.is-finish { background: linear-gradient(135deg, #ff7069, #f34f52); }

.u103-result { max-width: 880px; margin: 35px auto 65px; background: #fff; border: 1px solid var(--u103-line); border-radius: 24px; box-shadow: 0 18px 48px rgba(28,75,113,.14); overflow: hidden; }
.u103-result-hero { min-height: 285px; position: relative; display: grid; grid-template-columns: 1fr 150px 330px; align-items: center; gap: 12px; padding: 24px 28px; background: linear-gradient(135deg, #e9fff0 0%, #fff 42%, #e8f7ff 100%); overflow: hidden; }
.u103-result-hero > div:first-of-type:not(.u103-confetti) { z-index: 2; }
.u103-result-hero small { color: #099767; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.u103-result-hero h1 { margin: 5px 0 4px; font-size: 30px; color: #0b7b52; }
.u103-result-hero p { margin: 0; color: #56728b; font-size: 12px; }
.u103-score-badge { width: 126px; height: 126px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: linear-gradient(145deg, #fff, #fff4d1); border: 7px solid #ffc746; color: #e35348; box-shadow: 0 10px 25px #d29a252b; z-index: 2; }
.u103-score-badge strong { font-size: 47px; line-height: .9; }
.u103-score-badge span { font-size: 18px; font-weight: 900; }
.u103-result-hero .u103-illustration { min-height: 0; height: auto; align-self: end; }
.u103-confetti { position: absolute; inset: 8px 15px auto 15px; color: #ffbd31; font-size: 22px; letter-spacing: 22px; opacity: .85; white-space: nowrap; pointer-events: none; }
.u103-result-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 18px 22px 8px; }
.u103-result-stats span { display: grid; grid-template-columns: 39px auto; grid-template-rows: auto auto; align-items: center; gap: 0 8px; padding: 11px; border: 1px solid #e0e9f0; border-radius: 13px; background: #fbfdff; }
.u103-result-stats i { grid-row: 1 / 3; width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-style: normal; font-size: 19px; font-weight: 900; }
.u103-result-stats b { font-size: 16px; }
.u103-result-stats small { color: #8092a3; font-size: 9px; }
.u103-result-stats .is-green i { background: var(--u103-green); }
.u103-result-stats .is-coral i { background: var(--u103-coral); }
.u103-result-stats .is-yellow i { background: var(--u103-orange); }
.u103-result-stats .is-blue i { background: var(--u103-blue); }
.u103-result-date { margin: 5px 22px; color: #8295a6; font-size: 10px; text-align: center; }
.u103-result-actions { display: flex; justify-content: center; padding: 13px 22px 22px; }
.u103-back-action { border: 1px solid #cfe0ed; border-radius: 10px; background: #fff; color: #2b628d; padding: 10px 18px; font-weight: 900; cursor: pointer; }

@media (max-width: 1000px) {
  .u103-student-hero, .u103-teacher-hero, .u103-routes, .u103-config-wrap, .u103-results-wrap, .u102-alert { margin-left: 14px; margin-right: 14px; }
  .u103-exam-layout, .u103-intro-shell { margin-left: 12px; margin-right: 12px; }
  .u103-topbar { grid-template-columns: auto 1fr; }
  .u103-topbar > strong { display: none; }
  .u103-exam-bar { grid-template-columns: auto minmax(190px,1fr) auto auto; }
  .u102-save-state { display: none; }
  .u103-result-hero { grid-template-columns: 1fr 120px 250px; }
}

@media (max-width: 780px) {
  .u103-student-hero, .u103-teacher-hero { grid-template-columns: 1fr; }
  .u103-illustration, .u103-teacher-illustration { max-height: 240px; }
  .u103-route-grid, .u103-config-grid { grid-template-columns: 1fr; }
  .u103-section-heading, .u103-results-heading { display: block; }
  .u103-section-heading > p { text-align: left; margin-top: 8px; }
  .u103-refresh { margin: 0 4px 10px; }
  .u103-intro-shell { grid-template-columns: 1fr; }
  .u103-intro-side { display: none; }
  .u103-story-card { grid-template-columns: 1fr; }
  .u103-story-card .u103-illustration { max-height: 210px; }
  .u103-exam-layout { grid-template-columns: 1fr; }
  .u103-exam-side { display: grid; grid-template-columns: 1fr 1fr; }
  .u103-mini-tip { display: none; }
  .u103-options { grid-template-columns: 1fr; }
  .u103-result { margin-left: 12px; margin-right: 12px; }
  .u103-result-hero { grid-template-columns: 1fr 105px; }
  .u103-result-hero .u103-illustration { display: none; }
  .u103-result-stats { grid-template-columns: 1fr 1fr; }
  .u103-complete { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .u103-topbar { padding: 8px 12px; gap: 10px; }
  .u103-brand b { font-size: 16px; }
  .u103-breadcrumb { justify-self: end; }
  .u103-breadcrumb span, .u103-breadcrumb strong { display: none; }
  .u103-hero-copy { padding: 26px 21px; }
  .u103-hero-copy h1 { font-size: 42px; }
  .u103-fields { grid-template-columns: 1fr; }
  .u103-route-card > header, .u103-config-card > header { grid-template-columns: 48px 1fr; }
  .u103-topic-badge { display: none; }
  .u103-route-meta { grid-template-columns: 1fr; }
  .u103-section-tabs { grid-template-columns: 1fr 1fr 1fr; }
  .u103-section-tabs button { grid-template-columns: 1fr; text-align: center; }
  .u103-section-tabs button > span { display: none; }
  .u103-exam-bar { grid-template-columns: auto 1fr auto; padding: 8px 10px; gap: 8px; }
  .u103-exam-title small { display: none; }
  .u103-timer > span, .u103-timer small { display: none; }
  .u103-timer strong { font-size: 16px; }
  .u103-finish { grid-column: 3; padding: 8px 10px; font-size: 11px; }
  .u103-progress { top: 62px; }
  .u103-exam-side { grid-template-columns: 1fr; }
  .u103-competency-mini { display: none; }
  .u103-question-nav > div { grid-template-columns: repeat(5, 1fr); }
  .u103-question-body { padding: 15px; min-height: 0; }
  .u103-question-panel > header { padding: 14px; }
  .u103-question-panel > header h2 { font-size: 16px; }
  .u103-question-prompt p { font-size: 14px; }
  .u103-question-prompt small { margin-left: 0; }
  .u103-prompt-icon { width: 37px; height: 37px; }
  .u103-matching label { grid-template-columns: 1fr; }
  .u103-match-head, .u103-matching label > span:nth-child(2) { display: none; }
  .u103-matching select { margin-top: 6px; }
  .u103-result-stats { padding: 12px; gap: 7px; }
  .u103-result-stats span { grid-template-columns: 32px auto; padding: 8px; }
  .u103-result-stats i { width: 32px; height: 32px; }
  .u103-result-hero { min-height: 225px; padding: 18px; }
  .u103-result-hero h1 { font-size: 24px; }
  .u103-score-badge { width: 92px; height: 92px; border-width: 5px; }
  .u103-score-badge strong { font-size: 35px; }
}


/* ===== UNIDAD V R4: FLUJO VERTICAL + ILUSTRACION + EXPORTACION ===== */
.u104-photo-illustration,
.u104-teacher-photo {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 250px;
  overflow: hidden;
  background: linear-gradient(145deg, #dff4ff, #fff5d8);
}
.u104-photo-illustration img,
.u104-teacher-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
}
.u104-photo-illustration.is-compact {
  min-height: 230px;
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(21,73,115,.16);
}
.u103-student-hero .u104-photo-illustration,
.u103-teacher-hero .u104-teacher-photo {
  min-height: 300px;
}
.u103-student-hero .u104-photo-illustration img,
.u103-teacher-hero .u104-teacher-photo img {
  object-position: 62% center;
}
.u104-teacher-photo-badges {
  position: absolute;
  right: 16px;
  top: 16px;
  display: grid;
  gap: 7px;
}
.u104-teacher-photo-badges span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #0b5e9c;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .05em;
  box-shadow: 0 5px 18px rgba(18,64,101,.15);
}

.u104 .u103-result-hero .u104-photo-illustration {
  min-height: 225px;
  align-self: stretch;
}
.u104 .u103-result-hero .u104-photo-illustration img {
  object-position: center;
}

.u104-exam-bar {
  position: sticky;
  top: 0;
  z-index: 70;
  box-shadow: 0 8px 24px rgba(19,65,103,.08);
}
.u104-progress {
  position: sticky;
  top: 66px;
  z-index: 69;
}
.u104-exam-layout {
  max-width: 1180px;
  margin: 24px auto 70px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.u104-exam-side {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 14px;
}
.u104-question-nav {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid #d6e5f0;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 32px rgba(26,72,108,.08);
}
.u104-question-nav > span {
  display: block;
  margin-bottom: 9px;
  color: #274d6e;
  font-size: 11px;
  font-weight: 950;
}
.u104-story-link {
  width: 100%;
  margin-bottom: 10px;
  padding: 10px 11px;
  border: 1px solid #ffd58a;
  border-radius: 11px;
  background: linear-gradient(135deg,#fff9e9,#fff3c8);
  color: #7b5714;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  text-align: left;
}
.u104-nav-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 7px;
}
.u104-nav-grid button {
  aspect-ratio: 1;
  border: 1px solid #cfe0ec;
  border-radius: 10px;
  background: #f7fbfe;
  color: #496c87;
  font-weight: 900;
  cursor: pointer;
}
.u104-nav-grid button.answered {
  border-color: #89d7b7;
  background: #e8f8f1;
  color: #087d52;
}
.u104-question-nav > small {
  display: block;
  margin-top: 10px;
  color: #8396a6;
  font-size: 9px;
}
.u104-flow {
  display: grid;
  gap: 22px;
}
.u104-story-card {
  scroll-margin-top: 105px;
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(260px,.75fr);
  gap: 18px;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid #d8e8f3;
  background:
    radial-gradient(circle at 10% 10%, rgba(65,178,244,.12), transparent 34%),
    linear-gradient(145deg,#fff,#f8fcff 64%,#eef9ff);
  box-shadow: 0 18px 44px rgba(26,74,110,.12);
}
.u104-story-copy {
  padding: 28px 28px 24px;
}
.u104-eyebrow {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff0b5;
  color: #8b6110;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
}
.u104-story-copy h1 {
  margin: 10px 0 14px;
  color: #0c467c;
  font-size: 25px;
  line-height: 1.15;
}
.u104-story-copy p {
  margin: 0 0 10px;
  color: #385b76;
  font-size: 13px;
  line-height: 1.6;
}
.u104-fact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
}
.u104-fact-row span {
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid #cfe4f3;
  background: #fff;
  color: #0d6ba5;
  font-size: 10px;
  font-weight: 850;
}
.u104-flow-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 14px;
  padding: 0 4px;
}
.u104-flow-heading span {
  color: #0b91dd;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.u104-flow-heading h2 {
  margin: 4px 0 3px;
  color: #103f6e;
  font-size: 25px;
}
.u104-flow-heading p {
  margin: 0;
  color: #70869a;
  font-size: 11px;
}
.u104-flow-counter {
  min-width: 110px;
  padding: 11px 13px;
  border-radius: 15px;
  background: linear-gradient(135deg,#e8f9f1,#f6fffb);
  border: 1px solid #bee8d4;
  text-align: center;
}
.u104-flow-counter strong {
  display: block;
  color: #087b52;
  font-size: 20px;
}
.u104-flow-counter span {
  color: #5e8d78;
  font-size: 9px;
}
.u104-question-card {
  scroll-margin-top: 100px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid #d6e5ef;
  background: #fff;
  box-shadow: 0 14px 34px rgba(27,72,108,.09);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.u104-question-card.is-answered {
  border-color: #a9dec8;
}
.u104-question-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #e4edf3;
  background: linear-gradient(180deg,#fff,#fbfdff);
}
.u104-question-header small {
  display: block;
  margin-top: 7px;
  color: #0a8bd2;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .08em;
}
.u104-question-header h2 {
  margin: 4px 0 0;
  color: #123e6d;
  font-size: 21px;
  line-height: 1.2;
}
.u104-question-body {
  min-height: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: minmax(0,1fr) 220px;
  gap: 0;
}
.u104-question-main {
  min-width: 0;
  padding: 20px;
}
.u104-answer-zone {
  min-width: 0;
}
.u104-question-visual {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  background:
    radial-gradient(circle at 45% 30%, rgba(255,211,83,.28), transparent 38%),
    linear-gradient(150deg,#eff9ff,#fff7df);
}
.u104-question-visual::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  border: 1px dashed rgba(23,133,201,.22);
}
.u104-question-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.u104-question-card:nth-of-type(odd) .u104-question-visual img {
  object-position: 54% center;
}
.u104 .u103-question-prompt {
  margin-bottom: 16px;
}
.u104 .u103-options {
  gap: 9px;
}
.u104 .u103-options button {
  min-height: 52px;
  font-size: 12px;
}
.u104 .u103-options button.selected {
  border-color: #178fd8;
  background: #eef8ff;
}
.u104 .u103-options button.selected > b {
  background: #178fd8;
}
.u104 .u103-matching label {
  min-height: 58px;
  padding: 10px 12px;
}
.u104 .u103-matching select {
  min-height: 38px;
  font-size: 12px;
}
.u104 .u103-order > div {
  min-height: 56px;
}
.u104 .u103-justification {
  margin-top: 14px;
}
.u104 .u103-justification > small {
  display: block;
  margin-top: 7px;
  color: #8b7b4a;
  font-size: 9px;
  line-height: 1.35;
}
.u104-inline-formula {
  padding: 20px 18px 16px;
  border-radius: 17px;
  border: 1px solid #f0d99b;
  background: linear-gradient(145deg,#fffaf0,#fff 62%,#f1fbff);
}
.u104-formula-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 88px;
  color: #123f72;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 25px;
  font-weight: 750;
  line-height: 1.5;
}
.u104-formula-line input {
  width: 112px;
  height: 50px;
  padding: 6px 9px;
  border: 2px solid #57bfe8;
  border-radius: 11px;
  background: #fff;
  color: #0c477a;
  font-family: inherit;
  font-size: 22px;
  font-weight: 800;
  text-align: center;
  outline: none;
}
.u104-formula-line input:focus {
  border-color: #0a8de0;
  box-shadow: 0 0 0 4px rgba(10,141,224,.12);
}
.u104-formula-labels {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  margin-top: 6px;
}
.u104-formula-labels span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #678096;
  font-size: 9px;
  font-weight: 750;
}
.u104-formula-labels b {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dff4ff;
  color: #0a7abd;
}
.u104-question-footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 18px;
  border-top: 1px solid #e4edf3;
  background: #fbfdff;
}
.u104-question-footer button {
  border: 1px solid #ccdeeb;
  border-radius: 10px;
  padding: 10px 14px;
  background: #fff;
  color: #345f80;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.u104-question-footer .u104-next-anchor {
  border: 0;
  background: linear-gradient(135deg,#1598ec,#087fd2);
  color: #fff;
  box-shadow: 0 7px 16px rgba(8,127,210,.18);
}
.u104-question-footer .u104-finish-flow {
  border: 0;
  background: linear-gradient(135deg,#ff746d,#f34f52);
  color: #fff;
}
.u104-final-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid #b8e4d2;
  background: linear-gradient(135deg,#eafaf3,#fff);
}
.u104-final-summary > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.u104-final-summary > div > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #11b278;
  color: #fff;
  font-size: 21px;
  font-weight: 950;
}
.u104-final-summary strong {
  color: #0a6f4c;
  font-size: 15px;
}
.u104-final-summary p {
  margin: 4px 0 0;
  color: #5b7e6e;
  font-size: 10px;
}
.u104-final-summary button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 11px;
  padding: 12px 17px;
  background: linear-gradient(135deg,#ff7069,#f34f52);
  color: #fff;
  font-weight: 950;
  cursor: pointer;
}
.u104-floating-story {
  position: fixed;
  right: 22px;
  bottom: 20px;
  z-index: 50;
  border: 1px solid #f0d07b;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,250,231,.96);
  color: #76500b;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(90,64,14,.15);
  cursor: pointer;
}

.u104-results-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.u104-excel {
  border: 1px solid #8dd2b3;
  border-radius: 10px;
  padding: 9px 12px;
  background: #ecfaf4;
  color: #08764f;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.u104-excel.is-all {
  border-color: #a9ccea;
  background: #eef7ff;
  color: #176294;
}
.u104-excel:disabled {
  opacity: .45;
  cursor: default;
}
.u104-results-table {
  min-width: 900px;
}
.u104-results-table td:nth-child(3),
.u104-results-table td:nth-child(4),
.u104-results-table td:nth-child(5),
.u104-results-table td:nth-child(6) {
  text-align: center;
}
.u104-results-table th:nth-child(3),
.u104-results-table th:nth-child(4),
.u104-results-table th:nth-child(5),
.u104-results-table th:nth-child(6) {
  text-align: center;
}

@media (max-width: 980px) {
  .u104-exam-layout {
    grid-template-columns: 1fr;
  }
  .u104-exam-side {
    position: static;
    grid-template-columns: 1fr;
  }
  .u104-exam-side .u103-competency-mini,
  .u104-exam-side .u103-mini-tip {
    display: none;
  }
  .u104-question-nav {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px 12px;
  }
  .u104-question-nav > span,
  .u104-question-nav > small {
    grid-column: 1 / -1;
  }
  .u104-story-link {
    margin: 0;
  }
  .u104-nav-grid {
    grid-template-columns: repeat(10, minmax(30px,1fr));
  }
  .u104-story-card {
    grid-template-columns: 1fr;
  }
  .u104-story-card .u104-photo-illustration {
    max-height: 300px;
  }
}
@media (max-width: 760px) {
  .u104-question-body {
    grid-template-columns: 1fr;
  }
  .u104-question-visual {
    min-height: 230px;
  }
  .u104-flow-heading {
    align-items: stretch;
  }
  .u104-flow-counter {
    align-self: flex-start;
  }
  .u104-results-actions {
    justify-content: flex-start;
    margin: 10px 4px;
  }
}
@media (max-width: 600px) {
  .u104-exam-layout {
    margin-top: 14px;
    padding: 0 10px;
  }
  .u104-exam-bar .u103-exam-title strong {
    max-width: 155px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .u104-question-nav {
    grid-template-columns: 1fr;
  }
  .u104-nav-grid {
    grid-template-columns: repeat(5,1fr);
  }
  .u104-story-copy {
    padding: 20px 18px;
  }
  .u104-story-copy h1 {
    font-size: 21px;
  }
  .u104-story-copy p {
    font-size: 12px;
  }
  .u104-flow-heading {
    display: block;
  }
  .u104-flow-counter {
    margin-top: 10px;
    width: max-content;
  }
  .u104-question-header {
    padding: 15px;
  }
  .u104-question-header h2 {
    font-size: 18px;
  }
  .u104-question-main {
    padding: 15px;
  }
  .u104-question-visual {
    min-height: 205px;
  }
  .u104-formula-line {
    font-size: 20px;
    gap: 6px;
  }
  .u104-formula-line input {
    width: 84px;
    height: 45px;
    font-size: 19px;
  }
  .u104-question-footer {
    flex-direction: column;
  }
  .u104-question-footer button {
    width: 100%;
  }
  .u104-final-summary {
    display: block;
  }
  .u104-final-summary button {
    width: 100%;
    margin-top: 12px;
  }
  .u104-floating-story {
    right: 12px;
    bottom: 12px;
  }
}

.u104-result-art {
  height: 230px;
  align-self: stretch;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(21,73,115,.14);
}
.u104-result-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 780px) {
  .u104-result-art { display: none; }
}

/* ===== UNIDAD V R5: REFINAMIENTO VISUAL, IMAGENES COMPLETAS Y FRACCIONES ===== */
.u105-illustration,
.u104-teacher-photo {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 300px;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 20%, rgba(255,219,95,.36), transparent 28%),
    radial-gradient(circle at 20% 85%, rgba(55,183,242,.24), transparent 32%),
    linear-gradient(145deg,#dff5ff,#f9fcff 58%,#fff2ca);
}
.u105-illustration::after,
.u104-teacher-photo::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  pointer-events: none;
}
.u105-illustration img,
.u104-teacher-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center bottom;
  transform: none;
  padding: 10px 12px 0;
  filter: saturate(1.04) contrast(1.02);
}
.u105-illustration.is-compact {
  min-height: 430px;
  border-radius: 0;
  box-shadow: none;
  background:
    radial-gradient(circle at 68% 24%, rgba(255,218,85,.32), transparent 24%),
    linear-gradient(155deg,#f0fbff,#fff8df);
}
.u105-illustration.is-compact img {
  padding: 18px 18px 0;
  object-position: center bottom;
}
.u103-student-hero,
.u103-teacher-hero {
  grid-template-columns: minmax(0,1.12fr) minmax(390px,.88fr);
  min-height: 330px;
}
.u103-student-hero .u105-illustration,
.u103-teacher-hero .u104-teacher-photo {
  min-height: 330px;
}
.u103-student-hero .u105-illustration img,
.u103-teacher-hero .u104-teacher-photo img {
  padding: 12px 20px 0;
  object-position: center bottom;
}
.u104-teacher-photo-badges {
  z-index: 2;
  top: 18px;
  right: 18px;
}

/* Situation significant: larger, easier to read and denser without dead space */
.u103-story-card,
.u104-story-card {
  grid-template-columns: minmax(0,1.45fr) minmax(320px,.72fr);
  align-items: stretch;
  gap: 0;
}
.u105-story-copy,
.u104-story-copy {
  padding: 32px 34px 30px;
}
.u105-story-copy h2,
.u104-story-copy h1 {
  margin: 11px 0 16px;
  color: #0a3f73;
  font-size: clamp(28px,2.4vw,34px);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.u105-story-copy p,
.u104-story-copy p {
  margin: 0 0 12px;
  color: #345977;
  font-size: 15px;
  line-height: 1.68;
}
.u103-story-label,
.u104-eyebrow {
  padding: 7px 11px;
  font-size: 10px;
  letter-spacing: .1em;
}
.u105-story-stats {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 20px;
}
.u105-story-stats > span {
  min-height: 70px;
  padding: 12px 13px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #d4e8f5;
  border-radius: 15px;
  background: linear-gradient(145deg,#fff,#f2f9ff);
  box-shadow: 0 7px 18px rgba(30,81,119,.07);
}
.u105-story-stats > span:nth-child(2n) { background: linear-gradient(145deg,#fffdf2,#fff7da); border-color: #f3df9d; }
.u105-story-stats > span:nth-child(3n) { background: linear-gradient(145deg,#f0fff8,#e8faf3); border-color: #bce7d2; }
.u105-story-stats strong {
  color: #087ac0;
  font-size: 17px;
  line-height: 1.05;
}
.u105-story-stats small {
  margin-top: 5px;
  color: #58738a;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
}

/* Question cards: complete illustrations, balanced height, no crop */
.u104-question-body {
  grid-template-columns: minmax(0,1fr) minmax(245px,290px);
  align-items: stretch;
}
.u104-question-main { padding: 24px 24px 22px; }
.u104-question-visual {
  min-height: 270px;
  display: grid;
  place-items: end center;
  overflow: hidden;
  border-left: 1px solid #e2edf4;
  background:
    radial-gradient(circle at 55% 23%, rgba(255,213,65,.28), transparent 27%),
    radial-gradient(circle at 18% 78%, rgba(69,183,240,.18), transparent 30%),
    linear-gradient(150deg,#f2fbff,#fffaf0);
}
.u104-question-visual::before { display: none; }
.u105-visual-orbit {
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255,255,255,.54);
  box-shadow: 0 0 0 1px rgba(13,126,196,.08);
}
.u104-question-visual img {
  position: relative;
  inset: auto;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-height: 340px;
  object-fit: contain;
  object-position: center bottom !important;
  padding: 14px 10px 0;
  transform: none;
  filter: saturate(1.05) contrast(1.03);
}
.u104-question-card:nth-of-type(odd) .u104-question-visual img { object-position: center bottom !important; }
.u104-question-header { padding: 20px 24px 15px; }
.u104-question-header h2 { font-size: 23px; }
.u104 .u103-question-prompt {
  margin-bottom: 18px;
  padding: 15px 17px;
  border: 1px solid #d7e7f2;
  border-radius: 16px;
  background: linear-gradient(145deg,#f8fcff,#fff);
}
.u104 .u103-question-prompt p {
  font-size: 15px;
  line-height: 1.55;
}
.u104 .u103-options button {
  min-height: 58px;
  padding: 11px 13px;
  font-size: 13px;
  line-height: 1.35;
}
.u104 .u103-matching label {
  min-height: 64px;
  padding: 11px 13px;
}
.u104 .u103-matching select { min-height: 42px; font-size: 13px; }
.u104 .u103-justification textarea { min-height: 118px; font-size: 14px; line-height: 1.5; }

/* True stacked fractions everywhere they are displayed */
.u105-frac {
  display: inline-grid;
  grid-template-rows: auto auto;
  vertical-align: middle;
  min-width: 1.7em;
  margin: 0 .12em;
  color: inherit;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}
.u105-frac > span:first-child {
  padding: 0 .18em .13em;
  border-bottom: 2px solid currentColor;
}
.u105-frac > span:last-child { padding: .13em .18em 0; }
.u103-options .u105-frac,
.u103-question-prompt .u105-frac { font-size: 1.03em; }

/* Math completion: blanks live inside the equation, no duplicate fields below */
.u105-formula-card {
  padding: 24px 22px;
  border: 1px solid #eed48f;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 14%, rgba(255,209,66,.16), transparent 28%),
    linear-gradient(145deg,#fffaf0,#fff 58%,#f4fbff);
}
.u105-equation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #0d3d71;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(22px,2.1vw,30px);
  font-weight: 750;
  line-height: 1.3;
}
.u105-equation.is-large { min-height: 100px; font-size: clamp(27px,2.5vw,34px); }
.u105-equation i { font-family: Georgia, 'Times New Roman', serif; font-style: italic; }
.u105-equation input {
  width: 112px;
  height: 54px;
  border: 2px solid #35b9e8;
  border-radius: 11px;
  background: #fff;
  color: #0a477b;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 22px;
  font-weight: 900;
  text-align: center;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.02);
}
.u105-equation input:focus { border-color: #0a8de0; box-shadow: 0 0 0 4px rgba(10,141,224,.12); }
.u105-formula-step + .u105-formula-step {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed #e3d2a6;
}
.u105-step-label {
  display: block;
  margin-bottom: 10px;
  color: #55728a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
}
.u105-formula-help {
  margin: 10px 0 0;
  color: #72879a;
  font-size: 10px;
  font-weight: 750;
  text-align: center;
}
.u105-question-a4 .u104-question-visual,
.u105-question-a8 .u104-question-visual,
.u105-question-b8 .u104-question-visual { min-height: 300px; }

/* Teacher results and hero polish */
.u105-section-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #e8f5ff;
  color: #1079bf;
  font-size: 12px !important;
  font-weight: 950;
}
.u103-section-tabs button.active .u105-section-mark { background: rgba(255,255,255,.18); color: #fff; }
.u104-results-actions { gap: 9px; }
.u104-excel { min-height: 40px; padding: 9px 13px; }
.u104-results-table { font-size: 12.5px; }

/* Results image stays whole */
.u104-result-art {
  overflow: hidden;
  background: linear-gradient(145deg,#eaf9ff,#fff8da);
}
.u104-result-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  padding: 8px 8px 0;
}

/* Desktop density and responsive behavior */
@media (max-width: 1050px) {
  .u103-student-hero, .u103-teacher-hero { grid-template-columns: 1fr .82fr; margin-left: 14px; margin-right: 14px; }
  .u103-story-card, .u104-story-card { grid-template-columns: 1fr 300px; }
  .u104-question-body { grid-template-columns: 1fr 235px; }
  .u105-story-copy, .u104-story-copy { padding: 26px; }
  .u105-story-copy h2, .u104-story-copy h1 { font-size: 27px; }
  .u105-story-copy p, .u104-story-copy p { font-size: 14px; }
}
@media (max-width: 820px) {
  .u103-student-hero, .u103-teacher-hero { grid-template-columns: 1fr; }
  .u103-student-hero .u105-illustration, .u103-teacher-hero .u104-teacher-photo { min-height: 280px; }
  .u103-story-card, .u104-story-card { grid-template-columns: 1fr; }
  .u105-illustration.is-compact { min-height: 300px; }
  .u105-story-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .u104-question-body { grid-template-columns: 1fr; }
  .u104-question-visual { min-height: 260px; border-left: 0; border-top: 1px solid #e2edf4; }
  .u104-question-visual img { max-height: 300px; }
}
@media (max-width: 560px) {
  .u105-story-copy, .u104-story-copy { padding: 21px 18px; }
  .u105-story-copy h2, .u104-story-copy h1 { font-size: 24px; }
  .u105-story-copy p, .u104-story-copy p { font-size: 13.5px; line-height: 1.6; }
  .u105-story-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .u105-story-stats > span { min-height: 62px; }
  .u104-question-main { padding: 18px 15px; }
  .u104-question-header { padding: 16px 15px 13px; }
  .u104-question-header h2 { font-size: 20px; }
  .u105-equation, .u105-equation.is-large { font-size: 22px; gap: 7px; }
  .u105-equation input { width: 88px; height: 48px; font-size: 19px; }
}

/* R5 character stage: clean portrait cards, never cropped */
.u105-character-stage {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  padding: 54px 16px 28px;
  isolation: isolate;
}
.u105-character-stage .u105-stage-glow {
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 24%, rgba(255,231,119,.46), transparent 35%),
    linear-gradient(155deg,rgba(255,255,255,.58),rgba(224,247,255,.28));
  z-index: 0;
}
.u105-character-stage .u105-stage-character {
  position: relative;
  inset: auto;
  z-index: 1;
  flex: 1 1 0;
  width: 30%;
  height: 82%;
  min-width: 0;
  max-width: 190px;
  padding: 0;
  object-fit: contain;
  object-position: center bottom !important;
  border: 1px solid rgba(255,255,255,.94);
  border-radius: 24px 24px 18px 18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 30px rgba(21,72,111,.14);
  transform: none;
}
.u105-character-stage .u105-stage-character.is-1 { height: 76%; }
.u105-character-stage .u105-stage-character.is-2 { height: 88%; }
.u105-character-stage .u105-stage-character.is-3 { height: 80%; }
.u105-character-stage .u105-stage-card {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  padding: 8px 11px;
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 18px rgba(25,78,114,.13);
  color: #0e5f96;
}
.u105-character-stage .u105-stage-card strong { font-size: 9px; letter-spacing: .06em; }
.u105-character-stage .u105-stage-card span { margin-top: 2px; font-size: 8px; color: #68839a; }
.u105-character-stage .u105-stage-card.is-a { left: 18px; top: 16px; }
.u105-character-stage .u105-stage-card.is-b { right: 18px; bottom: 16px; }
.u105-character-stage.is-finance .u105-stage-character { max-width: 230px; width: 46%; }
.u105-character-stage.is-finance .u105-stage-character.is-1 { height: 92%; }
.u105-character-stage.is-finance .u105-stage-character.is-2 { height: 82%; }
.u105-character-stage.is-finance .u105-stage-card.is-a { display: none; }
.u105-character-stage.is-patterns .u105-stage-card.is-a strong { color: #7a5ad1; }
.u105-character-stage.is-compact { padding-top: 58px; padding-bottom: 24px; }
.u105-character-stage.is-compact .u105-stage-character { max-width: 175px; }
.u104-teacher-photo.u105-character-stage { padding-top: 62px; }

@media (max-width: 820px) {
  .u105-character-stage { min-height: 300px; padding: 48px 12px 22px; }
  .u105-character-stage .u105-stage-character { max-width: 170px; }
}
@media (max-width: 560px) {
  .u105-character-stage { gap: 6px; min-height: 260px; }
  .u105-character-stage .u105-stage-character { border-radius: 16px; }
  .u105-character-stage .u105-stage-card { display: none; }
}

/* ===== UNIDAD V R7: COMPOSICION FINAL, GRAFICAS UNICAS Y ASSETS PNG ===== */
.u106-scene,
.u106-teacher-scene {
  position: relative;
  min-height: 290px;
  height: 100%;
  overflow: hidden;
  display: grid;
  place-items: center;
  isolation: isolate;
  background:
    radial-gradient(circle at 76% 18%, rgba(255,218,76,.34), transparent 30%),
    radial-gradient(circle at 18% 86%, rgba(33,177,238,.22), transparent 34%),
    linear-gradient(145deg,#e7f7ff,#fffdf1 68%,#eefcff);
}
.u106-scene::after,
.u106-teacher-scene::after {
  content: "";
  position: absolute;
  inset: 15px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 24px;
  box-shadow: inset 0 0 0 1px rgba(17,125,191,.03);
  pointer-events: none;
  z-index: 0;
}
.u106-scene-halo {
  position: absolute;
  width: 290px;
  height: 290px;
  border-radius: 50%;
  background: rgba(255,255,255,.62);
  box-shadow: 0 0 0 46px rgba(255,255,255,.17);
  z-index: 0;
}
.u106-scene img,
.u106-teacher-scene img {
  position: relative;
  z-index: 1;
  display: block;
  width: calc(100% - 34px);
  height: calc(100% - 34px);
  max-height: 285px;
  object-fit: contain;
  object-position: center;
  border-radius: 20px;
  filter: saturate(1.04) contrast(1.02);
}
.u106-scene-caption {
  position: absolute;
  left: 28px;
  bottom: 22px;
  z-index: 3;
  max-width: calc(100% - 56px);
  padding: 9px 12px;
  border-radius: 13px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 22px rgba(29,83,119,.13);
  backdrop-filter: blur(4px);
}
.u106-scene-caption strong { display:block; color:#0d5f94; font-size:11px; letter-spacing:.025em; }
.u106-scene-caption span { display:block; margin-top:2px; color:#6c879c; font-size:8.5px; font-weight:750; }
.u106-scene.is-story {
  min-height: 100%;
  padding: 20px;
}
.u106-scene.is-story img {
  width: 100%;
  height: auto;
  max-height: 360px;
  align-self: end;
  object-fit: contain;
  object-position: center bottom;
  box-shadow: 0 16px 34px rgba(16,72,111,.13);
}
.u106-scene.is-story .u106-scene-caption { bottom: 26px; }
.u106-teacher-scene img {
  width: calc(100% - 30px);
  max-height: 292px;
}
.u106-teacher-tags {
  position: absolute;
  z-index: 3;
  right: 24px;
  top: 22px;
  display: grid;
  gap: 7px;
}
.u106-teacher-tags span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #0b5e91;
  box-shadow: 0 7px 18px rgba(23,75,111,.12);
  font-size: 8.5px;
  font-weight: 950;
  letter-spacing: .06em;
}

/* Heroes: more balanced and no fragmented portrait cards. */
.u103-student-hero,
.u103-teacher-hero {
  grid-template-columns: minmax(0,1.25fr) minmax(370px,.78fr);
  min-height: 300px;
  overflow: hidden;
}
.u103-student-hero .u106-scene,
.u103-teacher-hero .u106-teacher-scene { min-height: 300px; }
.u103-hero-copy { padding-top: 38px; padding-bottom: 38px; }
.u103-hero-copy h1 { font-size: clamp(48px,5vw,66px); letter-spacing: -.045em; }
.u103-hero-copy p { max-width: 620px; font-size: 17px; line-height: 1.42; }

/* Situation significant: readable, strong hierarchy and compact visual balance. */
.u103-story-card,
.u104-story-card {
  grid-template-columns: minmax(0,1.55fr) minmax(340px,.72fr);
  min-height: 520px;
  overflow: hidden;
}
.u105-story-copy,
.u104-story-copy { padding: 36px 38px 34px; }
.u105-story-copy h2,
.u104-story-copy h1 {
  max-width: 850px;
  margin: 12px 0 17px;
  font-size: clamp(31px,2.8vw,39px);
  line-height: 1.1;
  letter-spacing: -.035em;
}
.u105-story-copy p,
.u104-story-copy p {
  margin-bottom: 12px;
  font-size: 15.5px;
  line-height: 1.72;
  color: #315773;
}
.u105-story-stats { margin-top: 21px; gap: 9px; }
.u105-story-stats > span { min-height: 72px; }
.u105-story-stats strong { font-size: 18px; }
.u105-story-stats small { font-size: 10.5px; }

/* Results heading gets a small, deliberate illustration instead of empty whitespace. */
.u106-results-heading {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 84px auto;
  align-items: center;
  gap: 14px;
}
.u106-results-mascot {
  width: 74px;
  height: 74px;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #d5e8f4;
  background: linear-gradient(145deg,#ecf8ff,#fff8d9);
  box-shadow: 0 8px 20px rgba(28,77,113,.10);
}
.u106-results-mascot img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; }

/* Every question has its own visual language; no repeated character cards. */
.u104-question-body {
  grid-template-columns: minmax(0,1fr) minmax(240px,285px);
  align-items: stretch;
}
.u106-question-visual {
  position: relative;
  min-height: 248px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 18px;
  border-left: 1px solid #e1edf5;
  background:
    radial-gradient(circle at 72% 22%, rgba(255,217,79,.23), transparent 26%),
    linear-gradient(155deg,#f1faff,#fffdf4);
  color: #154d78;
}
.u106-question-visual::after {
  content:"";
  position:absolute;
  inset:15px;
  border:1px solid rgba(255,255,255,.84);
  border-radius:18px;
  pointer-events:none;
}
.u106-question-visual > * { position:relative; z-index:1; }
.u106-question-visual small { color:#68839a; font-size:10px; font-weight:800; text-align:center; line-height:1.35; }
.u106-mini-title { font-size:12px; font-weight:950; color:#0d5f95; text-align:center; }
.u106-note-chip { padding:7px 10px; border-radius:999px; background:#fff; color:#607d95; font-size:9px; font-weight:850; box-shadow:0 6px 14px rgba(22,75,112,.08); }

.u106-question-visual.is-character { padding:14px; justify-content:flex-end; }
.u106-question-visual.is-character img { width:100%; height:100%; max-height:330px; object-fit:contain; object-position:center bottom; display:block; }
.u106-bubble { position:absolute; z-index:3; display:grid; place-items:center; min-width:52px; height:38px; padding:0 9px; border-radius:999px; background:#fff; box-shadow:0 8px 18px rgba(30,80,115,.13); color:#0878bd; font-size:14px; font-weight:950; }
.u106-bubble.is-one{right:18px;top:22px}.u106-bubble.is-two{left:17px;top:62px;color:#16a66f}.u106-bubble.is-three{right:28px;bottom:24px;color:#ee9a19}

.u106-procedure { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:19px 10px; border-radius:18px; background:#fff; box-shadow:0 9px 23px rgba(29,80,115,.09); font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:800; color:#0b4577; }
.u106-number-disc { display:grid; place-items:center; width:62px; height:62px; border-radius:50%; background:#e5f4ff; color:#0879bf; font-family:Inter,system-ui,sans-serif; }
.u106-arrow{color:#6f8ba1}.u106-question-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#fff2bf;color:#e58e00;font:950 30px/1 Inter,system-ui,sans-serif}

.u106-people-grid { width:166px; display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:14px; border-radius:18px; background:#fff; box-shadow:0 9px 22px rgba(25,76,111,.09); }
.u106-people-grid i { width:20px; height:24px; border-radius:10px 10px 7px 7px; background:#dce8f1; position:relative; }
.u106-people-grid i::before { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:inherit; top:-5px; left:5px; }
.u106-people-grid i.active{background:#17b77c}.u106-data-ring{width:112px;height:112px;display:grid;place-items:center;align-content:center;border-radius:50%;background:conic-gradient(#16b47b 0 35%,#e7eef4 35% 100%);box-shadow:inset 0 0 0 19px #fff}
.u106-data-ring strong{font-size:23px;color:#0d6e9f}.u106-data-ring span{font-size:9px;color:#71899b;font-weight:850}

.u106-frac-card { display:flex; align-items:center; gap:12px; padding:18px 16px; border-radius:18px; background:#fff; box-shadow:0 10px 24px rgba(28,78,113,.10); color:#0b477d; font:800 27px/1.2 Georgia,'Times New Roman',serif; }
.u106-frac-card b{display:grid;place-items:center;width:48px;height:48px;border:2px solid #34b8e5;border-radius:10px;color:#0a83c9}.u106-calc-icon{display:grid;place-items:center;width:68px;height:72px;border-radius:15px;background:linear-gradient(160deg,#1f9b68,#0b7850);color:#fff;font-size:34px;box-shadow:0 8px 18px rgba(18,119,80,.18)}

.u106-step-track { width:100%; display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:5px; }
.u106-step-track span{min-height:74px;padding:9px 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:13px;background:#fff;border:1px solid #d9e8f2;text-align:center;font-size:9px;font-weight:850}.u106-step-track span b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#ffbd38;color:#fff;margin-bottom:5px}.u106-step-track i{color:#0d94d7;font-style:normal;font-weight:950}.u106-wallet{padding:11px 19px;border-radius:13px;background:linear-gradient(135deg,#825be1,#6340bf);color:#fff;font-size:20px;font-weight:950;box-shadow:0 8px 18px rgba(101,68,190,.19)}

.u106-variable-grid { width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.u106-variable-grid span{padding:13px 7px;border-radius:14px;background:#fff;border:1px solid #d7e8f3;text-align:center}.u106-variable-grid b{display:grid;place-items:center;margin:0 auto 7px;width:33px;height:33px;border-radius:10px;background:#dff2ff;color:#0a79bc;font:900 18px Georgia,serif}.u106-variable-grid strong{display:block;color:#153f66;font-size:12px}.u106-variable-grid small{display:block;margin-top:3px;font-size:8px}.u106-formula-pill{padding:10px 18px;border-radius:999px;background:#f4eafd;color:#7148ba;font:800 20px Georgia,serif}

.u106-error-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#ffe7e2;color:#ed6457;font-size:35px;font-weight:950}.u106-error-line{display:flex;align-items:center;gap:8px;padding:13px;border-radius:15px;background:#fff;border:1px solid #f1d7d0;font:750 18px Georgia,serif}.u106-correction{padding:10px 13px;border-radius:12px;background:#eafaf4;color:#237658;font-size:11px;font-weight:800}.u106-correction b{font-size:14px}

.u106-coins { height:72px; display:flex; align-items:flex-end; gap:4px; }
.u106-coins i{display:block;width:36px;border-radius:50% 50% 7px 7px;background:linear-gradient(#ffd868,#e9a623);border:2px solid #f2b737;box-shadow:inset 0 -7px rgba(200,130,16,.14)}
.u106-coins i:nth-child(1){height:26px}.u106-coins i:nth-child(2){height:40px}.u106-coins i:nth-child(3){height:54px}.u106-coins i:nth-child(4){height:68px}.u106-interest-board{display:flex;align-items:center;gap:7px;padding:11px 13px;border-radius:13px;background:#fff;border:1px solid #dbe9f2;color:#0b4577;font:750 17px Georgia,serif}.u106-interest-board strong{color:#0aa373}.u106-interest-board.is-second{background:#edf9ff;color:#13729f}

.u106-bars { height:158px; display:flex; align-items:flex-end; gap:30px; padding:0 8px; }
.u106-bars span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.u106-bars b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e7f2fa;color:#0c6fa8}.u106-bars i{width:48px;border-radius:11px 11px 4px 4px;background:linear-gradient(#34b0f2,#0b7fc6);box-shadow:0 7px 16px rgba(12,126,196,.16)}.u106-bars span+span i{background:linear-gradient(#22c487,#099963)}.u106-bars strong{font-size:11px;color:#274d6b}.u106-difference{padding:8px 12px;border-radius:999px;background:#fff5cf;color:#a66b00;font-size:10px;font-weight:900}

.u106-scale{display:grid;grid-template-columns:58px 70px 58px;align-items:center;gap:8px}.u106-scale span{display:grid;place-items:center;height:58px;border-radius:16px;background:#fff;border:2px solid #dbe8f0;font-size:23px;font-weight:950}.u106-scale span.active{border-color:#18b67c;background:#ecfbf5;color:#098b5d}.u106-scale i{font-style:normal;font-size:45px}.u106-decision{display:grid;gap:3px;padding:11px 18px;border-radius:14px;background:#fff;border:1px solid #dae8f1;text-align:center}.u106-decision strong{color:#0a7abe;font-size:18px}.u106-decision span{font-size:9px;color:#6c8496}.u106-decision b{color:#159566}

.u106-sequence{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.u106-sequence span{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#fff;border:1px solid #cfe6f3;color:#0b78b8;font-size:18px;font-weight:950;box-shadow:0 7px 15px rgba(26,76,111,.07)}.u106-sequence i{font-style:normal;color:#19a873;font-size:10px;font-weight:950}
.u106-pattern-row{width:100%;display:grid;grid-template-columns:repeat(4,1fr) 1.4fr;gap:4px;align-items:center;padding:9px;border-radius:13px;background:#fff;border:1px solid #dce9f2}.u106-pattern-row span{display:grid;place-items:center;height:37px;border-radius:9px;background:#edf7fd;color:#0d70a8;font-weight:900}.u106-pattern-row b{font-size:9px;color:#0b8d61;text-align:center}.u106-pattern-row.is-geo span{background:#f3edff;color:#7150b6}.u106-pattern-row.is-geo b{color:#7250bb}
.u106-ladder{width:100%;display:grid;gap:6px}.u106-ladder span{display:grid;grid-template-columns:30px 1fr;align-items:center;padding:8px 10px;border-radius:11px;background:#fff;border:1px solid #dce9f2;color:#315a78;font-size:10px;font-weight:850}.u106-ladder span:nth-child(2){margin-left:16px}.u106-ladder span:nth-child(3){margin-left:32px}.u106-ladder span:nth-child(4){margin-left:48px}.u106-ladder b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#0b8fd8;color:#fff}.u106-week-result{padding:9px 15px;border-radius:999px;background:#eafaf4;color:#0b8f62;font:900 17px Georgia,serif}
.u106-calendar{width:105px;height:110px;border-radius:17px;background:#fff;border:1px solid #d8e8f2;box-shadow:0 10px 22px rgba(29,79,114,.09);overflow:hidden;text-align:center}.u106-calendar small{display:block;padding:8px;background:#0c8ed6;color:#fff;font-size:9px}.u106-calendar strong{display:block;padding-top:12px;color:#0b4978;font-size:43px}.u106-equation-card{padding:10px 14px;border-radius:12px;background:#f1edff;color:#6847ac;font:800 18px Georgia,serif}
.u106-growth{width:100%;position:relative}.u106-growth svg{width:100%;height:120px;overflow:visible}.u106-growth polyline{fill:none;stroke:#12a874;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.u106-growth polyline.geo{stroke:#7c54c6}.u106-growth span{position:absolute;padding:5px 8px;border-radius:99px;background:#fff;font-size:8px;font-weight:900;box-shadow:0 5px 12px rgba(20,70,105,.08)}.u106-growth .arith{left:8px;bottom:2px;color:#0c9767}.u106-growth .geom{right:8px;top:0;color:#704cb3}
.u106-materials{display:flex;gap:13px}.u106-materials span{width:90px;height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px 12px 5px 5px;border:2px solid #d5e6f0;background:#fff;color:#0f699f;font-size:10px;font-weight:950;box-shadow:0 8px 18px rgba(27,77,112,.08)}.u106-materials .poster{background:linear-gradient(#fff,#eaf8ff)}.u106-materials .brochure{height:98px;align-self:flex-end;background:linear-gradient(#fff,#fff2dc);color:#c77d10}.u106-materials b{margin-top:9px;font-size:14px}.u106-system{display:grid;gap:5px;padding:8px 12px;border-radius:12px;background:#eef7fd;color:#164e75;font:800 14px Georgia,serif;text-align:center}
.u106-link-pair{width:100%;display:grid;grid-template-columns:1.1fr 28px 1fr;align-items:center;gap:5px;padding:11px;border-radius:13px;background:#fff;border:1px solid #dae9f2}.u106-link-pair span{font:800 16px Georgia,serif;color:#0f4a78}.u106-link-pair i{font-style:normal;color:#0b8fd5;font-weight:950;text-align:center}.u106-link-pair b{font-size:9px;color:#24775c;text-align:center}
.u106-reduction{width:100%;display:grid;gap:7px;padding:16px;border-radius:16px;background:#fff;border:1px solid #dae8f1;text-align:center;font:750 17px Georgia,serif;color:#144a74}.u106-reduction i{font-style:normal;color:#91a6b6;letter-spacing:2px}.u106-reduction strong{color:#0a8acb}.u106-reduction b{color:#12a16d;font-size:22px}
.u106-budget-check{width:100%;display:grid;gap:8px}.u106-budget-check span{display:flex;justify-content:space-between;align-items:center;padding:11px;border-radius:12px;background:#effbf6;border:1px solid #c7eadc;color:#25735a}.u106-budget-check span.bad{background:#fff0ec;border-color:#f2d0c7;color:#c65d4d}.u106-budget-check b{font:800 14px Georgia,serif}.u106-budget-check strong{font-size:11px}.u106-over{padding:8px 12px;border-radius:999px;background:#ffe3dc;color:#cf5745;font-size:15px;font-weight:950}
.u106-double-check{width:100%;display:grid;gap:10px}.u106-double-check span{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:7px;padding:12px;border-radius:13px;background:#effaf5;border:1px solid #c9e9db;color:#0a9a68;font-size:20px}.u106-double-check b{color:#24536f;font:800 14px Georgia,serif}.u106-balance-note{padding:9px 13px;border-radius:99px;background:#fff3c7;color:#946100;font-size:9px;font-weight:950}

/* Results illustration stays fully visible. */
.u106-result-art { background:linear-gradient(145deg,#edfaff,#fff4cd); }
.u106-result-art img { object-fit:contain !important; object-position:center bottom !important; padding:0 !important; }

/* Keep question cards visually compact: no giant empty zones. */
.u104-question-card { scroll-margin-top: 96px; }
.u104-question-main { min-width:0; }
.u104-answer-zone { min-height:0; }
.u104 .u103-options { align-content:start; }
.u104 .u103-options button { min-height:54px; }
.u104-question-footer { padding-top:12px; padding-bottom:12px; }

@media (max-width: 1080px) {
  .u103-student-hero,.u103-teacher-hero{grid-template-columns:minmax(0,1fr) 340px}
  .u103-story-card,.u104-story-card{grid-template-columns:minmax(0,1fr) 305px}
  .u104-question-body{grid-template-columns:minmax(0,1fr) 230px}
  .u106-results-heading{grid-template-columns:minmax(0,1fr) auto}.u106-results-mascot{display:none}
}
@media (max-width: 820px) {
  .u103-student-hero,.u103-teacher-hero{grid-template-columns:1fr}.u103-student-hero .u106-scene,.u103-teacher-hero .u106-teacher-scene{min-height:250px}
  .u103-story-card,.u104-story-card{grid-template-columns:1fr;min-height:0}.u106-scene.is-story{min-height:300px}
  .u104-question-body{grid-template-columns:1fr}.u106-question-visual{min-height:230px;border-left:0;border-top:1px solid #e1edf5}
  .u106-results-heading{grid-template-columns:1fr}.u104-results-actions{justify-content:flex-start}
}
@media (max-width:560px){
  .u103-hero-copy h1{font-size:45px}.u103-hero-copy p{font-size:15px}
  .u105-story-copy,.u104-story-copy{padding:24px 19px}.u105-story-copy h2,.u104-story-copy h1{font-size:28px}.u105-story-copy p,.u104-story-copy p{font-size:14px;line-height:1.65}
  .u106-question-visual{min-height:210px;padding:17px 12px}.u106-procedure{font-size:20px}.u106-step-track{grid-template-columns:1fr 1fr}.u106-step-track i{display:none}
}

/* ===== UNIDAD V R7: AJUSTE DE ENCUADRE Y CONTROLES DOCENTES ===== */
.u106-results-mascot img {
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 4px;
}
.u106-scene.is-story {
  align-items: end;
}
.u106-scene.is-story img {
  width: 100%;
  height: 100%;
  max-height: 380px;
  object-fit: contain;
  object-position: center bottom;
}
.u103-status.is-withdrawn {
  background: #fff1eb;
  color: #b95735;
  border-color: #ffd9cb;
}
.u107-blocked-note {
  margin-top: 10px;
  padding: 10px 12px;
}
.u107-table-legend {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.u107-table-legend span,
.u103-table-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.u107-table-legend i,
.u103-table-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}
.u107-table-legend .is-green,
.u103-table-legend .is-green { background: #27b36a; }
.u107-table-legend .is-blue,
.u103-table-legend .is-blue { background: #1797ea; }
.u107-table-legend .is-gray,
.u103-table-legend .is-gray { background: #b6c7d7; }
.u107-table-legend .is-coral,
.u103-table-legend .is-coral { background: #ef7d5a; }
.u107-results-table th,
.u107-results-table td {
  vertical-align: top;
}
.u107-eval-cell {
  display: grid;
  gap: 10px;
}
.u103-result-status.is-progress {
  background: #eaf6ff;
  color: #0c79bb;
  border-color: #cce8fb;
}
.u103-result-status.is-withdrawn {
  background: #fff1eb;
  color: #ba5e39;
  border-color: #ffd6c8;
}
.u107-action-stack {
  display: grid;
  gap: 8px;
  min-width: 168px;
}
.u107-action-button {
  appearance: none;
  border: 1px solid #d7e7f3;
  border-radius: 12px;
  padding: 9px 12px;
  background: #fff;
  color: #0d4f7b;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.u107-action-button:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(24, 79, 116, .10);
}
.u107-action-button:disabled {
  cursor: not-allowed;
  opacity: .62;
}
.u107-action-button.is-withdraw {
  background: #fff5f1;
  border-color: #ffd9cc;
  color: #b65530;
}
.u107-action-button.is-reset {
  background: #eef8ff;
  border-color: #cfe6f8;
  color: #0b6ea9;
}
.u107-action-message {
  display: block;
  line-height: 1.35;
  font-size: 11px;
  font-weight: 800;
}
.u107-action-message.is-ok { color: #198255; }
.u107-action-message.is-error { color: #c14f33; }
@media (max-width: 1080px) {
  .u107-results-table {
    min-width: 980px;
  }
}

/* ===== UNIDAD V R8: ILUSTRACIONES PEDAGÓGICAS SIN RESPUESTAS Y AJUSTES DE MAQUETACIÓN ===== */
.u105-story-copy p,
.u104-story-copy p {
  text-align: justify;
  text-justify: inter-word;
}

.u106-story-gallery {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-height: 100%;
  padding: 16px;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,217,79,.22), transparent 26%),
    linear-gradient(155deg, #eef9ff, #fffdf3);
  border-left: 1px solid #e4edf5;
}
.u106-story-tile {
  position: relative;
  overflow: hidden;
  min-height: 132px;
  margin: 0;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.88);
  box-shadow: 0 14px 28px rgba(19, 69, 103, .10);
}
.u106-story-tile img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.05);
  filter: saturate(1.03) blur(.9px);
}
.u106-story-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12,53,81,.06), rgba(12,53,81,.22));
}
.u106-story-tile figcaption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 1;
  padding: 7px 12px;
  border-radius: 999px;
  width: max-content;
  max-width: calc(100% - 28px);
  background: rgba(255,255,255,.94);
  color: #0d5f95;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}
.u106-story-gallery.is-cantidad .u106-story-tile.is-top img { object-position: 50% 18%; }
.u106-story-gallery.is-cantidad .u106-story-tile.is-middle img { object-position: 52% 24%; }
.u106-story-gallery.is-cantidad .u106-story-tile.is-bottom img { object-position: 50% 26%; }
.u106-story-gallery.is-regularidad .u106-story-tile.is-top img { object-position: 50% 23%; }
.u106-story-gallery.is-regularidad .u106-story-tile.is-middle img { object-position: 50% 20%; }
.u106-story-gallery.is-regularidad .u106-story-tile.is-bottom img { object-position: 50% 20%; }

.u106-question-visual.is-photo {
  justify-content: flex-start;
  align-items: stretch;
  gap: 10px;
  padding: 14px;
}
.u106-question-visual.is-photo::after {
  inset: 12px;
  border-radius: 22px;
}
.u106-photo-shell {
  position: relative;
  flex: 1;
  overflow: hidden;
  min-height: 0;
  border-radius: 24px;
  box-shadow: 0 14px 26px rgba(21, 74, 108, .10);
}
.u106-photo-shell img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.04);
  filter: saturate(1.04) blur(1.2px);
}
.u106-photo-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02) 45%, rgba(255,255,255,.28)),
    linear-gradient(0deg, rgba(241,250,255,.42), transparent 36%);
  pointer-events: none;
}
.u106-photo-sticker {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #0b7fbf;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(21, 74, 108, .08);
}
.u106-question-visual.is-photo small {
  padding: 0 6px 4px;
  font-size: 10px;
  text-align: center;
  color: #5b7b92;
}

.u106-question-visual.is-a1 .u106-photo-shell img { object-position: 48% 30%; }
.u106-question-visual.is-a2 .u106-photo-shell img { object-position: 52% 24%; }
.u106-question-visual.is-a3 .u106-photo-shell img { object-position: 50% 18%; }
.u106-question-visual.is-a4 .u106-photo-shell img { object-position: 50% 18%; }
.u106-question-visual.is-a5 .u106-photo-shell img { object-position: 50% 22%; }
.u106-question-visual.is-a6 .u106-photo-shell img { object-position: 48% 18%; }
.u106-question-visual.is-a7 .u106-photo-shell img { object-position: 50% 16%; }
.u106-question-visual.is-a8 .u106-photo-shell img { object-position: 52% 24%; }
.u106-question-visual.is-a9 .u106-photo-shell img { object-position: 52% 24%; }
.u106-question-visual.is-a10 .u106-photo-shell img { object-position: 50% 20%; }
.u106-question-visual.is-b1 .u106-photo-shell img { object-position: 54% 28%; }
.u106-question-visual.is-b2 .u106-photo-shell img { object-position: 50% 20%; }
.u106-question-visual.is-b3 .u106-photo-shell img { object-position: 50% 18%; }
.u106-question-visual.is-b4 .u106-photo-shell img { object-position: 47% 20%; }
.u106-question-visual.is-b5 .u106-photo-shell img { object-position: 50% 18%; }
.u106-question-visual.is-b6 .u106-photo-shell img { object-position: 52% 24%; }
.u106-question-visual.is-b7 .u106-photo-shell img { object-position: 52% 20%; }
.u106-question-visual.is-b8 .u106-photo-shell img { object-position: 50% 16%; }
.u106-question-visual.is-b9 .u106-photo-shell img { object-position: 50% 24%; }
.u106-question-visual.is-b10 .u106-photo-shell img { object-position: 52% 24%; }

.u106-result-art {
  background: linear-gradient(145deg, #edfaff, #fff4cd);
  overflow: hidden;
}
.u106-result-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover !important;
  padding: 0 !important;
}
.u106-result-art.is-high img { object-position: 50% 18% !important; }
.u106-result-art.is-mid img { object-position: 50% 20% !important; }
.u106-result-art.is-low img { object-position: 48% 24% !important; }
.u106-result-chip {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.u106-result-chip.is-high { background: #e9f9f0; color: #0b9362; }
.u106-result-chip.is-mid { background: #edf7ff; color: #0c76b6; }
.u106-result-chip.is-low { background: #fff3d8; color: #a56800; }

@media (max-width: 1080px) {
  .u103-story-card,
  .u104-story-card { grid-template-columns: minmax(0,1fr) 320px; }
}
@media (max-width: 820px) {
  .u106-story-gallery {
    border-left: 0;
    border-top: 1px solid #e4edf5;
    min-height: 0;
  }
  .u106-story-tile { min-height: 160px; }
}
@media (max-width: 560px) {
  .u106-story-gallery { padding: 12px; gap: 10px; }
  .u106-story-tile { min-height: 142px; }
  .u106-question-visual.is-photo { padding: 12px; }
}
.grade1-unit5 .u103-hero-copy mark{color:#00a679;background:#dffaf0;border-radius:18px;padding:0 .16em}
.grade1-unit5 .u103-topic-badge{font-family:Georgia,'Times New Roman',serif}
.grade1-unit5 .u105-story-copy p,.grade1-unit5 .u104-story-copy p{text-align:justify;text-justify:inter-word}
.g1-story-gallery{min-height:100%;grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch}
.g1-story-gallery .u106-story-tile{min-height:220px}
.g1-story-gallery .u106-story-tile img{object-fit:cover;object-position:center 24%}
.grade1-unit5 .g1-art .u106-photo-shell img{object-fit:cover;object-position:center 23%}
.g1-student-selector{display:grid;grid-template-columns:repeat(10,minmax(35px,1fr));gap:8px;padding:16px;border:1px solid #dceaf3;background:#f8fcff;border-radius:20px}
.g1-student-selector button{border:1px solid #d7e7f1;background:#fff;border-radius:12px;min-height:54px;display:grid;place-items:center;color:#7b91a3;cursor:pointer}
.g1-student-selector button span{font-size:25px;line-height:1}.g1-student-selector button small{font-size:9px;font-weight:900}.g1-student-selector button.selected{background:#e9faf4;border-color:#1db67d;color:#0a9462;box-shadow:0 6px 14px rgba(13,144,96,.12)}
.g1-selector-count{margin-top:10px;text-align:right;color:#52738a;font-size:12px}.g1-selector-count strong{color:#0b80bd;font-size:16px}
.g1-input-frac{display:grid;grid-template-rows:auto auto;align-items:center;justify-items:center;gap:2px}.g1-input-frac input{width:72px!important}.g1-input-frac i{display:block;width:72px;border-top:2px solid #153f66;padding-top:4px;font-style:normal;text-align:center}
.g1-complete-check{display:grid;gap:18px}.g1-complete-check .u105-equation{justify-content:flex-start}.g1-decision-buttons,.g1-numberline-controls,.g1-value-picks,.g1-decision-box>div{display:flex;gap:9px;flex-wrap:wrap}.g1-decision-buttons button,.g1-numberline-controls button,.g1-value-picks button,.g1-decision-box button{border:1px solid #d6e7f2;background:#fff;color:#24516f;border-radius:12px;padding:10px 15px;font-weight:850;cursor:pointer}.g1-decision-buttons button.selected,.g1-numberline-controls button.selected,.g1-value-picks button.selected,.g1-decision-box button.selected{background:#e9f8ff;border-color:#20a7e7;color:#0876ae;box-shadow:0 7px 15px rgba(11,127,190,.11)}
.g1-numberline-task{display:grid;gap:18px}.g1-numberline{position:relative;height:100px;border-radius:18px;background:#f8fcff;border:1px solid #dceaf3}.g1-line{position:absolute;left:38px;right:38px;top:50%;height:3px;background:#547b96}.g1-point{position:absolute;left:50%;top:calc(50% - 22px);transform:translateX(-50%);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;border:3px solid #9eb3c2;color:#163f5b;font-weight:900}.g1-point.is-open{border-color:#087fc0;background:#fff}.g1-point.is-closed{border-color:#087fc0;background:#087fc0;color:#fff}.g1-arrow{position:absolute;top:calc(50% - 19px);font-size:34px;color:#b1c1cd}.g1-arrow.is-left{left:17px}.g1-arrow.is-right{right:17px}.g1-arrow.selected{color:#0a9a68}.g1-numberline-controls{align-items:center}.g1-numberline-controls>span{font-size:11px;font-weight:900;color:#597a90;margin-left:5px}
.g1-value-picks button{min-width:62px;font-size:18px}.g1-decision-box{margin-top:17px;padding:15px;border-radius:17px;background:#f7fbfe;border:1px solid #dceaf3}.g1-decision-box strong{display:block;margin-bottom:11px;color:#234d68}
@media(max-width:760px){.g1-student-selector{grid-template-columns:repeat(5,1fr)}.g1-story-gallery{grid-template-rows:repeat(2,180px)}}

.g1-story-gallery .u106-story-tile.is-top img{object-position:center 22%}
.g1-story-gallery .u106-story-tile.is-bottom img{object-position:center 28%}
/*
  MERCADO 100 V5 - interfaz por capas reales.
  El escenario se construye con React/CSS; no se usan capturas de pantalla
  como fondos. Textos, botones, HUD, campos y estados son interactivos.
*/
.lm-market100{
  --m100-navy:#03122d;
  --m100-panel:#071a35;
  --m100-cyan:#28d8ee;
  --m100-purple:#7b42dc;
  --m100-gold:#ffbd28;
  --m100-green:#39b947;
  --m100-cream:#fff3d3;
  width:100%;
  max-width:1480px;
  margin:0 auto;
  color:#fff;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  border-radius:24px;
  overflow:hidden;
  background:#020a1a;
  box-shadow:0 26px 80px rgba(0,8,28,.46),0 0 0 1px rgba(111,84,255,.24);
}
.lm-market100 *{box-sizing:border-box}
.lm-market100 button,.lm-market100 input,.lm-market100 a{font:inherit}
.lm-market100 button:focus-visible,.lm-market100 input:focus-visible,.lm-market100 a:focus-visible{outline:3px solid #67ebff;outline-offset:3px}

.m100-scene{
  position:relative;
  isolation:isolate;
  min-height:clamp(650px,62vw,900px);
  overflow:hidden;
  background:#03122d;
}
.m100-scene__shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(1,8,24,.05),rgba(1,8,24,.18) 54%,rgba(0,5,18,.52));}
.m100-scene__content{position:relative;min-height:inherit;padding:18px 22px 24px}
.m100-scene--entry .m100-scene__shade{background:radial-gradient(circle at 51% 36%,rgba(45,100,183,.05),rgba(0,5,18,.15) 38%,rgba(0,5,18,.58) 100%)}
.m100-scene--briefing .m100-scene__shade{background:linear-gradient(90deg,rgba(0,7,20,.22),rgba(0,7,20,.05) 50%,rgba(0,7,20,.48))}

.m100-topbar{position:relative;z-index:30;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.m100-topbar--hud{align-items:flex-start}
.m100-step-tag{display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border-radius:10px;background:linear-gradient(180deg,#6c36cf,#472098);border:1px solid rgba(188,144,255,.7);box-shadow:0 8px 20px rgba(25,5,63,.35),inset 0 1px 0 rgba(255,255,255,.22);font-size:14px;font-weight:900;letter-spacing:.01em;white-space:nowrap}
.m100-audio-controls{display:flex;gap:8px}
.m100-audio-controls button{width:42px;height:42px;border-radius:10px;border:1px solid rgba(93,210,255,.48);background:rgba(4,25,49,.88);color:#d9f7ff;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 18px rgba(36,168,229,.1),0 8px 18px rgba(0,0,0,.25);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.m100-audio-controls button:hover{transform:translateY(-2px);border-color:#6feaff}
.m100-audio-controls button.is-on{background:linear-gradient(180deg,#18366b,#12305a);color:#fff}
.m100-audio-controls svg{width:21px;height:21px}

.m100-primary{border:1px solid rgba(255,255,255,.32);border-radius:12px;min-height:50px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#fff;text-decoration:none;font-weight:950;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 20px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.24);text-shadow:0 1px 2px rgba(0,0,0,.45);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.m100-primary:hover:not(:disabled){transform:translateY(-3px) scale(1.015);filter:brightness(1.08);box-shadow:0 14px 26px rgba(0,0,0,.32),0 0 24px rgba(255,255,255,.08)}
.m100-primary:disabled{opacity:.5;filter:grayscale(.45);cursor:not-allowed}
.m100-primary svg{width:22px;height:22px}
.m100-primary--gold{background:linear-gradient(180deg,#ffd247 0%,#ffac12 55%,#e77a00 100%);border-color:#ffea86;color:#2d1a05;text-shadow:none;box-shadow:0 10px 24px rgba(232,128,0,.35),inset 0 1px 0 rgba(255,255,255,.55)}
.m100-primary--green{background:linear-gradient(180deg,#58d454,#2eaf3f 56%,#188a2b);border-color:#8ef08d}
.m100-primary--blue{background:linear-gradient(180deg,#1fb9ff,#0879d9 58%,#075aaf);border-color:#7bd8ff}
.m100-primary--purple{background:linear-gradient(180deg,#9a5af0,#7032cc 58%,#4b1da0);border-color:#c397ff}

/* Entry */
.m100-entry-grid{min-height:calc(clamp(650px,62vw,900px) - 86px);display:grid;grid-template-columns:minmax(220px,28%) minmax(390px,1fr) minmax(220px,280px);align-items:end;gap:18px;padding:16px 28px 0}
.m100-entry-matix{align-self:end;height:76%;min-height:470px;display:flex;align-items:flex-end;justify-content:center}
.m100-entry-matix img{width:min(100%,420px);height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 22px 20px rgba(0,0,0,.45));animation:m100-float 4.2s ease-in-out infinite}
.m100-entry-center{align-self:center;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:30px}
.m100-mission-kicker{padding:7px 22px;border-radius:10px;background:linear-gradient(180deg,#6e34ce,#451f91);border:2px solid #a470ff;box-shadow:0 8px 16px rgba(0,0,0,.24);font-weight:950;transform:rotate(-2deg)}
.m100-logo{position:relative;width:min(100%,560px);padding:18px 38px 50px;border-radius:28px;background:linear-gradient(180deg,#7a441e,#3e2113);border:4px solid #e59a3c;box-shadow:0 18px 34px rgba(0,0,0,.42),inset 0 0 0 5px rgba(69,30,13,.45);transform:rotate(-.8deg)}
.m100-logo:before,.m100-logo:after{content:"";position:absolute;top:35%;width:46px;height:70px;background:#6b351b;border:4px solid #b96c2a;z-index:-1}.m100-logo:before{left:-34px;transform:rotate(-12deg)}.m100-logo:after{right:-34px;transform:rotate(12deg)}
.m100-logo span{display:block;color:#ffd14c;font-family:"Arial Black","Segoe UI Black",sans-serif;font-size:clamp(38px,5.2vw,78px);line-height:.9;letter-spacing:-.055em;text-shadow:0 5px 0 #8f430d,0 9px 12px rgba(0,0,0,.45);transform:rotate(-2deg)}
.m100-logo strong{display:block;color:#ffda3c;font-family:"Arial Black","Segoe UI Black",sans-serif;font-size:clamp(56px,7.6vw,112px);line-height:.78;text-shadow:0 6px 0 #a64d0a,0 12px 16px rgba(0,0,0,.42)}
.m100-logo em{position:absolute;left:11%;right:11%;bottom:-8px;padding:9px 12px;border-radius:8px;background:linear-gradient(180deg,#d64b28,#962a19);border:2px solid #f28c4f;color:#fff6c4;font-style:normal;font-size:clamp(11px,1.35vw,19px);font-weight:950;letter-spacing:.06em;box-shadow:0 7px 15px rgba(0,0,0,.32);transform:rotate(-2deg)}
.m100-entry-copy{max-width:570px;margin:6px auto 0;color:#f6f5ec;font-size:clamp(15px,1.35vw,20px);font-weight:650;line-height:1.48;text-shadow:0 2px 6px rgba(0,0,0,.82)}
.m100-entry-center .m100-primary{min-width:280px;font-size:16px}
.m100-entry-stats{align-self:center;padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(70,37,24,.94),rgba(45,21,15,.94));border:2px solid #995622;box-shadow:0 20px 36px rgba(0,0,0,.38),inset 0 0 0 2px rgba(255,197,84,.08);backdrop-filter:blur(7px)}
.m100-stat-line{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:9px;padding:12px 3px;border-bottom:1px solid rgba(255,208,120,.18)}.m100-stat-line:last-child{border-bottom:0}
.m100-stat-line>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#ffbd28;background:rgba(79,36,18,.7);border:1px solid rgba(255,187,65,.55)}
.m100-stat-line svg{width:23px;height:23px}
.m100-stat-line small{display:block;color:#ffe9bd;font-size:11px;font-weight:800}.m100-stat-line strong{font-size:15px}.m100-stars{display:flex;gap:3px;font-size:20px;color:#ffc638}.m100-stars i{font-style:normal;color:#57402b}

/* Briefing */
.m100-briefing-grid{min-height:calc(clamp(650px,62vw,900px) - 86px);display:grid;grid-template-columns:minmax(220px,29%) minmax(240px,32%) 1fr;align-items:center;gap:22px;padding:30px 36px 0}
.m100-briefing-matix{height:74%;align-self:end}.m100-briefing-matix img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 20px 18px rgba(0,0,0,.42))}
.m100-dialogue{position:relative;padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,#fff5da,#ead4a8);border:2px solid #a97037;color:#251c13;box-shadow:0 12px 26px rgba(0,0,0,.34);font-size:14px;line-height:1.43}.m100-dialogue:before{content:"";position:absolute;left:-20px;top:40px;border-style:solid;border-width:12px 20px 12px 0;border-color:transparent #f3e2bd transparent transparent}.m100-dialogue strong{font-size:17px}.m100-dialogue p{margin:8px 0 0}
.m100-dialogue--large{align-self:center;font-size:clamp(14px,1.2vw,17px);padding:24px 26px}.m100-dialogue--large strong{font-size:clamp(19px,1.7vw,25px)}
.m100-gate-card{align-self:center;min-height:430px;padding:26px;border-radius:24px;background:linear-gradient(180deg,rgba(4,24,49,.94),rgba(2,15,34,.96));border:1px solid rgba(47,199,235,.5);box-shadow:0 22px 44px rgba(0,0,0,.35),inset 0 0 34px rgba(50,165,224,.08);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;backdrop-filter:blur(8px)}
.m100-gate-logo{padding:10px 36px 14px;border-radius:18px;background:linear-gradient(180deg,#744118,#3b2013);border:3px solid #c67d31;box-shadow:0 10px 22px rgba(0,0,0,.35);text-align:center;transform:rotate(-1deg)}.m100-gate-logo span{display:block;color:#ffc43b;font-family:"Arial Black",sans-serif;font-size:30px;line-height:.9}.m100-gate-logo strong{display:block;color:#ffd64d;font-family:"Arial Black",sans-serif;font-size:44px;line-height:.95}
.m100-route-preview{width:100%;display:flex;align-items:flex-start;justify-content:center;gap:5px;flex-wrap:nowrap}
.m100-route-chip{position:relative;min-width:72px;flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff}.m100-route-chip>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--zone-accent) 80%,white),var(--zone-accent) 55%,#12152f 100%);border:3px solid color-mix(in srgb,var(--zone-accent) 70%,white);box-shadow:0 0 18px color-mix(in srgb,var(--zone-accent) 45%,transparent),0 8px 16px rgba(0,0,0,.3)}.m100-route-chip svg{width:31px;height:31px}.m100-route-chip small{font-size:10px;font-weight:800;text-align:center;line-height:1.05}.m100-route-chip i{position:absolute;right:-6px;top:16px;color:#ffc135;font-size:28px;font-style:normal;font-weight:900}.m100-route-chip--boss>span{background:linear-gradient(180deg,#6a451e,#2c1c15);border-color:#e4a343;color:#ffc44b}
.m100-gate-card .m100-primary{min-width:230px}

/* Tutorial */
.m100-training-shell{position:relative;max-width:1130px;margin:34px auto 0;padding:24px 28px 28px;border-radius:22px;background:linear-gradient(180deg,rgba(6,34,49,.96),rgba(3,24,38,.96));border:1px solid rgba(48,199,205,.45);box-shadow:0 28px 64px rgba(0,0,0,.4),inset 0 0 40px rgba(32,160,172,.07);backdrop-filter:blur(10px)}
.m100-training-shell>header{text-align:center;display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.m100-training-shell>header strong{color:#ffc32f;font-family:"Arial Black",sans-serif;font-size:27px;letter-spacing:.04em}.m100-training-shell>header span{font-weight:650;color:#f3f8fa}
.m100-training-grid{display:grid;grid-template-columns:240px minmax(300px,1fr) 270px;gap:22px;align-items:stretch}
.m100-product-card{padding:16px;border-radius:13px;background:linear-gradient(180deg,#f4e6c6,#d9bd83);border:3px solid #8b5e31;color:#2d2117;box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 0 0 3px rgba(255,255,255,.25);text-align:center}.m100-product-card h3{margin:0;font-size:20px}.m100-product-card img{display:block;width:80%;height:230px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 12px 10px rgba(63,36,20,.24))}.m100-product-card>div{padding:9px 0;border-top:1px solid rgba(92,61,29,.25)}.m100-product-card small{display:block;font-weight:750}.m100-product-card strong{font-size:26px}
.m100-training-question{padding:18px 10px}.m100-training-question h3{margin:0 0 16px;font-size:clamp(18px,1.8vw,25px);line-height:1.3}.m100-training-question h3 span{color:#ffe241}
.m100-option-stack{display:grid;gap:10px}.m100-option-stack button{min-height:54px;padding:0 16px;border-radius:10px;border:1px solid rgba(44,180,202,.4);background:linear-gradient(180deg,#0a2635,#061c2a);color:#fff;display:grid;grid-template-columns:42px 1fr 26px;align-items:center;gap:10px;text-align:left;cursor:pointer;box-shadow:inset 0 0 18px rgba(34,170,203,.05);transition:transform .15s ease,border-color .15s ease,background .15s ease}.m100-option-stack button:hover{transform:translateX(4px);border-color:#50d9ed}.m100-option-stack button.is-selected{border-color:#ffbd2e}.m100-option-stack button.is-correct{background:linear-gradient(180deg,#174326,#0b2f19);border-color:#5ee568;box-shadow:0 0 18px rgba(70,214,92,.18)}.m100-option-stack button>strong{font-size:20px}.m100-option-stack button>svg{color:#69df70}.m100-coin{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#ffd54e,#e9930f);border:2px solid #ffe77f;color:#7a4705;font-size:10px;font-weight:950}
.m100-training-feedback{position:relative;padding:160px 16px 18px;border-radius:14px;background:linear-gradient(180deg,#f7eed9,#e2c990);border:2px solid #a66d2e;color:#2a2015;opacity:.58;box-shadow:0 12px 24px rgba(0,0,0,.25);overflow:hidden}.m100-training-feedback.is-visible{opacity:1}.m100-training-feedback.is-correct{border-color:#3eaa42}.m100-training-matix{position:absolute;left:0;right:0;top:-65px;height:220px;display:flex;justify-content:flex-end}.m100-training-matix img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(0,0,0,.25))}.m100-training-feedback>strong{display:block;color:#16822d;font-size:21px;margin-bottom:7px}.m100-training-feedback p{margin:0;font-size:14px;line-height:1.42;font-weight:650}.m100-final-price{margin-top:12px;padding-top:10px;border-top:1px solid rgba(76,53,25,.25);display:flex;align-items:end;justify-content:space-between}.m100-final-price small{font-weight:750}.m100-final-price b{color:#178432;font-size:29px}
.m100-ready{display:block;min-width:160px;margin:20px auto 0;min-height:44px;border-radius:10px;border:1px solid #62c8ff;background:linear-gradient(180deg,#169fef,#0874ca);color:#fff;font-weight:950;cursor:pointer;box-shadow:0 8px 16px rgba(0,78,150,.3)}.m100-ready:disabled{opacity:.42;cursor:not-allowed}

/* HUD */
.m100-hud{display:flex;align-items:stretch;gap:7px;max-width:760px}.m100-hud-cell{min-width:118px;height:52px;padding:6px 12px;border-radius:10px;border:1px solid rgba(36,179,219,.48);background:rgba(2,22,43,.92);box-shadow:inset 0 0 18px rgba(38,158,210,.08),0 8px 17px rgba(0,0,0,.24);display:flex;align-items:center;gap:9px}.m100-hud-cell>span{width:32px;height:32px;display:grid;place-items:center;color:#ffc42e}.m100-hud-cell svg{width:24px;height:24px}.m100-hud-cell small{display:block;color:#d9f4ff;font-size:9px;font-weight:850;line-height:1}.m100-hud-cell strong{display:block;margin-top:3px;font-size:16px;line-height:1}.m100-hud>.m100-audio-controls button{height:52px;width:48px}

/* Map */
.m100-scene--map .m100-scene__shade{background:linear-gradient(180deg,rgba(0,6,18,.12),rgba(0,8,22,.05) 56%,rgba(0,6,18,.25))}
.m100-map-board{position:absolute;left:2.5%;right:2.5%;top:88px;bottom:62px}
.m100-map-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.m100-map-route path{fill:none;stroke:#ffb42b;stroke-width:7;stroke-dasharray:2 18;stroke-linecap:round;filter:drop-shadow(0 0 7px rgba(255,173,29,.9));animation:m100-dash 5s linear infinite}
.m100-map-node{position:absolute;width:144px;min-height:118px;padding:8px 10px 10px;border-radius:18px;border:2px solid color-mix(in srgb,var(--zone-accent,#ffbd28) 70%,white);background:linear-gradient(180deg,rgba(7,35,61,.96),rgba(3,19,37,.96));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;box-shadow:0 15px 25px rgba(0,0,0,.34),0 0 24px color-mix(in srgb,var(--zone-accent,#ffbd28) 24%,transparent);transition:transform .2s ease,filter .2s ease,opacity .2s ease}.m100-map-node:hover:not(:disabled){transform:translateY(-6px) scale(1.05);filter:brightness(1.1)}.m100-map-node:disabled{cursor:not-allowed}.m100-map-node.is-locked{opacity:.5;filter:grayscale(.55)}.m100-map-node.is-complete{border-color:#61df74;background:linear-gradient(180deg,rgba(21,77,48,.97),rgba(7,47,27,.97))}
.m100-map-node__number{position:absolute;left:-13px;top:-14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--zone-accent,#ffbd28);border:3px solid #dff9ff;color:#09223c;font-size:18px;font-weight:950;box-shadow:0 6px 12px rgba(0,0,0,.3)}.m100-map-node__number svg{width:24px}.m100-map-node__icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--zone-accent,#ffbd28) 24%,#071a36);color:var(--zone-accent,#ffbd28)}.m100-map-node__icon svg{width:29px;height:29px}.m100-map-node strong{text-align:center;font-size:13px;line-height:1.05}.m100-map-node small{font-size:8px;font-weight:900;color:color-mix(in srgb,var(--zone-accent,#ffbd28) 80%,white);letter-spacing:.04em}
.m100-map-node--frutas{left:4%;top:46%}.m100-map-node--almacen{left:23%;top:29%}.m100-map-node--moda{left:43%;top:18%}.m100-map-node--tech{left:67%;top:28%}.m100-map-node--taller{left:59%;top:66%}.m100-map-node--boss{--zone-accent:#ffc443;right:2%;top:55%;background:linear-gradient(180deg,rgba(83,51,21,.97),rgba(45,28,17,.97))}.m100-map-node--boss .m100-map-node__icon{color:#ffc443}
.m100-map-help{position:absolute;left:24px;right:24px;bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#dbf6ff;font-size:12px;font-weight:750}.m100-map-help span{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:9px;background:rgba(2,19,38,.82);border:1px solid rgba(56,180,219,.35)}.m100-map-help svg{width:18px;color:#ffc43a}

/* Challenge */
.m100-back{position:absolute;z-index:20;left:24px;top:78px;min-height:38px;padding:0 13px;border-radius:9px;border:1px solid #9172f2;background:rgba(65,30,145,.94);color:#fff;font-weight:900;display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 7px 14px rgba(0,0,0,.25)}.m100-back svg{width:18px}
.m100-challenge-grid{position:absolute;left:3%;right:3%;top:132px;bottom:108px;display:grid;grid-template-columns:minmax(240px,27%) 1fr;gap:22px;align-items:stretch}
.m100-guide-column{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.m100-guide-card{min-height:270px;display:grid;grid-template-columns:44% 1fr;align-items:end;border-radius:18px;background:linear-gradient(180deg,rgba(255,244,217,.97),rgba(226,195,139,.97));border:2px solid #9d672f;color:#2a2016;box-shadow:0 18px 34px rgba(0,0,0,.34);overflow:hidden}.m100-guide-card img{width:100%;height:270px;object-fit:contain;object-position:bottom;align-self:end;filter:drop-shadow(0 9px 10px rgba(0,0,0,.26))}.m100-guide-card>div{align-self:center;padding:16px 16px 16px 4px}.m100-guide-card strong{font-size:20px;color:#7e3f15}.m100-guide-card p{margin:8px 0 0;font-size:13px;font-weight:650;line-height:1.45}
.m100-zone-sign{min-height:90px;padding:12px 15px;border-radius:15px;border:2px solid color-mix(in srgb,var(--zone-accent) 70%,white);background:linear-gradient(180deg,rgba(5,31,56,.96),rgba(2,18,36,.96));display:flex;align-items:center;gap:13px;box-shadow:0 12px 26px rgba(0,0,0,.32),0 0 22px color-mix(in srgb,var(--zone-accent) 18%,transparent);color:var(--zone-accent)}.m100-zone-sign>svg{width:42px;height:42px}.m100-zone-sign small{display:block;color:#d8f3ff;font-size:10px;font-weight:900}.m100-zone-sign strong{display:block;color:#fff;font-size:17px;line-height:1.05}
.m100-challenge-card{position:relative;min-width:0;padding:24px 26px;border-radius:19px;background:linear-gradient(180deg,rgba(255,248,225,.98),rgba(235,214,171,.98));border:3px solid #9d672f;color:#271d14;box-shadow:0 22px 45px rgba(0,0,0,.4),inset 0 0 0 3px rgba(255,255,255,.25);overflow:auto}
.m100-challenge-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:13px;border-bottom:2px solid rgba(137,87,42,.28)}.m100-challenge-heading span{font-family:"Arial Black",sans-serif;color:#8a4a18;font-size:clamp(20px,2vw,31px);line-height:1}.m100-challenge-heading h2{margin:0;text-align:right;font-size:clamp(14px,1.35vw,20px);color:#4b3522}
.m100-fruit-layout{display:grid;grid-template-columns:minmax(190px,32%) 1fr;gap:22px;align-items:stretch}.m100-price-poster{align-self:center;padding:24px 18px;border-radius:13px;background:linear-gradient(180deg,#fff6dc,#e8cf9d);border:3px solid #a46f34;text-align:center;box-shadow:0 10px 20px rgba(86,51,22,.18),inset 0 0 0 3px rgba(255,255,255,.3)}.m100-price-poster small{display:block;font-weight:750}.m100-price-poster strong{display:block;font-size:clamp(36px,4vw,60px);margin:6px 0 16px}.m100-price-poster hr{border:0;border-top:1px solid rgba(80,50,25,.26);margin:0 0 15px}.m100-price-poster b{display:block;color:#a12a1d;font-size:clamp(44px,5vw,72px);line-height:1;margin-top:4px}
.m100-question-sheet{display:flex;flex-direction:column;justify-content:center;gap:13px}.m100-number-field{display:grid;grid-template-columns:1fr minmax(150px,34%);align-items:center;gap:16px;padding:15px 17px;border-radius:10px;background:rgba(255,251,237,.72);border:1px solid rgba(132,93,47,.35)}.m100-number-field>span{font-weight:800}.m100-number-field>span b{margin-right:4px}.m100-number-field>div{height:48px;display:flex;align-items:center;gap:8px}.m100-number-field small{font-size:17px;font-weight:900}.m100-number-field input{width:100%;height:100%;min-width:0;border:2px solid #9e8b68;border-radius:7px;background:#fffaf0;color:#261d15;text-align:center;font-size:23px;font-weight:950}.m100-number-field input:focus{border-color:#3eae4e}
.m100-feedback{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:10px;border:1px solid #d69736;background:#fff0be;color:#3f2b15}.m100-feedback>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f0aa25;color:#fff}.m100-feedback svg{width:20px}.m100-feedback strong{display:block;font-size:13px}.m100-feedback p{margin:3px 0 0;font-size:12px;line-height:1.35;font-weight:650}.m100-feedback.is-correct{border-color:#54b95a;background:#dff4d7}.m100-feedback.is-correct>span{background:#39a648}
.m100-visual-card{padding:15px;border-radius:13px;background:rgba(76,48,25,.08);border:1px solid rgba(112,75,38,.25);margin-bottom:14px}.m100-question-box{padding:13px 15px;border-radius:10px;background:#fff5db;border:1px solid rgba(131,91,48,.3);font-size:15px;line-height:1.4}.m100-answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px}.m100-answer-grid button{min-height:54px;border-radius:9px;border:2px solid #5d4633;background:linear-gradient(180deg,#4b392c,#211a16);color:#fff;font-size:19px;font-weight:950;cursor:pointer;box-shadow:0 6px 10px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .15s ease,background .15s ease,border-color .15s ease}.m100-answer-grid button:hover{transform:translateY(-2px);border-color:#8c6c4e}.m100-answer-grid button.is-selected{background:linear-gradient(180deg,#50c445,#269331);border-color:#9ff78a;box-shadow:0 0 0 3px rgba(66,182,62,.18),0 7px 12px rgba(0,0,0,.16)}.m100-card-actions{display:flex;justify-content:flex-end;margin-top:13px}.m100-card-actions .m100-primary{min-width:180px}
.m100-warehouse-visual{display:grid;grid-template-columns:20fr 35fr 45fr;min-height:132px;border-radius:11px;overflow:hidden;border:3px solid #72502f;box-shadow:0 7px 14px rgba(0,0,0,.16)}.m100-warehouse-visual>div{display:flex;flex-direction:column;align-items:center;justify-content:center}.m100-warehouse-visual strong{font-size:34px}.m100-warehouse-visual span{font-size:12px;font-weight:850}.m100-warehouse-visual .red{background:#d94d38;color:#fff}.m100-warehouse-visual .black{background:#26262b;color:#fff}.m100-warehouse-visual .white{background:#fbf1d8;color:#352b20}
.m100-fashion-visual{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:12px;align-items:stretch}.m100-price-chip,.m100-after-prices>span{padding:13px;border-radius:10px;background:#fff1cf;border:2px solid #9c672f;display:flex;flex-direction:column;align-items:center;justify-content:center}.m100-price-chip small,.m100-after-prices small{font-size:10px;font-weight:800}.m100-price-chip strong{font-size:31px}.m100-discount-tags{display:flex;align-items:center;justify-content:center;gap:8px}.m100-discount-tags>span{width:100px;min-height:82px;padding:9px;border-radius:8px;background:linear-gradient(180deg,#db4a2f,#a72720);color:#fff;font-size:25px;font-weight:950;text-align:center;transform:rotate(5deg);box-shadow:0 7px 12px rgba(0,0,0,.18)}.m100-discount-tags>span+span{background:linear-gradient(180deg,#8047d5,#572699);transform:rotate(-5deg)}.m100-discount-tags small{display:block;font-size:9px}.m100-after-prices{display:grid;gap:8px}.m100-after-prices strong{font-size:24px}
.m100-tech-sequence{min-height:130px;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border-radius:11px;background:linear-gradient(180deg,#0d4153,#062d3d);border:2px solid #1aa9c1;color:#fff}.m100-tech-sequence span{padding:14px 18px;border-radius:9px;background:#091b2d;border:1px solid #28c9df;font-size:24px;font-weight:950;box-shadow:inset 0 0 15px rgba(34,203,226,.08)}.m100-tech-sequence b{color:#ffd43e;font-size:21px}
.m100-window-visual{min-height:140px;position:relative;display:grid;place-items:center;border-radius:12px;background:#402717;border:5px solid #d8842c;box-shadow:inset 0 0 0 6px #f2ba64}.m100-window-visual>div{width:55%;height:70%;display:grid;place-items:center;border:7px solid #8d4c1f;background:linear-gradient(135deg,#c98136,#6b3a20);color:#fff0d1;font-weight:950;letter-spacing:.08em}.m100-window-visual span{position:absolute;padding:7px 10px;border-radius:7px;background:#fff2cc;border:1px solid #aa7135;color:#4b311d;font-size:12px;font-weight:900}.m100-window-visual .base{bottom:8px}.m100-window-visual .height{right:12px;top:50%;transform:translateY(-50%) rotate(90deg)}
.m100-route-strip{position:absolute;left:3%;right:3%;bottom:18px;height:72px;display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.m100-route-strip__item{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px;border-radius:11px;border:1px solid rgba(66,174,207,.38);background:rgba(3,24,44,.9);color:#fff;box-shadow:0 7px 15px rgba(0,0,0,.22)}.m100-route-strip__item:after{content:"";position:absolute;right:-8px;top:50%;width:9px;height:2px;background:#3ea9ce}.m100-route-strip__item:last-child:after{display:none}.m100-route-strip__item>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#163854;border:1px solid #5598ba;font-weight:950}.m100-route-strip__item svg{width:17px}.m100-route-strip__item small{font-size:9px;font-weight:850}.m100-route-strip__item.is-active{border-color:#72dffa;background:linear-gradient(180deg,#0b5680,#073e65);box-shadow:0 0 20px rgba(54,196,230,.22)}.m100-route-strip__item.is-complete>span{background:#239546;border-color:#70e582}

/* Boss */
.m100-boss-grid{position:absolute;left:3%;right:3%;top:112px;bottom:28px;display:grid;grid-template-columns:minmax(220px,24%) minmax(160px,19%) 1fr;align-items:center;gap:20px}.m100-boss-matix{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.m100-boss-matix img{width:90%;height:58%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 12px rgba(0,0,0,.32))}.m100-boss-matix .m100-dialogue{margin-top:-5px;width:100%}.m100-register-card{padding:20px 14px;border-radius:18px;background:linear-gradient(180deg,#16253a,#0b1728);border:3px solid #c6842e;box-shadow:0 18px 32px rgba(0,0,0,.36);text-align:center}.m100-register-icon{width:90px;height:90px;margin:0 auto 12px;border-radius:16px;background:#233950;display:grid;place-items:center;color:#ffbd35;border:1px solid #d48e30}.m100-register-icon svg{width:52px;height:52px}.m100-register-display{padding:12px;border-radius:8px;background:#2ea66d;color:#caffcd;border:4px solid #092f2c;font-family:Consolas,monospace;font-size:27px;font-weight:900}.m100-register-card>span{display:block;margin-top:12px;font-weight:900;color:#ffc65b}
.m100-boss-sheet{padding:20px 22px;border-radius:17px;background:linear-gradient(180deg,#fff5d6,#e5ca94);border:3px solid #a56d2d;color:#251c14;box-shadow:0 21px 42px rgba(0,0,0,.38),inset 0 0 0 3px rgba(255,255,255,.25);max-height:100%;overflow:auto}.m100-boss-sheet>header{padding-bottom:12px;border-bottom:2px solid rgba(126,82,37,.26);display:flex;flex-direction:column;gap:3px}.m100-boss-sheet>header strong{font-size:17px}.m100-boss-sheet>header span{font-size:12px;font-weight:700}.m100-boss-row{min-height:58px;display:grid;grid-template-columns:1fr minmax(130px,30%) 28px;align-items:center;gap:12px;border-bottom:1px solid rgba(127,85,41,.24);font-size:13px}.m100-boss-row>span{font-weight:750}.m100-boss-row>div{height:40px;display:flex;align-items:center;gap:6px}.m100-boss-row small{font-weight:900}.m100-boss-row input{width:100%;height:100%;min-width:0;border:2px solid #9e8b68;border-radius:6px;background:#fffaf0;text-align:center;font-weight:950;color:#211912}.m100-boss-row i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#3da64a;color:#fff;font-style:normal;opacity:.18}.m100-boss-row i.is-visible,.m100-boss-row input[readonly]+*{opacity:1}.m100-boss-row i svg{width:17px}.m100-boss-percent{margin-top:13px;padding:13px;border-radius:9px;background:rgba(255,249,231,.75);border:1px solid rgba(132,89,42,.28);display:grid;grid-template-columns:1fr 130px;align-items:center;gap:14px}.m100-boss-percent label{font-size:13px;font-weight:850}.m100-boss-percent>div{height:43px;display:flex;align-items:center;gap:7px}.m100-boss-percent input{width:100%;height:100%;border:2px solid #9e8b68;border-radius:6px;background:#fffaf0;text-align:center;font-size:18px;font-weight:950}.m100-boss-percent span{font-weight:900}.m100-boss-sheet .m100-feedback{margin-top:12px}.m100-boss-submit{display:flex;margin:12px 0 0 auto;min-width:175px}

/* Result */
.m100-result-grid{min-height:calc(clamp(650px,62vw,900px) - 165px);display:grid;grid-template-columns:minmax(220px,25%) 1fr minmax(210px,24%);align-items:center;gap:22px;padding:18px 34px}.m100-result-matix{align-self:end;height:80%;display:flex;align-items:flex-end;justify-content:center}.m100-result-matix img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 15px rgba(0,0,0,.38));animation:m100-celebrate 1.8s ease-in-out infinite}
.m100-result-main{text-align:center}.m100-result-stars{display:flex;justify-content:center;gap:13px;color:#ffd131;font-size:60px;line-height:1;text-shadow:0 5px 0 #a75b08,0 0 20px rgba(255,197,40,.55)}.m100-result-stars span:nth-child(2){transform:translateY(-10px) scale(1.16)}.m100-result-ribbon{display:inline-block;margin:7px auto 9px;padding:11px 34px;background:linear-gradient(180deg,#ffd247,#efa10d);border:3px solid #a55a09;border-radius:8px;color:#402000;font-family:"Arial Black",sans-serif;font-size:clamp(22px,2.5vw,38px);transform:rotate(-2deg);box-shadow:0 12px 22px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.55)}.m100-result-main h2{margin:4px 0 0;color:#ffd13b;font-family:"Arial Black",sans-serif;font-size:28px}.m100-result-main>p{margin:2px 0 14px;font-weight:900;letter-spacing:.05em}.m100-result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-radius:12px;background:linear-gradient(180deg,#f8dda8,#d9ab62);border:3px solid #a86b2e;color:#362516;box-shadow:0 16px 30px rgba(0,0,0,.32);overflow:hidden}.m100-result-stats>div{min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(104,68,32,.25);border-bottom:1px solid rgba(104,68,32,.25)}.m100-result-stats>div:nth-child(3n){border-right:0}.m100-result-stats>div:nth-child(n+4){border-bottom:0}.m100-result-stats small{font-size:10px;font-weight:800}.m100-result-stats strong{margin-top:4px;font-size:19px}.m100-result-stats .is-highlight strong{color:#13852d}
.m100-badge-card{padding:22px 16px;border-radius:18px;background:linear-gradient(180deg,rgba(5,35,59,.96),rgba(2,21,39,.96));border:2px solid #d7a037;text-align:center;box-shadow:0 18px 36px rgba(0,0,0,.36),0 0 26px rgba(255,192,50,.12)}.m100-badge-card small{font-weight:850;color:#e9f8ff}.m100-badge{width:130px;height:130px;margin:14px auto;border-radius:28px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ffe77b,#f2a918 58%,#9a510b);border:9px solid #1d5784;outline:4px solid #f3b83e;color:#fff3a3;box-shadow:0 0 28px rgba(255,193,53,.35),inset 0 0 0 6px rgba(114,62,11,.35);transform:rotate(2deg)}.m100-badge svg{width:78px;height:78px;filter:drop-shadow(0 5px 3px rgba(91,45,5,.34))}.m100-badge-card strong{font-size:14px;color:#fff0bd}.m100-result-actions{position:absolute;left:5%;right:5%;bottom:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.m100-result-actions .m100-primary{width:100%}

@keyframes m100-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes m100-celebrate{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-1.5deg)}}
@keyframes m100-dash{to{stroke-dashoffset:-100}}

@media (max-width:1120px){
  .m100-entry-grid{grid-template-columns:24% 1fr 220px;padding-inline:12px}.m100-entry-matix{min-height:400px}.m100-entry-stats{padding:10px}.m100-stat-line{grid-template-columns:34px 1fr;padding:9px 2px}.m100-stat-line>span{width:32px;height:32px}
  .m100-briefing-grid{grid-template-columns:24% 31% 1fr;padding-inline:15px}.m100-gate-card{padding:18px}.m100-route-chip small{font-size:8px}.m100-route-chip>span{width:48px;height:48px}.m100-route-chip svg{width:26px}
  .m100-hud-cell{min-width:95px;padding-inline:8px}.m100-hud-cell>span{width:26px}.m100-hud-cell strong{font-size:14px}
  .m100-map-node{width:125px;min-height:105px}.m100-map-node strong{font-size:11px}
  .m100-challenge-grid{grid-template-columns:230px 1fr;gap:15px}.m100-guide-card{grid-template-columns:42% 1fr}.m100-guide-card>div{padding-left:0}
  .m100-boss-grid{grid-template-columns:210px 150px 1fr}.m100-result-grid{grid-template-columns:210px 1fr 210px;padding-inline:18px}
}

@media (max-width:900px){
  .lm-market100{border-radius:16px}.m100-scene{min-height:880px}.m100-scene__content{padding:14px}
  .m100-topbar{align-items:flex-start}.m100-step-tag{font-size:11px;padding:0 10px;min-height:34px}.m100-audio-controls button{width:36px;height:36px}
  .m100-entry-grid{min-height:800px;grid-template-columns:1fr 220px;grid-template-rows:auto 300px;align-items:center;padding:30px 10px 0}.m100-entry-center{grid-column:1;grid-row:1;align-self:center}.m100-entry-stats{grid-column:2;grid-row:1}.m100-entry-matix{grid-column:1 / -1;grid-row:2;height:100%;min-height:0}.m100-entry-matix img{height:320px}.m100-logo{max-width:490px}.m100-entry-copy{max-width:500px}
  .m100-briefing-grid{min-height:800px;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;padding:28px 10px 0}.m100-briefing-matix{grid-column:1;grid-row:1 / 3;height:70%}.m100-dialogue--large{grid-column:2;grid-row:1}.m100-gate-card{grid-column:2;grid-row:2;min-height:360px}
  .m100-training-shell{margin-top:20px}.m100-training-grid{grid-template-columns:190px 1fr;grid-template-rows:auto auto}.m100-product-card img{height:180px}.m100-training-feedback{grid-column:1 / -1;padding:18px 18px 18px 180px;min-height:150px}.m100-training-matix{left:0;right:auto;top:-25px;width:180px;height:185px}.m100-training-matix img{width:100%;height:100%;object-fit:contain}
  .m100-topbar--hud{flex-direction:column;gap:8px}.m100-hud{width:100%;max-width:none;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.m100-hud-cell{min-width:0;height:44px;padding:4px 6px}.m100-hud>.m100-audio-controls{display:grid;grid-template-columns:1fr 1fr}.m100-hud>.m100-audio-controls button{width:100%;height:44px}.m100-map-board{top:135px;bottom:75px}.m100-map-node{width:112px;min-height:94px;padding:6px}.m100-map-node__icon{width:38px;height:38px}.m100-map-node__icon svg{width:23px}.m100-map-node__number{width:34px;height:34px;font-size:14px}.m100-map-node--frutas{left:1%;top:50%}.m100-map-node--almacen{left:20%;top:30%}.m100-map-node--moda{left:42%;top:18%}.m100-map-node--tech{left:68%;top:31%}.m100-map-node--taller{left:56%;top:70%}.m100-map-node--boss{right:1%;top:58%}
  .m100-back{top:132px}.m100-challenge-grid{top:178px;bottom:106px;grid-template-columns:1fr}.m100-guide-column{display:grid;grid-template-columns:1fr 1fr}.m100-guide-card{min-height:130px;grid-template-columns:115px 1fr}.m100-guide-card img{height:130px}.m100-zone-sign{min-height:130px}.m100-challenge-card{padding:18px}.m100-route-strip{height:70px}.m100-route-strip__item{flex-direction:column;gap:3px}.m100-route-strip__item small{text-align:center;font-size:8px}
  .m100-boss-grid{top:145px;bottom:20px;grid-template-columns:180px 1fr;grid-template-rows:170px 1fr}.m100-boss-matix{grid-column:1;grid-row:1 / 3}.m100-boss-matix img{height:45%}.m100-register-card{grid-column:2;grid-row:1;display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px;padding:10px}.m100-register-icon{width:65px;height:65px;margin:0}.m100-register-display{font-size:20px}.m100-register-card>span{grid-column:1 / -1;margin:0}.m100-boss-sheet{grid-column:2;grid-row:2}
  .m100-result-grid{min-height:720px;grid-template-columns:180px 1fr;grid-template-rows:1fr auto;padding:20px 14px 95px}.m100-result-matix{grid-column:1;grid-row:1;height:70%}.m100-result-main{grid-column:2;grid-row:1}.m100-badge-card{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:1fr 110px 1fr;align-items:center}.m100-badge{width:90px;height:90px;margin:0 auto}.m100-badge svg{width:55px;height:55px}.m100-result-actions{bottom:18px;gap:10px}.m100-result-actions .m100-primary{font-size:11px;padding-inline:9px}
}

@media (max-width:650px){
  .lm-market100{border-radius:10px}.m100-scene{min-height:1120px}.m100-scene__content{padding:10px}.m100-step-tag{max-width:66%;white-space:normal;line-height:1.1}
  .m100-entry-grid{min-height:1030px;display:flex;flex-direction:column;justify-content:center;padding:30px 0 0}.m100-entry-center{order:1}.m100-entry-stats{order:2;width:min(100%,420px);display:grid;grid-template-columns:1fr 1fr}.m100-entry-matix{order:3;height:300px;min-height:300px}.m100-entry-matix img{height:310px}.m100-logo{width:92%;padding-inline:20px}.m100-logo:before,.m100-logo:after{display:none}.m100-entry-copy{font-size:14px;padding:0 10px}.m100-entry-center .m100-primary{min-width:230px}
  .m100-briefing-grid{min-height:1030px;display:flex;flex-direction:column;padding:20px 0}.m100-briefing-matix{height:280px;width:100%}.m100-briefing-matix img{height:300px}.m100-dialogue--large{width:94%;margin-top:-35px}.m100-gate-card{width:94%;min-height:430px}.m100-route-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.m100-route-chip i{display:none}.m100-route-chip--boss{grid-column:2}
  .m100-training-shell{padding:16px 12px}.m100-training-grid{grid-template-columns:1fr}.m100-product-card{width:min(100%,300px);margin:auto}.m100-training-question{padding:5px}.m100-training-feedback{grid-column:auto;padding:160px 18px 18px}.m100-training-matix{left:auto;right:0;top:-45px;width:190px}.m100-ready{margin-top:14px}
  .m100-topbar--hud{gap:6px}.m100-hud{grid-template-columns:repeat(2,1fr)}.m100-hud>.m100-audio-controls{grid-column:1 / -1}.m100-map-board{top:250px;bottom:100px}.m100-map-route{display:none}.m100-map-node{width:120px;min-height:98px}.m100-map-node--frutas{left:4%;top:8%}.m100-map-node--almacen{right:4%;left:auto;top:19%}.m100-map-node--moda{left:8%;top:38%}.m100-map-node--tech{right:5%;left:auto;top:49%}.m100-map-node--taller{left:7%;top:68%}.m100-map-node--boss{right:4%;top:77%}.m100-map-help{flex-direction:column;align-items:stretch}.m100-map-help span{justify-content:center}
  .m100-scene--challenge{min-height:1240px}.m100-back{top:245px}.m100-challenge-grid{top:295px;bottom:110px;display:flex;flex-direction:column}.m100-guide-column{display:flex;flex-direction:column}.m100-guide-card{display:grid;grid-template-columns:110px 1fr;min-height:130px}.m100-zone-sign{min-height:80px}.m100-challenge-card{overflow:visible}.m100-challenge-heading{align-items:flex-start;flex-direction:column}.m100-challenge-heading h2{text-align:left}.m100-fruit-layout{grid-template-columns:1fr}.m100-price-poster{width:70%;margin:auto}.m100-number-field{grid-template-columns:1fr}.m100-fashion-visual{grid-template-columns:1fr}.m100-answer-grid{grid-template-columns:1fr 1fr}.m100-tech-sequence{flex-wrap:wrap}.m100-window-visual{min-height:190px}.m100-route-strip{left:2%;right:2%;gap:3px}.m100-route-strip__item{padding:4px 2px}.m100-route-strip__item small{font-size:7px}.m100-route-strip__item>span{width:25px;height:25px}
  .m100-scene--boss{min-height:1240px}.m100-boss-grid{top:255px;bottom:18px;display:flex;flex-direction:column}.m100-boss-matix{height:280px;width:100%;display:grid;grid-template-columns:160px 1fr;align-items:center}.m100-boss-matix img{width:160px;height:270px}.m100-boss-matix .m100-dialogue{margin:0}.m100-register-card{width:100%;display:grid;grid-template-columns:70px 1fr;padding:10px}.m100-boss-sheet{width:100%;max-height:none}.m100-boss-row{grid-template-columns:1fr 120px 26px}.m100-boss-percent{grid-template-columns:1fr}.m100-boss-submit{width:100%}
  .m100-scene--result{min-height:1080px}.m100-result-grid{min-height:920px;display:flex;flex-direction:column;padding:25px 8px 175px}.m100-result-matix{height:250px;width:100%}.m100-result-matix img{height:280px}.m100-result-stars{font-size:45px}.m100-result-ribbon{font-size:22px;padding-inline:16px}.m100-result-stats{grid-template-columns:repeat(2,1fr)}.m100-result-stats>div{border-right:1px solid rgba(104,68,32,.25)!important;border-bottom:1px solid rgba(104,68,32,.25)!important}.m100-result-stats>div:nth-child(2n){border-right:0!important}.m100-result-stats>div:nth-child(n+5){border-bottom:0!important}.m100-badge-card{display:flex;flex-direction:column;width:70%;padding:15px}.m100-result-actions{grid-template-columns:1fr;bottom:16px}.m100-result-actions .m100-primary{min-height:42px}
}

@media (prefers-reduced-motion:reduce){.lm-market100 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* ============================================================
   MERCADO 100 V5 - ESCENARIOS NATIVOS
   No se usa ninguna captura de pantalla como fondo. El mercado,
   luces, puestos, mapa y objetos se construyen con HTML/CSS.
   Matix y la mochila son recursos independientes del escenario.
   ============================================================ */
.m100-scene__content{z-index:2}
.m100-world{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none;background:#04122e}
.m100-world__sky{position:absolute;inset:0 0 44%;background:
  radial-gradient(circle at 20% 18%,rgba(87,58,219,.28),transparent 23%),
  radial-gradient(circle at 78% 24%,rgba(28,115,230,.2),transparent 24%),
  radial-gradient(circle at 50% 115%,rgba(34,73,162,.38),transparent 52%),
  linear-gradient(180deg,#03102a 0%,#071d49 52%,#0a2859 100%)}
.m100-world__sky:before{content:"";position:absolute;inset:0;background-image:
  radial-gradient(circle,#fff6a6 0 1px,transparent 1.5px),
  radial-gradient(circle,#7fdcff 0 1px,transparent 1.5px),
  radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:127px 103px,173px 151px,211px 181px;background-position:12px 20px,55px 47px,101px 8px;opacity:.72}
.m100-world__moon{position:absolute;right:12%;top:7%;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff9d7 0 20%,#b9d7ff 58%,#7ba7e1 100%);box-shadow:0 0 36px rgba(175,211,255,.42)}
.m100-world__moon:after{content:"";position:absolute;left:27px;top:-6px;width:78px;height:78px;border-radius:50%;background:#061842}
.m100-world__haze{position:absolute;left:10%;right:10%;top:32%;height:38%;background:radial-gradient(ellipse at center,rgba(42,99,188,.38),rgba(12,32,77,.18) 42%,transparent 72%);filter:blur(8px)}

/* guirnalda real */
.m100-world__lights{position:absolute;left:-3%;right:-3%;top:13%;height:170px;z-index:5;filter:drop-shadow(0 0 9px rgba(255,174,34,.35))}
.m100-world__lights .wire{position:absolute;left:0;right:0;top:40px;height:78px;border-top:3px solid rgba(93,48,33,.9);border-radius:0 0 50% 50%;transform:rotate(-1deg)}
.m100-world__lights b{--n:13;position:absolute;left:var(--x);top:var(--y);width:13px;height:20px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 45% 30%,#fffad0,#ffd23f 36%,#ff8a13 72%,#b13d00 100%);box-shadow:0 0 10px #ffb62d,0 0 24px rgba(255,143,18,.84)}
.m100-world__lights b:before{content:"";position:absolute;left:4px;top:-9px;width:5px;height:10px;border-radius:2px;background:#5a2b19}

/* calle adoquinada con profundidad */
.m100-world__street{position:absolute;left:22%;right:22%;top:42%;bottom:-16%;clip-path:polygon(33% 0,67% 0,100% 100%,0 100%);background:
  repeating-linear-gradient(7deg,transparent 0 28px,rgba(205,145,102,.18) 29px 31px),
  repeating-linear-gradient(90deg,transparent 0 58px,rgba(205,145,102,.13) 59px 62px),
  linear-gradient(180deg,#6b4164 0%,#3e2c55 42%,#161c38 100%);box-shadow:inset 0 0 60px rgba(4,9,24,.55)}
.m100-world__street:before,.m100-world__street:after{content:"";position:absolute;top:0;bottom:0;width:23%;background:linear-gradient(90deg,rgba(3,11,29,.55),transparent)}
.m100-world__street:before{left:0}.m100-world__street:after{right:0;transform:scaleX(-1)}
.m100-world__street span{position:absolute;left:50%;width:5px;height:5px;border-radius:50%;background:#ffc14e;box-shadow:0 0 14px #ff9e1a}
.m100-world__street span:nth-child(1){top:18%}.m100-world__street span:nth-child(2){top:49%}.m100-world__street span:nth-child(3){top:77%}

/* puestos laterales construidos */
.m100-world__stall{position:absolute;bottom:8%;width:26%;height:49%;z-index:4;filter:drop-shadow(0 22px 20px rgba(0,0,0,.42))}
.m100-world__stall--left{left:-2%;transform:perspective(900px) rotateY(8deg)}
.m100-world__stall--right{right:-2%;transform:perspective(900px) rotateY(-8deg)}
.m100-world__stall:before{content:"";position:absolute;left:7%;right:7%;top:17%;bottom:10%;border-radius:14px 14px 8px 8px;background:linear-gradient(90deg,#3b1b12,#6d351b 48%,#3a1a11);border:5px solid #1f100c;box-shadow:inset 0 0 0 4px rgba(198,117,45,.32)}
.m100-world__stall .awning{position:absolute;left:1%;right:1%;top:4%;height:28%;border-radius:50% 50% 8px 8px/36% 36% 8px 8px;background:repeating-linear-gradient(90deg,#b93525 0 11%,#efc268 11% 22%);border:5px solid #46180f;box-shadow:0 11px 15px rgba(0,0,0,.34)}
.m100-world__stall--right .awning{background:repeating-linear-gradient(90deg,#5b2db5 0 11%,#efc268 11% 22%)}
.m100-world__stall .counter{position:absolute;left:2%;right:2%;bottom:5%;height:25%;border-radius:7px;background:linear-gradient(180deg,#9c5a25,#4e2716 70%,#2d150e);border:5px solid #35180f;box-shadow:inset 0 8px 0 rgba(255,193,105,.1)}
.m100-world__stall .produce{position:absolute;left:11%;right:11%;top:36%;bottom:31%;display:block;overflow:hidden;border-radius:12px;background:linear-gradient(180deg,#34210f,#1f140c);box-shadow:inset 0 0 0 5px #7a4b25}
.m100-world__stall .produce i,.m100-world__feature--fruit .crate i{position:absolute;width:31px;height:31px;border-radius:50%;left:var(--x);top:var(--y);background:radial-gradient(circle at 34% 27%,#fff7b0 0 6%,var(--c) 14% 67%,color-mix(in srgb,var(--c) 55%,#4b120a) 100%);box-shadow:inset -4px -5px 8px rgba(54,13,5,.28),0 3px 5px rgba(0,0,0,.32)}
.m100-world__stall .produce i:after,.m100-world__feature--fruit .crate i:after{content:"";position:absolute;left:48%;top:-5px;width:3px;height:8px;background:#4f3a17;transform:rotate(18deg)}

/* profundidad: casitas distantes */
.m100-world__distant{position:absolute;top:32%;width:29%;height:29%;z-index:1;opacity:.92}
.m100-world__distant--a{left:19%}.m100-world__distant--b{right:18%}
.m100-world__distant i{position:absolute;bottom:0;width:31%;height:63%;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#243861,#122342);border:3px solid #0a1732;box-shadow:inset 0 0 0 2px rgba(89,155,227,.1)}
.m100-world__distant i:before{content:"";position:absolute;left:-8%;right:-8%;top:-19%;height:24%;background:linear-gradient(180deg,#8f382e,#4d2225);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:5px}
.m100-world__distant i:after{content:"";position:absolute;left:20%;top:34%;width:21%;height:18%;background:#ffc63c;box-shadow:56px 0 0 #ffb52f,0 42px 0 #ffb52f,56px 42px 0 #ffb52f,0 0 13px #ffad1e,56px 0 13px #ffad1e}
.m100-world__distant i:nth-child(1){left:0;height:56%}.m100-world__distant i:nth-child(2){left:34%;height:74%}.m100-world__distant i:nth-child(3){right:0;height:51%}

/* porton sin textos: el titulo es React */
.m100-world__gate{position:absolute;left:35%;right:35%;top:20%;height:42%;z-index:2}
.m100-world__gate:before{content:"";position:absolute;left:12%;right:12%;top:5%;height:42%;border:23px solid #56311d;border-bottom:0;border-radius:50% 50% 0 0/75% 75% 0 0;box-shadow:inset 0 0 0 6px #b36b2b,0 0 0 6px #23120d,0 17px 24px rgba(0,0,0,.38)}
.m100-world__gate i{position:absolute;bottom:0;width:15%;height:71%;background:linear-gradient(90deg,#2b1711,#714224 45%,#3d2116);border:5px solid #24110d;box-shadow:inset 0 0 0 4px rgba(198,124,50,.24)}
.m100-world__gate i:first-child{left:7%}.m100-world__gate i:nth-child(2){right:7%}
.m100-world__gate span{position:absolute;left:23%;right:23%;top:24%;height:20%;border-radius:18px;background:linear-gradient(180deg,#6f3d1f,#3f2115);border:4px solid #c07c34;box-shadow:0 8px 16px rgba(0,0,0,.32)}

/* elementos tematicos de cada zona */
.m100-world__feature{position:absolute;z-index:3;filter:drop-shadow(0 18px 22px rgba(0,0,0,.43))}
.m100-world__feature--fruit{left:35%;bottom:15%;width:30%;height:38%;background:linear-gradient(180deg,#6d3418,#35180e);border:7px solid #2d130c;border-radius:9px}
.m100-world__feature--fruit:before{content:"";position:absolute;left:-3%;right:-3%;top:-22%;height:27%;background:linear-gradient(180deg,#9f5728,#5f2d17);border:6px solid #2d130c;clip-path:polygon(6% 22%,94% 22%,100% 100%,0 100%)}
.m100-world__feature--fruit .crate{position:absolute;left:8%;right:8%;top:14%;bottom:12%;overflow:hidden;background:#2c170d;border:6px solid #9a602d;border-radius:7px}
.m100-world__feature--fruit .crate i{width:40px;height:40px;left:var(--x);top:var(--y)}
.m100-world__feature--warehouse{left:38%;bottom:12%;width:25%;height:37%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:10px;padding:18px;background:linear-gradient(180deg,#815127,#3b2517);border:6px solid #26160f;border-radius:11px}
.m100-world__feature--warehouse i{border-radius:7px;background:#d84937;border:4px solid #6a321d;box-shadow:inset 0 7px 0 rgba(255,255,255,.08)}.m100-world__feature--warehouse i:nth-child(2),.m100-world__feature--warehouse i:nth-child(5){background:#26262d}.m100-world__feature--warehouse i:nth-child(3),.m100-world__feature--warehouse i:nth-child(6){background:#efe3c1}
.m100-world__feature--fashion{left:40%;bottom:13%;width:24%;height:39%}.m100-world__feature--fashion:before{content:"";position:absolute;left:0;right:0;bottom:0;height:70%;border-radius:13px;background:linear-gradient(180deg,#6f2aa3,#35155b);border:6px solid #1f0c39;box-shadow:inset 0 0 0 5px rgba(255,108,211,.12)}
.m100-world__feature--fashion span{position:absolute;left:35%;top:2%;width:31%;height:63%;background:linear-gradient(90deg,#193d6c,#2a5d91 55%,#102e55);clip-path:polygon(25% 0,75% 0,90% 13%,78% 100%,22% 100%,10% 13%);border-radius:12px;box-shadow:inset 0 0 0 5px #c98a52}
.m100-world__feature--fashion i,.m100-world__feature--fashion b{position:absolute;top:20%;width:23%;height:16%;border-radius:7px;background:#e94a31;box-shadow:0 5px 10px rgba(0,0,0,.3)}.m100-world__feature--fashion i{left:3%;transform:rotate(-8deg)}.m100-world__feature--fashion b{right:3%;background:#842bd0;transform:rotate(8deg)}
.m100-world__feature--tech{left:40%;bottom:15%;width:24%;height:36%;border-radius:16px;background:linear-gradient(180deg,#0f6c9e,#083f69);border:6px solid #032947;box-shadow:inset 0 0 0 5px rgba(69,218,255,.15)}
.m100-world__feature--tech span{position:absolute;left:18%;right:18%;top:13%;bottom:27%;border-radius:8px;background:radial-gradient(circle at 48% 44%,#46d7ff,#1368b4 47%,#071d42 100%);border:6px solid #03152b}
.m100-world__feature--tech i{position:absolute;left:11%;right:11%;bottom:12%;height:10%;border-radius:50% 50% 8px 8px;background:#83cbea;border:4px solid #05264b}.m100-world__feature--tech b{position:absolute;left:40%;right:40%;bottom:1%;height:11%;background:#173d62;border-radius:0 0 6px 6px}
.m100-world__feature--workshop{left:38%;bottom:12%;width:28%;height:40%;background:linear-gradient(180deg,#995729,#482515);border:6px solid #27140e;border-radius:12px}.m100-world__feature--workshop:before{content:"";position:absolute;left:-3%;right:-3%;top:-18%;height:25%;background:repeating-linear-gradient(90deg,#d94c31 0 16%,#f1d397 16% 32%);border:5px solid #3b1a11;clip-path:polygon(5% 0,95% 0,100% 100%,0 100%)}
.m100-world__feature--workshop span{position:absolute;left:16%;right:16%;top:18%;bottom:14%;background:linear-gradient(180deg,#d6b176,#8a5c32);border:6px solid #4a2a17}.m100-world__feature--workshop span:after{content:"";position:absolute;inset:15%;border:6px solid #3d2419;box-shadow:inset 0 0 0 4px #f0cc8c}.m100-world__feature--workshop i{position:absolute;left:5%;bottom:7%;width:21%;height:27%;background:#bd7b37;border:5px solid #3c2013}.m100-world__feature--workshop b{position:absolute;right:5%;bottom:7%;width:21%;height:27%;background:#bd7b37;border:5px solid #3c2013}
.m100-world__feature--boss{left:26%;right:30%;bottom:10%;height:48%}.m100-world__feature--boss .jacket{position:absolute;left:3%;bottom:0;width:32%;height:78%;background:linear-gradient(90deg,#143e6b,#265d91 50%,#13385e);clip-path:polygon(28% 0,72% 0,94% 14%,82% 100%,18% 100%,6% 14%);box-shadow:inset 0 0 0 7px #d2a66a}.m100-world__feature--boss .register{position:absolute;left:39%;bottom:0;width:36%;height:57%;border-radius:14px;background:linear-gradient(180deg,#29496b,#14263d);border:7px solid #091321;transform:skewX(-2deg)}
.m100-world__feature--boss .register:before{content:"";position:absolute;left:14%;right:14%;top:10%;height:27%;border-radius:8px;background:#1aa169;border:5px solid #08171e;box-shadow:inset 0 0 18px rgba(80,255,180,.25)}.m100-world__feature--boss .register i{position:absolute;width:17%;height:13%;border-radius:4px;background:#e64a2a;top:52%;left:13%}.m100-world__feature--boss .register i:nth-child(2){left:34%;background:#f2a52d}.m100-world__feature--boss .register i:nth-child(3){left:55%;background:#38b8d6}.m100-world__feature--boss .register i:nth-child(4){top:70%;left:13%;background:#e5842a}.m100-world__feature--boss .register i:nth-child(5){top:70%;left:34%;background:#f2c24a}.m100-world__feature--boss .register i:nth-child(6){top:70%;left:55%;background:#5ccf72}.m100-world__feature--boss .coins{position:absolute;right:0;bottom:2%;width:20%;height:21%;background:radial-gradient(ellipse at 50% 100%,#f5b72d 0 38%,transparent 40%),radial-gradient(ellipse at 25% 72%,#ffd44d 0 31%,transparent 33%),radial-gradient(ellipse at 72% 70%,#d98b13 0 31%,transparent 33%)}

/* mapa construido, sin imagen rasterizada */
.m100-world--map{background:linear-gradient(180deg,#061735,#092958 55%,#071a36)}
.m100-world--map .m100-world__stall,.m100-world--map .m100-world__street,.m100-world--map .m100-world__distant,.m100-world--map .m100-world__moon{display:none}
.m100-world--map .m100-world__lights{opacity:.55;top:6%}
.m100-world__mapcity{position:absolute;inset:8% 3% 2%;transform:perspective(1100px) rotateX(54deg) rotateZ(-1deg);transform-origin:center 72%;background:
  radial-gradient(circle at 50% 53%,rgba(50,140,226,.22) 0 7%,transparent 7.5%),
  repeating-linear-gradient(45deg,rgba(26,52,84,.36) 0 16px,rgba(17,35,61,.34) 16px 32px),
  linear-gradient(180deg,#1b3b4c,#132a35 60%,#0a1f2c);border-radius:32px;box-shadow:inset 0 0 90px rgba(0,5,20,.58),0 35px 75px rgba(0,0,0,.45)}
.m100-map-building{position:absolute;width:14%;height:19%;border-radius:10px;background:linear-gradient(180deg,#234b71,#112c4d);border:4px solid #0b1c31;box-shadow:8px 13px 0 rgba(1,9,20,.5),inset 0 0 0 3px rgba(84,168,230,.09)}
.m100-map-building:before{content:"";position:absolute;left:-6%;right:-6%;top:-18%;height:29%;background:linear-gradient(180deg,#ac4933,#5a2524);clip-path:polygon(50% 0,100% 100%,0 100%)}
.m100-map-building:after{content:"";position:absolute;left:14%;top:33%;width:18%;height:17%;background:#ffbe35;box-shadow:34px 0 0 #ffb62c,68px 0 0 #ffc944,0 38px 0 #ffb62c,34px 38px 0 #ffc944,68px 38px 0 #ffb62c,0 0 10px rgba(255,174,37,.72)}
.m100-map-building.b1{left:4%;top:48%;background:linear-gradient(180deg,#8e4b29,#4c2b1c)}.m100-map-building.b2{left:22%;top:27%;background:linear-gradient(180deg,#8f6030,#4b3521)}.m100-map-building.b3{left:43%;top:15%;background:linear-gradient(180deg,#862c9f,#46185d)}.m100-map-building.b4{right:18%;top:29%;background:linear-gradient(180deg,#126a9c,#073e66)}.m100-map-building.b5{left:54%;bottom:3%;background:linear-gradient(180deg,#b1492f,#65301f)}.m100-map-building.b6{right:2%;top:53%;background:linear-gradient(180deg,#755024,#3b291a)}.m100-map-building.b7{left:11%;top:4%;width:11%;height:14%}.m100-map-building.b8{right:5%;top:5%;width:12%;height:15%}
.m100-map-fountain{position:absolute;left:43%;top:48%;width:14%;height:14%;border-radius:50%;background:radial-gradient(circle,#66d5ff 0 13%,#1778a6 14% 28%,#7a7080 29% 42%,#32354b 43% 100%);box-shadow:0 0 22px rgba(40,187,255,.42),9px 12px 0 rgba(0,0,0,.25)}
.m100-map-fountain i{position:absolute;left:48%;bottom:52%;width:4%;height:52%;background:linear-gradient(180deg,#baf4ff,#45caff);box-shadow:0 0 10px #55d9ff}

/* celebracion CSS */
.m100-world__fireworks{position:absolute;inset:4% 8% 42%;z-index:3}.m100-world__fireworks i{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffd64b;box-shadow:0 -72px 0 2px #ffd64b,51px -51px 0 1px #ff4cc9,72px 0 0 2px #4edbff,51px 51px 0 1px #ff8d31,0 72px 0 2px #ffd64b,-51px 51px 0 1px #9d6cff,-72px 0 0 2px #4edbff,-51px -51px 0 1px #ff4cc9;filter:drop-shadow(0 0 8px currentColor);animation:m100-fire 2.4s ease-in-out infinite}.m100-world__fireworks i:nth-child(1){left:9%;top:25%;color:#ff4cbd}.m100-world__fireworks i:nth-child(2){left:33%;top:6%;color:#5ecfff;animation-delay:.4s}.m100-world__fireworks i:nth-child(3){left:57%;top:22%;color:#ffbb3c;animation-delay:.8s}.m100-world__fireworks i:nth-child(4){right:12%;top:5%;color:#a974ff;animation-delay:1.1s}.m100-world__fireworks i:nth-child(5){right:3%;top:36%;color:#ff6e36;animation-delay:.2s}
@keyframes m100-fire{0%,100%{transform:scale(.72);opacity:.58}50%{transform:scale(1.05);opacity:1}}

/* variaciones de luz para cada escena */
.m100-world--entry .m100-world__gate{opacity:.52;filter:blur(.3px)}
.m100-world--briefing .m100-world__gate{left:47%;right:17%;top:16%;height:48%}
.m100-world--tutorial{filter:saturate(.82) brightness(.72)}
.m100-world--frutas .m100-world__stall--left,.m100-world--frutas .m100-world__stall--right{opacity:.75}
.m100-world--almacen .m100-world__stall,.m100-world--tech .m100-world__stall{opacity:.58}
.m100-world--moda .m100-world__stall--right{opacity:.5}.m100-world--taller .m100-world__stall--left{opacity:.48}
.m100-world--boss .m100-world__stall{opacity:.48}
.m100-world--result .m100-world__stall{opacity:.9}.m100-world--result .m100-world__sky{background:radial-gradient(circle at 50% 25%,rgba(74,54,196,.34),transparent 32%),linear-gradient(180deg,#05092a,#132664 60%,#11305f)}

/* ajustes de composicion V5 */
@media (min-width:901px){
  .m100-scene--entry{min-height:790px}.m100-entry-grid{min-height:700px;grid-template-columns:31% 46% 23%;align-items:center;padding:30px 24px 0}.m100-entry-matix{height:620px;min-height:0;align-self:end}.m100-entry-matix img{height:100%;width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 26px 22px rgba(0,0,0,.5))}.m100-entry-center{padding-top:20px}.m100-logo{width:min(100%,560px)}.m100-entry-stats{max-width:275px;justify-self:end}
  .m100-scene--briefing{min-height:760px}.m100-briefing-grid{min-height:680px;grid-template-columns:30% 32% 38%;padding:32px 30px 0}.m100-briefing-matix{height:590px;align-self:end}.m100-dialogue--large{align-self:start;margin-top:120px}.m100-gate-card{min-height:320px;margin-top:128px}
  .m100-scene--tutorial{min-height:710px}.m100-training-shell{margin-top:26px}
  .m100-scene--map{min-height:680px}.m100-map-board{top:88px;bottom:58px}.m100-map-node{min-height:94px;width:132px}.m100-map-node__icon{width:40px;height:40px}.m100-map-node__number{left:50%;top:-21px;transform:translateX(-50%)}.m100-map-node--frutas{left:4%;top:46%}.m100-map-node--almacen{left:24%;top:30%}.m100-map-node--moda{left:44%;top:18%}.m100-map-node--tech{left:70%;top:30%}.m100-map-node--taller{left:58%;top:67%}.m100-map-node--boss{right:2%;top:55%}
  .m100-scene--challenge{min-height:720px}.m100-challenge-grid{top:135px;bottom:105px;grid-template-columns:25% 1fr}.m100-guide-card{min-height:245px;grid-template-columns:48% 1fr}.m100-guide-card img{height:245px;object-fit:contain}.m100-challenge-card{background:linear-gradient(180deg,rgba(255,249,229,.985),rgba(235,213,172,.985))}
  .m100-scene--boss{min-height:760px}.m100-boss-grid{left:3%;right:3%;top:115px;bottom:20px;grid-template-columns:29% 1fr;gap:26px}.m100-boss-matix{grid-column:1;align-self:end}.m100-boss-matix img{height:430px;max-width:100%;object-fit:contain;object-position:bottom}.m100-boss-sheet{grid-column:2;width:74%;justify-self:end;align-self:center;background:linear-gradient(180deg,rgba(255,247,222,.99),rgba(232,206,158,.99))}
  .m100-scene--result{min-height:750px}.m100-result-grid{min-height:650px;grid-template-columns:29% 47% 24%;padding:25px 24px 105px}.m100-result-matix{height:580px;align-self:end}.m100-result-matix img{height:100%;object-fit:contain;object-position:bottom;animation:m100-celebrate 2.8s ease-in-out infinite}.m100-badge-card{align-self:center}.m100-result-actions{left:31%;right:3%}
}

@media (max-width:900px){
  .m100-world__stall{width:34%;height:38%;bottom:5%}.m100-world__gate{left:28%;right:28%;top:23%}.m100-world__feature{opacity:.75}.m100-world--map .m100-world__lights{display:none}.m100-world__mapcity{inset:12% 0 3%;transform:perspective(1000px) rotateX(58deg)}
  .m100-entry-matix img,.m100-briefing-matix img,.m100-boss-matix img,.m100-result-matix img{object-fit:contain;object-position:bottom;background:transparent;border-radius:0}
}
@media (max-width:650px){
  .m100-world__stall{width:44%;height:31%;opacity:.75}.m100-world__street{left:12%;right:12%}.m100-world__gate{left:18%;right:18%;top:27%}.m100-world__distant{display:none}.m100-world__feature{left:24%;right:24%;width:auto;opacity:.42}.m100-world__feature--boss{left:8%;right:8%}.m100-world__mapcity{inset:17% -16% 3%;transform:perspective(900px) rotateX(62deg) scale(.92)}
}
.m100-badge-card em{display:block;margin-top:7px;color:#ffe46e;font-size:10px;font-style:normal;font-weight:950;letter-spacing:.08em}.m100-badge-card.is-perfect{box-shadow:0 0 0 2px #ffe36d,0 0 28px rgba(255,208,49,.42),0 18px 35px rgba(0,0,0,.32)}

/* ============================================================
   MERCADO 100 V14 - RECONSTRUCCION LIMPIA
   - CERO capturas de interfaz como fondo.
   - CERO UI duplicada dentro del escenario.
   - Mundo ilustrado construido solo con CSS/HTML.
   - Matix es un PNG transparente independiente.
   ============================================================ */
.lm-market100--v14{
  --m100-navy:#061b45;
  --m100-panel:#052742;
  --m100-cyan:#29d7ef;
  --m100-purple:#7c3be0;
  --m100-gold:#ffc42d;
  --m100-green:#23b54a;
  --m100-cream:#fff3d7;
  border-radius:18px;
  background:#04142e;
  box-shadow:0 24px 64px rgba(0,8,35,.34),0 0 0 1px rgba(40,126,224,.22);
}
.lm-market100--v14 .m100-scene{min-height:clamp(670px,60vw,870px);background:#061736}
.lm-market100--v14 .m100-scene__content{padding:16px 20px 24px}
.lm-market100--v14 .m100-scene__shade{background:linear-gradient(180deg,rgba(0,9,31,.02),rgba(0,7,24,.14) 58%,rgba(0,5,18,.33))}
.lm-market100--v14 .m100-step-tag{background:linear-gradient(180deg,#7b3ee1,#5423ad);border-color:#b484ff;box-shadow:0 8px 20px rgba(42,8,91,.34)}

/* Mundo mas rico pero sin texto ni botones. */
.lm-market100--v14 .m100-world__sky{background:
 radial-gradient(circle at 20% 18%,rgba(113,71,236,.28),transparent 24%),
 radial-gradient(circle at 79% 22%,rgba(21,135,247,.22),transparent 25%),
 linear-gradient(180deg,#04102b 0%,#0a2352 55%,#123163 100%)}
.lm-market100--v14 .m100-world__sky:before{opacity:.9;background-size:103px 87px,151px 127px,197px 173px}
.lm-market100--v14 .m100-world__lights{top:10%;filter:drop-shadow(0 0 14px rgba(255,172,31,.5))}
.lm-market100--v14 .m100-world__stall{height:54%;bottom:5%}
.lm-market100--v14 .m100-world__stall:before{background:linear-gradient(90deg,#3e1d13,#804522 50%,#3d1b12);box-shadow:inset 0 0 0 4px rgba(255,190,104,.08),0 12px 30px rgba(0,0,0,.28)}
.lm-market100--v14 .m100-world__stall .awning{box-shadow:0 10px 18px rgba(0,0,0,.38),0 0 16px rgba(255,174,55,.1)}
.lm-market100--v14 .m100-world__street{left:18%;right:18%;top:38%;background:
 repeating-linear-gradient(7deg,transparent 0 25px,rgba(237,164,111,.18) 26px 29px),
 repeating-linear-gradient(90deg,transparent 0 54px,rgba(220,145,94,.13) 55px 58px),
 linear-gradient(180deg,#71476e 0%,#442f59 43%,#171d3e 100%)}
.lm-market100--v14 .m100-world__gate{left:32%;right:32%;top:17%;height:45%}

/* Matix: recurso independiente. Se evita cualquier panel incrustado en la imagen. */
.lm-market100--v14 .m100-entry-matix img,
.lm-market100--v14 .m100-briefing-matix img,
.lm-market100--v14 .m100-training-matix img,
.lm-market100--v14 .m100-guide-card img,
.lm-market100--v14 .m100-boss-matix img,
.lm-market100--v14 .m100-result-matix img{
  object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.38));
}

/* Entrada: un solo cartel, un solo panel y un solo boton. */
.lm-market100--v14 .m100-entry-grid{grid-template-columns:minmax(230px,28%) minmax(420px,1fr) minmax(210px,270px);gap:20px;padding:14px 26px 0;align-items:end}
.lm-market100--v14 .m100-entry-matix{height:80%;min-height:500px}
.lm-market100--v14 .m100-entry-matix img{width:min(100%,410px);height:auto;max-height:610px}
.lm-market100--v14 .m100-entry-center{padding-top:18px;gap:13px}
.lm-market100--v14 .m100-logo{width:min(100%,570px);background:linear-gradient(180deg,#7f4923,#3f2114);border-color:#e4a043}
.lm-market100--v14 .m100-entry-copy{max-width:610px;font-size:clamp(14px,1.25vw,18px)}
.lm-market100--v14 .m100-entry-center .m100-primary{min-width:300px;min-height:56px;font-size:17px}
.lm-market100--v14 .m100-entry-stats{background:linear-gradient(180deg,rgba(77,40,23,.96),rgba(41,20,14,.96));border-color:#c77d31}

/* Briefing: solo una burbuja y un panel funcional. */
.lm-market100--v14 .m100-briefing-grid{grid-template-columns:minmax(240px,29%) minmax(280px,31%) 1fr;gap:24px;padding:24px 34px 0}
.lm-market100--v14 .m100-briefing-matix{height:82%}
.lm-market100--v14 .m100-briefing-matix img{max-height:610px;width:100%}
.lm-market100--v14 .m100-dialogue--large{background:linear-gradient(180deg,#fff8e5,#ecd4a5);border-color:#c8843b;box-shadow:0 16px 30px rgba(0,0,0,.3)}
.lm-market100--v14 .m100-gate-card{min-height:390px;padding:24px;background:linear-gradient(180deg,rgba(4,31,61,.96),rgba(2,18,39,.97));border:1px solid rgba(44,210,240,.55)}
.lm-market100--v14 .m100-gate-card .m100-primary{min-width:235px;min-height:54px}

/* Entrenamiento: Matix vive dentro de la tercera columna, no debajo ni detras. */
.lm-market100--v14 .m100-training-shell{max-width:1180px;margin:28px auto 0;padding:24px 26px 26px;background:linear-gradient(180deg,rgba(3,42,63,.97),rgba(3,25,42,.98));border:1px solid rgba(39,213,230,.55)}
.lm-market100--v14 .m100-training-grid{grid-template-columns:230px minmax(330px,1fr) 285px;gap:20px}
.lm-market100--v14 .m100-product-card{background:linear-gradient(180deg,#fff8df,#ead19c);border:2px solid #c98b41}
.lm-market100--v14 .m100-training-feedback{padding:236px 18px 18px;min-height:405px;opacity:1;background:linear-gradient(180deg,#fff7df,#ead19b);border:2px solid #bd8343;overflow:hidden}
.lm-market100--v14 .m100-training-matix{top:10px;left:10px;right:10px;height:220px;justify-content:center}
.lm-market100--v14 .m100-training-matix img{max-height:220px;width:auto}
.lm-market100--v14 .m100-training-feedback>strong{color:#156eae;font-size:20px}
.lm-market100--v14 .m100-ready{min-width:250px;min-height:54px;margin-top:20px}

/* Mapa 100% nativo: edificios CSS + nodos React, nunca etiquetas horneadas. */
.lm-market100--v14 .m100-world--map{background:linear-gradient(180deg,#061a3b,#0a2b55 58%,#07192e)}
.lm-market100--v14 .m100-world__mapcity{inset:8% 2% 1%;background:
 radial-gradient(circle at 50% 55%,rgba(48,178,225,.22),transparent 15%),
 radial-gradient(circle at 22% 38%,rgba(255,193,54,.09),transparent 14%),
 radial-gradient(circle at 78% 40%,rgba(77,179,255,.09),transparent 15%),
 linear-gradient(180deg,#23503f,#173a35 42%,#112c32 100%)}
.lm-market100--v14 .m100-map-building{box-shadow:0 14px 18px rgba(0,0,0,.3),inset 0 0 0 3px rgba(255,255,255,.04)}
.lm-market100--v14 .m100-map-fountain{box-shadow:0 0 35px rgba(61,210,255,.4)}
.lm-market100--v14 .m100-map-route path{stroke:#ffc62d;stroke-width:9;stroke-linecap:round;stroke-dasharray:5 19;filter:drop-shadow(0 0 7px #ffb019)}
.lm-market100--v14 .m100-map-node{background:linear-gradient(180deg,rgba(4,35,65,.98),rgba(2,20,43,.98));border:2px solid color-mix(in srgb,var(--zone-accent) 80%,white);box-shadow:0 14px 24px rgba(0,0,0,.35),0 0 18px color-mix(in srgb,var(--zone-accent) 30%,transparent)}
.lm-market100--v14 .m100-map-node.is-locked{opacity:.62;filter:saturate(.55)}
.lm-market100--v14 .m100-map-node--frutas{left:5%;top:45%}
.lm-market100--v14 .m100-map-node--almacen{left:24%;top:27%}
.lm-market100--v14 .m100-map-node--moda{left:45%;top:15%}
.lm-market100--v14 .m100-map-node--tech{left:70%;top:29%}
.lm-market100--v14 .m100-map-node--taller{left:58%;top:67%}
.lm-market100--v14 .m100-map-node--boss{right:2%;top:57%}

/* Zonas: el escenario queda visible y el panel no tapa todo el mercado. */
.lm-market100--v14 .m100-scene--challenge .m100-challenge-grid{grid-template-columns:minmax(205px,25%) 1fr;gap:18px;top:105px;bottom:82px}
.lm-market100--v14 .m100-guide-column{gap:12px}
.lm-market100--v14 .m100-guide-card{padding:12px;background:linear-gradient(180deg,rgba(255,247,222,.96),rgba(232,206,157,.96));border-color:#bd7d37;color:#281c12;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.lm-market100--v14 .m100-guide-card img{position:absolute;left:50%;top:2px;transform:translateX(-50%);height:190px;width:auto;max-width:95%}
.lm-market100--v14 .m100-guide-card>div{position:relative;z-index:2;background:rgba(255,246,220,.92);padding:9px 10px;border-radius:10px}
.lm-market100--v14 .m100-challenge-card{background:linear-gradient(180deg,rgba(255,247,224,.98),rgba(231,202,150,.98));border:2px solid #bd7b36;box-shadow:0 20px 40px rgba(0,0,0,.34);padding:18px 20px;color:#2b1d13}
.lm-market100--v14 .m100-challenge-heading{border-bottom:1px solid rgba(122,75,32,.25);padding-bottom:10px}
.lm-market100--v14 .m100-challenge-heading span{color:#864713;font-size:24px}
.lm-market100--v14 .m100-challenge-heading h2{color:#5c381e}
.lm-market100--v14 .m100-question-sheet,.lm-market100--v14 .m100-visual-card{background:rgba(255,249,232,.83)}
.lm-market100--v14 .m100-route-strip{background:rgba(3,24,51,.95);border:1px solid rgba(52,205,236,.4)}

/* Frutas: cajon nativo de frutas en vez de un icono plano. */
.lm-market100--v14 .m100-scene--frutas .m100-world__feature--fruit{opacity:1;left:29%;width:34%;height:42%;bottom:10%}
.lm-market100--v14 .m100-scene--frutas .m100-world__feature--fruit .crate i{width:44px;height:44px}
.lm-market100--v14 .m100-fruit-layout{grid-template-columns:minmax(210px,.9fr) minmax(320px,1.25fr);gap:18px}
.lm-market100--v14 .m100-price-poster{background:linear-gradient(180deg,#fff5d3,#e8c687)}

/* Otras zonas: diferenciacion cromatica del escenario. */
.lm-market100--v14 .m100-scene--almacen .m100-world__feature--warehouse{opacity:.96}
.lm-market100--v14 .m100-scene--moda .m100-world__feature--fashion{opacity:.96}
.lm-market100--v14 .m100-scene--tech .m100-world__feature--tech{opacity:.96}
.lm-market100--v14 .m100-scene--taller .m100-world__feature--workshop{opacity:.96}

/* Caja Maestra: un solo formulario y un solo Matix. */
.lm-market100--v14 .m100-boss-grid{grid-template-columns:minmax(250px,34%) 1fr;gap:22px;top:104px;bottom:28px}
.lm-market100--v14 .m100-boss-matix{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;overflow:hidden}
.lm-market100--v14 .m100-boss-matix img{max-height:470px;width:auto;max-width:100%}
.lm-market100--v14 .m100-boss-matix .m100-dialogue{width:88%;margin-top:-25px;z-index:3}
.lm-market100--v14 .m100-boss-sheet{background:linear-gradient(180deg,rgba(255,248,228,.99),rgba(232,205,158,.99));border:2px solid #c58337;box-shadow:0 20px 42px rgba(0,0,0,.38)}

/* Cierre. */
.lm-market100--v14 .m100-result-grid{grid-template-columns:minmax(220px,28%) 1fr minmax(205px,23%);padding:14px 30px 92px}
.lm-market100--v14 .m100-result-matix{height:82%}
.lm-market100--v14 .m100-result-matix img{max-height:600px;width:auto;max-width:100%}
.lm-market100--v14 .m100-result-ribbon{background:linear-gradient(180deg,#ffda49,#efa80e)}

@media(max-width:1050px){
  .lm-market100--v14 .m100-entry-grid{grid-template-columns:220px 1fr 220px;padding-inline:12px}
  .lm-market100--v14 .m100-entry-matix{min-height:420px}
  .lm-market100--v14 .m100-briefing-grid{grid-template-columns:220px 1fr;grid-template-rows:auto 1fr}
  .lm-market100--v14 .m100-briefing-matix{grid-row:1 / 3}
  .lm-market100--v14 .m100-gate-card{grid-column:2}
  .lm-market100--v14 .m100-training-grid{grid-template-columns:190px 1fr;grid-template-rows:auto auto}
  .lm-market100--v14 .m100-training-feedback{grid-column:1 / -1;min-height:190px;padding:20px 20px 20px 210px}
  .lm-market100--v14 .m100-training-matix{left:10px;right:auto;top:0;width:190px;height:190px}
  .lm-market100--v14 .m100-scene--challenge .m100-challenge-grid{grid-template-columns:210px 1fr}
}
@media(max-width:760px){
  .lm-market100--v14 .m100-entry-grid,.lm-market100--v14 .m100-briefing-grid,.lm-market100--v14 .m100-result-grid{display:flex;flex-direction:column}
  .lm-market100--v14 .m100-entry-matix,.lm-market100--v14 .m100-briefing-matix{height:280px;min-height:280px;width:100%}
  .lm-market100--v14 .m100-entry-matix img,.lm-market100--v14 .m100-briefing-matix img{max-height:290px}
  .lm-market100--v14 .m100-entry-stats,.lm-market100--v14 .m100-dialogue--large,.lm-market100--v14 .m100-gate-card{width:94%;margin:8px auto}
  .lm-market100--v14 .m100-training-grid{grid-template-columns:1fr}
  .lm-market100--v14 .m100-training-feedback{padding:210px 18px 18px;min-height:360px}
  .lm-market100--v14 .m100-training-matix{left:10px;right:10px;top:10px;width:auto;height:190px}
  .lm-market100--v14 .m100-scene--challenge{min-height:1180px}
  .lm-market100--v14 .m100-scene--challenge .m100-challenge-grid{display:flex;flex-direction:column;top:220px;bottom:100px}
  .lm-market100--v14 .m100-guide-card{min-height:230px}
  .lm-market100--v14 .m100-boss-grid{display:flex;flex-direction:column;top:220px}
  .lm-market100--v14 .m100-result-grid{padding-bottom:175px}
}

/* ============================================================
   MERCADO 100 V15 - RECONSTRUCCION DEFINITIVA
   Objetivos verificables:
   - mapa ilustrado con profundidad real;
   - Matix en poses separadas;
   - actividades sin zonas vacias rigidas;
   - tarjetas ajustadas al contenido;
   - controles reales, unicos y legibles.
   ============================================================ */
.lm-market100--v15{
  --m100-navy:#041633;
  --m100-panel:#05263f;
  --m100-cyan:#28d7ec;
  --m100-purple:#7441da;
  --m100-gold:#ffc439;
  --m100-green:#28b84c;
  --m100-cream:#fff4d9;
  border-radius:18px;
  background:#04142e;
  box-shadow:0 24px 64px rgba(0,8,35,.34),0 0 0 1px rgba(40,126,224,.22);
}
.lm-market100--v15 .m100-scene{background:#061736;min-height:clamp(640px,56vw,820px)}
.lm-market100--v15 .m100-step-tag{background:linear-gradient(180deg,#7d45df,#5422ab);border-color:#bd8bff}
.lm-market100--v15 .m100-entry-matix img,
.lm-market100--v15 .m100-briefing-matix img,
.lm-market100--v15 .m100-training-matix img,
.lm-market100--v15 .m100-guide-card img,
.lm-market100--v15 .m100-boss-matix img,
.lm-market100--v15 .m100-result-matix img{background:transparent!important;border:0!important;outline:0!important}

/* Matix: mas presencia, sin miniaturas flotantes. */
.lm-market100--v15 .m100-entry-grid{grid-template-columns:minmax(250px,30%) minmax(420px,1fr) minmax(220px,270px);min-height:690px;padding:22px 26px 0}
.lm-market100--v15 .m100-entry-matix{height:610px;min-height:0}
.lm-market100--v15 .m100-entry-matix img{height:100%;width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 18px rgba(0,0,0,.44))}
.lm-market100--v15 .m100-briefing-grid{grid-template-columns:minmax(260px,31%) minmax(290px,31%) 1fr;min-height:660px;padding:24px 32px 0}
.lm-market100--v15 .m100-briefing-matix{height:570px;align-self:end}
.lm-market100--v15 .m100-briefing-matix img{height:100%;width:100%;object-fit:contain;object-position:center bottom}

/* Entrenamiento: columna derecha realmente ocupada por Matix + pista. */
.lm-market100--v15 .m100-scene--tutorial{min-height:650px}
.lm-market100--v15 .m100-training-shell{max-width:1180px;margin:24px auto 0;padding:22px 24px 22px;background:linear-gradient(180deg,rgba(3,43,64,.975),rgba(3,25,42,.985));border:1px solid rgba(39,213,230,.55)}
.lm-market100--v15 .m100-training-grid{grid-template-columns:220px minmax(360px,1fr) 300px;gap:18px;align-items:stretch}
.lm-market100--v15 .m100-training-feedback{min-height:340px;padding:224px 18px 18px;opacity:1;background:linear-gradient(180deg,#fff7df,#ead09a);border:2px solid #bd8343;overflow:hidden}
.lm-market100--v15 .m100-training-matix{left:0;right:0;top:5px;height:215px;justify-content:center}
.lm-market100--v15 .m100-training-matix img{height:215px;max-width:92%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 9px rgba(0,0,0,.2))}
.lm-market100--v15 .m100-training-feedback>strong{font-size:20px;color:#126fa9}
.lm-market100--v15 .m100-training-feedback p{font-size:13px;line-height:1.45}

/* Mapa: se usa una ilustracion real como escena y los nodos React se colocan encima. */
.lm-market100--v15 .m100-world--map>*:not(.m100-world__map-photo){display:none!important}
.lm-market100--v15 .m100-world__map-photo{position:absolute;inset:0;background-size:cover;background-position:center 50%;filter:saturate(.98) brightness(.78) contrast(1.04);transform:scale(1.015)}
.lm-market100--v15 .m100-scene--map{min-height:690px}
.lm-market100--v15 .m100-scene--map .m100-scene__shade{background:linear-gradient(180deg,rgba(0,5,20,.05),rgba(0,6,21,.15) 72%,rgba(0,6,20,.36))}
.lm-market100--v15 .m100-map-board{top:78px;bottom:56px;left:1.8%;right:1.8%}
.lm-market100--v15 .m100-map-route{display:none}
.lm-market100--v15 .m100-map-node{width:158px;min-height:96px;padding:12px 12px 10px;border-radius:16px;background:linear-gradient(180deg,rgba(3,31,58,.99),rgba(2,16,34,.99));border-width:2px;box-shadow:0 14px 24px rgba(0,0,0,.46),0 0 24px color-mix(in srgb,var(--zone-accent,#ffbd28) 34%,transparent)}
.lm-market100--v15 .m100-map-node__number{left:50%;top:-22px;transform:translateX(-50%);width:44px;height:44px}
.lm-market100--v15 .m100-map-node__icon{width:36px;height:36px}.lm-market100--v15 .m100-map-node__icon svg{width:23px;height:23px}
.lm-market100--v15 .m100-map-node strong{font-size:13px;line-height:1.05}.lm-market100--v15 .m100-map-node small{font-size:8px}
/* Posiciones alineadas con los establecimientos del fondo para cubrir los rótulos antiguos. */
.lm-market100--v15 .m100-map-node--frutas{left:4.4%;top:39%}
.lm-market100--v15 .m100-map-node--almacen{left:28.5%;top:20%}
.lm-market100--v15 .m100-map-node--moda{left:49.8%;top:12%}
.lm-market100--v15 .m100-map-node--tech{left:74.5%;top:25%}
.lm-market100--v15 .m100-map-node--taller{left:51%;top:59%}
.lm-market100--v15 .m100-map-node--boss{right:2.6%;top:50%}
.lm-market100--v15 .m100-map-help{background:rgba(3,25,48,.93);backdrop-filter:blur(7px)}

/* Actividades: nada de paneles con cientos de pixeles vacios. */
.lm-market100--v15 .m100-scene--challenge{min-height:610px;height:auto}
.lm-market100--v15 .m100-scene--challenge .m100-scene__content{min-height:610px;padding-bottom:88px}
.lm-market100--v15 .m100-scene--challenge .m100-challenge-grid{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:50px 2.4% 0;display:grid;grid-template-columns:minmax(210px,23%) minmax(0,1fr);gap:16px;align-items:start}
.lm-market100--v15 .m100-back{top:70px}
.lm-market100--v15 .m100-guide-column{gap:12px;justify-content:flex-start}
.lm-market100--v15 .m100-guide-card{min-height:286px;height:auto;padding:0;background:linear-gradient(180deg,rgba(255,246,219,.98),rgba(235,208,164,.98));border:2px solid #bd7d37;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.lm-market100--v15 .m100-guide-card img{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%;height:210px;max-height:210px;object-fit:contain;object-position:center bottom;padding:4px 8px 0}
.lm-market100--v15 .m100-guide-card>div{position:relative;background:rgba(255,248,229,.97);padding:10px 12px 12px;border-radius:0;border-top:1px solid rgba(129,81,38,.18)}
.lm-market100--v15 .m100-guide-card strong{font-size:16px}.lm-market100--v15 .m100-guide-card p{font-size:11px;margin-top:5px;line-height:1.4}
.lm-market100--v15 .m100-zone-sign{min-height:70px;padding:9px 12px}.lm-market100--v15 .m100-zone-sign>svg{width:30px;height:30px}.lm-market100--v15 .m100-zone-sign strong{font-size:13px}
.lm-market100--v15 .m100-challenge-card{min-height:0!important;height:auto!important;padding:15px 17px 16px;overflow:visible;background:linear-gradient(180deg,rgba(255,249,232,.992),rgba(235,213,173,.992));border:2px solid #bd7b36;box-shadow:0 20px 38px rgba(0,0,0,.34)}
.lm-market100--v15 .m100-challenge-heading{margin-bottom:10px;padding-bottom:9px}.lm-market100--v15 .m100-challenge-heading span{font-size:22px}.lm-market100--v15 .m100-challenge-heading h2{font-size:14px}
.lm-market100--v15 .m100-question-sheet{gap:9px;justify-content:flex-start}.lm-market100--v15 .m100-number-field{padding:10px 12px;min-height:64px}.lm-market100--v15 .m100-number-field>div{height:40px}.lm-market100--v15 .m100-number-field input{font-size:19px}
.lm-market100--v15 .m100-feedback{margin-top:7px}.lm-market100--v15 .m100-card-actions{margin-top:9px}
.lm-market100--v15 .m100-route-strip{bottom:12px;height:62px}

/* Frutas: ilustracion rica y compacta, sin gran bloque beige vacio. */
.lm-market100--v15 .m100-fruit-layout{display:grid;grid-template-columns:minmax(300px,44%) minmax(330px,1fr);gap:14px;align-items:start}
.lm-market100--v15 .m100-fruit-visual{height:285px;border-radius:13px;overflow:hidden;border:2px solid #a76a30;box-shadow:0 10px 22px rgba(79,45,20,.22);background:#492414}
.lm-market100--v15 .m100-fruit-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* Almacen: producto real + datos matematicos, en una sola fila compacta. */
.lm-market100--v15 .m100-warehouse-v15{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:stretch}
.lm-market100--v15 .m100-warehouse-v15>img{width:150px;height:145px;object-fit:cover;object-position:center;border-radius:11px;border:2px solid #8b5a2e;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.lm-market100--v15 .m100-warehouse-visual{min-height:145px}
.lm-market100--v15 .m100-visual-card{padding:10px;margin-bottom:9px;background:rgba(255,248,228,.92)}
.lm-market100--v15 .m100-question-box{padding:10px 12px;font-size:13px}.lm-market100--v15 .m100-answer-grid{margin-top:9px;gap:8px}.lm-market100--v15 .m100-answer-grid button{min-height:43px;font-size:15px}

/* Moda: casaca real ilustrada, sin tarjetas redundantes. */
.lm-market100--v15 .m100-fashion-v15{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(190px,.85fr);gap:14px;align-items:center}
.lm-market100--v15 .m100-fashion-v15>img{width:100%;height:225px;object-fit:cover;border-radius:11px;border:2px solid #a36c32;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.lm-market100--v15 .m100-fashion-v15 .m100-after-prices{gap:10px}.lm-market100--v15 .m100-fashion-v15 .m100-after-prices span{padding:13px;border-radius:10px;background:#fff4dc;border:1px solid #bd854d;text-align:center}.lm-market100--v15 .m100-fashion-v15 .m100-after-prices small{display:block;font-weight:800}.lm-market100--v15 .m100-fashion-v15 .m100-after-prices strong{display:block;margin-top:5px;font-size:24px}

/* Tech y taller mantienen componentes reales pero ganan volumen. */
.lm-market100--v15 .m100-tech-sequence{min-height:110px;background:linear-gradient(135deg,#0b3d54,#075a70 48%,#08293e);box-shadow:inset 0 0 32px rgba(41,214,241,.12),0 8px 18px rgba(0,0,0,.16)}
.lm-market100--v15 .m100-window-visual{min-height:125px;background:linear-gradient(135deg,#4d2c19,#2a1710);box-shadow:inset 0 0 0 6px #f2ba64,0 8px 18px rgba(0,0,0,.18)}

/* Boss y resultado: compactos, sin partes de personaje flotando. */
.lm-market100--v15 .m100-scene--boss{min-height:700px}.lm-market100--v15 .m100-boss-grid{grid-template-columns:minmax(230px,30%) 1fr;gap:20px;top:96px;bottom:22px}.lm-market100--v15 .m100-boss-matix img{max-height:430px;width:auto;max-width:100%;object-fit:contain}.lm-market100--v15 .m100-boss-sheet{width:78%;justify-self:end;padding:16px 19px}.lm-market100--v15 .m100-boss-row{min-height:50px}.lm-market100--v15 .m100-boss-percent{margin-top:9px;padding:9px}
.lm-market100--v15 .m100-scene--result{min-height:700px}.lm-market100--v15 .m100-result-grid{grid-template-columns:minmax(240px,28%) 1fr minmax(210px,23%);padding:16px 26px 88px}.lm-market100--v15 .m100-result-matix{height:560px}.lm-market100--v15 .m100-result-matix img{height:100%;width:100%;object-fit:contain;object-position:center bottom}

@media (max-width:1050px){
  .lm-market100--v15 .m100-training-grid{grid-template-columns:190px 1fr 250px}
  .lm-market100--v15 .m100-scene--challenge .m100-challenge-grid{grid-template-columns:195px 1fr}
  .lm-market100--v15 .m100-guide-card img{height:180px;max-height:180px}
  .lm-market100--v15 .m100-map-node{width:132px;min-height:88px}
  .lm-market100--v15 .m100-fruit-layout{grid-template-columns:42% 1fr}
}
@media (max-width:820px){
  .lm-market100--v15 .m100-training-grid{grid-template-columns:1fr}
  .lm-market100--v15 .m100-training-feedback{min-height:300px;padding-top:195px}.lm-market100--v15 .m100-training-matix{height:185px}.lm-market100--v15 .m100-training-matix img{height:185px}
  .lm-market100--v15 .m100-scene--challenge{min-height:1020px}.lm-market100--v15 .m100-scene--challenge .m100-challenge-grid{display:flex;flex-direction:column;margin-top:110px}.lm-market100--v15 .m100-guide-card{width:100%;min-height:220px}.lm-market100--v15 .m100-guide-card img{height:150px}.lm-market100--v15 .m100-fruit-layout,.lm-market100--v15 .m100-warehouse-v15,.lm-market100--v15 .m100-fashion-v15{grid-template-columns:1fr}.lm-market100--v15 .m100-fruit-visual{height:260px}.lm-market100--v15 .m100-warehouse-v15>img{width:100%;height:200px;object-fit:contain;background:#f7ecd2}.lm-market100--v15 .m100-fashion-v15>img{height:260px;object-fit:contain;background:#f7ecd2}
}

/* =============================================================
   MERCADO 100 V16 - ULTIMA CORRECCION QUIRURGICA
   Solo corrige: Matix limpio, mapa sin duplicidad visible,
   cartel Frutas completo y escaparate mejorado.
   ============================================================= */

/* Matix: los cinco recursos V16 son PNG transparentes limpios. */
.lm-market100--v16 .m100-entry-matix img,
.lm-market100--v16 .m100-briefing-matix img,
.lm-market100--v16 .m100-training-matix img,
.lm-market100--v16 .m100-guide-card img,
.lm-market100--v16 .m100-boss-matix img,
.lm-market100--v16 .m100-result-matix img{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 12px 13px rgba(0,0,0,.28));
}
.lm-market100--v16 .m100-guide-card img{padding:7px 12px 0;object-fit:contain;object-position:center bottom}
.lm-market100--v16 .m100-training-matix{top:8px;height:210px}
.lm-market100--v16 .m100-training-matix img{height:205px;max-width:90%;object-fit:contain}

/* MAPA: los botones reales se superponen exactamente a los rótulos del fondo
   y los cubren por completo para que no exista lectura duplicada. */
.lm-market100--v16 .m100-map-node{
  width:176px;
  min-height:96px;
  padding:13px 12px 10px;
  background:linear-gradient(180deg,#07335f 0%,#031a35 100%)!important;
  border-width:3px;
  opacity:1!important;
  box-shadow:0 15px 28px rgba(0,0,0,.5),0 0 0 2px rgba(4,16,38,.75),0 0 24px color-mix(in srgb,var(--zone-accent,#ffbd28) 36%,transparent)!important;
  backdrop-filter:none!important;
}
.lm-market100--v16 .m100-map-node__number{
  width:52px;height:52px;top:-27px;left:50%;transform:translateX(-50%);
  border-width:4px;box-shadow:0 8px 14px rgba(0,0,0,.42),0 0 16px color-mix(in srgb,var(--zone-accent,#ffbd28) 45%,transparent)
}
.lm-market100--v16 .m100-map-node strong{font-size:15px;line-height:1.08;text-shadow:0 2px 3px rgba(0,0,0,.7)}
.lm-market100--v16 .m100-map-node small{font-size:8px}
.lm-market100--v16 .m100-map-node--frutas{left:7.7%;top:28%}
.lm-market100--v16 .m100-map-node--almacen{left:28.8%;top:16%}
.lm-market100--v16 .m100-map-node--moda{left:50.7%;top:5%}
.lm-market100--v16 .m100-map-node--tech{left:78.4%;top:22%}
.lm-market100--v16 .m100-map-node--taller{left:50.4%;top:56%}
.lm-market100--v16 .m100-map-node--boss{right:3.2%;top:59%;width:172px}

/* Frutas: mostrar la ilustración completa, incluida la parte inferior del 35%. */
.lm-market100--v16 .m100-fruit-visual{
  height:265px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#3a2115,#21140f);
}
.lm-market100--v16 .m100-fruit-visual img{
  width:100%;height:100%;object-fit:contain!important;object-position:center center!important;
  background:#2b190f;
}

/* Taller: escaparate con más volumen, vidrio, marco, luz y objeto expuesto. */
.lm-market100--v16 .m100-window-visual{
  min-height:165px;
  border:7px solid #b76a2b;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 16%,rgba(255,214,116,.28),transparent 32%),
    linear-gradient(180deg,#2b1a18,#1a1112 72%,#3b2416);
  box-shadow:inset 0 0 0 5px #efb462,inset 0 0 40px rgba(255,182,79,.18),0 12px 24px rgba(0,0,0,.22)
}
.lm-market100--v16 .m100-window-visual>div{
  position:relative;
  width:62%;height:76%;overflow:hidden;
  border:8px solid #945526;
  border-radius:8px;
  color:#ffe8bc;
  background:
    linear-gradient(110deg,rgba(255,255,255,.16) 0 9%,transparent 10% 36%,rgba(255,255,255,.09) 37% 43%,transparent 44%),
    linear-gradient(180deg,#315b72 0%,#173746 62%,#482719 63% 100%);
  box-shadow:inset 0 0 0 3px #d99545,inset 0 0 28px rgba(75,192,226,.15)
}
.lm-market100--v16 .m100-window-visual>div::before{
  content:"";position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);
  width:74px;height:92px;border-radius:38px 38px 15px 15px;
  background:linear-gradient(180deg,#f0d0a8 0 14%,#2d69a0 15% 70%,#152e49 71% 100%);
  clip-path:polygon(34% 0,66% 0,72% 13%,91% 24%,77% 47%,72% 100%,28% 100%,23% 47%,9% 24%,28% 13%);
  filter:drop-shadow(0 7px 5px rgba(0,0,0,.45))
}
.lm-market100--v16 .m100-window-visual>div::after{
  content:"ESCAPARATE";position:absolute;left:50%;bottom:7px;transform:translateX(-50%);
  padding:3px 11px;border-radius:999px;background:rgba(5,17,28,.72);font-size:10px;letter-spacing:.08em
}
.lm-market100--v16 .m100-window-visual span{z-index:4}

@media (max-width:1100px){
  .lm-market100--v16 .m100-map-node{width:146px;min-height:88px}
  .lm-market100--v16 .m100-map-node strong{font-size:12px}
}
.lm-market100--v16 .m100-map-node{outline:8px solid rgba(3,19,40,.90);outline-offset:-1px}
.lm-market100--v16 .m100-map-node__icon,.lm-market100--v16 .m100-map-node strong,.lm-market100--v16 .m100-map-node small{position:relative;z-index:2}
.lm-market100--v16 .m100-map-node--boss::before{
  content:"6";position:absolute;left:50%;top:-27px;transform:translateX(-50%);
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:#b87522;border:4px solid #fff0b0;color:#fff;font-size:21px;font-weight:950;
  box-shadow:0 8px 14px rgba(0,0,0,.42),0 0 16px rgba(255,186,50,.35);z-index:3
}

/* =============================================================
   MERCADO 100 V17 - CORRECCION DEFINITIVA DE RECURSOS Y ENCUADRE
   Alcance: Matix completo, mapa sin rotulos dobles visibles,
   Frutas sin corte y recursos raster de alta resolucion.
   ============================================================= */

/* Matix transparente: cuerpo completo, mochila y ambos zapatos visibles. */
.lm-market100--v17 .m100-entry-matix,
.lm-market100--v17 .m100-briefing-matix,
.lm-market100--v17 .m100-boss-matix{overflow:visible!important}
.lm-market100--v17 .m100-entry-matix img,
.lm-market100--v17 .m100-briefing-matix img,
.lm-market100--v17 .m100-boss-matix img{
  background:transparent!important;border:0!important;outline:0!important;
  object-fit:contain!important;object-position:center bottom!important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))!important;
}
.lm-market100--v17 .m100-entry-matix img{max-height:620px;width:auto;max-width:100%;padding:4px 2px 0}
.lm-market100--v17 .m100-briefing-matix img{max-height:600px;width:auto;max-width:100%;padding:3px}
.lm-market100--v17 .m100-boss-matix img{max-height:450px;width:auto;max-width:96%;padding:4px}

/* Entrenamiento: la pose de pensamiento se presenta como una ilustracion completa,
   deliberadamente rectangular; no hay recortes irregulares ni halos alrededor del personaje. */
.lm-market100--v17 .m100-training-feedback{padding:222px 16px 18px;min-height:390px;overflow:hidden}
.lm-market100--v17 .m100-training-matix{
  position:absolute;left:12px;right:12px;top:12px;height:196px;
  border-radius:13px;overflow:hidden;background:#f4dfb1;border:1px solid rgba(126,83,37,.22);
  display:flex;align-items:center;justify-content:center
}
.lm-market100--v17 .m100-training-matix img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:contain!important;object-position:center center!important;
  background:#f4dfb1!important;border-radius:12px!important;filter:none!important
}

/* Tarjetas de guia: solo PNG transparentes de cuerpo completo. */
.lm-market100--v17 .m100-guide-card{min-height:290px}
.lm-market100--v17 .m100-guide-card img{
  height:214px!important;max-height:214px!important;width:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  padding:5px 10px 0!important;background:transparent!important;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.22))!important
}
.lm-market100--v17 .m100-guide-card--moda img,
.lm-market100--v17 .m100-guide-card--taller img{transform:scaleX(-1)!important}

/* Resultado: pose de celebracion completa, sin mascara recortada irregular.
   La imagen conserva su propio entorno nocturno y se integra como bloque visual limpio. */
.lm-market100--v17 .m100-result-matix{
  height:575px!important;border-radius:26px;overflow:hidden;
  background:linear-gradient(180deg,#071b43,#0b2a57);box-shadow:0 18px 30px rgba(0,0,0,.24)
}
.lm-market100--v17 .m100-result-matix img{
  width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;object-position:center center!important;
  border:0!important;outline:0!important;border-radius:26px!important;
  filter:none!important;animation:m100-celebrate 2.8s ease-in-out infinite
}

/* MAPA: oscurece los controles dibujados del fondo y coloca los controles reales sobre ellos. */
.lm-market100--v17 .m100-world__map-photo{position:absolute;inset:0;background-size:cover!important;background-position:center 50%!important;transform:scale(1.01)!important}
.lm-market100--v17 .m100-world__map-photo::before,
.lm-market100--v17 .m100-world__map-photo::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.lm-market100--v17 .m100-world__map-photo::before{top:0;height:78px;background:linear-gradient(180deg,rgba(3,15,37,.98),rgba(3,15,37,.78) 70%,transparent)}
.lm-market100--v17 .m100-world__map-photo::after{bottom:0;height:86px;background:linear-gradient(0deg,rgba(2,16,35,.98),rgba(2,16,35,.82) 72%,transparent)}
.lm-market100--v17 .m100-map-board{left:0!important;right:0!important;top:0!important;bottom:0!important}
.lm-market100--v17 .m100-map-node{
  width:190px!important;min-height:112px!important;padding:15px 14px 12px!important;
  background:linear-gradient(180deg,#07365f 0%,#03172f 100%)!important;
  border:3px solid color-mix(in srgb,var(--zone-accent,#ffbd28) 74%,white)!important;
  outline:18px solid rgba(3,17,38,.97)!important;outline-offset:-4px!important;
  box-shadow:0 16px 30px rgba(0,0,0,.5),0 0 24px color-mix(in srgb,var(--zone-accent,#ffbd28) 30%,transparent)!important;
  opacity:1!important;backdrop-filter:none!important;z-index:4
}
.lm-market100--v17 .m100-map-node__number{width:54px;height:54px;top:-28px;left:50%;transform:translateX(-50%);z-index:6}
.lm-market100--v17 .m100-map-node strong{font-size:16px;line-height:1.08;z-index:6}
.lm-market100--v17 .m100-map-node small{font-size:8px;z-index:6}
/* Ajustados sobre la posicion de los rotulos de la imagen base. */
.lm-market100--v17 .m100-map-node--frutas{left:8.4%!important;top:37%!important}
.lm-market100--v17 .m100-map-node--almacen{left:29.3%!important;top:27.8%!important}
.lm-market100--v17 .m100-map-node--moda{left:50.5%!important;top:17.7%!important}
.lm-market100--v17 .m100-map-node--tech{left:75.1%!important;top:31.8%!important}
.lm-market100--v17 .m100-map-node--taller{left:49.7%!important;top:60.7%!important}
.lm-market100--v17 .m100-map-node--boss{right:0!important;top:62.4%!important;width:188px!important}

/* Frutas: la ilustracion muestra entero el cartel S/160 y el 35%. */
.lm-market100--v17 .m100-fruit-visual{height:315px!important;background:#2b190f!important;overflow:hidden}
.lm-market100--v17 .m100-fruit-visual img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#2b190f!important}

@media(max-width:1100px){
  .lm-market100--v17 .m100-map-node{width:160px!important;min-height:98px!important;outline-width:13px!important}
  .lm-market100--v17 .m100-map-node strong{font-size:13px}
  .lm-market100--v17 .m100-result-matix{height:470px!important}
}
@media(max-width:760px){
  .lm-market100--v17 .m100-training-feedback{padding-top:190px;min-height:350px}
  .lm-market100--v17 .m100-training-matix{height:165px}
  .lm-market100--v17 .m100-result-matix{height:320px!important;width:min(100%,300px);margin:auto}
}

/* =============================================================
   MERCADO 100 V18 - CORRECCION FINAL DE CAPAS
   Alcance estricto:
   - Matix/Lumix sin restos de fondo entre las piernas.
   - Entrenamiento y resultado usan PNG transparente, no tarjetas JPG.
   - Mapa usa fondo limpiado y controles reales alineados con los rótulos originales.
   ============================================================= */

/* El personaje se mantiene como una capa transparente real en todas las escenas. */
.lm-market100--v18 .m100-entry-matix img,
.lm-market100--v18 .m100-briefing-matix img,
.lm-market100--v18 .m100-boss-matix img,
.lm-market100--v18 .m100-guide-card img,
.lm-market100--v18 .m100-training-matix img,
.lm-market100--v18 .m100-result-matix img{
  background:transparent!important;
  border:0!important;
  outline:0!important;
}

/* Entrenamiento: desaparece por completo la tarjeta/imagen de fondo incrustada. */
.lm-market100--v18 .m100-training-feedback{
  padding:214px 16px 18px!important;
  min-height:382px!important;
  overflow:hidden!important;
}
.lm-market100--v18 .m100-training-matix{
  position:absolute!important;
  left:14px!important;right:14px!important;top:12px!important;
  height:190px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  display:flex!important;align-items:flex-end!important;justify-content:center!important;
}
.lm-market100--v18 .m100-training-matix img{
  width:auto!important;height:100%!important;max-width:96%!important;
  object-fit:contain!important;object-position:center bottom!important;
  border-radius:0!important;
  filter:drop-shadow(0 9px 10px rgba(0,0,0,.20))!important;
}

/* Resultado: Matix ya no se presenta dentro de un bloque rectangular con otro mercado detrás. */
.lm-market100--v18 .m100-result-matix{
  height:575px!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.lm-market100--v18 .m100-result-matix img{
  width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  border-radius:0!important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))!important;
  animation:m100-celebrate 2.8s ease-in-out infinite!important;
}

/* MAPA: el JPG V18 ya no contiene los rótulos funcionales. Se evita 'cover'
   para conservar la geometría del dibujo y alinear de forma exacta los nodos reales. */
.lm-market100--v18 .m100-world__map-photo{
  inset:0!important;
  background-size:100% 100%!important;
  background-position:0 0!important;
  transform:none!important;
  filter:saturate(1.02) brightness(.82) contrast(1.04)!important;
}
.lm-market100--v18 .m100-map-board{left:0!important;right:0!important;top:0!important;bottom:0!important}
.lm-market100--v18 .m100-map-node{
  width:190px!important;min-height:112px!important;
  opacity:1!important;z-index:8!important;
  outline:20px solid rgba(2,15,33,.985)!important;
  outline-offset:-5px!important;
  background:linear-gradient(180deg,#07365f 0%,#03172f 100%)!important;
}
/* Posiciones calculadas sobre el lienzo original 2731x1440 del mapa V18. */
.lm-market100--v18 .m100-map-node--frutas{left:8.1%!important;top:35.8%!important}
.lm-market100--v18 .m100-map-node--almacen{left:29.1%!important;top:25.8%!important}
.lm-market100--v18 .m100-map-node--moda{left:50.3%!important;top:15.4%!important}
.lm-market100--v18 .m100-map-node--tech{left:76.9%!important;top:30.0%!important}
.lm-market100--v18 .m100-map-node--taller{left:49.5%!important;top:58.4%!important}
.lm-market100--v18 .m100-map-node--boss{right:1.7%!important;top:60.5%!important;width:192px!important}
.lm-market100--v18 .m100-map-node__number{z-index:10!important}

@media(max-width:1100px){
  .lm-market100--v18 .m100-map-node{width:164px!important;min-height:102px!important;outline-width:15px!important}
  .lm-market100--v18 .m100-result-matix{height:465px!important}
}
@media(max-width:760px){
  .lm-market100--v18 .m100-training-feedback{padding-top:185px!important;min-height:345px!important}
  .lm-market100--v18 .m100-training-matix{height:160px!important}
  .lm-market100--v18 .m100-result-matix{height:315px!important;width:min(100%,300px)!important;margin:auto!important}
}

/* =============================================================
   MERCADO 100 V19 - VERSION DEFINITIVA DE LUMIX
   Base exacta: V18. Alcance estricto:
   - Sustituye solo los personajes por PNG transparentes aprobados.
   - Paneles 1 y 2 usan gestos distintos.
   - Cada zona usa una postura diferente y contextual.
   - Taller: escaparate mas realista y rotulos de medida nitidos.
   - No modifica logica, Firebase, XP, sellos, puntajes ni navegacion.
   ============================================================= */

/* PNG transparentes aprobados: sin fondos, halos ni mascaras. */
.lm-market100--v19 .m100-entry-matix,
.lm-market100--v19 .m100-briefing-matix,
.lm-market100--v19 .m100-training-matix,
.lm-market100--v19 .m100-guide-card,
.lm-market100--v19 .m100-boss-matix,
.lm-market100--v19 .m100-result-matix{isolation:isolate}

.lm-market100--v19 .m100-entry-matix img,
.lm-market100--v19 .m100-briefing-matix img,
.lm-market100--v19 .m100-training-matix img,
.lm-market100--v19 .m100-guide-card img,
.lm-market100--v19 .m100-boss-matix img,
.lm-market100--v19 .m100-result-matix img{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  image-rendering:auto;
}

/* Entrada: pose de bienvenida. */
.lm-market100--v19 .m100-entry-matix{overflow:visible!important}
.lm-market100--v19 .m100-entry-matix img{
  width:auto!important;max-width:100%!important;height:auto!important;max-height:610px!important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))!important;
}

/* Briefing: pose explicativa diferente a la entrada. */
.lm-market100--v19 .m100-briefing-matix{overflow:visible!important}
.lm-market100--v19 .m100-briefing-matix img{
  width:auto!important;max-width:100%!important;height:auto!important;max-height:590px!important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.32))!important;
}

/* Entrenamiento: pose de pensamiento, pequena y sin tarjeta raster. */
.lm-market100--v19 .m100-training-matix{
  background:transparent!important;border:0!important;overflow:visible!important;
}
.lm-market100--v19 .m100-training-matix img{
  width:auto!important;height:100%!important;max-width:96%!important;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.18))!important;
}

/* Zonas: una ilustracion distinta por contexto. No se espejan los PNG. */
.lm-market100--v19 .m100-guide-card img{
  height:214px!important;max-height:214px!important;width:100%!important;
  padding:5px 10px 0!important;transform:none!important;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.20))!important;
}
.lm-market100--v19 .m100-guide-card--moda img,
.lm-market100--v19 .m100-guide-card--taller img{transform:none!important}

/* Caja Maestra: pose firme y motivadora. */
.lm-market100--v19 .m100-boss-matix img{
  width:auto!important;max-width:96%!important;height:auto!important;max-height:445px!important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))!important;
}

/* Resultado: pose de salto celebratorio en capa transparente. */
.lm-market100--v19 .m100-result-matix{
  background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;
}
.lm-market100--v19 .m100-result-matix img{
  width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))!important;
  animation:m100-celebrate 2.8s ease-in-out infinite!important;
}

/* Taller de escaparates: vitrina realista, limpia y legible. */
.lm-market100--v19 .m100-window-visual{
  min-height:190px!important;
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #7c4b24!important;
  border-radius:14px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 22% 78%,rgba(255,255,255,.02)),
    repeating-linear-gradient(90deg,#161616 0 70px,#202020 71px 72px),
    linear-gradient(180deg,#242424,#111)!important;
  box-shadow:inset 0 0 0 5px #2a1a12,0 12px 24px rgba(0,0,0,.22)!important;
}
.lm-market100--v19 .m100-window-visual::before{
  content:"";position:absolute;left:12%;right:12%;top:7px;height:28px;z-index:1;
  background:
    radial-gradient(circle at 8% 0,#fff4c9 0 4px,#ffc968 5px 7px,transparent 8px),
    radial-gradient(circle at 25% 0,#fff4c9 0 4px,#ffc968 5px 7px,transparent 8px),
    radial-gradient(circle at 42% 0,#fff4c9 0 4px,#ffc968 5px 7px,transparent 8px),
    radial-gradient(circle at 59% 0,#fff4c9 0 4px,#ffc968 5px 7px,transparent 8px),
    radial-gradient(circle at 76% 0,#fff4c9 0 4px,#ffc968 5px 7px,transparent 8px),
    radial-gradient(circle at 93% 0,#fff4c9 0 4px,#ffc968 5px 7px,transparent 8px);
  filter:drop-shadow(0 8px 7px rgba(255,195,91,.32));pointer-events:none
}
.lm-market100--v19 .m100-window-visual>div{
  position:relative!important;
  z-index:2!important;
  width:72%!important;height:68%!important;
  display:grid!important;place-items:center!important;
  overflow:hidden!important;
  border:7px solid #8a5429!important;
  border-radius:4px!important;
  color:#f9f5e9!important;
  font-size:19px!important;font-weight:950!important;letter-spacing:.09em!important;
  text-shadow:0 2px 4px rgba(0,0,0,.75)!important;
  background:
    linear-gradient(112deg,rgba(255,255,255,.16) 0 7%,transparent 8% 28%,rgba(255,255,255,.08) 29% 34%,transparent 35% 73%,rgba(255,255,255,.06) 74% 79%,transparent 80%),
    linear-gradient(180deg,rgba(56,83,96,.78),rgba(18,33,40,.92) 70%,rgba(12,18,21,.98))!important;
  box-shadow:
    0 0 0 3px #d69a4b,
    inset 0 0 0 2px rgba(255,221,156,.28),
    inset 0 0 34px rgba(134,201,224,.13),
    0 8px 18px rgba(0,0,0,.42)!important;
}
.lm-market100--v19 .m100-window-visual>div::before{
  content:""!important;position:absolute!important;left:7%!important;right:7%!important;bottom:8px!important;top:auto!important;
  width:auto!important;height:12px!important;border-radius:2px!important;clip-path:none!important;
  background:linear-gradient(180deg,#80613e,#3d2a1b)!important;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.45))!important;
}
.lm-market100--v19 .m100-window-visual>div::after{content:none!important}
.lm-market100--v19 .m100-window-visual span{
  z-index:5!important;
  padding:7px 12px!important;
  border:1px solid #9e6b35!important;
  border-radius:7px!important;
  background:#fff4d8!important;
  color:#2f241b!important;
  font-size:13px!important;font-weight:950!important;
  line-height:1!important;letter-spacing:0!important;
  text-shadow:none!important;
  box-shadow:0 3px 8px rgba(0,0,0,.22)!important;
  white-space:nowrap!important;
}
.lm-market100--v19 .m100-window-visual .base{
  left:50%!important;right:auto!important;bottom:9px!important;top:auto!important;transform:translateX(-50%)!important;
}
.lm-market100--v19 .m100-window-visual .height{
  right:13px!important;left:auto!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;
}

@media(max-width:760px){
  .lm-market100--v19 .m100-window-visual{min-height:220px!important}
  .lm-market100--v19 .m100-window-visual>div{width:68%!important;height:62%!important;font-size:15px!important}
  .lm-market100--v19 .m100-window-visual span{font-size:11px!important;padding:6px 8px!important}
}
.c3pass-page{min-height:100vh;background:radial-gradient(circle at 18% 18%,#eaf7ff 0,#f7fbff 34%,#edf3fa 100%);color:#12385e;padding-bottom:48px}
.c3pass-header{position:relative;background:#07569a;box-shadow:0 10px 26px rgba(6,55,104,.16);overflow:hidden}.c3pass-header img{display:block;width:100%;height:auto;min-height:118px;object-fit:cover;object-position:center}
.c3pass-shell{width:min(1180px,calc(100% - 30px));margin:26px auto 0}.c3pass-heading{max-width:860px;margin-bottom:20px}.c3pass-heading>a{display:inline-flex;color:#0b5d9c;text-decoration:none;font-weight:900;margin-bottom:16px}.c3pass-heading>span{display:block;font-size:11px;letter-spacing:.13em;font-weight:950;color:#0e85a2}.c3pass-heading h1{margin:6px 0 8px;font-size:clamp(34px,4vw,54px);line-height:1;color:#0b3767}.c3pass-heading p{margin:0;color:#536e85;font-size:16px;line-height:1.55;max-width:780px}
.c3pass-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:20px;align-items:stretch}.c3pass-form-card,.c3pass-side-card{background:#fff;border:1px solid #d2e2ee;border-radius:28px;box-shadow:0 18px 42px rgba(23,61,98,.10)}
.c3pass-form-card{padding:28px}.c3pass-form-card>header{display:flex;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid #e0eaf2}.c3pass-lock{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#e4f5ff,#eef0ff);font-size:28px}.c3pass-form-card header small{color:#1184a0;font-weight:950;letter-spacing:.08em}.c3pass-form-card h2{margin:5px 0 0;font-size:28px;color:#103c69}.c3pass-form{display:grid;gap:17px;margin-top:20px}
.c3pass-field>span{display:block;margin-bottom:7px;color:#244d70;font-size:13px;font-weight:900}.c3pass-input-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;border:2px solid #d3e1ec;border-radius:15px;background:#fbfdff;overflow:hidden;transition:.18s}.c3pass-input-wrap:focus-within{border-color:#1184bf;box-shadow:0 0 0 4px rgba(17,132,191,.09)}.c3pass-input-wrap input{width:100%;min-height:54px;border:0;outline:0;background:transparent;padding:0 15px;font-size:16px;color:#173b5c}.c3pass-input-wrap button{height:40px;margin-right:7px;padding:0 13px;border:0;border-radius:10px;background:#eaf4fb;color:#0e5d92;font-weight:950;cursor:pointer}.c3pass-input-wrap button:hover{background:#dceefa}
.c3pass-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.c3pass-checks>div{min-height:54px;padding:9px 10px;border-radius:12px;background:#f5f8fb;border:1px solid #e0e8ef;display:flex;gap:8px;align-items:center;color:#6a7c8d;font-size:12px;font-weight:800}.c3pass-checks i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e4ebf1;font-style:normal}.c3pass-checks .is-ok{background:#edf9f2;border-color:#bde4ca;color:#237047}.c3pass-checks .is-ok i{background:#2c9b5b;color:#fff}.c3pass-checks .is-error{background:#fff3f3;border-color:#efc1c1;color:#a54343}.c3pass-checks .is-error i{background:#d95353;color:#fff}
.c3pass-submit{min-height:55px;border:0;border-radius:14px;background:linear-gradient(135deg,#0878c9,#5b45dc);color:#fff;font-size:16px;font-weight:950;cursor:pointer;box-shadow:0 12px 24px rgba(25,91,181,.18)}.c3pass-submit:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.c3pass-message{padding:12px 14px;border-radius:12px;font-weight:800;font-size:13px}.c3pass-message.is-success{background:#eaf8f0;color:#217046}.c3pass-message.is-error{background:#fff0f0;color:#a44242}
.c3pass-side-card{padding:30px;background:linear-gradient(155deg,#0a4e8c,#0c69a8 58%,#187b98);color:#fff;position:relative;overflow:hidden}.c3pass-side-card:after{content:'';position:absolute;width:230px;height:230px;border-radius:50%;right:-90px;bottom:-95px;border:32px solid rgba(255,255,255,.08)}.c3pass-shield{width:70px;height:70px;border-radius:22px;background:rgba(255,255,255,.15);display:grid;place-items:center;font-size:34px;border:1px solid rgba(255,255,255,.22)}.c3pass-side-card>span{display:block;margin-top:20px;font-size:11px;letter-spacing:.13em;color:#bdeaff;font-weight:950}.c3pass-side-card h2{margin:7px 0 10px;font-size:30px;line-height:1.05}.c3pass-side-card>p{line-height:1.55;color:#e1f0fa;font-size:14px}.c3pass-tip{position:relative;z-index:1;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;margin-top:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15)}.c3pass-tip>b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#fff;color:#0a5c98}.c3pass-tip span{font-size:13px;line-height:1.35}.c3pass-side-card blockquote{position:relative;z-index:1;margin:18px 0 0;padding:15px;border-radius:15px;background:#fff;color:#125080;font-size:14px;font-weight:900;line-height:1.45}
@media(max-width:900px){.c3pass-grid{grid-template-columns:1fr}.c3pass-checks{grid-template-columns:1fr}.c3pass-header img{min-height:100px}}
@media(max-width:620px){.c3pass-shell{width:min(100% - 16px,1180px);margin-top:15px}.c3pass-form-card,.c3pass-side-card{padding:20px;border-radius:20px}.c3pass-heading h1{font-size:34px}.c3pass-header img{min-height:82px}.c3pass-side-card h2{font-size:25px}}


/* V4 · Cabecera común del concurso (sin categoría ni lemas no oficiales) */
.c3pass-header{min-height:112px;background:linear-gradient(105deg,#07569a,#064a88 52%,#063b74);overflow:visible}.c3pass-header__inner{width:min(1320px,calc(100% - 32px));min-height:112px;margin:0 auto;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr);align-items:center;gap:28px;padding:12px 0}.c3pass-header__school{display:flex;align-items:center;gap:14px;color:#fff;min-width:0}.c3pass-header__school img{width:78px;height:78px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.22))}.c3pass-header__school div{display:grid;gap:3px}.c3pass-header__school small{font-size:10px;letter-spacing:.12em;font-weight:900;color:#ccefff}.c3pass-header__school strong{font-size:clamp(16px,1.5vw,22px);line-height:1.08}.c3pass-header__contest{display:grid;justify-items:center;text-align:center;color:#fff}.c3pass-header__contest span{font-size:clamp(28px,3vw,46px);line-height:.98;font-weight:950;letter-spacing:.01em}.c3pass-header__contest strong{margin-top:6px;padding:6px 18px;border-radius:8px;background:#c9efff;color:#084d82;font-size:clamp(15px,1.5vw,22px);letter-spacing:.04em}
@media(max-width:820px){.c3pass-header__inner{grid-template-columns:1fr;gap:8px;padding:12px 0}.c3pass-header__contest{justify-items:start;text-align:left}.c3pass-header__school img{width:64px;height:64px}}
:root {
  --contest-navy: #071a47;
  --contest-navy-2: #0c275f;
  --contest-blue: #2563eb;
  --contest-cyan: #29d6ff;
  --contest-orange: #ff9b2f;
  --contest-gold: #ffc54d;
  --contest-violet: #7c5cff;
  --contest-bg: #f4f7ff;
  --contest-text: #132249;
  --contest-muted: #6b7898;
  --contest-line: #dce4f6;
}

.contest-page,
.contest-shell,
.contest-auth,
.contest-admin-shell,
.contest-exam,
.contest-result-page {
  min-height: 100vh;
  color: var(--contest-text);
  background: var(--contest-bg);
}

.contest-topbar,
.contest-appbar {
  min-height: 76px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--contest-line);
  position: relative;
  z-index: 20;
}

.contest-topbar nav,
.contest-appbar > div,
.contest-appbar__actions {
  display: flex;
  align-items: center;
  gap: 22px;
}

.contest-topbar a,
.contest-appbar a,
.contest-appbar button {
  color: var(--contest-text);
  text-decoration: none;
  font-weight: 800;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.contest-appbar__event {
  padding-left: 16px;
  border-left: 1px solid var(--contest-line);
  font-size: 13px;
  color: var(--contest-muted);
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.contest-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid transparent;
  padding: 0 18px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  font: inherit;
}

.contest-btn:hover { transform: translateY(-2px); }
.contest-btn:disabled,
.contest-btn.is-disabled { opacity: .48; pointer-events: none; }
.contest-btn--large { min-height: 54px; padding: 0 26px; border-radius: 14px; }
.contest-btn--block { width: 100%; }
.contest-btn--primary { color: #fff !important; background: linear-gradient(135deg, #ff8c24, #ffb341); box-shadow: 0 12px 28px rgba(255,145,38,.28); }
.contest-btn--secondary { color: var(--contest-navy) !important; background: #eef3ff; border-color: #ccd9f5; }
.contest-btn--ghost { color: #fff !important; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); backdrop-filter: blur(10px); }
.contest-btn--danger { color: #fff !important; background: #d94545; }

.contest-pill,
.contest-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.contest-pill {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
}

.contest-kicker { color: #6c58e6; }
.contest-muted { color: var(--contest-muted); }

/* Public landing */
.contest-public { background: #fff; }
.contest-hero {
  min-height: 650px;
  padding: 76px 7vw 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
  align-items: center;
  gap: 54px;
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 80% 15%, rgba(91,74,255,.36), transparent 30%),
    radial-gradient(circle at 15% 80%, rgba(0,208,255,.15), transparent 26%),
    linear-gradient(135deg, #05143c 0%, #0a2257 50%, #111f55 100%);
}

.contest-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image: radial-gradient(circle, rgba(255,255,255,.8) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to right, #000, transparent 70%);
}

.contest-hero__copy,
.contest-hero__visual { position: relative; z-index: 2; }
.contest-hero__copy h1 { margin: 20px 0 18px; max-width: 780px; font-size: clamp(48px, 5.2vw, 78px); line-height: .98; letter-spacing: -.05em; }
.contest-hero__copy h1 span { color: var(--contest-orange); }
.contest-hero__copy > p { max-width: 720px; font-size: 19px; line-height: 1.7; color: #c8d5f4; }
.contest-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.contest-hero__metrics { display: flex; gap: 14px; margin-top: 40px; }
.contest-hero__metrics article { min-width: 130px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.07); backdrop-filter: blur(8px); }
.contest-hero__metrics strong { display: block; font-size: 25px; color: #fff; }
.contest-hero__metrics span { font-size: 12px; color: #aebee5; text-transform: uppercase; font-weight: 850; }

.contest-hero__visual {
  min-height: 480px;
  display: grid;
  place-items: center;
}

.contest-trophy {
  width: 250px;
  height: 250px;
  display: grid;
  place-items: center;
  font-size: 130px;
  border-radius: 50%;
  background: radial-gradient(circle at 45% 35%, rgba(255,255,255,.24), rgba(255,179,65,.10) 45%, rgba(92,67,255,.08) 70%);
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.35));
  animation: contestFloat 4s ease-in-out infinite;
}

.contest-crest-wrap {
  position: absolute;
  right: 5%;
  top: 9%;
  width: 100px;
  height: 100px;
  border-radius: 24px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 18px 36px rgba(0,0,0,.26);
  transform: rotate(6deg);
}
.contest-crest-wrap img { width: 100%; height: 100%; object-fit: contain; }
.contest-orbit { position: absolute; width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; color: #fff; font-size: 28px; font-weight: 950; box-shadow: 0 16px 30px rgba(0,0,0,.24); }
.contest-orbit--one { left: 3%; top: 16%; background: #286bf1; transform: rotate(-7deg); }
.contest-orbit--two { right: 10%; bottom: 26%; background: #774de9; transform: rotate(8deg); }
.contest-orbit--three { left: 8%; bottom: 24%; background: #1dbbc9; transform: rotate(4deg); }
.contest-orbit--four { right: 22%; top: 4%; background: #ef8c25; }
.contest-matix-card { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: min(430px, 92%); padding: 12px; display: flex; gap: 12px; align-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(2,15,49,.76); box-shadow: 0 20px 42px rgba(0,0,0,.22); backdrop-filter: blur(10px); }
.contest-matix-card img { width: 70px; height: 70px; object-fit: cover; border-radius: 14px; }
.contest-matix-card strong,
.contest-matix-card small { display: block; }
.contest-matix-card small { color: #b9c8e8; margin-top: 4px; }

.contest-section { padding: 76px 7vw; }
.contest-section__heading { max-width: 780px; margin: 0 auto 38px; text-align: center; }
.contest-section__heading h2 { margin: 8px 0 10px; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.04em; }
.contest-section__heading p { color: var(--contest-muted); font-size: 17px; }
.contest-section--dark { color: #fff; background: linear-gradient(135deg, #071a47, #0d255c); }
.contest-section__heading--light p { color: #bdc9e4; }

.contest-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1180px; margin: 0 auto; }
.contest-category { position: relative; overflow: hidden; padding: 28px; border-radius: 24px; border: 1px solid #dce4f5; background: #fff; box-shadow: 0 18px 50px rgba(25,46,98,.09); transition: transform .2s ease, box-shadow .2s ease; }
.contest-category:hover { transform: translateY(-7px); box-shadow: 0 24px 55px rgba(25,46,98,.15); }
.contest-category__number { position: absolute; top: 16px; right: 18px; font-size: 44px; line-height: 1; font-weight: 950; color: #edf1fa; }
.contest-category__icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; font-size: 30px; background: #edf4ff; }
.contest-category h3 { font-size: 25px; margin: 22px 0 7px; }
.contest-category p { color: var(--contest-muted); margin: 0 0 18px; }
.contest-category > span:last-child { display: inline-block; padding: 7px 10px; border-radius: 10px; font-size: 12px; font-weight: 900; background: #f4f6fb; }
.contest-category--2 .contest-category__icon { background: #f0ebff; }
.contest-category--3 .contest-category__icon { background: #fff1df; }

.contest-journey { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.contest-journey article { position: relative; padding: 22px; border-radius: 20px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); }
.contest-journey article > span { position: absolute; right: 16px; top: 12px; color: rgba(255,255,255,.18); font-size: 34px; font-weight: 950; }
.contest-journey article > div { font-size: 31px; margin-bottom: 18px; }
.contest-journey h3 { margin: 0 0 8px; font-size: 19px; }
.contest-journey p { margin: 0; color: #bfcce9; line-height: 1.55; }
.contest-callout { padding: 46px 7vw; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #fff; background: linear-gradient(90deg, #1d4ed8, #6e45dc); }
.contest-callout h2 { margin: 7px 0; font-size: 30px; }
.contest-callout p { margin: 0; color: #dce7ff; }
.contest-callout .contest-kicker { color: #ffd18e; }

/* Contest login */
.contest-auth { display: grid; grid-template-columns: 1.05fr .95fr; background: #07183f; }
.contest-auth__visual { min-height: 100vh; padding: 38px 5vw; position: relative; display: flex; flex-direction: column; justify-content: space-between; color: #fff; overflow: hidden; background:
  radial-gradient(circle at 75% 20%, rgba(127,77,255,.34), transparent 26%),
  radial-gradient(circle at 15% 75%, rgba(0,203,255,.18), transparent 28%),
  linear-gradient(145deg, #071642, #0c285f); }
.contest-auth__visual::after { content: '🏆'; position: absolute; right: -40px; bottom: -70px; font-size: 380px; opacity: .11; transform: rotate(-7deg); }
.contest-auth__brand { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 2; }
.contest-auth__brand > span { padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); font-size: 11px; font-weight: 900; }
.contest-auth__visual-copy { max-width: 650px; position: relative; z-index: 2; margin: auto 0; }
.contest-auth__visual-copy h1 { font-size: clamp(48px, 5.6vw, 78px); line-height: 1; letter-spacing: -.05em; margin: 20px 0; }
.contest-auth__visual-copy h1 span { color: var(--contest-orange); }
.contest-auth__visual-copy > p { color: #c3d0ed; font-size: 18px; line-height: 1.65; }
.contest-auth__guide { margin-top: 34px; padding: 12px; display: flex; gap: 12px; align-items: center; max-width: 510px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(0,0,0,.12); }
.contest-auth__guide img { width: 68px; height: 68px; border-radius: 14px; object-fit: cover; }
.contest-auth__guide strong,
.contest-auth__guide small { display: block; }
.contest-auth__guide small { margin-top: 4px; color: #b9c6e5; }
.contest-auth__panel { min-height: 100vh; display: grid; place-items: center; padding: 40px; background: #f7f9ff; }
.contest-auth__card { width: min(520px, 100%); padding: 34px; border-radius: 28px; background: #fff; border: 1px solid #e2e8f7; box-shadow: 0 26px 70px rgba(20,39,86,.16); }
.contest-back { display: inline-block; margin-bottom: 22px; color: #617093; text-decoration: none; font-weight: 850; }
.contest-auth__crest { width: 76px; height: 76px; padding: 9px; border-radius: 20px; background: #f0f4ff; margin-bottom: 14px; }
.contest-auth__crest img { width: 100%; height: 100%; object-fit: contain; }
.contest-auth__card h2 { margin: 7px 0 6px; font-size: 34px; }
.contest-form { display: grid; gap: 16px; margin-top: 26px; }
.contest-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 900; }
.contest-form input { height: 52px; border: 1px solid #d5def0; border-radius: 13px; padding: 0 15px; font: inherit; outline: 0; }
.contest-form input:focus { border-color: #5d73ed; box-shadow: 0 0 0 4px rgba(93,115,237,.12); }
.contest-message { margin-top: 16px; padding: 12px 14px; border-radius: 12px; background: #eff5ff; color: #274a91; font-weight: 750; }
.contest-security-note { margin-top: 20px; padding-top: 18px; border-top: 1px solid #e4e9f4; color: #6d7996; font-size: 12px; }
.contest-session { display: grid; gap: 16px; margin-top: 24px; }
.contest-session__user { padding: 15px; border-radius: 15px; background: #f5f7fc; }
.contest-session__user span,
.contest-session__user strong,
.contest-session__user small { display: block; }
.contest-session__user span { color: #7c6bdd; font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.contest-session__user strong { margin: 4px 0; font-size: 18px; }
.contest-session__user small { color: #7b87a4; }
.contest-session__actions { display: grid; gap: 10px; }
.contest-link-button { border: 0; background: none; color: #64718d; text-decoration: underline; font-weight: 800; cursor: pointer; justify-self: center; }

/* Participant */
.contest-shell { background: linear-gradient(180deg, #f6f8ff 0, #eef3ff 100%); }
.contest-participant-hero { margin: 34px auto 24px; width: min(1280px, 90vw); min-height: 250px; padding: 34px 38px; display: grid; grid-template-columns: 1fr 380px; gap: 30px; align-items: center; color: #fff; border-radius: 28px; background: linear-gradient(135deg, #0b2457, #173f8f 55%, #613fc2); box-shadow: 0 25px 60px rgba(17,52,124,.2); overflow: hidden; position: relative; }
.contest-participant-hero::after { content: ''; width: 360px; height: 360px; border-radius: 50%; position: absolute; right: -90px; top: -130px; background: rgba(255,255,255,.08); }
.contest-participant-hero__identity { position: relative; z-index: 2; }
.contest-participant-hero__identity h1 { margin: 13px 0 10px; font-size: clamp(34px, 4vw, 51px); }
.contest-participant-hero__identity > p { max-width: 720px; color: #cbd8f5; font-size: 16px; }
.contest-participant-hero__badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.contest-participant-hero__badges span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.12); font-size: 12px; font-weight: 850; }
.contest-participant-hero__side { position: relative; z-index: 2; padding: 13px; display: flex; align-items: center; gap: 13px; border-radius: 18px; background: rgba(2,15,46,.34); border: 1px solid rgba(255,255,255,.12); }
.contest-participant-hero__side img { width: 92px; height: 92px; border-radius: 16px; object-fit: cover; }
.contest-participant-hero__side strong,
.contest-participant-hero__side small { display: block; }
.contest-participant-hero__side small { color: #c0cfec; margin-top: 4px; }
.contest-dashboard-grid { width: min(1280px, 90vw); margin: 0 auto; display: grid; grid-template-columns: 1fr 330px; gap: 20px; }
.contest-panel { padding: 26px; border-radius: 22px; border: 1px solid #dce4f3; background: #fff; box-shadow: 0 14px 38px rgba(25,46,93,.08); }
.contest-panel__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.contest-panel__head h2 { margin: 5px 0 0; font-size: 28px; }
.contest-status { padding: 8px 10px; border-radius: 999px; font-size: 10px; font-weight: 950; letter-spacing: .06em; background: #edf1fa; color: #64708d; }
.contest-status.is-ready { background: #e7f9ef; color: #128047; }
.contest-status.is-running { background: #fff3dd; color: #b36b09; }
.contest-status.is-finished { background: #eeeaff; color: #6947c9; }
.contest-exam-summary { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.contest-exam-summary article { padding: 18px; border-radius: 16px; background: #f6f8fd; }
.contest-exam-summary article span { font-size: 24px; }
.contest-exam-summary strong,
.contest-exam-summary small { display: block; }
.contest-exam-summary strong { margin: 9px 0 3px; font-size: 18px; }
.contest-exam-summary small { color: #75819d; }
.contest-exam-notice { margin-top: 18px; padding: 18px; border-radius: 16px; border: 1px solid #dae4f8; background: #f3f7ff; display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.contest-exam-notice p { margin: 4px 0 0; color: #6e7b99; }
.contest-profile-crest { width: 82px; height: 82px; padding: 10px; border-radius: 22px; background: #f3f6ff; margin-bottom: 18px; }
.contest-profile-crest img { width: 100%; height: 100%; object-fit: contain; }
.contest-panel--profile h3 { font-size: 22px; margin: 7px 0 18px; }
.contest-panel--profile dl { margin: 0; display: grid; gap: 4px; }
.contest-panel--profile dl div { padding: 10px 0; display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid #edf0f7; }
.contest-panel--profile dt { color: #78839d; }
.contest-panel--profile dd { margin: 0; font-weight: 850; text-align: right; }
.contest-rules-strip { width: min(1280px, 90vw); margin: 20px auto 50px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.contest-rules-strip article { padding: 16px; display: flex; gap: 12px; align-items: center; border-radius: 16px; background: #fff; border: 1px solid #dfe6f4; }
.contest-rules-strip article > span { font-size: 22px; }
.contest-rules-strip strong,
.contest-rules-strip small { display: block; }
.contest-rules-strip small { color: #7a86a0; margin-top: 2px; }
.contest-finished-card,
.contest-running-card { margin-top: 22px; padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-radius: 17px; background: #f5f7ff; }
.contest-finished-card__icon { font-size: 38px; }
.contest-finished-card h3 { margin: 0; }
.contest-finished-card p,
.contest-running-card p { margin: 4px 0 0; color: #6f7a96; }
.contest-loading,
.contest-empty { padding: 30px 12px; text-align: center; color: #77829b; }
.contest-alert { padding: 14px 16px; border-radius: 14px; border: 1px solid #f0d49d; background: #fff7e8; color: #80520d; }

/* Instructions */
.contest-shell--instructions { padding-bottom: 50px; }
.contest-instructions-hero { width: min(1100px, 90vw); margin: 36px auto 20px; padding: 34px; border-radius: 26px; color: #fff; text-align: center; background: linear-gradient(135deg, #0b2355, #4f3eb4); }
.contest-instructions-hero h1 { font-size: 42px; margin: 13px 0 8px; }
.contest-instructions-hero p { color: #d0d9f0; }
.contest-instructions-meta { margin-top: 20px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.contest-instructions-meta span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.12); font-size: 12px; font-weight: 850; }
.contest-instruction-grid { width: min(1100px, 90vw); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.contest-instruction-grid article { position: relative; padding: 24px; border-radius: 20px; background: #fff; border: 1px solid #dfe6f4; }
.contest-instruction-grid article > span { position: absolute; top: 13px; right: 16px; color: #e7ecf6; font-size: 34px; font-weight: 950; }
.contest-instruction-grid article > div { font-size: 28px; margin-bottom: 14px; }
.contest-instruction-grid h3 { margin: 0 0 6px; }
.contest-instruction-grid p { margin: 0; color: #74809c; line-height: 1.55; }
.contest-start-card { width: min(1100px, 90vw); margin: 20px auto 0; padding: 24px; display: grid; gap: 16px; border-radius: 20px; background: #fff; border: 1px solid #dfe6f4; }
.contest-accept { display: flex; gap: 10px; align-items: center; font-weight: 850; }
.contest-accept input { width: 20px; height: 20px; }

/* Exam */
.contest-exam { background: linear-gradient(180deg, #06143d, #0d2559); color: #fff; overflow-x: hidden; }
.contest-exam__hud { min-height: 88px; padding: 12px 3vw; display: grid; grid-template-columns: 1.15fr minmax(260px, 1fr) auto auto; align-items: center; gap: 20px; background: rgba(5,18,54,.94); border-bottom: 1px solid rgba(255,255,255,.1); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.contest-exam__brand { display: flex; gap: 14px; align-items: center; }
.contest-exam__brand > span { font-size: 11px; font-weight: 950; color: #93a7d4; }
.contest-exam__progress > div:first-child { display: flex; justify-content: space-between; font-size: 12px; }
.contest-exam__progress span { color: #9fb0d7; }
.contest-progress { height: 8px; margin-top: 7px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
.contest-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #46d6ff, #805cff); }
.contest-clock { min-width: 175px; display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 13px; background: rgba(255,255,255,.09); }
.contest-clock > span { font-size: 24px; }
.contest-clock small,
.contest-clock strong { display: block; }
.contest-clock small { color: #a7b6d8; font-size: 9px; font-weight: 950; letter-spacing: .07em; }
.contest-clock strong { font-size: 21px; font-variant-numeric: tabular-nums; }
.contest-clock.is-warning { background: rgba(212,71,61,.28); color: #ffd4d0; }
.contest-exam__finish { min-height: 42px; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; padding: 0 15px; color: #fff; background: rgba(255,255,255,.07); font-weight: 850; cursor: pointer; }
.contest-exam__stage { min-height: calc(100vh - 88px); padding: 36px 4vw 50px; display: grid; grid-template-columns: 300px minmax(0, 900px); justify-content: center; align-items: start; gap: 22px; position: relative; }
.contest-exam__stage::before { content: ''; position: fixed; inset: 88px 0 0; pointer-events: none; opacity: .22; background-image: radial-gradient(circle, rgba(255,255,255,.7) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to bottom, #000, transparent 75%); }
.contest-exam__route,
.contest-question-card { position: relative; z-index: 2; }
.contest-exam__route { padding: 22px; border-radius: 20px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.11); }
.contest-exam__route .contest-kicker { color: #67ddff; }
.contest-exam__route h2 { margin: 5px 0 18px; }
.contest-route-map { display: flex; flex-wrap: wrap; gap: 7px; }
.contest-route-map span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #7d91be; background: rgba(255,255,255,.07); font-size: 11px; font-weight: 950; }
.contest-route-map span.is-current { color: #fff; background: linear-gradient(135deg, #ff9a2b, #ffbf53); box-shadow: 0 0 0 4px rgba(255,170,49,.14); }
.contest-route-map span.is-done { color: #fff; background: #2ebc79; }
.contest-route-info { display: flex; gap: 10px; align-items: center; margin-top: 20px; padding: 13px; border-radius: 14px; background: rgba(255,255,255,.06); }
.contest-route-info > span { font-size: 24px; }
.contest-route-info strong,
.contest-route-info small { display: block; }
.contest-route-info small { color: #9fb0d2; margin-top: 2px; }
.contest-route-rule { margin-top: 14px; color: #a7b5d4; font-size: 12px; line-height: 1.5; }
.contest-question-card { min-height: 610px; padding: 34px; border-radius: 26px; color: var(--contest-text); background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.25); }
.contest-question-card__top { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.contest-question-card__top small { display: block; margin-top: 4px; color: #8691a9; }
.contest-question-points { padding: 8px 11px; border-radius: 12px; color: #8c5708; background: #fff1d9; font-weight: 900; }
.contest-question-card h1 { margin: 28px 0; font-size: clamp(27px, 3.1vw, 40px); line-height: 1.25; }
.contest-options { display: grid; gap: 12px; }
.contest-options button { min-height: 72px; padding: 12px 16px; display: flex; align-items: center; gap: 14px; text-align: left; border: 2px solid #e0e6f1; border-radius: 16px; background: #fff; color: var(--contest-text); cursor: pointer; transition: border-color .16s ease, transform .16s ease, background .16s ease; }
.contest-options button:hover { transform: translateX(4px); border-color: #a8b9e8; background: #f8faff; }
.contest-options button.is-selected { border-color: #586fdf; background: #f2f5ff; box-shadow: 0 0 0 4px rgba(88,111,223,.09); }
.contest-options button > span { flex: 0 0 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #edf2fc; font-weight: 950; }
.contest-options button.is-selected > span { color: #fff; background: #586fdf; }
.contest-options button strong { font-size: 16px; }
.contest-question-card__footer { margin-top: 28px; padding-top: 20px; display: flex; justify-content: space-between; gap: 24px; align-items: center; border-top: 1px solid #e9edf4; }
.contest-question-card__footer p { max-width: 530px; margin: 0; color: #77839b; font-size: 12px; }
.contest-answer-flash { position: absolute; inset: 0; z-index: 5; display: grid; place-content: center; text-align: center; border-radius: inherit; color: #fff; animation: contestFlash .2s ease-out; }
.contest-answer-flash.is-correct { background: rgba(17,150,86,.95); }
.contest-answer-flash.is-incorrect { background: rgba(196,59,59,.95); }
.contest-answer-flash > span { font-size: 70px; }
.contest-answer-flash strong { font-size: 25px; }
.contest-answer-flash small { margin-top: 6px; opacity: .88; }
.contest-exam__loading { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 10px; color: #fff; text-align: center; }
.contest-exam__loading span { color: #a8b7d6; }
.contest-exam__loading--error > div { font-size: 48px; }
.contest-spinner { width: 48px; height: 48px; border: 4px solid rgba(255,255,255,.18); border-top-color: #ff9b2f; border-radius: 50%; animation: contestSpin .8s linear infinite; }
.contest-modal { position: fixed; inset: 0; z-index: 50; padding: 20px; display: grid; place-items: center; background: rgba(2,10,32,.78); backdrop-filter: blur(7px); }
.contest-modal__card { width: min(520px, 100%); padding: 32px; border-radius: 24px; color: var(--contest-text); background: #fff; text-align: center; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.contest-modal__icon { font-size: 48px; }
.contest-modal__card h2 { font-size: 28px; }
.contest-modal__card p { color: #6f7b95; line-height: 1.6; }
.contest-modal__card > div:last-child { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* Result */
.contest-result-page { color: #fff; background: radial-gradient(circle at 50% 15%, rgba(102,75,255,.38), transparent 28%), linear-gradient(145deg, #06143d, #0e285d); }
.contest-appbar--transparent { color: #fff; border-color: rgba(255,255,255,.1); background: rgba(4,15,46,.55); }
.contest-appbar--transparent a { color: #fff; }
.contest-result-card { width: min(850px, 90vw); margin: 46px auto; padding: 42px; text-align: center; border-radius: 30px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); box-shadow: 0 30px 80px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.contest-result-card__trophy { font-size: 78px; filter: drop-shadow(0 15px 22px rgba(0,0,0,.28)); }
.contest-result-card h1 { margin: 14px 0 8px; font-size: 46px; }
.contest-result-card > p { max-width: 650px; margin: 0 auto; color: #c4d1ed; line-height: 1.65; }
.contest-score-ring { --score: 0deg; width: 190px; height: 190px; margin: 28px auto; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#ff9f32 var(--score), rgba(255,255,255,.12) 0); position: relative; }
.contest-score-ring::after { content: ''; position: absolute; inset: 13px; border-radius: 50%; background: #0d2658; }
.contest-score-ring > div { position: relative; z-index: 2; }
.contest-score-ring strong { display: block; font-size: 38px; }
.contest-score-ring strong small { font-size: 17px; color: #aebcda; }
.contest-score-ring span { font-size: 10px; color: #aebcda; font-weight: 900; letter-spacing: .09em; }
.contest-result-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 20px; }
.contest-result-stats article { padding: 17px; border-radius: 16px; background: rgba(255,255,255,.07); }
.contest-result-stats article > span { font-size: 24px; }
.contest-result-stats strong,
.contest-result-stats small { display: block; }
.contest-result-stats strong { margin: 7px 0 2px; }
.contest-result-stats small { color: #aebbd7; }
.contest-result-note { margin: 20px 0; padding: 14px; border-radius: 14px; color: #f6d99f; background: rgba(255,185,61,.1); border: 1px solid rgba(255,185,61,.18); }

/* Commission */
.contest-admin-shell { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; background: #f4f6fb; }
.contest-admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 22px 16px; display: flex; flex-direction: column; color: #c8d4ee; background: linear-gradient(180deg, #07163d, #0b2455); }
.contest-admin-sidebar__brand { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.contest-admin-sidebar__brand > span { font-size: 10px; font-weight: 950; letter-spacing: .08em; color: #8298c5; }
.contest-admin-sidebar__event { padding: 12px; display: flex; gap: 10px; align-items: center; border-radius: 15px; background: rgba(255,255,255,.07); margin-bottom: 22px; }
.contest-admin-sidebar__event > span { font-size: 25px; }
.contest-admin-sidebar__event strong,
.contest-admin-sidebar__event small { display: block; }
.contest-admin-sidebar__event small { color: #8599c5; }
.contest-admin-sidebar nav { display: grid; gap: 6px; }
.contest-admin-sidebar nav a { padding: 11px 12px; display: flex; gap: 10px; align-items: center; border-radius: 11px; color: #aebcda; text-decoration: none; font-weight: 800; }
.contest-admin-sidebar nav a:hover,
.contest-admin-sidebar nav a.is-active { color: #fff; background: rgba(255,255,255,.1); }
.contest-admin-sidebar__bottom { margin-top: auto; display: grid; gap: 7px; }
.contest-admin-sidebar__bottom a,
.contest-admin-sidebar__bottom button { padding: 10px; border: 0; color: #9baed2; background: none; text-align: left; text-decoration: none; cursor: pointer; font: inherit; font-weight: 800; }
.contest-admin-main { padding: 28px 3vw 50px; min-width: 0; }
.contest-admin-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.contest-admin-header h1 { margin: 5px 0 0; font-size: 34px; }
.contest-admin-user { display: flex; gap: 10px; align-items: center; }
.contest-admin-user > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #1e3f91; font-weight: 950; }
.contest-admin-user strong,
.contest-admin-user small { display: block; }
.contest-admin-user small { color: #7f8aa3; }
.contest-admin-message { margin-bottom: 16px; padding: 12px 15px; border-radius: 12px; color: #224a87; background: #e9f1ff; border: 1px solid #d2e1fb; }
.contest-admin-message.is-error { color: #8b3030; background: #fff0f0; border-color: #f0caca; }
.contest-init-card,
.contest-credentials-card { padding: 18px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-radius: 16px; background: #fff8e8; border: 1px solid #f0d9a8; margin-bottom: 18px; }
.contest-init-card p,
.contest-credentials-card p { margin: 4px 0 0; color: #7a6b4c; }
.contest-admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.contest-admin-stats article { min-height: 106px; padding: 19px; display: flex; gap: 13px; align-items: center; border-radius: 18px; background: #fff; border: 1px solid #e0e6f0; box-shadow: 0 8px 22px rgba(21,44,89,.05); }
.contest-admin-stats article > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; font-size: 23px; background: #edf4ff; }
.contest-admin-stats small,
.contest-admin-stats strong { display: block; }
.contest-admin-stats small { color: #7d8aa4; font-size: 10px; font-weight: 900; }
.contest-admin-stats strong { margin-top: 4px; font-size: 27px; }
.contest-admin-stats em { font-size: 13px; color: #8c97ae; font-style: normal; }
.contest-admin-grid { display: grid; grid-template-columns: 1.5fr .7fr; gap: 16px; }
.contest-admin-card { padding: 22px; border-radius: 18px; background: #fff; border: 1px solid #e0e6f0; box-shadow: 0 8px 24px rgba(20,40,83,.05); }
.contest-admin-card h2 { margin: 5px 0 16px; }
.contest-admin-card__head { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.contest-admin-card__head > div:last-child { display: flex; gap: 8px; }
.contest-admin-card__head button:not(.contest-btn) { border: 0; background: #f0f4fb; border-radius: 9px; padding: 8px 10px; cursor: pointer; font-weight: 850; }
.contest-mini-table { display: grid; margin-top: 10px; }
.contest-mini-table > div { padding: 10px 0; display: grid; grid-template-columns: 1fr 160px 120px; align-items: center; gap: 12px; border-bottom: 1px solid #eef1f6; }
.contest-mini-table > div > span { color: #7f8aa4; }
.contest-mini-table em { justify-self: end; padding: 6px 8px; border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 900; }
.contest-mini-table em.is-finished { color: #197344; background: #e7f7ef; }
.contest-mini-table em.is-running { color: #9b610f; background: #fff4df; }
.contest-mini-table em.is-pending { color: #68738a; background: #eff2f7; }
.contest-text-link { display: inline-block; margin-top: 14px; color: #4362c0; text-decoration: none; font-weight: 850; }
.contest-admin-dl { margin: 0; display: grid; gap: 2px; }
.contest-admin-dl div { padding: 10px 0; display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #edf0f5; }
.contest-admin-dl dt { color: #7c87a0; }
.contest-admin-dl dd { margin: 0; font-weight: 850; text-align: right; }
.contest-admin-note { margin-top: 14px; padding: 12px; border-radius: 12px; color: #65718d; background: #f3f5f9; font-size: 12px; line-height: 1.55; }
.contest-category-admin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 16px; }
.contest-category-admin-grid article { padding: 18px; display: flex; gap: 14px; align-items: center; border-radius: 17px; background: #fff; border: 1px solid #e0e6f0; }
.contest-category-admin-grid article > span { font-size: 32px; color: #dde4f1; font-weight: 950; }
.contest-category-admin-grid strong,
.contest-category-admin-grid small,
.contest-category-admin-grid p { display: block; }
.contest-category-admin-grid small { color: #7a869f; }
.contest-category-admin-grid p { margin: 5px 0 0; color: #596782; font-size: 12px; }
.contest-admin-card--table { margin-top: 14px; }
.contest-table-wrap { width: 100%; overflow-x: auto; margin-top: 14px; }
.contest-table { width: 100%; border-collapse: collapse; min-width: 820px; }
.contest-table th { padding: 11px 10px; color: #7d89a1; background: #f7f8fb; text-align: left; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.contest-table td { padding: 12px 10px; border-bottom: 1px solid #edf0f5; vertical-align: middle; }
.contest-table td small { display: block; color: #8b96aa; margin-top: 2px; }
.contest-row-status { display: inline-flex; padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; }
.contest-row-status.is-finished { color: #15764a; background: #e5f8ee; }
.contest-row-status.is-running { color: #9a5c08; background: #fff3dc; }
.contest-row-status.is-pending { color: #667187; background: #eef1f6; }
.contest-row-status.is-error { color: #9b3333; background: #fff0f0; }
.contest-podium-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.contest-podium-card { padding: 18px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #0a2052, #203e86); }
.contest-podium-card__head { display: flex; gap: 10px; align-items: center; }
.contest-podium-card__head > span { font-size: 28px; }
.contest-podium-card__head strong,
.contest-podium-card__head small { display: block; }
.contest-podium-card__head small { color: #9cb0d7; }
.contest-podium { margin-top: 20px; height: 250px; display: flex; justify-content: center; align-items: end; gap: 7px; }
.contest-podium > div { width: 31%; min-height: 115px; padding: 10px 7px; display: flex; flex-direction: column; align-items: center; justify-content: end; text-align: center; border-radius: 12px 12px 4px 4px; background: rgba(255,255,255,.1); position: relative; }
.contest-podium > div.place-1 { min-height: 195px; background: linear-gradient(180deg, rgba(255,196,70,.35), rgba(255,255,255,.09)); }
.contest-podium > div.place-2 { min-height: 150px; }
.contest-podium > div.place-3 { min-height: 125px; }
.contest-podium > div > span { font-size: 27px; }
.contest-podium > div strong { font-size: 11px; }
.contest-podium > div small { color: #aebddd; font-size: 9px; margin-top: 4px; }
.contest-podium > div i { margin-top: 9px; font-size: 25px; font-style: normal; font-weight: 950; color: rgba(255,255,255,.34); }

/* Import */
.contest-import-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.contest-import-tabs button { min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1px solid #d8e0ef; background: #fff; color: #66738d; font-weight: 850; cursor: pointer; }
.contest-import-tabs button.is-active { color: #fff; background: #173e8c; border-color: #173e8c; }
.contest-import-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.contest-import-grid p { color: #73809b; line-height: 1.55; }
.contest-file-drop { min-height: 160px; display: grid; place-content: center; justify-items: center; text-align: center; border: 2px dashed #cbd6e9; border-radius: 16px; background: #f9fbff; cursor: pointer; }
.contest-file-drop input { display: none; }
.contest-file-drop > span { font-size: 34px; }
.contest-file-drop strong { margin: 8px 0 4px; }
.contest-file-drop small { color: #8490a8; }
.contest-credentials-card { margin-top: 16px; background: #eaf8f1; border-color: #bfe8d1; }
.contest-credentials-card p { color: #537261; }

@keyframes contestFloat { 50% { transform: translateY(-12px) rotate(2deg); } }
@keyframes contestSpin { to { transform: rotate(360deg); } }
@keyframes contestFlash { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 1100px) {
  .contest-hero { grid-template-columns: 1fr; }
  .contest-hero__visual { min-height: 420px; }
  .contest-journey { grid-template-columns: repeat(3, 1fr); }
  .contest-auth { grid-template-columns: 1fr; }
  .contest-auth__visual { min-height: 600px; }
  .contest-participant-hero { grid-template-columns: 1fr; }
  .contest-participant-hero__side { max-width: 500px; }
  .contest-dashboard-grid { grid-template-columns: 1fr; }
  .contest-rules-strip { grid-template-columns: repeat(2, 1fr); }
  .contest-exam__hud { grid-template-columns: 1fr 1fr; }
  .contest-exam__stage { grid-template-columns: 1fr; }
  .contest-exam__route { display: none; }
  .contest-admin-stats { grid-template-columns: repeat(2, 1fr); }
  .contest-admin-grid { grid-template-columns: 1fr; }
  .contest-podium-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .contest-topbar nav a:not(.contest-btn),
  .contest-appbar__event { display: none; }
  .contest-hero { padding: 54px 6vw; }
  .contest-hero__metrics { flex-wrap: wrap; }
  .contest-category-grid { grid-template-columns: 1fr; }
  .contest-journey { grid-template-columns: 1fr; }
  .contest-callout { align-items: flex-start; flex-direction: column; }
  .contest-participant-hero { width: 94vw; padding: 26px; }
  .contest-dashboard-grid,
  .contest-rules-strip { width: 94vw; }
  .contest-exam-summary { grid-template-columns: 1fr; }
  .contest-exam-notice,
  .contest-finished-card,
  .contest-running-card { align-items: flex-start; flex-direction: column; }
  .contest-instruction-grid { grid-template-columns: 1fr; }
  .contest-question-card { padding: 22px; border-radius: 20px; }
  .contest-question-card__footer { align-items: stretch; flex-direction: column; }
  .contest-result-stats { grid-template-columns: 1fr; }
  .contest-admin-shell { display: block; }
  .contest-admin-sidebar { position: relative; height: auto; }
  .contest-admin-sidebar nav { grid-template-columns: repeat(2, 1fr); }
  .contest-admin-sidebar__bottom { display: none; }
  .contest-admin-main { padding: 22px 4vw 40px; }
  .contest-admin-header { align-items: flex-start; flex-direction: column; }
  .contest-category-admin-grid,
  .contest-import-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .contest-topbar,
  .contest-appbar { padding: 0 4vw; min-height: 66px; }
  .contest-topbar nav { gap: 8px; }
  .contest-hero__copy h1 { font-size: 44px; }
  .contest-hero__visual { min-height: 340px; }
  .contest-trophy { width: 180px; height: 180px; font-size: 94px; }
  .contest-matix-card { display: none; }
  .contest-section { padding: 54px 5vw; }
  .contest-auth__panel { padding: 20px; }
  .contest-auth__card { padding: 24px; }
  .contest-auth__visual { min-height: 480px; padding: 26px 6vw; }
  .contest-auth__visual-copy h1 { font-size: 45px; }
  .contest-rules-strip { grid-template-columns: 1fr; }
  .contest-exam__hud { grid-template-columns: 1fr auto; gap: 10px; }
  .contest-exam__brand > span,
  .contest-exam__progress { display: none; }
  .contest-clock { min-width: 150px; }
  .contest-exam__finish { grid-column: 1 / -1; }
  .contest-exam__stage { padding: 20px 3vw 40px; }
  .contest-question-card h1 { font-size: 26px; }
  .contest-options button { min-height: 64px; }
  .contest-result-card { padding: 28px 20px; }
  .contest-result-card h1 { font-size: 36px; }
  .contest-admin-stats { grid-template-columns: 1fr; }
  .contest-admin-sidebar nav { grid-template-columns: 1fr; }
}

/* Temporary contest teaser inside Ludimática public home */
.lm-contest-home {
  margin: 0;
  padding: 64px 7vw;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .8fr);
  gap: 36px;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 78% 22%, rgba(119,79,255,.42), transparent 28%),
    radial-gradient(circle at 18% 85%, rgba(33,206,255,.13), transparent 25%),
    linear-gradient(135deg, #06143d, #0c285f 60%, #25256b);
  position: relative;
  overflow: hidden;
}
.lm-contest-home::before { content: ''; position: absolute; inset: 0; opacity: .17; background-image: radial-gradient(circle, rgba(255,255,255,.9) 1px, transparent 1px); background-size: 34px 34px; }
.lm-contest-home__copy,
.lm-contest-home__visual { position: relative; z-index: 2; }
.lm-contest-home__badge { display: inline-flex; padding: 8px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); font-size: 11px; font-weight: 900; letter-spacing: .06em; }
.lm-contest-home .lm-v4-kicker { margin-top: 20px; color: #ffc66f; }
.lm-contest-home__copy h2 { margin: 6px 0 14px; font-size: clamp(38px, 4vw, 58px); line-height: 1.02; letter-spacing: -.04em; }
.lm-contest-home__copy h2 span { color: #ff9f32; }
.lm-contest-home__copy > p:last-of-type { max-width: 740px; color: #c4d1ec; line-height: 1.65; font-size: 17px; }
.lm-contest-home__visual { min-height: 320px; display: grid; place-items: center; }
.lm-contest-home__trophy { font-size: 140px; filter: drop-shadow(0 22px 28px rgba(0,0,0,.28)); animation: contestFloat 4s ease-in-out infinite; }
.lm-contest-home__categories { position: absolute; left: 0; bottom: 12px; display: grid; gap: 8px; }
.lm-contest-home__categories span { min-width: 180px; padding: 10px 12px; display: flex; justify-content: space-between; gap: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.lm-contest-home__categories strong,
.lm-contest-home__categories small { display: block; }
.lm-contest-home__categories small { color: #aebddb; }
.lm-contest-home__metric { position: absolute; right: 0; top: 25px; width: 120px; height: 120px; display: grid; place-content: center; text-align: center; border-radius: 26px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.15); transform: rotate(4deg); }
.lm-contest-home__metric strong { font-size: 36px; }
.lm-contest-home__metric span { color: #b9c6e1; font-size: 11px; }

@media (max-width: 900px) {
  .lm-contest-home { grid-template-columns: 1fr; padding: 54px 6vw; }
  .lm-contest-home__visual { min-height: 300px; }
}

@media (max-width: 560px) {
  .lm-contest-home__visual { min-height: 250px; }
  .lm-contest-home__trophy { font-size: 100px; }
  .lm-contest-home__categories { position: static; margin-top: 20px; }
  .lm-contest-home__metric { right: 10px; top: 8px; width: 92px; height: 92px; }
}

.contest-appbar:not(.contest-appbar--transparent) .lm-brand--compact .lm-brand__copy strong { color: var(--contest-navy); }
.contest-appbar:not(.contest-appbar--transparent) .lm-brand--compact .lm-brand__mark { background: #eef3ff; box-shadow: inset 0 0 0 1px rgba(33,69,139,.08); }
.contest-appbar--transparent .lm-brand--compact .lm-brand__copy strong,
.contest-exam__hud .lm-brand--compact .lm-brand__copy strong,
.contest-admin-sidebar .lm-brand--compact .lm-brand__copy strong,
.contest-auth__visual .lm-brand--compact .lm-brand__copy strong { color: #fff; }

/* =========================================================
   V11 · PARCHE CATEGORÍA 1 + PANEL DE ACCESO MEJORADO
   ========================================================= */

.tone-blue { --tone-bg: #eef4ff; --tone-text: #184ec8; --tone-line: rgba(24,78,200,.18); }
.tone-orange { --tone-bg: #fff4e7; --tone-text: #c96a05; --tone-line: rgba(201,106,5,.18); }
.tone-green { --tone-bg: #eafaf3; --tone-text: #157a53; --tone-line: rgba(21,122,83,.18); }
.tone-violet { --tone-bg: #f2edff; --tone-text: #5f43d8; --tone-line: rgba(95,67,216,.18); }

@keyframes contestFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes contestPulseGlow {
  0%, 100% { box-shadow: 0 0 0 rgba(64,120,255,0); }
  50% { box-shadow: 0 0 0 10px rgba(64,120,255,.08); }
}

.contest-btn--primary {
  background: linear-gradient(135deg, #133f8f, #1e5fd1 55%, #2fa6ff) !important;
  box-shadow: 0 14px 28px rgba(29,91,201,.28);
}

.contest-auth--v11 {
  display: block;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,197,77,.18), transparent 20%),
    linear-gradient(90deg, #efe7d8 0%, #efe7d8 58%, #edf3fb 58%, #edf3fb 100%);
}

.contest-auth__visual--v11 {
  min-height: 100vh;
  padding: 0;
  color: var(--contest-text);
  background: transparent;
}

.contest-auth__visual--v11::after { display: none; }

.contest-auth__visual-topbar {
  margin: 0 6vw;
  margin-top: 20px;
  padding: 18px 26px;
  border-radius: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
  background: linear-gradient(90deg, #0f356d, #184985 62%, #153b72);
  box-shadow: 0 18px 32px rgba(17,54,112,.22);
}

.contest-auth__backlink {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.contest-auth__visual-content {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  gap: 46px;
  padding: 24px 6vw 42px;
  align-items: start;
}

.contest-auth__headline-wrap {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 20px;
  align-items: center;
  margin: 18px 0 14px;
}

.contest-auth__crest-inline {
  width: 108px;
  height: 108px;
  padding: 12px;
  border-radius: 28px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 18px 34px rgba(19,34,73,.12);
}

.contest-auth__crest-inline img { width: 100%; height: 100%; object-fit: contain; }

.contest-auth__visual--v11 .contest-auth__visual-copy {
  max-width: none;
  margin: 0;
}

.contest-auth__visual--v11 .contest-auth__visual-copy h1 {
  margin: 0;
  color: #143766;
  font-size: clamp(54px, 5vw, 74px);
  line-height: .95;
}

.contest-auth__visual--v11 .contest-auth__visual-copy p {
  margin-top: 14px;
  max-width: 720px;
  color: #516279;
  font-size: 20px;
}

.contest-auth__event-strip {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.contest-auth__event-strip article,
.contest-auth__countdown,
.contest-auth__photo-card,
.contest-auth__card--v11,
.contest-auth__helpbox,
.contest-auth__mini-stats article {
  border: 1px solid #d9ccb8;
  box-shadow: 0 18px 34px rgba(19,34,73,.07);
}

.contest-auth__event-strip article {
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.72);
}

.contest-auth__event-strip strong,
.contest-auth__event-strip span { display: block; }
.contest-auth__event-strip strong { font-size: 24px; color: #173c70; }
.contest-auth__event-strip span { margin-top: 4px; color: #7d6f55; font-weight: 800; }

.contest-auth__countdown {
  margin-top: 16px;
  padding: 18px 22px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, #0d376f, #184f95);
}

.contest-auth__countdown span,
.contest-auth__countdown small { display: block; }
.contest-auth__countdown span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #ffc54d; font-weight: 900; }
.contest-auth__countdown strong { display: block; margin-top: 8px; font-size: 32px; letter-spacing: -.04em; }
.contest-auth__countdown small { margin-top: 8px; color: #c5d4ef; line-height: 1.5; }

.contest-auth__photo-card {
  margin-top: 16px;
  padding: 8px;
  border-radius: 26px;
  background: rgba(255,255,255,.74);
}

.contest-auth__photo-card img {
  width: 100%;
  height: 310px;
  display: block;
  object-fit: cover;
  border-radius: 20px;
}

.contest-auth__photo-card div {
  margin-top: 10px;
  padding: 0 12px 10px;
}

.contest-auth__photo-card strong,
.contest-auth__photo-card span { display: block; }
.contest-auth__photo-card strong { color: #fff; font-size: 14px; padding: 12px 14px; border-radius: 16px; background: rgba(7,26,71,.86); }
.contest-auth__photo-card span { width: max-content; margin: 12px auto 0; padding: 10px 18px; border-radius: 999px; background: #143d79; color: #ffc85e; font-weight: 800; }

.contest-auth__panel--v11 {
  min-height: auto;
  padding: 0;
  background: transparent;
}

.contest-auth__card--v11 {
  width: min(440px, 100%);
  margin: 106px auto 0;
  padding: 30px;
  border-radius: 34px;
  position: sticky;
  top: 36px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
}

.contest-auth__icon {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  border-radius: 22px;
  font-size: 34px;
  background: linear-gradient(135deg, #eef3ff, #dfe8ff);
}

.contest-auth__card--v11 h2 {
  margin: 8px 0 10px;
  text-align: center;
  color: #143767;
  font-size: 50px;
  line-height: .98;
}

.contest-auth__card--v11 > .contest-kicker,
.contest-auth__card--v11 > p { display: block; text-align: center; }

.contest-form--v11 {
  margin-top: 24px;
  display: grid;
  gap: 16px;
}

.contest-form--v11 label > span {
  display: block;
  margin-bottom: 8px;
  color: #143767;
  font-weight: 900;
}

.contest-form--v11 input {
  min-height: 58px;
  border-radius: 16px;
  border: 1px solid #cfbe9d;
  background: #f9fbff;
}

.contest-form--v11 .contest-btn { margin-top: 4px; min-height: 54px; border-radius: 16px; }

.contest-auth__mini-stats {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.contest-auth__mini-stats article {
  padding: 16px 10px;
  border-radius: 18px;
  text-align: center;
  background: #f8fbff;
}

.contest-auth__mini-stats strong,
.contest-auth__mini-stats span { display: block; }
.contest-auth__mini-stats strong { font-size: 36px; color: #143b79; }
.contest-auth__mini-stats span { color: #8894ab; font-size: 12px; text-transform: lowercase; }

.contest-auth__helpbox {
  margin-top: 16px;
  padding: 16px;
  border-radius: 22px;
  display: flex;
  gap: 14px;
  align-items: center;
  background: #f4eedf;
}

.contest-auth__helpbox img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 18px;
}

.contest-auth__helpbox strong,
.contest-auth__helpbox small { display: block; }
.contest-auth__helpbox small { color: #6f7b90; margin-top: 4px; }

.contest-session--v11 .contest-session__user { background: #eff4ff; border-color: #d4e1ff; }

.contest-shell--instructions-v11 {
  background:
    radial-gradient(circle at 15% 12%, rgba(255,197,77,.10), transparent 18%),
    #f4f7ff;
}

.contest-instructions-hero--v11 {
  padding-bottom: 36px;
}

.contest-instructions-structure {
  width: min(1200px, 90vw);
  margin: -18px auto 0;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
}

.contest-structure-card {
  padding: 28px;
  border-radius: 28px;
  border: 1px solid #dce5f6;
  background: #fff;
  box-shadow: 0 22px 46px rgba(19,34,73,.08);
}

.contest-structure-card__head h2 { margin: 10px 0 0; }

.contest-structure-track {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.contest-structure-track article,
.contest-structure-tags span {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid #e0e8fa;
  background: #f8fbff;
}

.contest-structure-track span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; margin-bottom: 10px; background: #153d7a; color: #fff; font-weight: 900; }
.contest-structure-track strong,
.contest-structure-track small { display: block; }
.contest-structure-track small { margin-top: 6px; color: var(--contest-muted); }

.contest-structure-tags {
  margin: 20px 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contest-start-card--v11 {
  margin-top: 28px;
  margin-bottom: 42px;
}

.contest-exam--v11 {
  background:
    radial-gradient(circle at 10% 15%, rgba(255,197,77,.14), transparent 18%),
    linear-gradient(180deg, #eef4ff 0%, #f8fbff 100%);
}

.contest-exam__hud--v11 {
  position: sticky;
  top: 0;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.86);
}

.contest-exam__stage--v11 {
  width: min(1360px, 94vw);
  margin: 26px auto 34px;
  gap: 24px;
  grid-template-columns: 360px minmax(0, 1fr);
}

.contest-exam__route--v11,
.contest-question-card--v11,
.contest-summary-card {
  border: 1px solid #dde6f8;
  box-shadow: 0 24px 48px rgba(19,34,73,.09);
}

.contest-exam__route--v11 {
  padding: 28px;
  border-radius: 28px;
  background: #fff;
}

.contest-exam__route--v11 p { color: var(--contest-muted); line-height: 1.6; }

.contest-route-v11 {
  margin-top: 20px;
  display: grid;
  gap: 12px;
}

.contest-route-v11 article {
  padding: 14px 14px 14px 12px;
  border-radius: 18px;
  border: 1px solid #e5ebf8;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
  background: #f8fbff;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.contest-route-v11 article span {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-weight: 900;
  background: #e9f1ff;
  color: #163f80;
}

.contest-route-v11 article strong,
.contest-route-v11 article small { display: block; }
.contest-route-v11 article small { color: var(--contest-muted); margin-top: 4px; }
.contest-route-v11 article.is-current {
  border-color: #8aaef8;
  background: linear-gradient(135deg, #edf4ff, #ffffff);
  transform: translateY(-2px);
}
.contest-route-v11 article.is-current span { background: linear-gradient(135deg, #164082, #2474e3); color: #fff; animation: contestPulseGlow 1.8s ease-in-out infinite; }
.contest-route-v11 article.is-done span { background: linear-gradient(135deg, #189567, #32c78f); color: #fff; }

.contest-route-rule {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #f4f7ff;
  color: #657392;
  line-height: 1.55;
}

.contest-question-card--v11 {
  padding: 24px;
  border-radius: 28px;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.contest-question-card--v11::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 10px;
  background: linear-gradient(90deg, #184082, #27a1ff, #ffc54d);
}

.contest-situation-banner {
  padding: 22px;
  border-radius: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 18px;
  background: linear-gradient(135deg, #0f2f67, #184a8a 58%, #2d7fe8);
  color: #fff;
}

.contest-situation-banner__copy h1 {
  margin: 10px 0 12px;
  color: #fff;
  font-size: clamp(32px, 3vw, 44px);
  line-height: .98;
}
.contest-situation-banner__copy p { color: #d5e3ff; line-height: 1.7; }
.contest-situation-banner__copy small { display: block; margin-top: 10px; color: #ffc85e; line-height: 1.6; font-weight: 700; }

.contest-situation-banner__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-content: center;
}

.contest-situation-banner__cards article {
  min-height: 108px;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  animation: contestFloat 5s ease-in-out infinite;
}

.contest-situation-banner__cards article:nth-child(2) { animation-delay: .4s; }
.contest-situation-banner__cards article:nth-child(3) { animation-delay: .8s; }
.contest-situation-banner__cards span,
.contest-situation-banner__cards strong { display: block; }
.contest-situation-banner__cards span { color: #cad8f2; font-size: 12px; text-transform: uppercase; font-weight: 900; letter-spacing: .08em; }
.contest-situation-banner__cards strong { margin-top: 10px; font-size: 18px; line-height: 1.25; }

.contest-visual-card {
  margin-top: 18px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid #dde7fb;
  background: linear-gradient(180deg, #fbfdff, #f5f8ff);
}

.contest-visual-card__head { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.contest-visual-card__head strong { font-size: 20px; }
.contest-visual-card__head span { color: var(--contest-muted); font-weight: 700; }

.contest-timeline-v11 {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.contest-timeline-v11 article {
  padding: 16px;
  border-radius: 20px;
  border: 1px solid #e0e8fb;
  background: #fff;
  position: relative;
}

.contest-timeline-v11 article::after {
  content: '';
  position: absolute;
  top: 24px;
  right: -8px;
  width: 16px;
  height: 3px;
  border-radius: 999px;
  background: #2b6cff;
}

.contest-timeline-v11 article:last-child::after { display: none; }
.contest-timeline-v11 span,
.contest-timeline-v11 strong,
.contest-timeline-v11 small { display: block; }
.contest-timeline-v11 span { color: #1b4c9f; font-size: 13px; font-weight: 900; }
.contest-timeline-v11 strong { margin: 12px 0 8px; }
.contest-timeline-v11 small { color: var(--contest-muted); line-height: 1.55; }

.contest-bars-v11 {
  margin-top: 18px;
  min-height: 250px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: end;
}

.contest-bars-v11 article { text-align: center; }
.contest-bars-v11__value { margin-bottom: 10px; font-weight: 900; color: #173d79; }
.contest-bars-v11__bar {
  width: 100%;
  border-radius: 18px 18px 10px 10px;
  min-height: 40px;
  background: linear-gradient(180deg, #4d8fff, #1d5ad5);
}
.contest-bars-v11__bar.tone-orange { background: linear-gradient(180deg, #ffbe6b, #eb8f14); }
.contest-bars-v11__bar.tone-green { background: linear-gradient(180deg, #68e6b6, #1ca675); }
.contest-bars-v11__bar.tone-violet { background: linear-gradient(180deg, #ae96ff, #7658eb); }
.contest-bars-v11 strong { display: block; margin-top: 10px; }

.contest-booths-v11 {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.contest-booths-v11 article {
  padding: 18px;
  border-radius: 22px;
  background: var(--tone-bg);
  border: 1px solid var(--tone-line);
}

.contest-booths-v11 strong,
.contest-booths-v11 span,
.contest-booths-v11 small { display: block; color: var(--tone-text); }
.contest-booths-v11 span { margin: 10px 0 8px; font-size: 22px; font-weight: 900; }
.contest-booths-v11 small { line-height: 1.55; opacity: .85; }

.contest-donut-v11 {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: center;
}

.contest-donut-v11__chart {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto;
}

.contest-donut-v11__chart > div {
  width: 118px;
  height: 118px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 24px rgba(19,34,73,.1);
}

.contest-donut-v11__chart span,
.contest-donut-v11__chart small { display: block; }
.contest-donut-v11__chart span { font-size: 36px; font-weight: 900; color: #143d79; }
.contest-donut-v11__legend { display: grid; gap: 10px; }
.contest-donut-v11__legend article {
  padding: 14px 16px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 16px 1fr auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #e4ebfb;
  background: #fff;
}
.contest-donut-v11__legend i { width: 16px; height: 16px; border-radius: 6px; background: #2b6cff; }
.contest-donut-v11__legend i.tone-orange { background: #ff9e2c; }
.contest-donut-v11__legend i.tone-green { background: #31c48d; }
.contest-donut-v11__legend i.tone-violet { background: #8359ff; }
.contest-donut-v11__legend span { color: var(--contest-text); }
.contest-donut-v11__legend strong { color: #143b79; }

.contest-question-card__top--v11 { margin-top: 20px; }

.contest-question-body h2 {
  margin: 18px 0 8px;
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.18;
}

.contest-question-helper {
  margin-bottom: 18px;
  color: var(--contest-muted);
  font-size: 15px;
}

.contest-options--v11 button {
  text-align: left;
  min-height: 88px;
  border-radius: 20px;
  background: #f8fbff;
  border: 1px solid #e3eaf9;
}

.contest-options--v11 button.is-selected {
  border-color: #87a8ef;
  background: linear-gradient(135deg, #edf4ff, #ffffff);
  transform: translateY(-2px);
}

.contest-options--v11 button span {
  min-width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #e7efff;
  color: #153d7a;
}

.contest-complete-box input,
.contest-match-box select {
  width: 100%;
  min-height: 58px;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid #d6e1f8;
  background: #fbfdff;
  font: inherit;
}

.contest-order-box,
.contest-match-box {
  display: grid;
  gap: 18px;
}

.contest-order-box__available,
.contest-order-box__selected,
.contest-match-box label {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid #e2e9fb;
  background: #fbfdff;
}

.contest-order-box__available strong,
.contest-order-box__selected strong,
.contest-match-box label span {
  display: block;
  margin-bottom: 12px;
}

.contest-order-box__available > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contest-order-box__available button {
  padding: 12px 14px;
  border: 1px solid #dbe5fb;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  font: inherit;
}

.contest-order-box__selected ol {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 10px;
}

.contest-order-box__selected li {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #dbe5fb;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.contest-order-box__selected button {
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background: #eff4ff;
  color: #143d7a;
  font-weight: 800;
  cursor: pointer;
}

.contest-match-box label span { color: #163c74; font-weight: 800; }

.contest-question-card__footer--v11 {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #ebf0fb;
}

.contest-exam--summary {
  padding: 42px 6vw 54px;
}

.contest-summary-hero {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 30px 34px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #fff;
  background: linear-gradient(135deg, #0e316a, #184a89 56%, #2e7ee6);
  box-shadow: 0 28px 54px rgba(19,34,73,.18);
}

.contest-summary-hero__copy h1 { margin: 10px 0 8px; color: #fff; font-size: clamp(42px, 4vw, 62px); }
.contest-summary-hero__copy p { color: #d6e2ff; }

.contest-summary-hero__score {
  min-width: 220px;
  padding: 18px 24px;
  border-radius: 24px;
  text-align: center;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
}

.contest-summary-hero__score strong,
.contest-summary-hero__score span { display: block; }
.contest-summary-hero__score strong { font-size: 72px; line-height: .92; }
.contest-summary-hero__score span { color: #c7d7f5; }

.contest-summary-grid {
  width: min(1180px, 100%);
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.contest-summary-card {
  padding: 28px;
  border-radius: 28px;
  background: #fff;
}

.contest-summary-card h2 { margin: 0 0 18px; }

.contest-summary-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.contest-summary-metrics article,
.contest-summary-situations div {
  padding: 18px;
  border-radius: 18px;
  background: #f8fbff;
  border: 1px solid #e2eaf9;
}

.contest-summary-metrics strong,
.contest-summary-metrics span,
.contest-summary-situations strong,
.contest-summary-situations span,
.contest-summary-situations small { display: block; }
.contest-summary-metrics strong { font-size: 36px; color: #143b79; }
.contest-summary-metrics span { margin-top: 8px; color: var(--contest-muted); }

.contest-summary-situations { display: grid; gap: 12px; }
.contest-summary-situations span { color: #52627b; margin: 6px 0; }
.contest-summary-situations small { color: #143b79; font-weight: 800; }

.contest-summary-actions {
  width: min(1180px, 100%);
  margin: 24px auto 0;
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 1180px) {
  .contest-auth__visual-content,
  .contest-instructions-structure,
  .contest-summary-grid,
  .contest-exam__stage--v11,
  .contest-situation-banner,
  .contest-donut-v11 {
    grid-template-columns: 1fr;
  }

  .contest-auth__card--v11 {
    position: static;
    margin-top: 0;
  }

  .contest-auth__event-strip,
  .contest-situation-banner__cards,
  .contest-timeline-v11,
  .contest-booths-v11,
  .contest-summary-metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .contest-exam__route--v11 { order: 2; }
}

@media (max-width: 820px) {
  .contest-auth__visual-topbar,
  .contest-summary-hero,
  .contest-auth__headline-wrap,
  .contest-auth__helpbox {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: flex-start;
  }

  .contest-auth__visual-topbar,
  .contest-summary-hero { align-items: flex-start; }

  .contest-auth__event-strip,
  .contest-auth__mini-stats,
  .contest-instruction-grid--v11,
  .contest-structure-track,
  .contest-timeline-v11,
  .contest-booths-v11,
  .contest-bars-v11,
  .contest-situation-banner__cards,
  .contest-summary-metrics {
    grid-template-columns: 1fr;
  }

  .contest-donut-v11__chart {
    width: 180px;
    height: 180px;
  }

  .contest-donut-v11__chart > div {
    width: 96px;
    height: 96px;
  }

  .contest-auth__visual--v11 .contest-auth__visual-copy h1,
  .contest-auth__card--v11 h2,
  .contest-summary-hero__score strong {
    font-size: clamp(34px, 9vw, 50px);
  }
}
/* =====================================================================
   RETO RAIMONDINO V9 — UI basada en las propuestas visuales aprobadas
   ===================================================================== */
:root{--rv9-navy:#0b3565;--rv9-navy-2:#082b56;--rv9-blue:#1b5b9a;--rv9-gold:#f2b930;--rv9-orange:#f68516;--rv9-green:#20a578;--rv9-violet:#7654c8;--rv9-red:#dd5d4f;--rv9-paper:#fffaf1;--rv9-line:#e2d7c5;--rv9-ink:#17344f}
html,body,#root{max-width:100%;overflow-x:hidden}
.contest-page,.contest-v9-route-page,.contest-v9-instructions,.contest-v9-student-shell,.contest-v9-admin-shell{max-width:100vw;overflow-x:hidden;background:radial-gradient(circle at 100% 0,rgba(78,151,219,.09),transparent 28%),linear-gradient(180deg,#f7f2e8 0%,#f1eadc 100%);color:var(--rv9-ink)}
.contest-v9-container{width:min(1380px,calc(100% - 24px));margin-inline:auto;min-width:0}
.contest-page img,.contest-v9-route-page img,.contest-v9-instructions img,.contest-v9-student-shell img,.contest-v9-admin-shell img{max-width:100%;image-rendering:auto}

/* Topbars */
.contest-v9-topbar{width:100%;min-height:64px;padding:9px clamp(12px,2.4vw,36px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,252,246,.96);border-bottom:1px solid rgba(157,127,76,.18);backdrop-filter:blur(12px);position:sticky;top:0;z-index:90;box-sizing:border-box}
.contest-v9-topbar--navy{background:linear-gradient(90deg,#0d3768,#0a2c57);color:#fff;border-color:rgba(255,255,255,.08)}
.contest-v9-topbar nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.7vw,24px);min-width:0;white-space:nowrap}
.contest-v9-topbar nav a{color:inherit;text-decoration:none;font-weight:800;font-size:clamp(.75rem,.82vw,.9rem);position:relative}
.contest-v9-topbar:not(.contest-v9-topbar--navy) nav a{color:#123c69}
.contest-v9-topbar nav a.is-active::after,.contest-v9-topbar nav a:not(.contest-v9-login):hover::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:999px;background:var(--rv9-orange)}
.contest-v9-login{padding:11px 18px;border-radius:14px;background:linear-gradient(180deg,#ff9b1f,#f37d0c);color:#fff!important;box-shadow:0 9px 18px rgba(230,117,16,.22);transition:transform .2s ease,box-shadow .2s ease}
.contest-v9-login:hover{transform:translateY(-2px);box-shadow:0 13px 22px rgba(230,117,16,.28)}

/* PUBLIC — collage */
.contest-v9-public-hero{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(300px,.68fr);gap:14px;margin-top:14px;align-items:stretch}
.contest-v9-collage{position:relative;display:grid;grid-template-columns:.82fr 1.28fr .82fr;grid-template-rows:minmax(220px,1.08fr) minmax(142px,.72fr) minmax(142px,.72fr);grid-template-areas:"staff staff staff" "pledge title line" "workshop title court";gap:8px;padding:9px;border-radius:28px;background:#fffaf0;border:1px solid #dfd0b8;box-shadow:0 20px 42px rgba(31,55,77,.10);overflow:hidden}
.contest-v9-collage::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.contest-v9-collage figure{position:relative;margin:0;overflow:hidden;border:4px solid #fff;border-radius:20px;background:#f0eadf;box-shadow:0 10px 22px rgba(27,49,70,.10);min-width:0}
.contest-v9-collage figure>img:not(.contest-v9-photo-backdrop){width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease,filter .28s ease}
.contest-v9-collage figure:hover>img:not(.contest-v9-photo-backdrop){transform:scale(1.025);filter:saturate(1.04) contrast(1.01)}
.contest-v9-collage figcaption{position:absolute;left:10px;bottom:9px;z-index:4;padding:7px 10px;border-radius:999px;background:rgba(8,45,83,.86);color:#fff;font-size:.72rem;font-weight:800;backdrop-filter:blur(8px)}
.contest-v9-collage__staff{grid-area:staff;min-height:220px}
.contest-v9-photo-backdrop{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(12px) brightness(.92) saturate(1.05);opacity:.45;transform:scale(1.03)}
.contest-v9-photo-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;z-index:2}
.contest-v9-collage__pledge{grid-area:pledge;clip-path:polygon(0 0,100% 4%,96% 100%,0 95%)}
.contest-v9-collage__line{grid-area:line;clip-path:polygon(4% 3%,100% 0,100% 96%,0 100%)}
.contest-v9-collage__workshop{grid-area:workshop;clip-path:polygon(0 3%,97% 0,100% 100%,2% 96%)}
.contest-v9-collage__court{grid-area:court;clip-path:polygon(2% 0,100% 4%,97% 100%,0 97%)}
.contest-v9-title-card{grid-area:title;position:relative;z-index:6;align-self:stretch;justify-self:stretch;margin:-12px -10px -6px;padding:18px 20px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:42px 42px 28px 28px;background:radial-gradient(circle at 50% 0,rgba(242,185,48,.12),transparent 26%),linear-gradient(180deg,rgba(255,252,245,.98),rgba(255,248,236,.97));border:1px solid #dcc28f;box-shadow:0 16px 28px rgba(66,55,37,.14);overflow:hidden}
.contest-v9-title-card::before,.contest-v9-title-card::after{content:"✦";position:absolute;color:#e6aa27;font-size:1.2rem;opacity:.82}.contest-v9-title-card::before{left:16px;top:16px}.contest-v9-title-card::after{right:16px;bottom:16px}
.contest-v9-title-card__crest{width:62px;height:62px;display:grid;place-items:center;margin-bottom:6px}.contest-v9-title-card__crest img{width:100%;height:100%;object-fit:contain}
.contest-v9-kicker{display:inline-flex;padding:6px 11px;border-radius:999px;background:#f7e5a5;color:#866008;font-size:.65rem;font-weight:900;letter-spacing:.12em}
.contest-v9-title-card h1{margin:9px 0 7px;color:#113c6a;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.75rem,2.6vw,2.7rem);line-height:.98;letter-spacing:-.025em}.contest-v9-title-card h1 strong{display:block;color:#c77d0e;font-weight:800}
.contest-v9-title-card p{max-width:510px;margin:0;color:#5b6d7c;line-height:1.48;font-size:.88rem}
.contest-v9-title-card__tags{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:10px}.contest-v9-title-card__tags span{padding:6px 9px;border-radius:999px;background:#eef4f9;color:#31546f;font-size:.7rem;font-weight:800;border:1px solid #d4e0ea}
.contest-v9-title-card__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}.contest-v9-title-card__actions a{padding:9px 13px;border-radius:12px;text-decoration:none;font-size:.75rem;font-weight:900;border:1px solid #cdbf9f;background:#fff;color:#123d6b;transition:.2s ease}.contest-v9-title-card__actions a:last-child{background:linear-gradient(180deg,#1f5a94,#123c6a);border-color:#123c6a;color:#fff}.contest-v9-title-card__actions a:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(27,58,89,.16)}
.contest-v9-title-card__motto{margin-top:10px;padding:6px 13px;border-radius:999px;background:#103c6c;color:#f8d56a;font-size:.7rem;font-weight:900}

/* event sidebar */
.contest-v9-event-panel{position:relative;padding:14px;display:flex;flex-direction:column;gap:10px;border-radius:28px;background:linear-gradient(180deg,#0d3a6c,#092e59);color:#fff;box-shadow:0 20px 40px rgba(13,47,83,.20);overflow:hidden}
.contest-v9-event-panel::before{content:"";position:absolute;width:170px;height:170px;right:-86px;top:-86px;border-radius:50%;background:rgba(255,255,255,.06)}
.contest-v9-ticket{position:relative;padding:13px 15px;border-radius:18px;background:linear-gradient(145deg,#f8cd54,#efa927);color:#123b64;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);overflow:hidden}.contest-v9-ticket::after{content:"";position:absolute;inset:6px;border:1px dashed rgba(115,73,0,.25);border-radius:14px;pointer-events:none}.contest-v9-ticket>span{display:block;text-align:center;font-size:.66rem;font-weight:900;letter-spacing:.12em}.contest-v9-ticket>div{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:2px}.contest-v9-ticket b{font-size:3.55rem;line-height:.9}.contest-v9-ticket strong{font-size:1rem;line-height:1.05}.contest-v9-ticket i{font-style:normal;font-size:2.2rem}.contest-v9-ticket>small{display:block;text-align:center;margin-top:4px;font-weight:900}
.contest-v9-event-panel__label{font-size:.65rem;font-weight:900;letter-spacing:.12em;color:#f4be3d;margin-top:2px}
.contest-v9-event-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.contest-v9-event-stats article{min-width:0;padding:11px 7px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);text-align:center}.contest-v9-event-stats span{display:block;font-size:1.15rem}.contest-v9-event-stats strong{display:block;font-size:1.7rem;line-height:1.1}.contest-v9-event-stats small{font-size:.64rem;color:rgba(255,255,255,.75)}
.contest-v9-countdown-card{padding:11px;border-radius:16px;background:#fff;color:#153d63}.contest-v9-countdown-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.contest-v9-countdown-card>div:first-child strong{font-size:.68rem;color:#b87909}.contest-v9-countdown-card>div:first-child small{font-size:.62rem;color:#6b7b8c}.contest-v9-countdown-card .contest-countdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}.contest-v9-countdown-card .contest-countdown>span{padding:7px 2px!important;border-radius:10px!important;background:#eef5fb!important;min-width:0!important}.contest-v9-countdown-card .contest-countdown strong{font-size:1.05rem!important}.contest-v9-countdown-card .contest-countdown small{font-size:.52rem!important}.contest-v9-countdown-line{display:block;height:4px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,#f3ac19 0 68%,#e8e1d5 68%)}
.contest-v9-category-list{display:grid;gap:6px}.contest-v9-category-list article{display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px 9px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:.2s ease}.contest-v9-category-list article:hover{transform:translateX(3px);background:rgba(255,255,255,.10)}.contest-v9-category-list b{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f08c16}.contest-v9-category-list article:nth-child(2) b{background:#7654c8}.contest-v9-category-list article:nth-child(3) b{background:#1e9a79}.contest-v9-category-list strong{display:block;font-size:.76rem}.contest-v9-category-list small{display:block;margin-top:1px;color:rgba(255,255,255,.72);font-size:.61rem}.contest-v9-category-list>article>span{font-size:1.15rem;opacity:.8}
.contest-v9-event-quote{margin-top:auto;display:flex;gap:9px;align-items:center;padding:10px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.contest-v9-event-quote span{font-size:1.4rem}.contest-v9-event-quote p{margin:0;font-size:.68rem;line-height:1.45;color:rgba(255,255,255,.84)}

/* public lower content */
.contest-v9-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.contest-v9-facts article{position:relative;min-height:90px;padding:14px 14px;display:flex;align-items:center;gap:12px;border-radius:20px;border:1px solid #ded3c1;background:#fffaf2;box-shadow:0 8px 17px rgba(45,56,68,.05);overflow:hidden;transition:.22s ease}.contest-v9-facts article:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(27,58,88,.10)}.contest-v9-facts article>span{font-size:2rem}.contest-v9-facts strong{display:block;color:#123c6a}.contest-v9-facts p{margin:3px 0 0;color:#677686;font-size:.72rem}.contest-v9-facts i{position:absolute;right:10px;top:8px;font-style:normal;color:#e5b441}.contest-v9-facts .tone-mint{background:linear-gradient(145deg,#f4fbf8,#eef7f2)}.contest-v9-facts .tone-violet{background:linear-gradient(145deg,#fbf8ff,#f2edfb)}.contest-v9-facts .tone-gold{background:linear-gradient(145deg,#fffaf0,#fff2d2)}.contest-v9-facts .tone-blue{background:linear-gradient(145deg,#f5fbff,#eaf4fb)}
.contest-v9-info-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:12px}.contest-v9-evaluation-card,.contest-v9-grade-card,.contest-v9-flow-card{border-radius:24px;border:1px solid #ded3c1;background:#fffaf3;box-shadow:0 9px 20px rgba(47,58,69,.05)}.contest-v9-evaluation-card,.contest-v9-grade-card{padding:17px}.contest-v9-flow-card{grid-column:1/-1;padding:17px}.contest-v9-section-heading>span{font-size:.62rem;font-weight:900;letter-spacing:.12em;color:#b77c09}.contest-v9-section-heading h2{margin:5px 0;color:#103a67;font-family:Georgia,serif;font-size:clamp(1.35rem,1.8vw,1.8rem)}.contest-v9-section-heading p{margin:0;color:#687887;line-height:1.45;font-size:.76rem}
.contest-v9-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.contest-v9-metrics div{padding:16px;text-align:center;border-radius:17px;background:#eff5f7}.contest-v9-metrics div:nth-child(2){background:#fff1c9}.contest-v9-metrics div:nth-child(3){background:#edf0fb}.contest-v9-metrics b{display:block;color:#143e6b;font-size:2rem}.contest-v9-metrics span{display:block;color:#607182;font-size:.68rem}.contest-v9-area-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.contest-v9-area-pills span{padding:6px 9px;border-radius:999px;background:#0e3a68;color:#fff;font-size:.64rem;font-weight:800}
.contest-v9-grade-list{display:grid;gap:7px;margin-top:12px}.contest-v9-grade-list>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:9px;border-radius:14px;background:#eef6f2}.contest-v9-grade-list .c2{background:#fff2cf}.contest-v9-grade-list .c3{background:#eef3fb}.contest-v9-grade-list b{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#0e3c6d;color:#fff}.contest-v9-grade-list strong{display:block;color:#123b67;font-size:.77rem}.contest-v9-grade-list small{display:block;color:#6b7a89;font-size:.61rem}.contest-v9-grade-total{display:flex;gap:9px;align-items:center;margin-top:8px;padding:9px 11px;border-radius:14px;background:#103e70;color:#fff}.contest-v9-grade-total span{font-size:1.25rem}.contest-v9-grade-total strong{display:block;font-size:.72rem}.contest-v9-grade-total small{display:block;margin-top:2px;color:rgba(255,255,255,.7);font-size:.58rem}
.contest-v9-flow-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.contest-v9-flow-track>div{position:relative;padding:12px 8px;text-align:center;border-radius:16px;background:#fff;border:1px solid #e0d7c9;transition:.22s ease}.contest-v9-flow-track>div:hover{transform:translateY(-4px);box-shadow:0 12px 22px rgba(29,61,93,.1)}.contest-v9-flow-track>div:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:50%;z-index:2;color:#2e5f8d;font-weight:900}.contest-v9-flow-track b{position:absolute;left:8px;top:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1a9f76;color:#fff;font-size:.62rem}.contest-v9-flow-track>div:nth-child(2) b{background:#ed8d16}.contest-v9-flow-track>div:nth-child(3) b{background:#7654c8}.contest-v9-flow-track>div:nth-child(4) b{background:#e9ad25}.contest-v9-flow-track>div:nth-child(5) b{background:#23965d}.contest-v9-flow-track span{display:block;font-size:1.6rem}.contest-v9-flow-track strong{display:block;color:#123b68;font-size:.72rem}.contest-v9-flow-track small{display:block;margin-top:3px;color:#6c7c8b;font-size:.58rem;line-height:1.4}
.contest-v9-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:12px;border-radius:20px;overflow:hidden;background:#123e70;box-shadow:0 12px 26px rgba(13,54,94,.16)}.contest-v9-values>div{min-height:86px;padding:14px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;color:#fff;border-right:1px solid rgba(255,255,255,.14)}.contest-v9-values span{grid-row:1/3;font-size:1.7rem}.contest-v9-values strong{font-size:.75rem}.contest-v9-values small{font-size:.6rem;color:rgba(255,255,255,.73)}
.contest-v9-cta{margin-top:12px;margin-bottom:22px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-radius:22px;background:linear-gradient(100deg,#0d3768,#195b96);color:#fff;box-shadow:0 15px 28px rgba(16,58,99,.18)}.contest-v9-cta span{font-size:.62rem;font-weight:900;color:#f4c148;letter-spacing:.1em}.contest-v9-cta h2{margin:4px 0 0;font-size:1.1rem}.contest-v9-cta>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.contest-v9-cta a{padding:10px 13px;border-radius:12px;text-decoration:none;background:#fff;color:#103b69;font-size:.7rem;font-weight:900}.contest-v9-cta a:last-child{background:#f2b72c}

/* PARTICIPANTE */
.contest-v9-student-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}
.contest-v9-student-sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;display:flex;flex-direction:column;gap:16px;background:linear-gradient(180deg,#0b3565,#08294f);color:#fff;box-shadow:10px 0 26px rgba(18,42,70,.13);z-index:25;overflow-y:auto}
.contest-v9-student-brand{display:flex;align-items:center;gap:10px;padding:5px;text-decoration:none;color:#fff}.contest-v9-student-brand img{width:48px;height:58px;object-fit:contain}.contest-v9-student-brand strong,.contest-v9-student-brand span{display:block}.contest-v9-student-brand strong{font-size:.9rem}.contest-v9-student-brand span{font-size:.72rem}.contest-v9-student-brand b{display:inline-flex;margin-top:4px;padding:3px 7px;border-radius:6px;background:#f2b82c;color:#17395e;font-size:.62rem}
.contest-v9-student-sidebar nav{display:grid;gap:6px}.contest-v9-student-sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;color:rgba(255,255,255,.82);text-decoration:none;font-size:.78rem;font-weight:800;transition:.2s ease}.contest-v9-student-sidebar nav a:hover,.contest-v9-student-sidebar nav a.is-active{background:linear-gradient(90deg,#245f9d,#1d4c83);color:#fff;transform:translateX(2px)}.contest-v9-student-sidebar nav span{width:25px;text-align:center}
.contest-v9-student-mascot{position:relative;margin-top:auto;padding:12px 8px 0;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);overflow:hidden;text-align:center}.contest-v9-student-mascot p{margin:0;color:#f8f2df;font-size:.72rem;line-height:1.35}.contest-v9-student-mascot img{height:165px;max-width:100%;object-fit:contain;object-position:center bottom;display:block;margin:4px auto -10px}.contest-v9-student-mascot>span{position:absolute;right:12px;top:12px;color:#f4bd37}
.contest-v9-student-sidebar>button{border:0;background:transparent;color:rgba(255,255,255,.72);font-weight:800;text-align:left;padding:8px;cursor:pointer}
.contest-v9-student-main{min-width:0;padding:18px clamp(14px,2vw,28px) 22px}
.contest-v9-student-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 14px;max-width:1250px}.contest-v9-student-header>div:first-child{position:relative}.contest-v9-spark{position:absolute;left:-22px;top:2px;color:#f0aa19;font-size:1.25rem}.contest-v9-student-header h1{margin:0;color:#0e3765;font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1}.contest-v9-student-header h1 span{font-family:system-ui}.contest-v9-student-header p{margin:6px 0 0;color:#5e7082;font-size:.82rem}.contest-v9-student-user{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:16px;background:#fff;border:1px solid #ddd3c5;box-shadow:0 8px 18px rgba(27,58,89,.08)}.contest-v9-student-user>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#654bc2;color:#fff;font-weight:900}.contest-v9-student-user strong,.contest-v9-student-user small{display:block}.contest-v9-student-user strong{font-size:.75rem}.contest-v9-student-user small{font-size:.6rem;color:#718191}
.contest-v9-student-hero{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:14px;align-items:stretch}.contest-v9-student-identity{border-radius:24px;background:#fff;border:1px solid #ded4c5;box-shadow:0 12px 25px rgba(34,57,78,.08);overflow:hidden}.contest-v9-student-identity__top{min-height:110px;padding:18px;display:grid;grid-template-columns:56px minmax(0,1fr) minmax(190px,.65fr);gap:14px;align-items:center;background:linear-gradient(110deg,#154c87,#0e3766);color:#fff}.contest-v9-student-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#f4c342;color:#0f3b69;font-weight:900;font-size:1.1rem}.contest-v9-student-identity__top small{font-size:.58rem;color:rgba(255,255,255,.72);letter-spacing:.08em}.contest-v9-student-identity__top h2{margin:3px 0;font-size:clamp(1rem,1.5vw,1.35rem)}.contest-v9-student-identity__top p{margin:0;font-size:.72rem;color:rgba(255,255,255,.83)}.contest-v9-student-state{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}.contest-v9-student-state>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#c08310}.contest-v9-student-state strong{font-size:.7rem}.contest-v9-student-identity__details{display:grid;grid-template-columns:.7fr 1.55fr .8fr .75fr;gap:0;padding:13px 15px}.contest-v9-student-identity__details>div{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:7px;padding:5px 10px;border-right:1px solid #e7dfd4;min-width:0}.contest-v9-student-identity__details>div:last-child{border-right:0}.contest-v9-student-identity__details>div>span{grid-row:1/3;align-self:center}.contest-v9-student-identity__details small{font-size:.56rem;color:#778696}.contest-v9-student-identity__details strong{font-size:.64rem;color:#173c64;line-height:1.3;overflow-wrap:anywhere}
.contest-v9-student-photo{position:relative;margin:0;min-height:220px;border-radius:24px;overflow:hidden;border:4px solid #fff;box-shadow:0 12px 25px rgba(28,59,89,.12);background:#e9e3d6}.contest-v9-student-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s ease}.contest-v9-student-photo:hover img{transform:scale(1.025)}.contest-v9-student-photo figcaption{position:absolute;left:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:#173a61;font-size:.63rem;font-weight:900;backdrop-filter:blur(8px)}.contest-v9-student-photo>span{position:absolute;right:9px;top:6px;color:#f0a91c;font-size:1.45rem;text-shadow:0 1px 0 #fff}
.contest-v9-student-grid{max-width:1250px;margin:14px auto 0;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(285px,.52fr);gap:14px}.contest-v9-orientations,.contest-v9-student-sidecards>article{border:1px solid #ded4c6;background:#fffaf2;border-radius:22px;box-shadow:0 8px 18px rgba(38,58,79,.05)}.contest-v9-orientations{padding:16px}.contest-v9-card-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.contest-v9-card-title span{font-size:.58rem;font-weight:900;letter-spacing:.11em;color:#b77b0a}.contest-v9-card-title h2{margin:4px 0;color:#123a66;font-family:Georgia,serif;font-size:1.45rem}.contest-v9-card-title p{margin:0;color:#687887;font-size:.7rem}.contest-v9-card-title i{font-style:normal;font-size:1.3rem;color:#205587}
.contest-v9-step-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px}.contest-v9-step-row>div{position:relative;min-height:164px;padding:14px 10px 10px;border-radius:17px;background:#fff;border:1px solid #e2d9cb;transition:.2s ease}.contest-v9-step-row>div:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(27,58,87,.09)}.contest-v9-step-row>div:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:40%;z-index:4;color:#2d5b87;font-weight:900}.contest-v9-step-row b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#7153c7;color:#fff;font-size:.62rem}.contest-v9-step-row .step-2 b{background:#ef8d16}.contest-v9-step-row .step-3 b{background:#1aa77b}.contest-v9-step-row .step-4 b{background:#2870be}.contest-v9-step-row .step-5 b{background:#d95745}.contest-v9-step-row>div>span{display:block;font-size:1.55rem;margin:7px 0}.contest-v9-step-row strong{display:block;color:#143c66;font-size:.72rem}.contest-v9-step-row small{display:block;margin-top:6px;color:#687989;font-size:.58rem;line-height:1.45}.contest-v9-student-tip{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:14px;background:linear-gradient(90deg,#fff7dc,#fff)}.contest-v9-student-tip>span{font-size:1.4rem}.contest-v9-student-tip strong{display:block;color:#7654c8;font-size:.72rem}.contest-v9-student-tip p{margin:2px 0 0;color:#667686;font-size:.62rem}
.contest-v9-student-sidecards{display:grid;gap:10px}.contest-v9-student-sidecards>article{padding:13px}.contest-v9-student-sidecards>article>strong{display:block;color:#143c67;font-size:.85rem}.contest-v9-student-sidecards>article>p{margin:4px 0 8px;color:#718091;font-size:.62rem}.contest-v9-sidecard-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.contest-v9-sidecard-title strong{color:#143c67;font-size:.85rem}.contest-v9-sidecard-title a{color:#174d84;text-decoration:none;font-size:.6rem;font-weight:900}.contest-v9-area-list{display:grid;gap:5px;margin-top:8px}.contest-v9-area-list span{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:10px;font-size:.64rem;font-weight:800}.contest-v9-area-list b{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#fff}.contest-v9-area-list .is-blue{background:#edf5fb}.contest-v9-area-list .is-blue b{background:#1a5c99}.contest-v9-area-list .is-gold{background:#fff3d7}.contest-v9-area-list .is-gold b{background:#e69b12}.contest-v9-area-list .is-green{background:#eaf7f1}.contest-v9-area-list .is-green b{background:#209873}.contest-v9-structure-visual{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:7px;text-align:center}.contest-v9-structure-visual b{font-size:1.75rem;color:#123d69}.contest-v9-structure-visual span{font-size:1.1rem;font-weight:900}.contest-v9-structure-visual small{grid-column:1/-1;color:#68798a;font-size:.58rem}.contest-v9-student-sidecards .contest-countdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}.contest-v9-student-sidecards .contest-countdown>span{min-width:0!important;padding:6px 2px!important;border-radius:9px!important;background:#eaf3fb!important}.contest-v9-student-sidecards .contest-countdown strong{font-size:.95rem!important}.contest-v9-student-sidecards .contest-countdown small{font-size:.46rem!important}
.contest-v9-student-cta{max-width:1250px;margin:14px auto 0;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-radius:20px;background:linear-gradient(100deg,#154a86,#253f9a);color:#fff;box-shadow:0 13px 24px rgba(23,55,94,.16)}.contest-v9-student-cta>div:first-child{display:flex;align-items:center;gap:10px}.contest-v9-student-cta>div:first-child>span{font-size:1.55rem}.contest-v9-student-cta strong{display:block}.contest-v9-student-cta small{display:block;margin-top:2px;color:rgba(255,255,255,.72)}.contest-v9-student-cta>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.contest-v9-student-cta a,.contest-v9-disabled{padding:10px 13px;border-radius:12px;background:#fff;color:#123c68;text-decoration:none;font-size:.65rem;font-weight:900}.contest-v9-student-cta a.is-primary{background:#f3bd2f;color:#143c67}.contest-v9-disabled{opacity:.65}

/* RUTA MAPA */
.contest-v9-route-head{padding:17px 18px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:16px;align-items:center;margin-top:14px;border-radius:24px;background:#fffaf2;border:1px solid #ded3c0;box-shadow:0 8px 20px rgba(30,57,85,.05)}
.contest-v9-route-title{display:flex;gap:14px;align-items:center}.contest-v9-route-title>img{width:72px;height:82px;object-fit:contain}.contest-v9-route-title span{font-size:.62rem;font-weight:900;letter-spacing:.11em;color:#ad770a}.contest-v9-route-title h1{margin:4px 0;color:#123b68;font-family:Georgia,serif;font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1}.contest-v9-route-title h1 strong{color:#6549c0}.contest-v9-route-title p{margin:7px 0 0;color:#607182;font-size:.72rem;line-height:1.45}.contest-v9-route-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.contest-v9-route-stats article{padding:11px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:8px;border-radius:16px;background:#fff;border:1px solid #e0d8ca;box-shadow:0 7px 14px rgba(36,57,78,.05)}.contest-v9-route-stats span{grid-row:1/3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eee9fb;font-size:1.3rem}.contest-v9-route-stats article:nth-child(2) span{background:#e7f6ef}.contest-v9-route-stats article:nth-child(3) span{background:#fff0d4}.contest-v9-route-stats strong{font-size:1.45rem;color:#143d69}.contest-v9-route-stats small{font-size:.55rem;color:#6d7b89;line-height:1.2}
.contest-v9-map{position:relative;height:clamp(520px,51vw,650px);margin-top:12px;border-radius:30px;overflow:hidden;border:1px solid #cfc2a9;box-shadow:0 20px 40px rgba(25,58,91,.14);background:#d9edf7}.contest-v9-map__bg{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;object-position:74% center;filter:saturate(.95) brightness(1.03);transform:scale(1.03)}.contest-v9-map__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,249,237,.20),rgba(255,249,237,.04) 45%,rgba(16,51,84,.05)),linear-gradient(90deg,rgba(255,249,237,.24),transparent 13%,transparent 87%,rgba(255,249,237,.10))}
.contest-v9-map__path{position:absolute;left:8%;right:11%;bottom:24%;height:34%;border-bottom:6px dashed rgba(255,255,255,.92);border-radius:50%;filter:drop-shadow(0 2px 2px rgba(41,84,124,.35));transform:rotate(-1deg)}.contest-v9-map__path i{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #2d6fab}.contest-v9-map__path i:nth-child(1){left:8%;bottom:-9px}.contest-v9-map__path i:nth-child(2){left:20%;bottom:8px}.contest-v9-map__path i:nth-child(3){left:34%;bottom:20px}.contest-v9-map__path i:nth-child(4){left:48%;bottom:15px}.contest-v9-map__path i:nth-child(5){left:61%;bottom:3px}.contest-v9-map__path i:nth-child(6){left:73%;bottom:15px}.contest-v9-map__path i:nth-child(7){left:84%;bottom:32px}.contest-v9-map__path i:nth-child(8){right:2%;bottom:55px}
.contest-v9-map-stop{position:absolute;z-index:5;width:clamp(185px,18.5%,245px);padding:16px 13px 12px;border-radius:22px;background:rgba(255,252,246,.96);border:2px solid rgba(255,255,255,.92);box-shadow:0 14px 28px rgba(25,55,84,.18);text-align:center;transition:transform .22s ease,box-shadow .22s ease}.contest-v9-map-stop:hover{transform:translateY(-6px);box-shadow:0 20px 34px rgba(25,55,84,.24)}.contest-v9-map-stop.stop-1{left:4%;top:8%}.contest-v9-map-stop.stop-2{left:29%;top:10%}.contest-v9-map-stop.stop-3{left:54%;top:8%}.contest-v9-map-stop.stop-4{left:76%;top:10%}.contest-v9-map-stop__shield{position:absolute;left:12px;top:-18px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#7353c9;color:#fff;border:3px solid #f4d078;font-size:1.1rem;font-weight:900}.contest-v9-map-stop.stop-2 .contest-v9-map-stop__shield{background:#249c73}.contest-v9-map-stop.stop-3 .contest-v9-map-stop__shield{background:#e88916}.contest-v9-map-stop.stop-4 .contest-v9-map-stop__shield{background:#226db0}.contest-v9-map-stop__label{display:inline-flex;margin:0 0 8px 35px;padding:4px 9px;border-radius:999px;background:#eee9fb;color:#6749bd;font-size:.6rem;font-weight:900}.contest-v9-map-stop.stop-2 .contest-v9-map-stop__label{background:#e8f6ef;color:#1f8e68}.contest-v9-map-stop.stop-3 .contest-v9-map-stop__label{background:#fff0d5;color:#d9790a}.contest-v9-map-stop.stop-4 .contest-v9-map-stop__label{background:#eaf3fb;color:#1e65a6}.contest-v9-map-stop h2{margin:0;color:#123a67;font-size:1.02rem}.contest-v9-map-stop p{margin:6px 0 10px;color:#5e7183;font-size:.61rem;line-height:1.4}.contest-v9-map-stop__status{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;border-radius:999px;background:#7353c9;color:#fff}.contest-v9-map-stop.stop-2 .contest-v9-map-stop__status{background:#249c73}.contest-v9-map-stop.stop-3 .contest-v9-map-stop__status{background:#e88916}.contest-v9-map-stop.stop-4 .contest-v9-map-stop__status{background:#226db0}.contest-v9-map-stop__status strong{font-size:.61rem}.contest-v9-map-stop.is-locked{opacity:.87;filter:saturate(.75)}.contest-v9-map-stop.is-done{outline:3px solid rgba(39,159,104,.35)}.contest-v9-map-stop.is-current{transform:translateY(-4px);outline:4px solid rgba(242,185,48,.35)}
.contest-v9-map-goal{position:absolute;right:2%;bottom:29%;z-index:5;width:96px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:25px;background:linear-gradient(180deg,#143f72,#382b80);color:#fff;box-shadow:0 15px 28px rgba(28,44,91,.24);transform:rotate(2deg)}.contest-v9-map-goal span{font-size:2rem}.contest-v9-map-goal strong{font-size:.72rem;line-height:1.1;text-align:center}.contest-v9-map-progress{position:absolute;left:3%;right:3%;bottom:2.5%;z-index:8;min-height:90px;padding:13px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border-radius:21px;background:rgba(255,252,246,.95);border:1px solid rgba(208,190,158,.86);box-shadow:0 10px 22px rgba(26,56,86,.13);backdrop-filter:blur(8px)}.contest-v9-map-progress>div:first-child>strong{display:block;color:#143d69;font-size:.72rem}.contest-v9-map-progress>div:first-child>span{display:flex;align-items:center;gap:8px;margin:7px 0}.contest-v9-map-progress>div:first-child>span>b{padding:4px 9px;border-radius:999px;background:#7253c9;color:#fff;font-size:.62rem}.contest-v9-map-progress i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e7e7e7;color:#526172;font-style:normal;font-size:.6rem;font-weight:900}.contest-v9-map-progress i.is-done{background:#23a276;color:#fff}.contest-v9-map-progress em{font-style:normal}.contest-v9-map-progress small{font-size:.58rem;color:#6d7c8a}.contest-v9-map-progress>div:last-child{display:flex;gap:8px}.contest-v9-map-progress a,.contest-v9-map-progress button{padding:10px 13px;border-radius:13px;border:1px solid #d7cdbb;background:#fff;color:#143d69;text-decoration:none;font-size:.68rem;font-weight:900}.contest-v9-map-progress a.is-primary{background:linear-gradient(180deg,#ff9c1e,#f47f0b);color:#fff;border-color:#ed7d10}.contest-v9-map-progress button:disabled{opacity:.55}
.contest-v9-route-tip{margin-top:10px;margin-bottom:18px;padding:10px 14px;display:flex;align-items:center;gap:9px;border-radius:15px;background:#edf4fa;border:1px solid #d7e2ec}.contest-v9-route-tip span{color:#f2ae20}.contest-v9-route-tip strong{font-size:.64rem;color:#143d69}.contest-v9-route-tip p{margin:0;color:#68798a;font-size:.61rem}

/* INSTRUCCIONES */
.contest-v9-contest-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#123b68}.contest-v9-contest-brand img{width:44px;height:52px;object-fit:contain}.contest-v9-contest-brand strong,.contest-v9-contest-brand span{display:block}.contest-v9-contest-brand strong{font-size:.9rem}.contest-v9-contest-brand span{font-size:.72rem}.contest-v9-contest-brand b{color:#e4770d}
.contest-v9-instructions-hero{margin-top:14px;display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px;align-items:stretch}.contest-v9-instructions-copy{padding:20px 18px;align-self:center}.contest-v9-instructions-copy>span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f1fb;color:#184d83;font-size:.65rem;font-weight:900;letter-spacing:.08em}.contest-v9-instructions-copy h1{margin:10px 0 8px;color:#123b68;font-family:Georgia,serif;font-size:clamp(2rem,3.3vw,3.35rem);line-height:.98}.contest-v9-instructions-copy h1 strong{color:#e86f12}.contest-v9-instructions-copy p{margin:0;color:#5e7182;line-height:1.55}.contest-v9-instructions-copy h2{margin:10px 0 0;font-size:1.2rem;color:#1c9a75}.contest-v9-instructions-art{position:relative;margin:0;height:280px;overflow:hidden;border:5px solid #fff;border-radius:25px;background:#dbeef8;box-shadow:0 13px 28px rgba(28,63,97,.12)}.contest-v9-instructions-art__backdrop{position:absolute;inset:-18px;background:url('/assets/hero-matix-map2-CyXyfXAb.jpg') center/cover no-repeat;filter:blur(12px);opacity:.36}.contest-v9-instructions-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.contest-v9-rule-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.contest-v9-rule-cards article{min-height:105px;padding:12px 10px;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:start;border-radius:17px;background:#fffaf2;border:1px solid #ded4c4;box-shadow:0 7px 15px rgba(42,58,75,.05);transition:.2s ease}.contest-v9-rule-cards article:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(30,58,88,.1)}.contest-v9-rule-cards>article>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff0d6;font-size:1.25rem}.contest-v9-rule-cards article:nth-child(2)>span{background:#e6f6ef}.contest-v9-rule-cards article:nth-child(3)>span{background:#eee9fb}.contest-v9-rule-cards article:nth-child(4)>span{background:#e9f3fb}.contest-v9-rule-cards article:nth-child(5)>span{background:#fff4da}.contest-v9-rule-cards article:nth-child(6)>span{background:#fff0d8}.contest-v9-rule-cards strong{display:block;color:#143c67;font-size:.7rem}.contest-v9-rule-cards p{margin:3px 0;color:#344f68;font-size:.61rem}.contest-v9-rule-cards small{color:#7a8794;font-size:.55rem;line-height:1.3}
.contest-v9-instructions-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;margin-top:12px}.contest-v9-traditional-card,.contest-v9-situation-list{padding:16px;border-radius:23px;background:#fffaf2;border:1px solid #ded4c5;box-shadow:0 8px 18px rgba(41,59,77,.05)}.contest-v9-dynamic-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:12px}.contest-v9-dynamic-steps>div{position:relative;padding:11px 8px;text-align:center;border-right:1px dashed #ddd2c1}.contest-v9-dynamic-steps>div:last-child{border-right:0}.contest-v9-dynamic-steps b{position:absolute;left:5px;top:5px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#1f9b73;color:#fff;font-size:.58rem}.contest-v9-dynamic-steps>div:nth-child(2) b{background:#e99118}.contest-v9-dynamic-steps>div:nth-child(3) b{background:#7355c9}.contest-v9-dynamic-steps>div:nth-child(4) b{background:#2c75ba}.contest-v9-dynamic-steps>div:nth-child(5) b{background:#df594e}.contest-v9-dynamic-steps span{display:block;font-size:1.8rem}.contest-v9-dynamic-steps strong{display:block;margin-top:5px;color:#143c67;font-size:.68rem}.contest-v9-dynamic-steps small{display:block;margin-top:6px;color:#637486;font-size:.56rem;line-height:1.45}
.contest-v9-situation-list{display:flex;flex-direction:column}.contest-v9-situation-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 15px;align-items:center;gap:9px;margin-top:7px;padding:9px;border-radius:13px;background:#eaf7f1}.contest-v9-situation-list article.c2{background:#fff0cf}.contest-v9-situation-list article.c3{background:#f0ebfb}.contest-v9-situation-list article.c4{background:#eaf3fb}.contest-v9-situation-list article>b{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#1d9c74;color:#fff}.contest-v9-situation-list article.c2>b{background:#e88b14}.contest-v9-situation-list article.c3>b{background:#7454c5}.contest-v9-situation-list article.c4>b{background:#2c71b6}.contest-v9-situation-list article strong{display:block;color:#143d69;font-size:.7rem}.contest-v9-situation-list article small{display:block;color:#657688;font-size:.55rem}.contest-v9-situation-list article>span{font-size:1rem;color:#456078}.contest-v9-situation-list>a{align-self:flex-end;margin-top:auto;padding-top:10px;color:#1a548b;text-decoration:none;font-size:.65rem;font-weight:900}
.contest-v9-checklist{margin-top:12px;padding:11px 13px;display:grid;grid-template-columns:185px 1fr;gap:10px;align-items:center;border-radius:17px;background:#eff8f3;border:1px solid #cfe5d8}.contest-v9-checklist>strong{font-size:.7rem;color:#187558}.contest-v9-checklist>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.contest-v9-checklist span{padding:7px 8px;border-radius:11px;background:#fff;color:#39536d;font-size:.56rem;font-weight:700}
.contest-v9-startbar{margin-top:10px;margin-bottom:18px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-radius:18px;background:linear-gradient(100deg,#0d3768,#174f88);color:#fff}.contest-v9-startbar>a,.contest-v9-startbar>button{padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:900;border:1px solid #e5b446;font-size:.68rem}.contest-v9-startbar>a{color:#fff;background:transparent}.contest-v9-startbar>button{background:#f3b92d;color:#143d68;cursor:pointer}.contest-v9-startbar>button:disabled{opacity:.55;cursor:not-allowed}.contest-v9-startbar>div{text-align:center}.contest-v9-startbar strong{font-size:.75rem}.contest-v9-startbar p{margin:3px 0 0;color:#ffd9cf;font-size:.58rem}

/* ADMIN / COMISIÓN */
.contest-v9-admin-shell{min-height:100vh;display:grid;grid-template-columns:225px minmax(0,1fr);background:#f4f6f9}
.contest-v9-admin-sidebar{position:sticky;top:0;height:100vh;padding:18px 13px;display:flex;flex-direction:column;background:linear-gradient(180deg,#082f61,#071f43);color:#fff;box-shadow:10px 0 24px rgba(10,32,62,.12);z-index:30;overflow-y:auto}
.contest-v9-admin-logo{display:flex;gap:10px;align-items:center;padding:4px}.contest-v9-admin-logo__mark{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#38c2e6,#7c43d7,#ec5f34);font-size:1.3rem}.contest-v9-admin-logo strong{display:block;font-size:1.05rem}.contest-v9-admin-logo span{display:inline-flex;margin-top:3px;padding:3px 7px;border-radius:6px;background:#f2a80f;color:#fff;font-size:.58rem;font-weight:900}.contest-v9-admin-logo small{display:block;margin-top:5px;color:rgba(255,255,255,.67);font-size:.55rem;line-height:1.35}
.contest-v9-admin-sidebar nav{display:grid;gap:6px;margin-top:20px}.contest-v9-admin-sidebar nav a{display:flex;align-items:center;gap:9px;padding:11px;border-radius:13px;text-decoration:none;color:rgba(255,255,255,.8);font-size:.7rem;font-weight:800;transition:.2s ease}.contest-v9-admin-sidebar nav a:hover,.contest-v9-admin-sidebar nav a.is-active{background:linear-gradient(90deg,#235fbc,#1d4e93);color:#fff;transform:translateX(2px)}.contest-v9-admin-sidebar nav span{width:24px;text-align:center}
.contest-v9-admin-promo{position:relative;margin-top:auto;padding:11px 8px 10px;text-align:center;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);overflow:hidden}.contest-v9-admin-promo img{height:115px;object-fit:contain;display:block;margin:-8px auto 0}.contest-v9-admin-promo strong{display:block;font-size:.72rem;line-height:1.25}.contest-v9-admin-promo strong b{display:inline-block;padding:2px 5px;background:#f2b229;color:#183d68;border-radius:4px}.contest-v9-admin-promo p{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:.58rem}.contest-v9-admin-promo em{color:#f2b72e;font-style:normal;font-weight:900}
.contest-v9-admin-school{display:flex;gap:8px;align-items:center;margin-top:10px;padding:9px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}.contest-v9-admin-school img{width:38px;height:46px;object-fit:contain}.contest-v9-admin-school strong{display:block;font-size:.63rem}.contest-v9-admin-school small{display:block;margin-top:2px;color:rgba(255,255,255,.68);font-size:.54rem}.contest-v9-admin-bottom{display:flex;gap:8px;margin-top:10px}.contest-v9-admin-bottom a,.contest-v9-admin-bottom button{flex:1;border:0;background:transparent;color:rgba(255,255,255,.68);text-decoration:none;font-size:.56rem;font-weight:800;padding:6px;cursor:pointer}
.contest-v9-admin-main{min-width:0;padding:16px clamp(14px,1.8vw,25px) 24px}.contest-v9-admin-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.contest-v9-admin-header>div:first-child>span{font-size:.6rem;font-weight:900;letter-spacing:.12em;color:#7253c9}.contest-v9-admin-header h1{margin:3px 0;color:#0f3562;font-size:clamp(1.8rem,2.6vw,2.8rem);line-height:1}.contest-v9-admin-header p{margin:3px 0 0;color:#617286;font-size:.72rem}.contest-v9-admin-header p b{color:#e57812}.contest-v9-admin-user{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:15px;background:#fff;border:1px solid #dce2ea;box-shadow:0 7px 15px rgba(27,52,79,.06)}.contest-v9-admin-user>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#214998;color:#fff;font-weight:900}.contest-v9-admin-user strong{display:block;font-size:.68rem}.contest-v9-admin-user small{display:block;color:#7a8794;font-size:.55rem}
.contest-v9-admin-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.contest-v9-admin-stats article{position:relative;min-height:105px;padding:12px 10px;display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:center;border-radius:18px;background:#fff;border:1px solid #e0e4eb;box-shadow:0 7px 16px rgba(27,52,78,.05);overflow:hidden;transition:.2s ease}.contest-v9-admin-stats article:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(26,55,86,.1)}.contest-v9-admin-stats>article>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eee9fb;font-size:1.25rem}.contest-v9-admin-stats .tone-gold>span{background:#fff1d2}.contest-v9-admin-stats .tone-green>span{background:#e7f6ee}.contest-v9-admin-stats .tone-red>span{background:#fde9e5}.contest-v9-admin-stats .tone-blue>span{background:#e7f1fc}.contest-v9-admin-stats .tone-orange>span{background:#fff0dc}.contest-v9-admin-stats strong{display:block;color:#0f3561;font-size:1.28rem;line-height:1}.contest-v9-admin-stats small{display:block;margin-top:5px;color:#5d6f82;font-size:.57rem;line-height:1.25}.contest-v9-admin-stats i{position:absolute;right:8px;bottom:7px;font-style:normal;color:#2eb36a;font-size:.7rem}
.contest-v9-admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) 230px minmax(240px,.72fr);gap:10px;margin-top:10px}.contest-v9-live-card,.contest-v9-exam-card,.contest-v9-admin-lumix,.contest-v9-category-summary,.contest-v9-table-card{border-radius:20px;background:#fff;border:1px solid #e0e4ea;box-shadow:0 8px 18px rgba(27,53,80,.05)}.contest-v9-live-card,.contest-v9-exam-card{padding:14px}.contest-v9-admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.contest-v9-admin-card-head h2{margin:0;color:#103763;font-size:1rem}.contest-v9-admin-card-head span,.contest-v9-admin-card-head a{font-size:.57rem;color:#14955f;text-decoration:none}.contest-v9-admin-card-head button,.contest-v9-admin-card-head a{border:0;background:#edf3fa;padding:7px 9px;border-radius:9px;font-weight:800;color:#154778;cursor:pointer}
.contest-v9-live-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;margin-top:12px}.contest-v9-donut{width:165px;height:165px;border-radius:50%;display:grid;place-items:center;position:relative}.contest-v9-donut::after{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff}.contest-v9-donut>div{position:relative;z-index:2;text-align:center}.contest-v9-donut strong{display:block;font-size:1.55rem;color:#133c68}.contest-v9-donut span{display:block;color:#728091;font-size:.58rem;line-height:1.25}.contest-v9-live-list{display:grid;gap:10px}.contest-v9-live-list>div{display:grid;grid-template-columns:10px minmax(0,1fr) 42px 42px;gap:7px;align-items:center;padding-bottom:7px;border-bottom:1px solid #eef0f3;font-size:.62rem;color:#38536e}.contest-v9-live-list>div>span{width:8px;height:8px;border-radius:50%}.contest-v9-live-list .green{background:#1dbb69}.contest-v9-live-list .gold{background:#f2ad21}.contest-v9-live-list .red{background:#e95b4d}.contest-v9-live-list strong,.contest-v9-live-list em{text-align:right;font-style:normal;color:#183c67}.contest-v9-live-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.contest-v9-live-footer>div{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:2px 8px;padding:9px;border-radius:13px;background:#f7f9fc}.contest-v9-live-footer>div>span{grid-row:1/3;align-self:center;font-size:1.15rem}.contest-v9-live-footer small{font-size:.53rem;color:#748292}.contest-v9-live-footer strong{font-size:.72rem;color:#143d69}
.contest-v9-admin-lumix{margin:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#dff0ff,#f7fbff)}.contest-v9-admin-lumix img{width:100%;height:250px;object-fit:contain;object-position:center bottom}.contest-v9-admin-lumix figcaption{padding:8px 10px;text-align:center;color:#617285;font-size:.56rem;background:#fff}.contest-v9-exam-card dl{margin:10px 0;display:grid}.contest-v9-exam-card dl>div{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid #edf0f3}.contest-v9-exam-card dt{font-size:.57rem;color:#68798b}.contest-v9-exam-card dd{margin:0;font-size:.58rem;font-weight:800;color:#173d68;text-align:right}.contest-v9-exam-card dd.is-active{color:#168553;background:#e8f7ef;padding:2px 6px;border-radius:999px}.contest-v9-exam-card>small{display:block;color:#718091;font-size:.55rem;line-height:1.4}
.contest-v9-category-summary{margin-top:10px;padding:13px}.contest-v9-category-summary>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.contest-v9-category-summary article{position:relative;padding:11px;border-radius:15px;border:1px solid #e4e7ec;background:#fbfcfe;display:grid;grid-template-columns:36px 1fr;gap:7px}.contest-v9-category-summary article>span{grid-row:1/4;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#7153c9;color:#fff;font-weight:900}.contest-v9-category-summary article.c2>span{background:#e98714}.contest-v9-category-summary article.c3>span{background:#1e9e73}.contest-v9-category-summary strong{display:block;color:#143d68;font-size:.66rem}.contest-v9-category-summary small{display:block;color:#718091;font-size:.53rem}.contest-v9-category-summary p{margin:3px 0 0;font-size:.52rem;color:#637487}.contest-v9-category-summary p b{color:#123d69}.contest-v9-category-summary em{grid-column:2;font-style:normal;font-size:.52rem;color:#168553;font-weight:800}
.contest-v9-table-card{margin-top:10px;padding:14px;min-width:0}.contest-v9-table-card .contest-table-wrap{margin-top:10px;overflow:auto;border-radius:14px;border:1px solid #e2e5ea}.contest-v9-table-card .contest-table{min-width:780px;width:100%;border-collapse:collapse}.contest-v9-table-card .contest-table th{padding:9px;background:#f5f7fa;color:#627386;font-size:.55rem;text-align:left;white-space:nowrap}.contest-v9-table-card .contest-table td{padding:9px;border-top:1px solid #edf0f3;font-size:.58rem;color:#38516a}.contest-v9-table-card .contest-table td strong{color:#133d68}.contest-v9-table-card .contest-table td small{display:block;color:#85919c;margin-top:2px}.contest-row-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.5rem;font-weight:900}.contest-row-status.is-finished{background:#e7f6ed;color:#168553}.contest-row-status.is-running{background:#fff2d5;color:#b97605}.contest-row-status.is-pending{background:#eef1f5;color:#657485}
.contest-v9-podium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.contest-v9-podium-card{padding:12px;border-radius:20px;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.95),transparent 25%),linear-gradient(180deg,#effaf4,#fff);border:1px solid #d8e8dd;box-shadow:0 8px 18px rgba(27,53,80,.05);overflow:hidden}.contest-v9-podium-card.c2{background:linear-gradient(180deg,#f4edff,#fff);border-color:#e1d7f3}.contest-v9-podium-card.c3{background:linear-gradient(180deg,#eef6ff,#fff);border-color:#d8e5f2}.contest-v9-podium-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.contest-v9-podium-card__head strong{padding:5px 9px;border-radius:999px;background:#1f9b72;color:#fff;font-size:.58rem}.contest-v9-podium-card.c2 .contest-v9-podium-card__head strong{background:#7251c4}.contest-v9-podium-card.c3 .contest-v9-podium-card__head strong{background:#236fba}.contest-v9-podium-card__head span{font-size:.54rem;color:#667789}.contest-v9-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:5px;margin-top:12px;min-height:170px}.contest-v9-podium>div{position:relative;padding:9px 5px 7px;text-align:center;border-radius:16px 16px 6px 6px;background:#f0f1f3;border:1px solid #dfe3e8}.contest-v9-podium .place-1{min-height:155px;background:linear-gradient(180deg,#fff7d5,#ffe59b);border-color:#e4c660}.contest-v9-podium .place-2{min-height:128px}.contest-v9-podium .place-3{min-height:116px;background:linear-gradient(180deg,#fff3e9,#f2d7bf);border-color:#e5c4a6}.contest-v9-podium span{display:block;font-size:1.15rem}.contest-v9-podium i{width:36px;height:36px;margin:4px auto;border-radius:50%;display:grid;place-items:center;background:#173d68;color:#fff;font-style:normal;font-size:.56rem;font-weight:900}.contest-v9-podium strong{display:block;color:#133d67;font-size:.57rem}.contest-v9-podium small{display:block;margin-top:3px;color:#647587;font-size:.49rem;line-height:1.25}.contest-v9-podium b{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f2b52c;color:#173d68;font-size:.58rem}

/* ACCESO / EXAMEN / RESULTADO / GESTIÓN DE CUENTAS: mismo sistema visual */
.contest-v8-access{overflow-x:hidden!important;background:linear-gradient(180deg,#f7f2e8,#f1eadc)!important}
.contest-v8-access .contest-v3-access__top,.contest-v8-access .contest-v3-access__form-zone{width:min(1180px,calc(100% - 24px))!important;max-width:none!important;margin-inline:auto!important}
.contest-v8-access .contest-v3-access__top{border-radius:24px!important;box-shadow:0 12px 26px rgba(32,59,87,.08)!important;overflow:hidden!important}
.contest-v8-access .contest-v4-access__staff{border-radius:20px!important;overflow:hidden!important}.contest-v8-access .contest-v4-access__staff img{width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;image-rendering:auto!important}
.contest-v8-access .contest-v3-login-card,.contest-v8-access .contest-v3-session-card{border-radius:22px!important;box-shadow:0 12px 25px rgba(29,57,86,.08)!important}
.contest-v8-access .contest-v3-login-form input{border-radius:12px!important;min-height:44px!important}.contest-v8-access .contest-v3-btn{border-radius:12px!important;transition:.2s ease!important}.contest-v8-access .contest-v3-btn:hover{transform:translateY(-2px)!important}

.contest-v8-exam{max-width:100vw!important;overflow-x:hidden!important;background:linear-gradient(180deg,#f3eee4,#ece5d7)!important}.contest-v8-exam .contest-v2-exam__hud,.contest-v8-exam .contest-v2-exam__layout{width:min(1320px,calc(100% - 24px))!important;max-width:none!important;margin-inline:auto!important}.contest-v8-exam .contest-v2-exam__layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px)!important;gap:12px!important}.contest-v8-exam .contest-v2-exam__content,.contest-v8-exam .contest-v2-exam__side>*{border-radius:20px!important;box-shadow:0 9px 18px rgba(30,57,85,.06)!important}.contest-v8-exam .contest-v2-option,.contest-v8-exam .contest-v2-options button{border-radius:13px!important;transition:.18s ease!important}.contest-v8-exam .contest-v2-options button:hover{transform:translateX(3px)!important}.contest-v8-exam .contest-v2-question-nav{display:flex!important;flex-wrap:wrap!important;gap:6px!important}.contest-v8-exam .contest-v2-question-nav button{min-width:34px!important}

.contest-v8-result{overflow-x:hidden!important;background:linear-gradient(180deg,#f7f2e8,#f1eadc)!important}.contest-v8-result .contest-v3-result-stage,.contest-v8-result .contest-v3-result-empty{width:min(1180px,calc(100% - 24px))!important;max-width:none!important;margin:18px auto!important;border-radius:26px!important;box-shadow:0 14px 30px rgba(31,59,87,.09)!important}.contest-v8-result .contest-v3-result-stage{grid-template-columns:minmax(0,1fr) minmax(280px,360px)!important;gap:16px!important}.contest-v8-result .contest-v3-result-celebration{border-radius:24px!important;background:linear-gradient(180deg,#dff1ff,#f7fbff)!important}.contest-v8-result .contest-v3-result-celebration img{max-height:360px!important;object-fit:contain!important}.contest-v8-result .contest-v3-result-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.contest-v8-result .contest-v3-result-metrics article{border-radius:17px!important;min-width:0!important}.contest-v8-result .contest-v3-btn{border-radius:12px!important}

/* importación/registro individual: no hereda la antigua barra que tapaba contenido */
.contest-v8-admin-import{display:grid!important;grid-template-columns:225px minmax(0,1fr)!important;max-width:100vw!important;overflow-x:hidden!important;background:#f4f6f9!important}.contest-v8-admin-import .contest-admin-sidebar{position:sticky!important;top:0!important;width:auto!important;max-width:none!important;height:100vh!important;padding:18px 13px!important;background:linear-gradient(180deg,#082f61,#071f43)!important;box-shadow:10px 0 24px rgba(10,32,62,.12)!important;z-index:30!important}.contest-v8-admin-import .contest-admin-main{min-width:0!important;width:auto!important;padding:16px clamp(14px,1.8vw,25px) 24px!important;margin:0!important}.contest-v8-admin-import .contest-admin-header{border-radius:20px!important;background:#fff!important;padding:14px!important;box-shadow:0 8px 18px rgba(27,53,80,.05)!important}.contest-v8-admin-import .contest-v4-entry-mode{width:100%!important;max-width:none!important;display:flex!important;gap:8px!important;margin:10px 0!important}.contest-v8-admin-import .contest-v4-individual-layout,.contest-v8-admin-import .contest-v4-import-grid,.contest-v8-admin-import .contest-import-grid{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;gap:10px!important}.contest-v8-admin-import .contest-admin-card{border-radius:20px!important;box-shadow:0 8px 18px rgba(27,53,80,.05)!important}.contest-v8-admin-import input,.contest-v8-admin-import select{min-height:42px!important;border-radius:11px!important}.contest-v8-admin-import .contest-table-wrap{overflow:auto!important}.contest-v8-admin-import .contest-table{min-width:780px!important}

/* microinteracciones coherentes */
.contest-v9-public-hero,.contest-v9-facts article,.contest-v9-evaluation-card,.contest-v9-grade-card,.contest-v9-flow-card,.contest-v9-student-identity,.contest-v9-student-photo,.contest-v9-orientations,.contest-v9-student-sidecards>article,.contest-v9-route-head,.contest-v9-map,.contest-v9-rule-cards article,.contest-v9-traditional-card,.contest-v9-situation-list,.contest-v9-admin-stats article,.contest-v9-live-card,.contest-v9-exam-card,.contest-v9-category-summary article,.contest-v9-table-card,.contest-v9-podium-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,filter .22s ease}

/* RESPONSIVE: prioridad 1366×768 a 100% zoom, sin scroll horizontal */
@media(max-width:1380px){
  .contest-v9-container{width:calc(100% - 18px)}
  .contest-v9-public-hero{grid-template-columns:minmax(0,1.78fr) minmax(286px,.62fr)}
  .contest-v9-collage{grid-template-rows:210px 135px 135px}
  .contest-v9-title-card{padding:15px 16px 12px}.contest-v9-title-card h1{font-size:clamp(1.6rem,2.35vw,2.3rem)}.contest-v9-title-card p{font-size:.75rem}
  .contest-v9-event-panel{padding:11px;gap:8px}.contest-v9-ticket{padding:10px}.contest-v9-ticket b{font-size:3rem}.contest-v9-ticket i{font-size:1.8rem}.contest-v9-event-stats article{padding:9px 5px}.contest-v9-event-stats strong{font-size:1.45rem}
  .contest-v9-student-shell{grid-template-columns:205px minmax(0,1fr)}.contest-v9-student-main{padding:14px 16px 20px}.contest-v9-student-photo{min-height:205px}.contest-v9-step-row>div{min-height:154px}
  .contest-v9-admin-shell,.contest-v8-admin-import{grid-template-columns:205px minmax(0,1fr)!important}.contest-v9-admin-main{padding:13px 14px 22px}.contest-v9-admin-stats{gap:6px}.contest-v9-admin-stats article{padding:10px 8px}.contest-v9-admin-dashboard-grid{grid-template-columns:minmax(0,1.4fr) 205px minmax(220px,.72fr)}
}
@media(max-width:1160px){
  .contest-v9-topbar nav a:not(.contest-v9-login):nth-child(n+4){display:none}
  .contest-v9-public-hero{grid-template-columns:1fr}.contest-v9-event-panel{display:grid;grid-template-columns:240px 1fr 1fr;align-items:start}.contest-v9-event-panel__label{display:none}.contest-v9-ticket{grid-row:1/3}.contest-v9-event-stats{grid-column:2/4}.contest-v9-countdown-card{grid-column:2/4}.contest-v9-category-list{grid-column:1/3}.contest-v9-event-quote{grid-column:3}
  .contest-v9-student-shell{grid-template-columns:76px minmax(0,1fr)}.contest-v9-student-sidebar{padding:14px 8px}.contest-v9-student-brand div,.contest-v9-student-sidebar nav a:not(.is-active){font-size:0}.contest-v9-student-sidebar nav a{justify-content:center}.contest-v9-student-mascot,.contest-v9-student-sidebar>button{display:none}.contest-v9-student-brand img{margin:auto}.contest-v9-student-hero{grid-template-columns:1fr}.contest-v9-student-photo{min-height:220px}.contest-v9-student-grid{grid-template-columns:1fr}.contest-v9-student-sidecards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .contest-v9-route-head{grid-template-columns:1fr}.contest-v9-map-stop{width:22%}.contest-v9-map-stop.stop-1{left:2%}.contest-v9-map-stop.stop-2{left:27%}.contest-v9-map-stop.stop-3{left:52%}.contest-v9-map-stop.stop-4{left:75%}
  .contest-v9-rule-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.contest-v9-instructions-grid{grid-template-columns:1fr}
  .contest-v9-admin-shell,.contest-v8-admin-import{grid-template-columns:76px minmax(0,1fr)!important}.contest-v9-admin-logo>div:last-child,.contest-v9-admin-sidebar nav a{font-size:0}.contest-v9-admin-sidebar nav a{justify-content:center}.contest-v9-admin-promo,.contest-v9-admin-school,.contest-v9-admin-bottom,.contest-v8-admin-import .contest-admin-sidebar__event,.contest-v8-admin-import .contest-admin-sidebar__bottom{display:none!important}.contest-v9-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.contest-v9-admin-dashboard-grid{grid-template-columns:minmax(0,1fr) 220px}.contest-v9-exam-card{grid-column:1/-1}.contest-v9-podium-grid{grid-template-columns:1fr 1fr}.contest-v8-admin-import .contest-v4-individual-layout,.contest-v8-admin-import .contest-v4-import-grid,.contest-v8-admin-import .contest-import-grid{grid-template-columns:1fr!important}
}
@media(max-width:820px){
  .contest-v9-topbar{min-height:58px}.contest-v9-topbar nav a:not(.contest-v9-login){display:none}
  .contest-v9-collage{grid-template-columns:1fr 1fr;grid-template-rows:230px auto 145px 145px;grid-template-areas:"staff staff" "title title" "pledge line" "workshop court"}.contest-v9-title-card{margin:-14px 6px 0}.contest-v9-public-hero{display:block}.contest-v9-event-panel{margin-top:10px;display:flex}.contest-v9-facts{grid-template-columns:1fr 1fr}.contest-v9-info-grid{grid-template-columns:1fr}.contest-v9-flow-card{grid-column:auto}.contest-v9-flow-track{grid-template-columns:1fr}.contest-v9-flow-track>div:not(:last-child)::after{display:none}.contest-v9-values{grid-template-columns:1fr 1fr}
  .contest-v9-student-shell{display:block}.contest-v9-student-sidebar{position:relative;height:auto;display:flex;flex-direction:row;align-items:center;overflow:auto}.contest-v9-student-sidebar nav{display:flex}.contest-v9-student-sidebar nav a{font-size:0;padding:8px}.contest-v9-student-sidebar nav span{font-size:1rem}.contest-v9-student-brand{display:none}.contest-v9-student-main{padding:12px}.contest-v9-student-header{align-items:flex-start}.contest-v9-student-user{display:none}.contest-v9-student-identity__top{grid-template-columns:48px 1fr}.contest-v9-student-state{grid-column:1/-1}.contest-v9-student-identity__details{grid-template-columns:1fr 1fr}.contest-v9-student-identity__details>div{border-right:0;border-bottom:1px solid #e7dfd4}.contest-v9-step-row{grid-template-columns:1fr 1fr}.contest-v9-step-row>div:not(:last-child)::after{display:none}.contest-v9-student-sidecards{grid-template-columns:1fr}.contest-v9-student-cta{flex-direction:column;align-items:stretch}.contest-v9-student-cta>div:last-child{justify-content:flex-start}
  .contest-v9-route-title{align-items:flex-start}.contest-v9-route-title>img{width:56px;height:64px}.contest-v9-route-stats{grid-template-columns:1fr 1fr 1fr}.contest-v9-map{height:auto;padding:18px 12px 120px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.contest-v9-map__bg,.contest-v9-map__shade,.contest-v9-map__path,.contest-v9-map-goal{display:none}.contest-v9-map-stop{position:relative!important;inset:auto!important;width:auto!important;min-height:190px}.contest-v9-map-progress{left:10px;right:10px;bottom:10px;grid-template-columns:1fr}.contest-v9-map-progress>div:last-child{justify-content:flex-start}
  .contest-v9-instructions-hero{grid-template-columns:1fr}.contest-v9-instructions-art{height:230px}.contest-v9-rule-cards{grid-template-columns:1fr 1fr}.contest-v9-dynamic-steps{grid-template-columns:1fr 1fr}.contest-v9-checklist{grid-template-columns:1fr}.contest-v9-checklist>div{grid-template-columns:1fr 1fr}.contest-v9-startbar{grid-template-columns:1fr;text-align:center}.contest-v9-startbar>a,.contest-v9-startbar>button{justify-self:stretch}
  .contest-v9-admin-shell,.contest-v8-admin-import{display:block!important}.contest-v9-admin-sidebar,.contest-v8-admin-import .contest-admin-sidebar{position:relative!important;height:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;overflow:auto!important}.contest-v9-admin-sidebar nav{display:flex;margin:0}.contest-v9-admin-main,.contest-v8-admin-import .contest-admin-main{padding:12px!important}.contest-v9-admin-stats{grid-template-columns:1fr 1fr}.contest-v9-admin-dashboard-grid{grid-template-columns:1fr}.contest-v9-admin-lumix{display:none}.contest-v9-category-summary>div:last-child{grid-template-columns:1fr}.contest-v9-podium-grid{grid-template-columns:1fr}.contest-v8-result .contest-v3-result-stage{grid-template-columns:1fr!important}.contest-v8-result .contest-v3-result-metrics{grid-template-columns:1fr 1fr!important}.contest-v8-exam .contest-v2-exam__layout{grid-template-columns:1fr!important}
}
@media(max-width:520px){.contest-v9-facts,.contest-v9-values,.contest-v9-route-stats,.contest-v9-rule-cards,.contest-v9-checklist>div,.contest-v9-student-identity__details,.contest-v9-step-row,.contest-v9-map{grid-template-columns:1fr}.contest-v9-collage{grid-template-columns:1fr;grid-template-areas:"staff" "title" "pledge" "line" "workshop" "court";grid-template-rows:220px auto repeat(4,160px)}.contest-v9-metrics{grid-template-columns:1fr}.contest-v9-admin-stats{grid-template-columns:1fr}.contest-v9-live-body{grid-template-columns:1fr}.contest-v9-donut{margin:auto}.contest-v9-student-photo{min-height:190px}}
@media(prefers-reduced-motion:reduce){.contest-page *,.contest-v9-route-page *,.contest-v9-instructions *,.contest-v9-student-shell *,.contest-v9-admin-shell *{animation:none!important;transition:none!important}}

/* ajustes de marca en fondos oscuros */
.contest-v9-topbar--navy .lm-brand,.contest-v9-admin-sidebar .lm-brand{color:#fff!important}.contest-v9-topbar--navy .lm-brand strong,.contest-v9-admin-sidebar .lm-brand strong{color:#fff!important}.contest-v9-topbar--navy .lm-brand small,.contest-v9-admin-sidebar .lm-brand small{color:rgba(255,255,255,.72)!important}.contest-v9-topbar--navy .lm-brand__mark,.contest-v9-admin-sidebar .lm-brand__mark{background:#fff!important;border:2px solid #f2b930!important;box-shadow:0 6px 15px rgba(0,0,0,.18)!important}.contest-v9-admin-logo>.lm-brand{flex:1;min-width:0}.contest-v9-admin-logo>.lm-brand .lm-brand__copy{min-width:0}.contest-v9-admin-logo>div:last-child{min-width:68px}
.contest-v3-appbar{max-width:100vw!important;min-height:60px!important;padding:8px clamp(12px,2vw,28px)!important;background:linear-gradient(90deg,#0d3768,#0a2c57)!important;box-sizing:border-box!important}.contest-v3-appbar .lm-brand strong,.contest-v3-appbar .lm-brand small,.contest-v3-appbar>div>span,.contest-v3-appbar nav a,.contest-v3-appbar nav button{color:#fff!important}.contest-v3-appbar nav{gap:12px!important}.contest-v3-appbar nav a,.contest-v3-appbar nav button{font-size:.68rem!important}

/* afinado final del collage docente: conserva a todos en el eje horizontal y evita el recorte vertical agresivo del diseño anterior */
.contest-v9-collage{grid-template-rows:minmax(270px,1.15fr) minmax(145px,.7fr) minmax(145px,.7fr)}
.contest-v9-collage__staff .contest-v9-photo-backdrop{opacity:.16;filter:blur(8px) brightness(.98)}
.contest-v9-collage__staff .contest-v9-photo-main{object-fit:cover!important;object-position:center 46%!important}
@media(max-width:1380px){.contest-v9-collage{grid-template-rows:260px 140px 140px}}
@media(max-width:820px){.contest-v9-collage{grid-template-rows:240px auto 145px 145px}}
:root{
  --rv17-navy:#062b6f;
  --rv17-blue:#1769e8;
  --rv17-cyan:#14c6e7;
  --rv17-purple:#6237da;
  --rv17-green:#169a58;
  --rv17-orange:#ef6d11;
  --rv17-gold:#ffbd2f;
  --rv17-ink:#12345f;
  --rv17-muted:#637491;
  --rv17-line:#d8e5f4;
  --rv17-paper:#fff;
  --rv17-shadow:0 18px 42px rgba(30,65,112,.12);
}
*{box-sizing:border-box}
.rv17-main-button,.rv17-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:14px;font-weight:900;text-decoration:none;border:0;cursor:pointer;transition:.18s ease}.rv17-main-button{background:linear-gradient(135deg,#ff8a00,#ff6700);color:#fff;box-shadow:0 12px 24px rgba(238,102,0,.22)}.rv17-main-button:hover{transform:translateY(-1px);filter:saturate(1.06)}.rv17-secondary-button{background:#eef5ff;color:#174b90;border:1px solid #cfe0f5}.rv17-main-button.is-disabled{opacity:.5;pointer-events:none}.rv17-text-button{border:0;background:none;color:#315886;font-weight:800;cursor:pointer}
.rv17-loading{min-height:280px;display:grid;place-items:center;gap:12px;padding:30px;font-size:18px;font-weight:900;color:#174a82}
/* ACCESS */
.rv17-access{min-height:100vh;background:linear-gradient(180deg,#f7fbff,#edf5ff);color:var(--rv17-ink)}
.rv17-access__topbar,.rv17-student-topbar{height:86px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(90deg,#052c78,#073e9c);border-bottom:2px solid #ffb400;box-shadow:0 8px 24px rgba(9,52,119,.15);position:relative;z-index:10}.rv17-access__topbar .lm-brand,.rv17-student-topbar .lm-brand{filter:brightness(4)}.rv17-access__top-actions{display:flex;align-items:center;gap:16px}.rv17-access__top-actions>a{color:#fff;text-decoration:none;font-weight:800}.rv17-countdown{display:flex;align-items:center;gap:10px;color:#ffb300;border:2px solid #ff9c00;border-radius:20px;padding:8px 14px}.rv17-countdown>span{font-size:10px;text-transform:uppercase;font-weight:900}.rv17-countdown .contest-countdown{display:flex;gap:5px}.rv17-countdown .contest-countdown span{display:flex;gap:2px;align-items:baseline}.rv17-countdown .contest-countdown strong{font-size:16px}.rv17-countdown .contest-countdown small{font-size:7px}
.rv17-access__layout{max-width:1530px;margin:24px auto;padding:0 24px 28px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(410px,.82fr);gap:28px;align-items:stretch}.rv17-access__adventure{border-radius:30px;overflow:hidden;box-shadow:var(--rv17-shadow);background:#071b6c;min-height:680px}.rv17-access__adventure img{width:100%;height:100%;min-height:680px;display:block;object-fit:cover;object-position:center}.rv17-access__side{display:grid;grid-template-rows:1fr auto;gap:22px}.rv17-login-card,.rv17-school-card{background:#fff;border:1px solid var(--rv17-line);border-radius:30px;box-shadow:var(--rv17-shadow)}.rv17-login-card{padding:48px 48px 34px}.rv17-login-card__icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#eef4ff;font-size:29px;margin-bottom:12px}.rv17-login-card h1{margin:0;color:#0b2c78;font-size:clamp(34px,3vw,52px);line-height:1.05}.rv17-login-card>p{color:#647493;font-size:17px;margin:10px 0 28px}.rv17-login-form{display:grid;gap:20px}.rv17-login-form label>span{display:block;margin-bottom:8px;font-weight:900;color:#153575}.rv17-login-form label>div{min-height:62px;border:2px solid #d4e0f2;border-radius:15px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:0 10px;background:#fff}.rv17-login-form input{width:100%;border:0;outline:0;font-size:16px;color:#143a68;background:transparent}.rv17-login-form label button{border:0;background:none;color:#2458a8;font-weight:900;cursor:pointer}.rv17-login-form>.rv17-main-button{margin-top:4px;font-size:18px}.rv17-access-message{margin-top:16px;padding:12px 14px;border-radius:12px;background:#eef7ff;color:#204f86;font-weight:800}.rv17-login-help{margin-top:24px;padding-top:18px;border-top:1px solid #e5edf6;display:flex;gap:12px;align-items:center}.rv17-login-help>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:2px solid #2a72da;color:#2a72da;font-weight:900}.rv17-login-help p{margin:0;display:grid;gap:2px}.rv17-login-help small{color:#72819a}.rv17-school-card{display:flex;align-items:center;gap:18px;padding:20px 24px}.rv17-school-card img{width:76px;height:76px;object-fit:contain}.rv17-school-card div{display:grid;gap:3px}.rv17-school-card strong{font-size:18px;color:#0c2e76}.rv17-school-card span{color:#365783}.rv17-school-card small{color:#7b8ca2}.rv17-active-session{display:grid;gap:14px}.rv17-active-session>span{font-size:11px;letter-spacing:.12em;color:#6c7c93;font-weight:900}.rv17-active-session>strong{font-size:24px;color:#15396d}
/* shared student topbar */
.rv17-student-topbar{height:82px}.rv17-student-topbar nav{display:flex;align-items:center;gap:10px}.rv17-student-topbar nav a,.rv17-student-topbar nav button{border:0;background:transparent;color:#fff;text-decoration:none;font-weight:900;padding:11px 16px;border-radius:12px;cursor:pointer}.rv17-student-topbar nav .is-active{background:#1f65b4}.rv17-clock{margin-left:auto;padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:17px;background:rgba(255,255,255,.1);color:#fff;display:grid;text-align:center}.rv17-clock small{font-size:9px;font-weight:900;letter-spacing:.08em}.rv17-clock strong{font-size:20px}.rv17-clock.is-warning{background:#8f2b32}
/* PARTICIPANT */
.rv17-student-page,.rv17-instructions-page,.rv17-route-page,.rv17-result-page{min-height:100vh;background:linear-gradient(180deg,#f3f8ff,#fff);color:var(--rv17-ink);padding-bottom:36px}.rv17-student-hero{max-width:1280px;margin:30px auto 18px;padding:0 24px;display:grid;grid-template-columns:1fr 430px;gap:0;min-height:270px}.rv17-student-hero__copy{position:relative;z-index:2;padding:38px 42px;border-radius:30px 0 0 30px;background:linear-gradient(115deg,#0c4692,#2479d7);color:#fff;overflow:hidden}.rv17-student-hero__copy::after{content:'✦  +  ★  ◇';position:absolute;right:20px;top:38px;color:rgba(255,255,255,.12);font-size:28px;letter-spacing:18px}.rv17-student-hero__copy>span{font-size:11px;font-weight:950;letter-spacing:.16em;color:#ffd044}.rv17-student-hero__copy h1{font-size:44px;line-height:1;margin:14px 0 10px}.rv17-student-hero__copy p{font-size:16px;line-height:1.5;max-width:700px}.rv17-student-hero__copy>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.rv17-student-hero__copy b{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px}.rv17-student-hero__visual{position:relative;border-radius:0 30px 30px 0;overflow:hidden;background:#77bdec;box-shadow:var(--rv17-shadow)}.rv17-student-hero__visual>img:first-child{width:100%;height:100%;object-fit:cover}.rv17-student-lumix{position:absolute!important;right:-2px;bottom:-44px;width:165px!important;height:auto!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}.rv17-info-banner{max-width:1280px;margin:0 auto 16px;padding:13px 18px;border-radius:15px;background:#fff7df;border:1px solid #f1d37c;color:#795611}.rv17-student-grid{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.45fr .72fr;gap:20px}.rv17-status-card,.rv17-profile-card{background:#fff;border:1px solid var(--rv17-line);border-radius:26px;box-shadow:var(--rv17-shadow)}.rv17-status-card{padding:28px}.rv17-status-card header{display:flex;justify-content:space-between;align-items:center}.rv17-status-card header span,.rv17-profile-card>span{font-size:10px;color:#694bdb;font-weight:950;letter-spacing:.08em}.rv17-status-card h2{margin:8px 0;font-size:28px}.rv17-status-card header i{width:62px;height:62px;border-radius:20px;background:#edf5ff;color:#125096;display:grid;place-items:center;font-size:28px;font-style:normal}.rv17-status-main{margin-top:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#f2f7ff,#fff)}.rv17-status-main>strong{display:block;font-size:64px;color:#0f478f;line-height:1}.rv17-status-main>span{font-weight:900;color:#365a82}.rv17-status-main p{color:#687994}.rv17-profile-card{padding:30px}.rv17-profile-card h2{font-size:26px;line-height:1.2}.rv17-profile-card dl{margin:24px 0 0}.rv17-profile-card dl div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e5edf6}.rv17-profile-card dt{color:#75839a}.rv17-profile-card dd{font-weight:900;margin:0}.rv17-student-rules{max-width:1280px;margin:20px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.rv17-student-rules article{padding:18px;border:1px solid var(--rv17-line);border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(25,61,105,.07)}.rv17-student-rules article>span{width:46px;height:46px;border-radius:15px;background:#edf5ff;display:grid;place-items:center;font-size:23px}.rv17-student-rules strong{display:block;margin:12px 0 6px}.rv17-student-rules p{margin:0;color:#748399;font-size:13px;line-height:1.45}
/* INSTRUCTIONS */
.rv17-instructions-hero{max-width:1280px;margin:28px auto 20px;min-height:310px;border-radius:30px;background:radial-gradient(circle at 55% 20%,rgba(56,174,255,.2),transparent 25%),linear-gradient(120deg,#08246f,#2441c5);display:grid;grid-template-columns:1fr 390px;overflow:hidden;box-shadow:var(--rv17-shadow);color:#fff}.rv17-instructions-copy{padding:36px 38px}.rv17-instructions-copy>span{font-weight:950;letter-spacing:.12em}.rv17-instructions-copy h1{font-size:48px;margin:18px 0 10px}.rv17-instructions-copy p{font-size:17px;line-height:1.55;max-width:760px}.rv17-instructions-copy>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.rv17-instructions-copy b{padding:10px 15px;border-radius:999px;background:#fff;color:#1d3f8f}.rv17-instructions-mascot{position:relative;display:flex;align-items:flex-end;justify-content:center}.rv17-instructions-mascot img{height:330px;max-width:270px;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(0,0,0,.25))}.rv17-instructions-mascot div{position:absolute;top:42px;left:-30px;width:220px;padding:18px;border-radius:50px 50px 50px 15px;background:#fff;color:#12336f;text-align:center;font-size:18px;font-weight:950;z-index:2}.rv17-rule-grid{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rv17-rule-grid article{position:relative;min-height:190px;padding:20px 20px 20px 110px;border-radius:24px;background:#fff;border:1px solid var(--rv17-line);box-shadow:0 10px 26px rgba(21,56,103,.07)}.rv17-rule-grid article>span{position:absolute;left:98px;top:18px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#3f2cc7;font-weight:950}.rv17-rule-icon{position:absolute;left:18px;top:32px;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-size:37px;background:#f1efff}.rv17-rule-grid article:nth-child(2) .rv17-rule-icon{background:#edf4ff}.rv17-rule-grid article:nth-child(3) .rv17-rule-icon{background:#edf9f2}.rv17-rule-grid article:nth-child(4) .rv17-rule-icon{background:#fff2dc}.rv17-rule-grid article:nth-child(5) .rv17-rule-icon{background:#eaf4ff}.rv17-rule-grid article:nth-child(6) .rv17-rule-icon{background:#f4efff}.rv17-rule-grid h2{font-size:19px;margin:6px 0 10px;color:#163e7e}.rv17-rule-grid p{font-size:14px;line-height:1.55;color:#536986;margin:0}.rv17-tipbar,.rv17-start-panel{max-width:1280px;margin:16px auto 0;padding:0 24px}.rv17-tipbar{display:flex;align-items:center;gap:12px;padding-top:14px;padding-bottom:14px;border-radius:16px;background:#f4f0ff;border:1px solid #d9cbff}.rv17-tipbar>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#6e4ce4;color:#fff;font-weight:950}.rv17-tipbar p{margin:0}.rv17-start-panel{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.rv17-start-panel label{display:flex;align-items:center;gap:10px;font-weight:800}.rv17-start-panel input{width:20px;height:20px}
/* ROUTE */
.rv17-route-hero{max-width:1280px;margin:26px auto 18px;padding:30px 34px;border-radius:30px;background:linear-gradient(120deg,#172cbb,#2b53d8);color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--rv17-shadow)}.rv17-route-title{display:flex;gap:20px;align-items:center}.rv17-map-icon{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:50px}.rv17-route-title>div:last-child>span{font-size:10px;font-weight:950;letter-spacing:.14em;color:#fbd653}.rv17-route-title h1{font-size:34px;margin:6px 0 7px}.rv17-route-title p{margin:0;color:rgba(255,255,255,.9)}.rv17-route-stats{display:flex;gap:10px}.rv17-route-stats article{width:115px;height:94px;border-radius:18px;background:#fff;color:#143f84;display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:14px}.rv17-route-stats article b{grid-row:1/3;font-size:26px}.rv17-route-stats article strong{font-size:27px}.rv17-route-stats article span{font-size:11px;font-weight:800}.rv17-map-stage{max-width:1280px;height:590px;margin:0 auto;padding:0 24px;border-radius:30px;background-size:cover;background-position:center;position:relative;overflow:hidden;border:4px solid #fff;box-shadow:0 22px 45px rgba(16,63,108,.18)}.rv17-map-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,50,98,.02),rgba(4,50,98,.05));pointer-events:none}.rv17-route-stop{position:absolute;width:220px;min-height:260px;padding:34px 16px 18px;border-radius:24px;border:2px solid #dde7f4;background:rgba(255,255,255,.96);box-shadow:0 18px 30px rgba(18,52,87,.18);display:flex;flex-direction:column;align-items:center;text-align:center;color:#17385e;z-index:3;cursor:pointer}.rv17-route-stop.stop-1{left:7%;top:62px;border-color:#2a6df1}.rv17-route-stop.stop-2{left:31%;top:110px}.rv17-route-stop.stop-3{left:55%;top:82px}.rv17-route-stop.stop-4{right:5%;top:105px}.rv17-route-number{position:absolute;top:-28px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#2a6df1;color:#fff;border:5px solid #fff;font-size:27px;font-weight:950}.rv17-route-stop-icon{width:76px;height:66px;border-radius:15px;background:#eff5ff;display:grid;place-items:center;font-size:37px;margin-bottom:10px}.rv17-route-stop small{text-transform:uppercase;font-size:10px;color:#708098;font-weight:950}.rv17-route-stop strong{font-size:18px;line-height:1.2;margin:12px 0}.rv17-route-stop em{font-style:normal;font-size:12px;color:#7d8798}.rv17-route-stop>b{margin-top:14px;background:#1264e8;color:#fff;border-radius:12px;padding:10px 16px}.rv17-route-stop.is-locked{filter:grayscale(.8);opacity:.82}.rv17-route-stop.is-current{transform:translateY(-8px);box-shadow:0 22px 42px rgba(25,76,160,.28)}.rv17-route-stop.is-done .rv17-route-number{background:#169a58}.rv17-route-goal{position:absolute;right:1.5%;bottom:20px;z-index:3;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);font-size:39px;text-transform:uppercase;color:#956a00;box-shadow:0 14px 30px rgba(0,0,0,.16)}.rv17-route-goal strong{font-size:10px}.rv17-route-goal.is-ready{box-shadow:0 0 0 7px rgba(255,203,51,.4),0 14px 30px rgba(0,0,0,.16)}.rv17-route-footer{max-width:1280px;margin:16px auto 0;padding:18px 24px;border-radius:20px;background:#fff;border:1px solid var(--rv17-line);display:grid;grid-template-columns:170px 1fr auto;gap:14px;align-items:center}.rv17-route-footer>div:first-child{display:grid}.rv17-route-footer span,.rv17-route-footer p{color:#728299;font-size:12px}.rv17-progress{height:12px;border-radius:999px;background:#e5edf6;overflow:hidden}.rv17-progress i{display:block;height:100%;background:linear-gradient(90deg,#26a568,#2e7ee8)}
/* EXAM */
.rv17-exam-page{background:linear-gradient(180deg,#f4f8ff,#fff)!important}.rv17-situation-hero{max-width:1080px!important;margin:26px auto 16px!important;min-height:0!important;padding:30px 34px!important;border-radius:30px!important;grid-template-columns:1fr 150px!important;box-shadow:var(--rv17-shadow)!important}.rv17-situation-hero h1{font-size:clamp(38px,4vw,56px)!important;margin:10px 0 7px!important}.rv17-situation-hero h2{font-size:21px!important;margin:0 0 16px!important}.rv17-reading-frame{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);max-width:820px}.rv17-reading-frame>span{font-size:9px;font-weight:950;letter-spacing:.15em;color:#ffe683}.rv17-reading-frame p{margin:6px 0 9px!important;font-size:15px!important;line-height:1.55!important;color:#fff!important}.rv17-reading-frame small{font-size:9px!important;color:rgba(255,255,255,.75)!important}.rv17-resource{max-width:1180px;margin:0 auto 20px;padding:18px;border-radius:28px;background:#fff;border:1px solid var(--rv17-line);box-shadow:var(--rv17-shadow);display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.rv17-resource-photo{position:relative;margin:0;border-radius:22px;overflow:hidden;min-height:300px;background:#eef5ff}.rv17-resource-photo img{width:100%;height:100%;object-fit:cover;display:block}.rv17-resource-photo--contain img{object-fit:contain;background:#fffdf5}.rv17-resource-photo figcaption{position:absolute;left:14px;bottom:14px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.9);font-size:11px;font-weight:900;color:#163b71}.rv17-resource-card{padding:18px;border-radius:22px;background:#f8fbff;border:1px solid #dce8f4}.rv17-resource-card header{display:flex;gap:12px;align-items:center}.rv17-resource-card header>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#edf4ff;font-size:25px}.rv17-resource-card header strong{display:block;font-size:19px;color:#173c6d}.rv17-resource-card header small{color:#748399}.rv17-resource-card aside{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fff3cd;border:1px solid #f2d174;color:#70520a}.rv17-time-layout{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:center}.rv17-time-donut{width:150px;height:150px;margin:10px auto;border-radius:50%;background:conic-gradient(#2990ee 0 30.6%,#41b4bc 30.6% 64.7%,#78bf50 64.7% 74.1%,#f0a82b 74.1% 82.4%,#7852c9 82.4% 86.6%,#f15877 86.6% 100%);display:grid;place-items:center}.rv17-time-donut>div{width:74px;height:74px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center}.rv17-time-donut strong{font-size:18px}.rv17-time-donut span{font-size:11px}.rv17-resource-card ul{list-style:none;padding:0;margin:8px 0}.rv17-resource-card li{display:grid;grid-template-columns:13px 1fr auto;align-items:center;gap:7px;padding:4px 0;font-size:12px}.rv17-resource-card li i{width:10px;height:10px;border-radius:50%;background:#2990ee}.rv17-resource-card li .t2{background:#41b4bc}.rv17-resource-card li .t3{background:#78bf50}.rv17-resource-card li .t4{background:#f0a82b}.rv17-resource-card li .t5{background:#7852c9}.rv17-resource-card li .t6{background:#f15877}.rv17-family-table{margin-top:14px;border-radius:15px;overflow:hidden;border:1px solid #dbe6f2}.rv17-family-table>div{display:grid;grid-template-columns:1fr 80px;padding:8px 12px;background:#fff;border-bottom:1px solid #e7eef6}.rv17-family-table>div:first-child{background:#edf5ff;color:#2b5c94}.rv17-family-table>div:last-child{border-bottom:0}.rv17-line-chart{width:100%;height:230px;margin-top:8px;background:#fff;border-radius:15px}.rv17-line-chart line{stroke:#bdcce0;stroke-width:2}.rv17-line-chart .grid line{stroke:#e3ebf4;stroke-width:1;stroke-dasharray:5 5}.rv17-line-chart polyline{stroke:#ef6d11;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.rv17-line-chart circle{fill:#ef6d11}.rv17-line-chart text{font-size:15px;fill:#4e607b}.rv17-line-chart .week{font-size:12px}.rv17-pie-layout{display:grid;grid-template-columns:160px 1fr;gap:15px;align-items:center}.rv17-pie{position:relative;width:145px;height:145px;border-radius:50%;background:conic-gradient(#e9475f 0 30%,#f0a128 30% 55%,#75b344 55% 75%,#378ae5 75% 90%,#7752d4 90% 100%);display:grid;place-items:center}.rv17-pie::before{content:'';width:70px;height:70px;border-radius:50%;background:#fff}.rv17-pie span{position:absolute;font-weight:950}.rv17-pie-layout .p1{background:#e9475f}.rv17-pie-layout .p2{background:#f0a128}.rv17-pie-layout .p3{background:#75b344}.rv17-pie-layout .p4{background:#378ae5}.rv17-pie-layout .p5{background:#7752d4}
.rv17-question-stack{max-width:1180px!important;margin:0 auto!important;padding:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.contest-v13-question{min-height:290px!important;padding:22px!important;border-radius:24px!important;background:#fff!important;border:1px solid #dbe7f4!important;box-shadow:0 10px 25px rgba(18,57,101,.07)!important}.contest-v13-question>p{font-size:15px!important;line-height:1.56!important;color:#38536f!important}.contest-v13-question h3{font-size:20px!important;color:#153865!important}.contest-v13-question.area-matematica{border-top:6px solid #2b78e4!important}.contest-v13-question.area-comunicacion{border-top:6px solid #7448d7!important}.contest-v13-question.area-dpcc{border-top:6px solid #ef791f!important}.contest-v13-choice-grid button,.contest-v13-multi button{border:1px solid #d5e1ef!important;background:#fbfdff!important;border-radius:15px!important;color:#1c3d66!important}.contest-v13-choice-grid button:hover,.contest-v13-multi button:hover{border-color:#77a7df!important}.contest-v13-choice-grid button.is-selected,.contest-v13-multi button.is-selected{border-color:#2c76d9!important;background:#edf5ff!important}.contest-v13-dual-select,.contest-v13-match,.contest-v13-simulator,.contest-v13-time-picker{border:1px solid #d9e5f2!important;background:#f7fbff!important;border-radius:17px!important}.contest-v13-number-grid{gap:8px!important}.contest-v13-number-grid label{border-radius:15px!important;background:#f8fbff!important}.rv17-data-table{margin:12px 0 15px;border:1px solid #d7e3f1;border-radius:15px;overflow:hidden}.rv17-data-table>div{display:grid;grid-template-columns:1fr 1fr;padding:7px 12px;border-bottom:1px solid #e7eef6;background:#fff}.rv17-data-table>div:first-child{background:#eaf3ff;color:#205495}.rv17-data-table>div:last-child{border-bottom:0}.rv17-mini-triangle{margin:12px 0;border-radius:16px;background:#fffaf0;border:1px solid #f1dfb9;padding:6px}.rv17-mini-triangle svg{width:100%;height:160px}.rv17-mini-triangle line{stroke:#9b662d;stroke-width:7;stroke-linecap:round}.rv17-mini-triangle rect{fill:none;stroke:#2f425a;stroke-width:3}.rv17-mini-triangle text{font-size:20px;font-weight:900;fill:#1b4e39}.rv17-similar-triangles{display:flex;align-items:end;justify-content:center;gap:25px;margin:14px 0;padding:15px;border-radius:16px;background:#fff7e9;border:1px solid #efd7a1}.rv17-similar-triangles div{position:relative;width:110px;height:90px;border-left:8px solid #d68923;border-bottom:8px solid #d68923;clip-path:polygon(0 0,0 100%,100% 100%)}.rv17-similar-triangles .large{width:170px;height:125px}.rv17-similar-triangles b{position:absolute;left:-2px;top:35%;font-size:12px}.rv17-similar-triangles span{position:absolute;bottom:-24px;left:30%;font-weight:900}.rv17-similar-triangles em{font-style:normal;font-size:28px;font-weight:900;color:#3b5c85}.contest-v13-reflection{max-width:1180px!important;margin:18px auto!important;border-radius:18px!important;background:#fff6db!important;border:1px solid #efd481!important}.contest-v13-situation-footer{max-width:1180px!important;margin:0 auto 30px!important;border-radius:20px!important;background:#fff!important;border:1px solid var(--rv17-line)!important;box-shadow:0 10px 25px rgba(19,58,101,.06)!important}.contest-v13-situation-footer .contest-btn--primary{background:linear-gradient(135deg,#ff8610,#ef6300)!important;border:0!important}.contest-v13-modal article{border-radius:26px!important}
/* RESULT */
.rv17-result-hero{max-width:1040px;margin:28px auto 16px;padding:28px;border-radius:28px;background:#fff;border:1px solid var(--rv17-line);display:grid;grid-template-columns:1fr 320px;gap:20px;box-shadow:var(--rv17-shadow)}.rv17-result-title{display:flex;gap:16px;align-items:center}.rv17-result-title img{width:72px;height:72px;object-fit:contain}.rv17-result-title span{font-size:10px;color:#7452d8;font-weight:950}.rv17-result-title h1{margin:5px 0;font-size:34px;color:#0e418a}.rv17-result-title p{margin:0;color:#647591}.rv17-result-score{margin-top:18px;padding:14px 18px;border:2px solid #8655e8;border-radius:20px;background:#faf7ff;display:flex;align-items:baseline;gap:10px}.rv17-result-score strong{font-size:56px;color:#7043d7}.rv17-result-score span{color:#71809a}.rv17-result-score b{margin-left:auto;font-size:24px;color:#e5a626}.rv17-result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.rv17-result-metrics article{padding:12px;border-radius:15px;background:#f7faff;text-align:center;border:1px solid #dbe7f3;display:grid;gap:3px}.rv17-result-metrics span{font-size:21px}.rv17-result-metrics strong{font-size:14px;color:#163d70}.rv17-result-metrics small{font-size:9px;color:#7a899f}.rv17-result-mascot{border-radius:22px;background:linear-gradient(180deg,#ecf8df,#fff5c9);display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px;position:relative;overflow:hidden}.rv17-result-mascot img{height:235px;object-fit:contain}.rv17-result-mascot>strong{font-size:21px;color:#164b8e}.rv17-result-mascot>span{font-size:11px;color:#71809a}.rv17-result-mascot>b{margin-top:12px;padding:9px 12px;border-radius:13px;background:#fff;color:#164b8e}.rv17-confetti{position:absolute;top:10px;left:12px;color:#f5a91c;letter-spacing:14px}.rv17-result-situations{max-width:1040px;margin:0 auto 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rv17-result-situations article{padding:13px;border-radius:15px;border:1px solid #dbe6f2;background:#fff;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px}.rv17-result-situations span{width:30px;height:30px;border-radius:10px;background:#edf4ff;display:grid;place-items:center;font-weight:950}.rv17-result-situations strong{font-size:10px}.rv17-result-situations b{color:#0d4c9a}.rv17-result-situations .s1{border-left:5px solid #7448d7}.rv17-result-situations .s2{border-left:5px solid #1aa566}.rv17-result-situations .s3{border-left:5px solid #ef791f}.rv17-result-situations .s4{border-left:5px solid #2c7ee3}.rv17-result-note{max-width:1040px;margin:0 auto;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--rv17-line);display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.rv17-result-note>span{font-size:28px}.rv17-result-note p{margin:3px 0;color:#6e7d92;font-size:12px}.rv17-result-empty{max-width:760px;margin:50px auto;padding:40px;border-radius:25px;background:#fff;text-align:center;box-shadow:var(--rv17-shadow)}
/* COMMISSION */
.contest-admin-main{background:linear-gradient(180deg,#f4f8ff,#fff)!important}.contest-admin-header{border-radius:24px!important;background:#fff!important;border:1px solid #dbe7f3!important;box-shadow:0 10px 26px rgba(18,57,101,.07)!important}.contest-admin-card{border-radius:22px!important;border:1px solid #dbe7f3!important;box-shadow:0 10px 26px rgba(18,57,101,.06)!important}.contest-admin-stats article{border-radius:18px!important;background:#fff!important}.contest-v16-remove-btn{background:linear-gradient(135deg,#ef6b62,#d9453b)!important;border:0!important;border-radius:11px!important;color:#fff!important;font-weight:900!important;padding:9px 12px!important;cursor:pointer!important}.contest-admin-note--highlight{background:#fff7df!important;border:1px solid #eed07c!important;color:#6b551b!important}.contest-v16-podium-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;align-items:end!important}.contest-v16-podium-card{min-height:220px!important;border-radius:26px!important;background:#fff!important;border:1px solid #dce6f3!important;box-shadow:0 14px 28px rgba(18,57,101,.09)!important;padding:22px!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:8px!important}.contest-v16-podium-card.is-first{order:2!important;min-height:260px!important;background:linear-gradient(180deg,#fff7d7,#fff)!important;border-color:#ebc64d!important}.contest-v16-podium-card.is-second{order:1!important;background:linear-gradient(180deg,#f2f5fa,#fff)!important}.contest-v16-podium-card.is-third{order:3!important;background:linear-gradient(180deg,#fff0e4,#fff)!important}.contest-v16-podium-avatar{width:84px!important;height:84px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:44px!important;background:#eef5ff!important;border:4px solid #fff!important;box-shadow:0 12px 23px rgba(20,60,110,.14)!important}.contest-v16-podium-card.is-first .contest-v16-podium-avatar{width:100px!important;height:100px!important;font-size:52px!important}.contest-v16-podium-rank{font-size:14px!important;font-weight:950!important;color:#5e6e83!important}.contest-v16-podium-card strong{font-size:17px!important;color:#153c72!important}.contest-v16-podium-card em{font-style:normal!important;font-weight:950!important;color:#bd8200!important}.contest-v4-created-account{border:2px solid #4ab774!important;background:linear-gradient(180deg,#edf9f1,#fff)!important}.contest-v15-credential-tools button{border-radius:11px!important}
/* public: preserve approved V9 panel, just protect from later overrides */
.rv17-public .contest-v9-collage,.rv17-public .contest-v9-event-panel,.rv17-public .contest-v9-title-card{isolation:isolate}.rv17-public .contest-v9-collage__staff .contest-v9-photo-main{object-fit:cover!important;object-position:center 46%!important}.rv17-public .contest-v9-title-card__actions a:last-child{background:#164d8d!important;color:#fff!important}
@media(max-width:1050px){.rv17-access__layout{grid-template-columns:1fr}.rv17-access__adventure{min-height:520px}.rv17-access__adventure img{min-height:520px}.rv17-student-hero{grid-template-columns:1fr}.rv17-student-hero__copy{border-radius:30px 30px 0 0}.rv17-student-hero__visual{min-height:230px;border-radius:0 0 30px 30px}.rv17-instructions-hero{grid-template-columns:1fr 300px}.rv17-rule-grid{grid-template-columns:repeat(2,1fr)}.rv17-question-stack{grid-template-columns:1fr!important}.rv17-resource{grid-template-columns:1fr}.rv17-route-stats{display:none}.rv17-route-stop{transform:scale(.9)}.rv17-result-hero{grid-template-columns:1fr}.rv17-result-mascot{min-height:280px}.rv17-result-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.rv17-access__topbar,.rv17-student-topbar{height:auto;padding:12px 18px;align-items:flex-start}.rv17-access__top-actions,.rv17-student-topbar nav{display:none}.rv17-access__layout{padding:0 12px}.rv17-login-card{padding:28px 22px}.rv17-student-grid{grid-template-columns:1fr}.rv17-student-rules{grid-template-columns:1fr 1fr}.rv17-instructions-hero{grid-template-columns:1fr}.rv17-instructions-mascot{min-height:250px}.rv17-rule-grid{grid-template-columns:1fr}.rv17-route-hero{margin:14px 12px;padding:20px}.rv17-map-stage{margin:0 12px;height:auto;min-height:880px;background-position:center}.rv17-route-stop{position:relative!important;left:auto!important;right:auto!important;top:auto!important;margin:18px auto;width:min(310px,90%);transform:none!important}.rv17-route-goal{position:relative;right:auto;bottom:auto;margin:18px auto}.rv17-route-footer{margin:14px 12px;grid-template-columns:1fr}.rv17-result-situations{grid-template-columns:1fr 1fr;margin:0 12px 14px}.rv17-result-note,.rv17-result-hero{margin-left:12px;margin-right:12px}.rv17-result-note{grid-template-columns:42px 1fr}.rv17-result-note .rv17-main-button{grid-column:1/3}.contest-v16-podium-grid{grid-template-columns:1fr!important}.contest-v16-podium-card{order:initial!important;min-height:0!important}.rv17-time-layout,.rv17-pie-layout{grid-template-columns:1fr}.rv17-student-rules{grid-template-columns:1fr}}

/* =========================================================
   V18 CORRECTIVO: SEGURIDAD + REVISION DE COMISION + AJUSTES VISUALES
   ========================================================= */
.rv17-access__adventure{display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#1435a2 0,#071b6c 68%,#04134e 100%);min-height:680px}
.rv17-access__adventure img{width:100%;height:100%;min-height:680px;object-fit:contain!important;object-position:center center!important;background:#071b6c}

.rv17-map-stage{background-size:100% 100%!important;background-repeat:no-repeat;background-position:center!important;image-rendering:auto}
.rv17-map-stage::after{background:transparent!important}

.rv17-reading-frame,.rv18-reading-frame{position:relative;padding:22px 24px 20px 28px!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.09))!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:inset 5px 0 0 #ffd54a,0 12px 28px rgba(8,18,61,.12);overflow:hidden}
.rv17-reading-frame::before,.rv18-reading-frame::before{content:'📖';position:absolute;right:18px;top:14px;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:22px}
.rv17-reading-frame::after,.rv18-reading-frame::after{content:'';position:absolute;right:-32px;bottom:-42px;width:130px;height:130px;border-radius:50%;border:20px solid rgba(255,255,255,.05)}
.rv17-reading-frame>span,.rv18-reading-frame>span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(255,213,74,.16);color:#ffe788!important}
.rv17-reading-frame p,.rv18-reading-frame p{max-width:760px;font-size:16px!important;line-height:1.65!important}

.rv17-resource-photo{background:#f7fbff}
.rv17-resource--family .rv17-resource-photo img,.rv17-resource--waste .rv17-resource-photo img,.rv17-resource--peru .rv17-resource-photo img{object-fit:contain!important;object-position:center!important;background:linear-gradient(180deg,#fff,#f6f9ff)}
.rv17-resource--waste .rv17-resource-photo{min-height:300px}
.rv17-resource--peru .rv17-resource-photo{min-height:280px}
.rv17-resource--peru .rv17-resource-photo img{image-rendering:auto}

.rv18-after-table{margin:12px 0 0!important;padding:12px 14px;border-radius:14px;background:#eef6ff;color:#143d75!important;font-weight:800;line-height:1.45!important}
.rv18-mini-triangle svg{max-width:440px;margin:auto;display:block}
.rv18-mini-triangle svg line{stroke:#8a5726;stroke-width:7;stroke-linecap:round}
.rv18-mini-triangle svg rect{fill:none;stroke:#1f5b98;stroke-width:4}
.rv18-mini-triangle svg path{fill:none;stroke:#159a5b;stroke-width:4;stroke-linecap:round}
.rv18-mini-triangle svg text{font-weight:950;font-size:20px;fill:#173e6c}
.rv17-similar-triangles{padding:18px!important;background:linear-gradient(135deg,#fff9ea,#fff)!important;border:1px solid #f0d28b!important;border-radius:18px!important}
.rv17-similar-triangles>div{position:relative;min-height:140px;padding:12px 12px 22px!important}
.rv17-similar-triangles>div i{border-left-color:#d27b1f!important;border-bottom-color:#d27b1f!important}
.rv17-similar-triangles b,.rv17-similar-triangles span{font-weight:950!important;color:#173e6c!important}

.rv17-rule-grid article{padding:24px 22px 22px 120px!important}
.rv17-rule-grid article>span{left:76px!important;top:17px!important;z-index:3;box-shadow:0 4px 10px rgba(41,44,116,.18)}
.rv17-rule-grid h2{margin:8px 0 10px!important;line-height:1.25}

.rv17-public .contest-v9-collage__staff .contest-v9-photo-main{object-position:center 58%!important}

.rv18-result-tone.tone-excellent{background:linear-gradient(180deg,#e6f8d8,#fff5bd)}
.rv18-result-tone.tone-good{background:linear-gradient(180deg,#e3f3ff,#eef9e8)}
.rv18-result-tone.tone-progress{background:linear-gradient(180deg,#fff1cf,#fff9eb)}
.rv18-result-tone.tone-encourage{background:linear-gradient(180deg,#eef1ff,#fff7e7)}
.rv18-result-tone>b{line-height:1.35}

.rv18-availability-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.rv18-availability-actions button{border:0;border-radius:12px;padding:11px 12px;font-weight:900;cursor:pointer;background:#174e94;color:#fff}
.rv18-availability-actions button:last-child{background:#eef3fa;color:#244a78}
.rv18-availability-actions button:disabled{opacity:.45;cursor:not-allowed}

.rv18-exam-review-section{max-width:1180px}
.rv18-review-section-copy{color:#60738e;line-height:1.55;max-width:920px}
.rv18-category-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.rv18-category-review-grid article{position:relative;min-height:220px;padding:26px;border:1px solid #dbe6f2;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fbff);display:flex;flex-direction:column;gap:15px;box-shadow:0 12px 28px rgba(23,61,104,.07)}
.rv18-category-review-grid article>span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#164f98;color:#fff;font-weight:950}
.rv18-category-review-grid strong{display:block;font-size:22px;color:#153e75}.rv18-category-review-grid small{color:#71829a}.rv18-category-review-grid p{color:#61738c}
.rv18-category-review-grid a{margin-top:auto;padding:11px 14px;border-radius:12px;background:#164f98;color:#fff;text-decoration:none;font-weight:900;text-align:center}
.rv18-category-review-grid .is-pending{background:#fbfcfe}.rv18-category-review-grid .is-pending>span{background:#8d9bb0}.rv18-category-review-grid .is-pending a{background:#eef2f7;color:#53657e}

.rv18-review-page{min-height:100vh;background:linear-gradient(180deg,#f3f8ff,#fff);color:#17385e;padding-bottom:50px}
.rv18-review-topbar{position:sticky;top:0;z-index:20}.rv18-review-badge{padding:9px 13px;border-radius:999px;background:#fff3c7;color:#805800;font-size:11px;font-weight:950;letter-spacing:.06em}
.rv18-review-intro{max-width:1180px;margin:24px auto 18px;padding:28px 30px;border-radius:26px;background:linear-gradient(125deg,#0d347d,#215ec0);color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 18px 40px rgba(14,49,98,.18)}
.rv18-review-intro span{font-size:10px;letter-spacing:.14em;font-weight:950;color:#ffd34e}.rv18-review-intro h1{font-size:36px;margin:6px 0}.rv18-review-intro p{margin:0;color:#dceaff}
.rv18-review-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.rv18-review-meta b{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px}
.rv18-review-summary{max-width:1180px;margin:0 auto 20px;display:flex;gap:10px;flex-wrap:wrap;padding:14px 18px;border:1px solid #dbe6f2;border-radius:16px;background:#fff}.rv18-review-summary>*{padding:6px 10px;border-radius:10px;background:#f2f7fd;color:#28527f}
.rv18-review-situation{padding:2px 0 30px;border-bottom:1px dashed #ccd9e9;margin-bottom:28px}.rv18-review-hero{margin-top:0!important}
.rv18-review-question-stack .contest-v13-question{min-height:0!important}
.rv18-correct-answer{margin-top:14px;padding:13px 15px;border-radius:14px;background:#eaf8ef;border:1px solid #acdcbc;display:grid;gap:5px}.rv18-correct-answer span{font-size:9px;letter-spacing:.1em;color:#19753c;font-weight:950}.rv18-correct-answer strong{color:#145b32;line-height:1.45}
.rv18-review-options{display:grid;gap:7px;margin-top:12px}.rv18-review-options>div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid #dbe6f2;border-radius:12px;background:#fff}.rv18-review-options>div>b{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#eef4fb;color:#245183}.rv18-review-options>div.is-correct{border-color:#73c590;background:#effaf3}.rv18-review-options strong{color:#16723b;font-size:11px}
.rv18-pending-exam{max-width:760px;margin:60px auto;padding:44px;text-align:center;border:1px solid #dbe6f2;border-radius:28px;background:#fff;box-shadow:0 18px 40px rgba(19,55,94,.1)}.rv18-pending-exam>span{font-size:54px}.rv18-pending-exam h2{color:#143f79;font-size:28px}.rv18-pending-exam p{color:#657892;line-height:1.55}.rv18-pending-exam a{display:inline-block;margin-top:12px}

@media(max-width:1000px){.rv18-category-review-grid{grid-template-columns:1fr}.rv18-review-intro{margin-left:14px;margin-right:14px;flex-direction:column;align-items:flex-start}.rv18-review-meta{justify-content:flex-start}.rv18-review-summary{margin-left:14px;margin-right:14px}.rv17-access__adventure,.rv17-access__adventure img{min-height:520px}}
.rv17-resource--peru .rv17-resource-photo img{filter:saturate(1.08) contrast(1.04)}

/* =========================================================
   PREPUBLICACION 2026 · RESPONSIVE + GESTION SEGURA DE PRUEBAS
   ========================================================= */
.rv17-student-page,.rv17-instructions-page,.rv17-route-page,.rv17-result-page,
.contest-admin-shell,.contest-admin-main{max-width:100%;overflow-x:clip}
.rv17-student-page img,.rv17-instructions-page img,.rv17-route-page img,.rv17-result-page img,
.contest-admin-shell img{max-width:100%;height:auto}
.contest-admin-table-wrapper,.contest-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.contest-admin-table,.contest-table{min-width:760px}
.contest-schedule-v2026 input[type="datetime-local"]{width:100%;max-width:100%;min-width:0}
.contest-v2026-participant-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.contest-v2026-reset-btn{border:1px solid #d5a93b;border-radius:11px;background:#fff6d8;color:#77530a;font-weight:900;padding:9px 11px;cursor:pointer}
.contest-v2026-reset-btn:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:820px){
  .contest-admin-sidebar{padding:15px 12px}
  .contest-admin-sidebar__event{margin-bottom:12px}
  .contest-admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .contest-admin-sidebar nav a{min-width:0;font-size:12px;padding:9px 10px}
  .contest-admin-main{padding:16px 12px 34px}
  .contest-admin-header{padding:16px!important}
  .contest-admin-user{max-width:100%}
  .contest-schedule-v2026__meta{grid-template-columns:1fr!important}
  .contest-schedule-v2026__actions{grid-template-columns:1fr!important}
}

@media(max-width:760px){
  .rv17-student-topbar{display:grid;grid-template-columns:1fr;gap:9px;height:auto;padding:10px 12px;align-items:start}
  .rv17-student-topbar nav{display:flex!important;width:100%;max-width:100%;gap:5px;overflow-x:auto;padding:0 0 2px;scrollbar-width:thin}
  .rv17-student-topbar nav a,.rv17-student-topbar nav button{flex:0 0 auto;white-space:nowrap;padding:8px 10px;font-size:11.5px}
  .rv17-clock{margin-left:0;justify-self:stretch;text-align:center}
  .rv17-student-hero,.rv17-student-grid,.rv17-student-rules,.rv17-instructions-hero,.rv17-rule-grid,.rv17-start-panel{width:calc(100% - 20px);max-width:100%;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
  .rv17-student-hero__copy{padding:26px 22px}
  .rv17-student-hero__copy h1{font-size:clamp(32px,9vw,42px)}
  .rv17-profile-card,.rv17-status-card{min-width:0}
}

@media(max-width:560px){
  .contest-admin-sidebar nav{grid-template-columns:1fr}
  .contest-admin-stats,.contest-admin-stats--six{grid-template-columns:1fr!important}
  .contest-admin-card{padding:15px!important}
  .contest-admin-header h1{font-size:26px!important}
  .contest-schedule-v2026{padding:13px!important}
  .contest-schedule-v2026__head{display:grid!important;grid-template-columns:1fr!important}
  .contest-schedule-v2026__status{justify-self:start}
  .contest-v2026-participant-actions{min-width:180px}
  .rv17-main-button,.rv17-secondary-button{width:100%;white-space:normal;text-align:center}
}
/* ==========================================================
   Reto Raimondino 2026 · Parche V13
   Estilos encapsulados para no volver a desconfigurar paneles.
   ========================================================== */

:root {
  --v13-navy: #0b356d;
  --v13-navy-deep: #061f49;
  --v13-blue: #1e63d6;
  --v13-sky: #41a8ff;
  --v13-gold: #f3bd3d;
  --v13-paper: #fffaf0;
  --v13-ink: #153759;
  --v13-muted: #687b90;
  --v13-line: #dce6f3;
  --v13-shadow: 0 18px 42px rgba(20, 45, 86, .12);
}

@keyframes v13Float { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-5px) } }
@keyframes v13Glow { 0%,100% { box-shadow: 0 0 0 rgba(36, 115, 220, 0) } 50% { box-shadow: 0 0 0 10px rgba(36, 115, 220, .12) } }
@keyframes v13Confetti { 0% { transform: translateY(-15px) rotate(0); opacity: 0 } 20% { opacity: 1 } 100% { transform: translateY(95px) rotate(240deg); opacity: 0 } }

.contest-v13-topbar {
  min-height: 72px;
  padding: 0 clamp(20px, 4vw, 64px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  color: #fff;
  background: linear-gradient(90deg, var(--v13-navy-deep), #174d8b 60%, #1b5593);
  border-bottom: 2px solid rgba(243, 189, 61, .75);
  box-shadow: 0 8px 26px rgba(4, 25, 58, .18);
  position: sticky;
  top: 0;
  z-index: 50;
}

.contest-v13-topbar nav { display: flex; justify-content: center; gap: 10px; }
.contest-v13-topbar nav a,
.contest-v13-topbar nav button { padding: 9px 12px; border: 0; border-radius: 10px; background: transparent; color: #dfeaff; text-decoration: none; font: inherit; font-weight: 800; cursor: pointer; }
.contest-v13-topbar nav a:hover,
.contest-v13-topbar nav a.is-active { background: rgba(255,255,255,.1); color: #fff; }

.contest-v13-clock { min-width: 150px; padding: 8px 13px; border-radius: 14px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); text-align: right; }
.contest-v13-clock small,.contest-v13-clock strong { display: block; }
.contest-v13-clock small { color: #c6d8f4; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; font-weight: 850; }
.contest-v13-clock strong { margin-top: 2px; color: #fff; font-size: 19px; }
.contest-v13-clock.is-warning { background: #fff0d2; border-color: #f4bf53; }
.contest-v13-clock.is-warning small,.contest-v13-clock.is-warning strong { color: #9a4d05; }

.contest-v13-loader {
  min-height: 100vh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  text-align: center;
  background: linear-gradient(180deg, #eef5ff, #fffaf0);
  color: var(--v13-ink);
}
.contest-v13-loader > span { font-size: 54px; animation: v13Float 2.2s ease-in-out infinite; }

/* ---------- MAPA ---------- */
.contest-v13-route-page { min-height: 100vh; background: linear-gradient(180deg, #eef5ff 0, #f6f8fc 52%, #fff9ed 100%); color: var(--v13-ink); }
.contest-v13-route-hero { width: min(1280px, calc(100% - 48px)); margin: 26px auto 18px; padding: 22px 26px; border: 1px solid #d7e2ef; border-radius: 24px; background: rgba(255,255,255,.88); box-shadow: var(--v13-shadow); display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.contest-v13-route-copy { display: flex; align-items: center; gap: 18px; }
.contest-v13-route-copy img { width: 78px; height: 90px; object-fit: contain; filter: drop-shadow(0 8px 10px rgba(41,35,20,.12)); }
.contest-v13-route-copy span { color: #6b4bd4; font-size: 10px; font-weight: 950; letter-spacing: .12em; }
.contest-v13-route-copy h1 { margin: 4px 0 6px; font-size: clamp(30px, 3.1vw, 48px); line-height: 1; }
.contest-v13-route-copy h1 strong { color: #1b63c6; }
.contest-v13-route-copy p { margin: 0; max-width: 700px; color: var(--v13-muted); line-height: 1.5; }
.contest-v13-route-metrics { display: grid; grid-template-columns: repeat(3, minmax(86px, 1fr)); gap: 10px; }
.contest-v13-route-metrics article { min-width: 92px; padding: 14px 12px; border-radius: 17px; text-align: center; border: 1px solid #d9e4f3; background: #f7fbff; }
.contest-v13-route-metrics strong,.contest-v13-route-metrics span { display: block; }
.contest-v13-route-metrics strong { font-size: 26px; color: #174d8b; }
.contest-v13-route-metrics span { margin-top: 3px; font-size: 9px; color: #75879d; font-weight: 800; }
.contest-v13-route-message { width: min(1280px, calc(100% - 48px)); margin: 0 auto 12px; padding: 10px 14px; border-radius: 12px; background: #fff7dc; border: 1px solid #ead398; color: #76510e; }

.contest-v13-map-stage { width: min(1280px, calc(100% - 48px)); min-height: 610px; margin: 0 auto; position: relative; overflow: hidden; border-radius: 28px; border: 2px solid #d4dfee; background: #bde6f5; box-shadow: 0 24px 58px rgba(20,45,86,.16); }
.contest-v13-map-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.contest-v13-map-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,32,72,.05), rgba(4,32,72,.16)); pointer-events: none; }
.contest-v13-path { position: absolute; inset: 0; pointer-events: none; }
.contest-v13-path::before { content: ''; position: absolute; left: 18%; bottom: 20%; width: 65%; height: 60%; border: 6px dashed rgba(255,255,255,.78); border-left-color: transparent; border-bottom-color: transparent; border-radius: 46% 52% 48% 40%; transform: rotate(-5deg); filter: drop-shadow(0 2px 2px rgba(18,47,84,.2)); }
.contest-v13-stop { position: absolute; width: 230px; min-height: 128px; padding: 16px 16px 14px 70px; border: 2px solid rgba(255,255,255,.86); border-radius: 22px; background: rgba(255,255,255,.94); color: var(--v13-ink); box-shadow: 0 14px 32px rgba(20,45,86,.16); text-align: left; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.contest-v13-stop:hover:not(:disabled) { transform: translateY(-6px) scale(1.01); box-shadow: 0 20px 42px rgba(20,45,86,.22); }
.contest-v13-stop.stop-1 { left: 6%; bottom: 8%; }
.contest-v13-stop.stop-2 { left: 28%; bottom: 40%; }
.contest-v13-stop.stop-3 { right: 26%; top: 20%; }
.contest-v13-stop.stop-4 { right: 5%; top: 6%; }
.contest-v13-stop-shield { position: absolute; left: 16px; top: 18px; width: 44px; height: 50px; display: grid; place-items: center; clip-path: polygon(50% 0, 92% 15%, 86% 72%, 50% 100%, 14% 72%, 8% 15%); background: linear-gradient(145deg, #0d3f83, #2975d9); color: #fff; font-size: 18px; font-weight: 950; }
.contest-v13-stop small,.contest-v13-stop strong,.contest-v13-stop em { display: block; }
.contest-v13-stop small { color: #6c7e92; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.contest-v13-stop strong { margin: 4px 0 8px; font-size: 16px; line-height: 1.12; }
.contest-v13-stop em { width: max-content; padding: 5px 8px; border-radius: 999px; background: #eaf2ff; color: #1b5eb4; font-size: 8px; font-style: normal; font-weight: 900; }
.contest-v13-stop.is-current { border-color: #f4c453; animation: v13Glow 2.4s ease-in-out infinite; }
.contest-v13-stop.is-current .contest-v13-stop-shield { background: linear-gradient(145deg, #e79a18, #f7c954); color: #17365d; }
.contest-v13-stop.is-done { background: rgba(237,253,246,.95); border-color: #87d6aa; cursor: default; }
.contest-v13-stop.is-done .contest-v13-stop-shield { background: linear-gradient(145deg, #168b61, #39c790); }
.contest-v13-stop.is-locked { opacity: .53; filter: grayscale(.35); cursor: not-allowed; }
.contest-v13-goal { position: absolute; right: 7%; top: 46%; width: 116px; height: 116px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: rgba(7,36,82,.83); color: #fff; box-shadow: 0 12px 30px rgba(5,28,64,.25); border: 3px solid #f4c453; }
.contest-v13-goal span { font-size: 38px; }
.contest-v13-goal strong { font-size: 10px; }
.contest-v13-goal.is-ready { background: linear-gradient(145deg, #c98811, #f5c84f); color: #12355c; animation: v13Glow 2s ease-in-out infinite; }
.contest-v13-route-footer { width: min(1280px, calc(100% - 48px)); margin: 16px auto 34px; padding: 18px 22px; border-radius: 20px; background: #fff; border: 1px solid #dce5f1; box-shadow: 0 10px 28px rgba(20,45,86,.07); display: grid; gap: 9px; }
.contest-v13-route-footer > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.contest-v13-route-footer p { margin: 0; color: var(--v13-muted); font-size: 12px; }
.contest-v13-progress { height: 10px; border-radius: 999px; background: #e9eef6; overflow: hidden; }
.contest-v13-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2a76de, #37c49a, #f4c14a); transition: width .25s ease; }
.contest-v13-final-route-button { justify-self: end; margin-top: 4px; }

/* ---------- INSTRUCCIONES ---------- */
.contest-v13-instructions-page { min-height: 100vh; color: var(--v13-ink); background: linear-gradient(180deg, #f0f5ff, #fffaf0); }
.contest-v13-instructions-hero { width: min(1120px, calc(100% - 48px)); margin: 28px auto 20px; padding: 34px; border-radius: 28px; text-align: center; color: #fff; background: linear-gradient(120deg, #102f72, #4c3eb7); box-shadow: var(--v13-shadow); }
.contest-v13-instructions-hero > span { display: inline-block; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.contest-v13-instructions-hero h1 { margin: 13px 0 8px; color: #fff; font-size: clamp(34px, 4vw, 48px); }
.contest-v13-instructions-hero p { max-width: 780px; margin: 0 auto; color: #dfe6ff; line-height: 1.55; }
.contest-v13-instructions-hero > div { margin-top: 18px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.contest-v13-instructions-hero > div strong { padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.13); font-size: 10px; }
.contest-v13-instructions-grid { width: min(1120px, calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.contest-v13-instructions-grid article { padding: 20px; border-radius: 20px; background: #fff; border: 1px solid #dfe7f2; box-shadow: 0 10px 26px rgba(20,45,86,.06); }
.contest-v13-instructions-grid article > span { font-size: 30px; }
.contest-v13-instructions-grid h2 { margin: 8px 0 6px; font-size: 18px; }
.contest-v13-instructions-grid p { margin: 0; color: var(--v13-muted); font-size: 12px; line-height: 1.55; }
.contest-v13-level-preview { width: min(1120px, calc(100% - 48px)); margin: 18px auto; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; }
.contest-v13-level-preview > div { min-height: 112px; padding: 14px; border-radius: 18px; background: #fff; border: 1px solid #dce6f3; }
.contest-v13-level-preview b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: #143f82; color: #fff; }
.contest-v13-level-preview strong,.contest-v13-level-preview span { display: block; }
.contest-v13-level-preview strong { margin: 8px 0 4px; font-size: 12px; }
.contest-v13-level-preview span { color: #718298; font-size: 9px; }
.contest-v13-level-preview > i { color: #8aa0ba; font-style: normal; }
.contest-v13-start-panel { width: min(900px, calc(100% - 48px)); margin: 22px auto 38px; padding: 20px; display: grid; gap: 14px; border-radius: 22px; background: #fff; border: 1px solid #dce6f3; box-shadow: 0 12px 28px rgba(20,45,86,.07); }
.contest-v13-start-panel label { display: flex; gap: 10px; align-items: flex-start; color: #40566f; font-size: 12px; }

/* ---------- EXAMEN VERTICAL ---------- */
.contest-v13-exam-page { min-height: 100vh; padding-bottom: 44px; color: var(--v13-ink); background: linear-gradient(180deg, #f3f6fb, #fffaf1); }
.contest-v13-exam-progress { display: grid; grid-template-columns: auto minmax(150px, 340px) auto; gap: 9px; align-items: center; justify-content: center; color: #fff; font-size: 10px; font-weight: 850; }
.contest-v13-exam-progress > div { height: 8px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.contest-v13-exam-progress i { display: block; height: 100%; background: linear-gradient(90deg, #f7c44e, #3de0bd); }
.contest-v13-exam-message { width: min(980px, calc(100% - 40px)); margin: 16px auto 0; padding: 10px 13px; border-radius: 12px; background: #fff3d7; border: 1px solid #edd49a; color: #774f0d; }
.contest-v13-situation-hero { width: min(980px, calc(100% - 40px)); margin: 22px auto 14px; padding: 28px; display: grid; grid-template-columns: 1fr 150px; gap: 22px; border-radius: 26px; color: #fff; box-shadow: var(--v13-shadow); background: linear-gradient(125deg, #4f2ca4, #8b4fc7); }
.situation-2 .contest-v13-situation-hero { background: linear-gradient(125deg, #0c704d, #2caa70); }
.situation-3 .contest-v13-situation-hero { background: linear-gradient(125deg, #b94f18, #f07c32); }
.situation-4 .contest-v13-situation-hero { background: linear-gradient(125deg, #154e9a, #2f7bda); }
.contest-v13-situation-hero > div:first-child > span { display: inline-block; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: 9px; font-weight: 900; }
.contest-v13-situation-hero h1 { margin: 10px 0 4px; color: #fff; font-size: clamp(30px, 4vw, 46px); line-height: 1; }
.contest-v13-situation-hero h2 { margin: 0 0 14px; color: rgba(255,255,255,.92); font-size: 16px; font-style: italic; }
.contest-v13-situation-hero p { margin: 0; color: #f0efff; font-size: 13px; line-height: 1.65; }
.contest-v13-situation-hero small { display: block; margin-top: 12px; color: #fff1b8; font-size: 9px; }
.contest-v13-level-badge { align-self: start; padding: 14px; text-align: center; border-radius: 20px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.18); }
.contest-v13-level-badge b { width: 64px; height: 64px; margin: 0 auto 8px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #4f2ca4; font-size: 30px; }
.situation-2 .contest-v13-level-badge b { color: #0b754f; }.situation-3 .contest-v13-level-badge b { color: #c4541b; }.situation-4 .contest-v13-level-badge b { color: #1a57a2; }
.contest-v13-level-badge span { font-size: 10px; line-height: 1.3; font-weight: 850; }

.contest-v13-graphic { width: min(980px, calc(100% - 40px)); margin: 0 auto 14px; padding: 20px; border-radius: 24px; background: #fff; border: 1px solid #dde7f3; box-shadow: 0 10px 28px rgba(20,45,86,.07); }
.contest-v13-graphic--time { display: grid; grid-template-columns: 190px 1fr; gap: 18px; align-items: center; }
.contest-v13-clock-art { width: 170px; height: 170px; border-radius: 50%; margin: auto; display: grid; place-items: center; background: conic-gradient(#3385e5 0 30.6%, #f2a722 30.6% 64.6%, #52bea1 64.6% 74%, #f18d77 74% 82.3%, #7b66cf 82.3% 86.5%, #d565a6 86.5% 100%); box-shadow: inset 0 0 0 16px #fff, 0 10px 24px rgba(20,45,86,.12); }
.contest-v13-clock-art > div { width: 88px; height: 88px; border-radius: 50%; display: grid; place-items: center; align-content: center; background: #fff; box-shadow: 0 6px 16px rgba(20,45,86,.09); }
.contest-v13-clock-art strong,.contest-v13-clock-art span { display:block; }.contest-v13-clock-art strong{font-size:28px}.contest-v13-clock-art span{font-size:9px;color:#77889b}
.contest-v13-time-list { display:grid; gap:7px; }.contest-v13-time-list article{position:relative;overflow:hidden;min-height:38px;border-radius:11px;background:#f4f7fb}.contest-v13-time-list i{position:absolute;left:0;top:0;bottom:0;opacity:.16;background:#2d75d4}.contest-v13-time-list i.tone-2{background:#f0a526}.contest-v13-time-list i.tone-3{background:#46ad94}.contest-v13-time-list i.tone-4{background:#e98270}.contest-v13-time-list i.tone-5{background:#7764cd}.contest-v13-time-list i.tone-6{background:#cc5a9f}.contest-v13-time-list article>div{position:relative;padding:8px 10px;display:flex;justify-content:space-between;gap:12px;font-size:10px}.contest-v13-time-list span{color:#677b8f}.contest-v13-graphic--time aside{grid-column:1/-1;padding:11px 13px;display:flex;gap:10px;align-items:center;border-radius:12px;background:#f6efff;border:1px solid #dfd1f5}.contest-v13-graphic--time aside>span{font-size:25px}.contest-v13-graphic--time aside strong,.contest-v13-graphic--time aside small{display:block}.contest-v13-graphic--time aside small{color:#715f82}

.contest-v13-graphic--family { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }.contest-v13-room-art{position:relative;min-height:230px;border-radius:18px;background:linear-gradient(180deg,#f7e7ca,#fff7e8);overflow:hidden}.contest-v13-room-art .desk{position:absolute;left:38px;right:38px;top:62px;height:17px;border-radius:8px;background:#9b632d}.contest-v13-room-art .wall{position:absolute;left:48px;bottom:30px;width:5px;height:125px;background:#173f7c}.contest-v13-room-art .brace{position:absolute;left:48px;bottom:30px;width:170px;height:5px;transform-origin:left center;transform:rotate(-38deg);background:#173f7c}.contest-v13-room-art .alpha,.contest-v13-room-art .angle38,.contest-v13-room-art .angle90{position:absolute;font-weight:900;color:#173f7c}.contest-v13-room-art .alpha{left:70px;bottom:37px}.contest-v13-room-art .angle38{left:185px;bottom:122px}.contest-v13-room-art .angle90{left:34px;bottom:148px}.contest-v13-room-art .lamp{position:absolute;right:34px;top:30px;font-size:38px}.contest-v13-room-art .books{position:absolute;left:78px;top:25px;font-size:34px}.contest-v13-family-table{padding:16px;border-radius:18px;background:#f0fbf5;border:1px solid #cfe9dc}.contest-v13-family-table>strong{display:block;margin-bottom:10px;color:#176445}.contest-v13-family-table>div{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid #d7e9df;font-size:10px}.contest-v13-family-table small{display:block;margin-top:12px;color:#63796c}

.contest-v13-graphic--waste{display:grid;grid-template-columns:180px 1fr 200px;gap:18px;align-items:center}.contest-v13-recycle-illustration{min-height:180px;padding:20px;display:grid;place-items:center;align-content:center;text-align:center;border-radius:18px;background:linear-gradient(145deg,#e1f7e8,#f4fff7);border:1px solid #c2e5ce}.contest-v13-recycle-illustration span{font-size:55px}.contest-v13-recycle-illustration strong,.contest-v13-recycle-illustration small{display:block}.contest-v13-recycle-illustration strong{margin-top:7px;color:#176544}.contest-v13-recycle-illustration small{margin-top:4px;color:#698575}.contest-v13-chart{width:100%;min-height:220px}.contest-v13-chart line,.contest-v13-chart polyline{stroke:#1c66c5;stroke-width:2}.contest-v13-chart circle{fill:#1c66c5}.contest-v13-chart text{fill:#486278;font-size:11px}.contest-v13-graphic--waste aside{padding:16px;border-radius:18px;background:#fff5df;border:1px solid #efd6a0}.contest-v13-graphic--waste aside strong,.contest-v13-graphic--waste aside span,.contest-v13-graphic--waste aside small{display:block}.contest-v13-graphic--waste aside span{margin:8px 0;font-size:18px;color:#a85d10;font-weight:900}.contest-v13-graphic--waste aside small{color:#806a4f}

.contest-v13-graphic--peru{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;align-items:center}.contest-v13-peru-poster{min-height:190px;padding:18px;display:grid;place-items:center;align-content:center;text-align:center;border-radius:18px;background:linear-gradient(145deg,#fbe5e5,#fff9ec);border:1px solid #efcccc}.contest-v13-peru-poster span{font-size:50px}.contest-v13-peru-poster strong{font-size:18px;color:#a82f33}.contest-v13-peru-poster small{margin-top:4px;color:#7e6f63}.contest-v13-pie{display:flex;align-items:center;gap:16px}.contest-v13-pie .pie{width:150px;height:150px;border-radius:50%;background:conic-gradient(#347ce1 0 30%,#f0a522 30% 55%,#4db7a4 55% 75%,#8567d8 75% 90%,#e14e78 90% 100%)}.contest-v13-pie .legend{display:grid;gap:6px;font-size:9px}.contest-v13-pie .legend span{display:flex;align-items:center;gap:6px}.contest-v13-pie .legend i{width:10px;height:10px;border-radius:50%;background:#347ce1}.contest-v13-pie .legend i.b{background:#f0a522}.contest-v13-pie .legend i.c{background:#4db7a4}.contest-v13-pie .legend i.d{background:#8567d8}.contest-v13-pie .legend i.e{background:#e14e78}.contest-v13-banners{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;align-items:end}.contest-v13-banners>div{height:120px;position:relative;clip-path:polygon(0 12%,100% 50%,0 88%);background:linear-gradient(145deg,#ef5a5f,#b91f32);box-shadow:0 8px 20px rgba(130,25,35,.16)}.contest-v13-banners .small{height:90px}.contest-v13-banners span,.contest-v13-banners b{position:absolute;color:#fff}.contest-v13-banners span{left:10px;top:42%}.contest-v13-banners b{left:22%;bottom:5px;font-size:10px}

.contest-v13-question-stack { width:min(980px,calc(100% - 40px)); margin:0 auto; display:grid; gap:12px; }
.contest-v13-question{padding:19px;border-radius:20px;background:#fff;border:1px solid #dce6f2;box-shadow:0 8px 22px rgba(20,45,86,.06)}.contest-v13-question header{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;margin-bottom:10px}.contest-v13-question header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e9f1ff;color:#174f98;font-weight:950}.contest-v13-question header small{display:block;color:#3466a0;font-size:9px;font-weight:900}.contest-v13-question h3{margin:2px 0 0;font-size:17px}.contest-v13-question>p{margin:0 0 12px;line-height:1.55;color:#334f68;font-size:12px}.contest-v13-help{margin:-3px 0 12px;padding:8px 10px;border-radius:10px;background:#fff7db;color:#77550f;font-size:10px}.contest-v13-question.area-comunicacion header>span{background:#f2ebff;color:#7046b8}.contest-v13-question.area-dpcc header>span{background:#fff0e8;color:#bd5727}
.contest-v13-time-picker{display:flex;align-items:end;justify-content:center;gap:10px}.contest-v13-time-picker>div>label{display:block;margin-bottom:5px;text-align:center;font-size:9px;color:#6d7f92;font-weight:900}.contest-v13-time-picker>div>section{min-width:120px;display:grid;grid-template-columns:1fr 34px;border:1px solid #cbd8e8;border-radius:13px;background:#f9fbfe;overflow:hidden}.contest-v13-time-picker strong{display:grid;place-items:center;min-height:62px;font-size:27px;color:#153f76}.contest-v13-time-picker aside{display:grid;border-left:1px solid #d7e1ed}.contest-v13-time-picker button{border:0;background:#eef4fb;color:#244f7e;cursor:pointer}.contest-v13-time-picker>b{padding-bottom:18px;font-size:25px;color:#71829a}
.contest-v13-text-input{display:flex;align-items:center;max-width:520px;border:1px solid #ccd8e7;border-radius:13px;background:#fbfdff;overflow:hidden}.contest-v13-text-input input{flex:1;min-width:0;height:50px;padding:0 14px;border:0;background:transparent;font:inherit;outline:none}.contest-v13-text-input span{padding:0 14px;color:#52708e;font-weight:800}
.contest-v13-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contest-v13-choice-grid button{min-height:64px;padding:10px;display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;border:1px solid #dce5ef;border-radius:13px;background:#f9fbfd;color:#29465f;text-align:left;cursor:pointer}.contest-v13-choice-grid button i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e8f1ff;color:#1c5cad;font-style:normal;font-weight:950}.contest-v13-choice-grid button.is-selected{border-color:#5795dd;background:#edf5ff;box-shadow:0 0 0 3px rgba(66,131,210,.08)}
.contest-v13-selection-count{margin-bottom:8px;color:#75879a;font-size:9px;font-weight:850}.contest-v13-multi{display:grid;gap:7px}.contest-v13-multi button{padding:10px 12px;display:flex;gap:10px;align-items:center;border:1px solid #dce5ef;border-radius:12px;background:#f9fbfd;color:#2e4b63;text-align:left;cursor:pointer}.contest-v13-multi button>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#edf3fb;color:#527499}.contest-v13-multi button.is-selected{background:#eef8f3;border-color:#85c8a5}.contest-v13-multi button.is-selected>span{background:#23815d;color:#fff}
.contest-v13-dual-select{display:grid;gap:9px}.contest-v13-dual-select>p{margin:0;font-weight:800}.contest-v13-dual-select label{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:center;color:#546b82;font-size:10px;font-weight:850}.contest-v13-dual-select select,.contest-v13-match select{width:100%;min-height:46px;padding:0 10px;border:1px solid #ccd8e7;border-radius:11px;background:#fbfdff;color:#29465f}
.contest-v13-number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.contest-v13-number-grid label{padding:10px;border-radius:12px;background:#f4f8fc;border:1px solid #dbe5f0;text-align:center}.contest-v13-number-grid strong,.contest-v13-number-grid small{display:block}.contest-v13-number-grid small{margin:3px 0 7px;color:#77899b;font-size:8px}.contest-v13-number-grid input{width:72px;height:38px;text-align:center;border:1px solid #c7d5e4;border-radius:9px;background:#fff;font-weight:900}
.contest-v13-order{display:grid;gap:7px}.contest-v13-order article{padding:9px 10px;display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;border:1px solid #dce5ef;border-radius:12px;background:#f9fbfd}.contest-v13-order article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e9f1ff;color:#1d5eae;font-weight:900}.contest-v13-order article strong{font-size:10px}.contest-v13-order aside{display:flex;gap:4px}.contest-v13-order button{width:30px;height:30px;border:0;border-radius:8px;background:#e9eef5;color:#315679;cursor:pointer}
.contest-v13-range{padding:12px 14px;border-radius:14px;background:#f5f9ff;border:1px solid #d8e6f4}.contest-v13-range>strong{display:block;text-align:center;font-size:24px;color:#174f98}.contest-v13-range input{width:100%;accent-color:#2069c7}.contest-v13-range>div{display:flex;justify-content:space-between;color:#7c8fa3;font-size:9px}
.contest-v13-simulator{display:grid;grid-template-columns:160px 1fr 190px;gap:15px;align-items:center;padding:12px;border-radius:14px;background:#f5f9ff;border:1px solid #d8e6f4}.contest-v13-simulator>div:first-child{text-align:center}.contest-v13-simulator>div:first-child span{display:block;font-size:30px}.contest-v13-simulator>div:first-child strong{display:block}.contest-v13-simulator input{width:100%;accent-color:#1f68c5}.contest-v13-simulator>div:last-child{padding:10px;border-radius:11px;background:#fff;border:1px solid #dbe4ee;text-align:center}.contest-v13-simulator>div:last-child span,.contest-v13-simulator>div:last-child strong,.contest-v13-simulator>div:last-child small{display:block}.contest-v13-simulator>div:last-child strong{font-size:23px;color:#a45b14}.contest-v13-simulator>div:last-child.is-goal{background:#eaf9f1;border-color:#9dd6ba}.contest-v13-simulator>div:last-child.is-goal strong{color:#187353}
.contest-v13-match{display:grid;gap:8px}.contest-v13-match label{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:9px;border-radius:11px;background:#f7fafc}.contest-v13-match label>span{font-size:10px;font-weight:800}
.contest-v13-shield{display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:center}.contest-v13-shield .shield-core{min-height:150px;display:grid;place-items:center;align-content:center;clip-path:polygon(50% 0,90% 14%,84% 72%,50% 100%,16% 72%,10% 14%);background:linear-gradient(145deg,#113d80,#2c78d6);color:#fff}.contest-v13-shield .shield-core span{font-size:35px}.contest-v13-shield .shield-core strong{font-size:23px}.contest-v13-shield .shield-core small{font-size:8px}.contest-v13-shield .shield-options{display:grid;gap:7px}.contest-v13-shield button{padding:9px 11px;display:flex;gap:8px;align-items:center;border:1px solid #dbe4ee;border-radius:11px;background:#f8fafc;text-align:left;color:#2e4b63;cursor:pointer}.contest-v13-shield button>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e8eef6}.contest-v13-shield button.is-selected{background:#eef7ff;border-color:#7eace1}.contest-v13-shield button.is-selected>span{background:#1f65b9;color:#fff}
.contest-v13-reflection{width:min(980px,calc(100% - 40px));margin:14px auto;padding:14px 16px;display:flex;gap:12px;align-items:center;border-radius:18px;background:#fff4cf;border:1px solid #ecd28a}.contest-v13-reflection>span{font-size:30px}.contest-v13-reflection strong,.contest-v13-reflection p{display:block}.contest-v13-reflection p{margin:3px 0 0;color:#715b27;font-size:11px}
.contest-v13-situation-footer{width:min(980px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px;border-radius:18px;background:#fff;border:1px solid #dde6f1;box-shadow:0 8px 20px rgba(20,45,86,.05)}.contest-v13-situation-footer>div{text-align:center}.contest-v13-situation-footer strong,.contest-v13-situation-footer small{display:block}.contest-v13-situation-footer small{margin-top:3px;color:#74869a;font-size:9px}
.contest-v13-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(4,23,51,.62);backdrop-filter:blur(4px)}.contest-v13-modal>article{width:min(520px,100%);padding:26px;border-radius:24px;background:#fff;box-shadow:0 28px 70px rgba(4,23,51,.3);text-align:center}.contest-v13-modal .modal-icon{font-size:46px}.contest-v13-modal h2{margin:8px 0}.contest-v13-modal p{color:#586d82;line-height:1.55}.contest-v13-warning{padding:12px;border-radius:12px;background:#fff2df;color:#89550f;font-size:11px}.contest-v13-modal footer{margin-top:16px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}

/* ---------- PARTICIPANTE ---------- */
.contest-v13-participant-page{min-height:100vh;background:linear-gradient(180deg,#eef5ff,#fff9ed);color:var(--v13-ink)}.contest-v13-participant-hero{width:min(1160px,calc(100% - 48px));margin:26px auto 16px;padding:26px 30px;display:grid;grid-template-columns:1fr 130px;gap:22px;align-items:center;border-radius:26px;background:linear-gradient(125deg,#0d3974,#1e5fa9);color:#fff;box-shadow:var(--v13-shadow)}.contest-v13-participant-hero>div>span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#f5c851}.contest-v13-participant-hero h1{margin:6px 0;color:#fff;font-size:40px}.contest-v13-participant-hero p{margin:0;color:#d5e3f6}.contest-v13-participant-hero>div>div{margin-top:14px;display:flex;gap:7px;flex-wrap:wrap}.contest-v13-participant-hero b{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:9px}.contest-v13-participant-hero img{width:110px;height:126px;object-fit:contain;justify-self:end}.contest-v13-participant-layout{width:min(1160px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.contest-v13-status-card,.contest-v13-participant-profile{padding:22px;border-radius:22px;background:#fff;border:1px solid #dce5f0;box-shadow:0 9px 24px rgba(20,45,86,.06)}.contest-v13-status-card>header{display:flex;justify-content:space-between;gap:15px;align-items:center}.contest-v13-status-card>header span{font-size:9px;color:#7355cf;font-weight:900}.contest-v13-status-card h2{margin:4px 0}.contest-v13-status-card>header i{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#eef2f7;font-style:normal;font-size:25px}.contest-v13-status-card>header i.running{background:#fff2d8}.contest-v13-status-card>header i.done{background:#e6f7ee}.contest-v13-status-card>header i.ready{background:#e8f1ff}.contest-v13-participant-result{margin-top:16px;padding:16px;border-radius:17px;background:#f6f9fd;border:1px solid #e0e8f2}.contest-v13-participant-result>strong{font-size:34px;color:#174b8d}.contest-v13-participant-result>span{display:block;color:#6e8196;font-size:10px}.contest-v13-participant-result p{color:#5e7185;font-size:11px}.contest-v13-participant-profile>span{font-size:9px;color:#7355cf;font-weight:900}.contest-v13-participant-profile h2{margin:5px 0 14px}.contest-v13-participant-profile dl{margin:0;display:grid;gap:7px}.contest-v13-participant-profile dl>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf1f6}.contest-v13-participant-profile dt{color:#78899b}.contest-v13-participant-profile dd{margin:0;font-weight:900}.contest-v13-participant-rules{width:min(1160px,calc(100% - 48px));margin:14px auto 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.contest-v13-participant-rules article{padding:16px;border-radius:18px;background:#fff;border:1px solid #dfe7f1}.contest-v13-participant-rules span{font-size:27px}.contest-v13-participant-rules strong{display:block;margin:7px 0 3px}.contest-v13-participant-rules p{margin:0;color:#748599;font-size:9px;line-height:1.45}

/* ---------- RESULTADO ---------- */
.contest-v13-result-page{min-height:100vh;background:linear-gradient(180deg,#071d4c,#102a63 54%,#f6f8fc 54%);color:var(--v13-ink)}.contest-v13-result-hero{width:min(1160px,calc(100% - 48px));margin:32px auto 18px;display:grid;grid-template-columns:1.25fr .75fr;gap:18px;padding:26px;border-radius:28px;background:#fff;box-shadow:0 26px 60px rgba(4,23,51,.22)}.contest-v13-result-title{display:flex;gap:14px;align-items:center}.contest-v13-result-title img{width:72px;height:84px;object-fit:contain}.contest-v13-result-title span{font-size:9px;color:#7553c9;font-weight:900}.contest-v13-result-title h1{margin:4px 0;font-size:38px}.contest-v13-result-title p{margin:0;color:#65788c}.contest-v13-score{margin-top:18px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:12px;border-radius:20px;background:linear-gradient(120deg,#0f3d80,#2b78d7);color:#fff}.contest-v13-score>strong{font-size:60px;line-height:.9}.contest-v13-score>span{color:#d5e5f8}.contest-v13-score>b{font-size:26px;color:#f5c651}.contest-v13-result-metrics{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.contest-v13-result-metrics article{padding:12px;border-radius:14px;background:#f5f8fc;border:1px solid #e0e7f0;text-align:center}.contest-v13-result-metrics span{font-size:20px}.contest-v13-result-metrics strong,.contest-v13-result-metrics small{display:block}.contest-v13-result-metrics strong{margin-top:3px;font-size:16px}.contest-v13-result-metrics small{color:#77899b;font-size:8px}.contest-v13-result-lumix{position:relative;min-height:410px;padding:18px;display:grid;place-items:center;align-content:end;text-align:center;border-radius:22px;background:linear-gradient(180deg,#edf4ff,#fff6dc);overflow:hidden}.contest-v13-result-lumix img{position:absolute;inset:0 0 72px;width:100%;height:calc(100% - 72px);object-fit:contain;z-index:2}.contest-v13-result-lumix strong,.contest-v13-result-lumix>span{position:relative;z-index:3;display:block}.contest-v13-result-lumix strong{font-size:22px;color:#174b8d}.contest-v13-result-lumix>span{margin-top:4px;color:#687b8f;font-size:10px}.contest-v13-result-lumix .confetti i{position:absolute;top:5px;width:8px;height:16px;border-radius:3px;background:#f1b934;animation:v13Confetti 2.5s linear infinite}.contest-v13-result-lumix .confetti i:nth-child(1){left:12%}.contest-v13-result-lumix .confetti i:nth-child(2){left:25%;animation-delay:.3s;background:#4a86dc}.contest-v13-result-lumix .confetti i:nth-child(3){left:38%;animation-delay:.6s;background:#db5c73}.contest-v13-result-lumix .confetti i:nth-child(4){left:50%;animation-delay:.9s;background:#4db498}.contest-v13-result-lumix .confetti i:nth-child(5){left:62%;animation-delay:.2s}.contest-v13-result-lumix .confetti i:nth-child(6){left:73%;animation-delay:.7s;background:#765fd0}.contest-v13-result-lumix .confetti i:nth-child(7){left:84%;animation-delay:1s;background:#df6d43}.contest-v13-result-lumix .confetti i:nth-child(8){left:92%;animation-delay:.45s;background:#47a6d1}.contest-v13-result-situations{width:min(1160px,calc(100% - 48px));margin:0 auto 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.contest-v13-result-situations>div{padding:14px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;border-radius:16px;background:#fff;border:1px solid #dfe6ef}.contest-v13-result-situations span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:#19549c;font-weight:900}.contest-v13-result-situations strong{font-size:9px}.contest-v13-result-situations b{color:#185296}.contest-v13-result-note{width:min(1160px,calc(100% - 48px));margin:0 auto 34px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-radius:18px;background:#fff;border:1px solid #dfe6ef}.contest-v13-result-note>span{font-size:26px}.contest-v13-result-note p{margin:3px 0 0;color:#6b7d90;font-size:10px}.contest-v13-result-empty{width:min(760px,calc(100% - 48px));margin:80px auto;padding:36px;border-radius:26px;background:#fff;text-align:center;box-shadow:var(--v13-shadow)}.contest-v13-result-empty>span{font-size:48px}.contest-v13-result-empty h1{font-size:32px}

/* ---------- COMISIÓN / RESULTADOS ---------- */
.contest-admin-stats--six{grid-template-columns:repeat(3,1fr)!important}.contest-admin-stats--six article:nth-child(2){background:linear-gradient(145deg,#fff8e7,#fff)}.contest-admin-stats--six article:nth-child(3){background:linear-gradient(145deg,#edf9f3,#fff)}.contest-mini-table>div{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.8fr) 85px 110px!important}.contest-mini-table>div>b{color:#174f94;text-align:center}.contest-podium-card{box-shadow:0 12px 30px rgba(20,45,86,.07)!important}.contest-admin-card--table{box-shadow:0 12px 30px rgba(20,45,86,.06)!important}

/* ---------- REPARACIÓN PANEL GESTIÓN DE CUENTAS V4 ---------- */
.contest-v4-admin-header{align-items:flex-start!important;padding:18px 16px!important;border:1px solid #dac9ab!important;border-radius:20px!important;background:#fffdf8!important}.contest-v4-admin-header p{margin:4px 0 0!important;color:#607487!important}.contest-v4-entry-mode{margin:0 0 12px;display:flex!important;gap:8px;padding:0!important;background:transparent!important;border:0!important}.contest-v4-entry-mode button{min-height:44px;padding:0 18px;border:1px solid #b8b5ae!important;border-radius:12px;background:#fff!important;color:#253f58!important;font-weight:850;cursor:pointer;box-shadow:0 3px 8px rgba(20,45,86,.04)}.contest-v4-entry-mode button.is-active{background:#123e78!important;color:#fff!important;border-color:#123e78!important;box-shadow:0 7px 15px rgba(9,48,91,.15)}.contest-v4-individual-layout{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)!important;gap:12px!important;align-items:stretch}.contest-v4-individual-form{padding:18px!important}.contest-v4-individual-form .contest-admin-card__head{align-items:flex-start!important}.contest-v4-individual-form .contest-admin-card__head p{margin:4px 0 0!important;color:#71808b!important;font-size:11px!important}.contest-v4-form-badge{padding:7px 10px;border-radius:999px;background:#e8f1fa;color:#164e83;font-size:9px;font-weight:900}.contest-v4-form-grid{margin-top:14px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.contest-v4-form-grid label{display:grid!important;gap:6px!important;color:#24445f!important;font-size:11px!important;font-weight:850!important;min-width:0}.contest-v4-form-grid label small{font-weight:700;color:#7b8790}.contest-v4-form-grid input,.contest-v4-form-grid select{display:block!important;width:100%!important;min-width:0!important;height:44px!important;padding:0 11px!important;margin:0!important;border:1px solid #cfc5b3!important;border-radius:11px!important;background:#fffdf8!important;color:#203d56!important;outline:none!important;box-sizing:border-box!important}.contest-v4-form-grid .span-2{grid-column:span 2!important}.contest-v4-form-grid .span-4{grid-column:span 4!important}.contest-v4-form-actions{margin-top:14px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}.contest-v4-individual-guide{padding:18px!important}.contest-v4-category-guide{display:grid!important;gap:7px!important}.contest-v4-category-guide>div{padding:9px!important;display:grid!important;grid-template-columns:34px 1fr!important;gap:8px!important;align-items:center!important;border-radius:11px!important;background:#f5f0e6!important;border:1px solid #ddd3c1!important}.contest-v4-category-guide>div.is-current{background:#fff0c9!important;border-color:#d9a52e!important}.contest-v4-category-guide b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#0b376d;color:#fff}.contest-v4-category-guide span{display:grid;gap:2px}.contest-v4-category-guide strong{font-size:11px;color:#1d3d58}.contest-v4-category-guide small{font-size:9px;color:#71808a}.contest-v4-created-account{margin-top:11px;padding:15px 17px;border-radius:15px;background:linear-gradient(135deg,#e8f4ec,#f7fbf8);border:1px solid #bdd8c6}.contest-v4-import-grid{gap:12px!important}

/* ---------- ACCESO V11: pulido sin invadir otros paneles ---------- */
.contest-auth--v11 .contest-auth__card--v11{border:1px solid rgba(30,76,129,.18)!important;box-shadow:0 24px 55px rgba(15,49,91,.16)!important}.contest-auth--v11 .contest-auth__icon{animation:v13Float 3s ease-in-out infinite}.contest-auth--v11 .contest-form--v11 input:focus{border-color:#4d82c4!important;box-shadow:0 0 0 4px rgba(77,130,196,.1)!important}.contest-auth--v11 .contest-auth__mini-stats article{transition:transform .18s ease}.contest-auth--v11 .contest-auth__mini-stats article:hover{transform:translateY(-3px)}

@media (max-width:1100px){.contest-v13-map-stage{min-height:760px}.contest-v13-stop.stop-1{left:4%;bottom:5%}.contest-v13-stop.stop-2{left:10%;bottom:33%}.contest-v13-stop.stop-3{right:10%;top:28%}.contest-v13-stop.stop-4{right:4%;top:5%}.contest-v13-graphic--waste,.contest-v13-graphic--peru{grid-template-columns:1fr 1fr}.contest-v13-graphic--waste aside,.contest-v13-graphic--peru .contest-v13-banners{grid-column:1/-1}.contest-v4-individual-layout{grid-template-columns:1fr!important}}
@media (max-width:860px){.contest-v13-topbar{grid-template-columns:1fr auto}.contest-v13-topbar nav{display:none}.contest-v13-route-hero,.contest-v13-participant-hero,.contest-v13-situation-hero{grid-template-columns:1fr}.contest-v13-route-metrics{grid-template-columns:repeat(3,1fr);width:100%}.contest-v13-map-stage{min-height:940px}.contest-v13-stop{width:min(78%,270px)}.contest-v13-stop.stop-1{left:6%;bottom:5%}.contest-v13-stop.stop-2{left:14%;bottom:31%}.contest-v13-stop.stop-3{right:12%;top:30%}.contest-v13-stop.stop-4{right:5%;top:5%}.contest-v13-goal{right:7%;top:49%}.contest-v13-instructions-grid{grid-template-columns:1fr 1fr}.contest-v13-level-preview{grid-template-columns:1fr}.contest-v13-level-preview>i{display:none}.contest-v13-graphic--time,.contest-v13-graphic--family,.contest-v13-graphic--waste,.contest-v13-graphic--peru{grid-template-columns:1fr}.contest-v13-graphic--time aside,.contest-v13-graphic--waste aside,.contest-v13-graphic--peru .contest-v13-banners{grid-column:auto}.contest-v13-choice-grid{grid-template-columns:1fr}.contest-v13-number-grid{grid-template-columns:1fr 1fr}.contest-v13-simulator{grid-template-columns:1fr}.contest-v13-shield{grid-template-columns:1fr}.contest-v13-shield .shield-core{width:150px;margin:auto}.contest-v13-situation-footer{grid-template-columns:1fr;text-align:center}.contest-v13-participant-layout,.contest-v13-result-hero{grid-template-columns:1fr}.contest-v13-participant-rules,.contest-v13-result-situations{grid-template-columns:1fr 1fr}.contest-v13-result-note{grid-template-columns:auto 1fr}.contest-v13-result-note .contest-btn{grid-column:1/-1}.contest-admin-stats--six{grid-template-columns:1fr 1fr!important}.contest-v4-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contest-v4-form-grid .span-4{grid-column:span 2!important}}
@media (max-width:560px){.contest-v13-route-hero,.contest-v13-map-stage,.contest-v13-route-footer,.contest-v13-instructions-hero,.contest-v13-instructions-grid,.contest-v13-level-preview,.contest-v13-start-panel,.contest-v13-situation-hero,.contest-v13-graphic,.contest-v13-question-stack,.contest-v13-reflection,.contest-v13-situation-footer,.contest-v13-participant-hero,.contest-v13-participant-layout,.contest-v13-participant-rules,.contest-v13-result-hero,.contest-v13-result-situations,.contest-v13-result-note{width:calc(100% - 24px)}.contest-v13-route-copy{align-items:flex-start}.contest-v13-route-copy img{width:58px;height:68px}.contest-v13-map-stage{min-height:1000px}.contest-v13-stop{width:88%;left:6%!important;right:auto!important}.contest-v13-stop.stop-4{top:3%}.contest-v13-stop.stop-3{top:26%}.contest-v13-stop.stop-2{bottom:29%}.contest-v13-stop.stop-1{bottom:4%}.contest-v13-goal{display:none}.contest-v13-instructions-grid{grid-template-columns:1fr}.contest-v13-number-grid,.contest-v13-participant-rules,.contest-v13-result-situations,.contest-v13-result-metrics{grid-template-columns:1fr}.contest-v13-dual-select label,.contest-v13-match label{grid-template-columns:1fr}.contest-v13-time-picker{gap:5px}.contest-v13-time-picker>div>section{min-width:105px}.contest-v13-score{grid-template-columns:1fr;text-align:center}.contest-admin-stats--six{grid-template-columns:1fr!important}.contest-v4-form-grid{grid-template-columns:1fr!important}.contest-v4-form-grid .span-2,.contest-v4-form-grid .span-4{grid-column:auto!important}.contest-v4-form-actions{flex-direction:column!important}}

/* =========================================================
   V14 · Rediseño final Categoría 1
   Inspirado directamente en los paneles aprobados en chat.
   ========================================================= */
:root{--c14-navy:#073b7c;--c14-blue:#1768e5;--c14-violet:#7347d8;--c14-green:#15965d;--c14-orange:#ef6c12;--c14-cream:#fffaf1;--c14-ink:#13365b;--c14-soft:#f6f9ff}
.contest-v13-topbar{background:linear-gradient(90deg,#08366f,#115ca2)!important;border-bottom:2px solid #f5c743!important;box-shadow:0 6px 20px rgba(13,48,92,.16)!important}.contest-v13-topbar .lm-brand__name{color:#fff!important}.contest-v13-topbar .lm-brand__tagline{color:#b9d6f3!important}.contest-v13-topbar nav a,.contest-v13-topbar nav button{color:#fff!important}
.contest-v13-participant-page,.contest-v13-instructions-page,.contest-v13-route-page,.contest-v13-result-page,.contest-v13-exam-page{background:linear-gradient(180deg,#f4f8ff,#fbfdff)!important;color:var(--c14-ink)!important}
.contest-v13-participant-hero{border-radius:26px!important;background:linear-gradient(110deg,#0b3b82 0%,#1768c8 65%,#55a8e8 100%)!important;box-shadow:0 18px 40px rgba(16,67,130,.18)!important;overflow:hidden!important;min-height:220px!important;position:relative!important}.contest-v13-participant-hero::after{content:"";position:absolute;right:-80px;bottom:-100px;width:430px;height:260px;border-radius:50%;background:radial-gradient(circle,#b8e789 0 16%,#6fb765 17% 35%,transparent 36%);opacity:.7}.contest-v13-participant-hero>div{position:relative;z-index:2}.contest-v13-participant-hero>img{position:relative;z-index:2;width:130px!important;height:130px!important;object-fit:contain!important;background:#fff!important;border-radius:28px!important;padding:12px!important;box-shadow:0 15px 32px rgba(4,31,72,.2)!important}
.contest-v13-status-card,.contest-v13-participant-profile,.contest-v13-participant-rules article{border:1px solid #dce7f4!important;background:#fff!important;box-shadow:0 10px 28px rgba(20,54,94,.08)!important}.contest-v13-status-card{border-radius:24px!important}.contest-v13-participant-profile{border-radius:24px!important}.contest-v13-participant-result strong{color:#0c4388!important}.contest-v13-participant-rules{gap:14px!important}.contest-v13-participant-rules article{border-radius:18px!important}
.contest-v13-instructions-hero{border-radius:26px!important;background:linear-gradient(110deg,#11388a,#503dcc)!important;box-shadow:0 18px 40px rgba(38,48,142,.18)!important}.contest-v13-instruction-card{border-radius:22px!important;border:1px solid #dce7f4!important;background:#fff!important;box-shadow:0 9px 24px rgba(24,54,89,.07)!important}.contest-v13-instruction-card>span{width:76px!important;height:76px!important;border-radius:50%!important;background:linear-gradient(145deg,#e9f4ff,#d7e9ff)!important;font-size:34px!important}
.contest-v13-route-hero{border-radius:26px!important;background:linear-gradient(110deg,#0a3d82,#0b5ca5)!important}.contest-v13-map-stage{border-radius:28px!important;border:1px solid #d9e7f5!important;box-shadow:0 18px 42px rgba(22,57,98,.12)!important;overflow:hidden!important}.contest-v13-map-bg{filter:saturate(.92) brightness(1.16)!important}.contest-v13-map-overlay{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(246,252,235,.20))!important}.contest-v13-stop{border-radius:22px!important;box-shadow:0 16px 28px rgba(35,61,70,.13)!important}.contest-v13-stop.stop-1{border-color:#9264eb!important}.contest-v13-stop.stop-2{border-color:#41bb6f!important}.contest-v13-stop.stop-3{border-color:#f19224!important}.contest-v13-stop.stop-4{border-color:#3988e8!important}.contest-v13-stop.is-current{transform:translateY(-8px) scale(1.025)!important}.contest-v13-route-footer{border-radius:20px!important;background:#fff!important;border:1px solid #dce7f4!important}
/* Situación vertical: hero ilustrado y recursos reales */
.contest-v13-exam-page{padding-bottom:36px!important}.contest-v13-topbar--exam{position:sticky!important;top:0;z-index:30!important}.contest-v13-situation-hero{max-width:1180px!important;margin:24px auto 16px!important;border-radius:28px!important;padding:30px!important;box-shadow:0 18px 40px rgba(30,54,85,.12)!important;overflow:hidden!important}.situation-1 .contest-v13-situation-hero{background:linear-gradient(115deg,#6f3ed1,#42208d)!important}.situation-2 .contest-v13-situation-hero{background:linear-gradient(115deg,#0c744a,#29a669)!important}.situation-3 .contest-v13-situation-hero{background:linear-gradient(115deg,#c94f12,#ef7d29)!important}.situation-4 .contest-v13-situation-hero{background:linear-gradient(115deg,#0a4c9d,#2576d0)!important}.contest-v13-situation-hero h1{font-size:clamp(38px,4.2vw,62px)!important;letter-spacing:-1.5px!important}.contest-v13-situation-hero h2{font-size:22px!important}.contest-v13-situation-hero p{font-size:16px!important;line-height:1.62!important;max-width:850px!important}.contest-v13-level-badge{border-radius:24px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.28)!important}
.contest-v14-resource{max-width:1180px;margin:0 auto 18px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);gap:18px;padding:18px;border-radius:26px;background:#fff;border:1px solid #dce7f4;box-shadow:0 14px 35px rgba(24,58,99,.08)}.contest-v14-resource>img{width:100%;height:360px;object-fit:cover;border-radius:20px;border:1px solid #e1e7f0}.contest-v14-resource__panel{display:flex;flex-direction:column;gap:13px;padding:8px}.contest-v14-resource__panel header{display:flex;align-items:center;gap:10px}.contest-v14-resource__panel header>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#edf5ff;font-size:23px}.contest-v14-resource__panel header strong,.contest-v14-resource__panel header small{display:block}.contest-v14-resource__panel header strong{font-size:20px}.contest-v14-resource__panel header small{color:#718399}.contest-v14-resource__panel aside{margin-top:auto;padding:12px 14px;border-radius:14px;background:#fff5cf;border:1px solid #f0d77c;color:#624b13}.contest-v14-time-donut{width:122px;height:122px;margin:2px auto;border-radius:50%;background:conic-gradient(#278ff0 0 30.6%,#47bcc8 30.6% 64.6%,#8ac45d 64.6% 74%,#f5a52f 74% 82.3%,#8c54bd 82.3% 86.5%,#ef5c75 86.5% 100%);display:grid;place-items:center;position:relative}.contest-v14-time-donut::after{content:"";position:absolute;width:74px;height:74px;background:#fff;border-radius:50%}.contest-v14-time-donut div{position:relative;z-index:2;text-align:center}.contest-v14-time-donut strong,.contest-v14-time-donut span{display:block}.contest-v14-resource__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.contest-v14-resource__panel li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:13px}.contest-v14-resource__panel li i{width:10px;height:10px;border-radius:50%}.t1{background:#278ff0}.t2{background:#47bcc8}.t3{background:#8ac45d}.t4{background:#f5a52f}.t5{background:#8c54bd}.t6{background:#ef5c75}
.contest-v14-family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.contest-v14-family-grid span{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#f2fbf5;border:1px solid #cdebd8}.contest-v14-chart{width:100%;height:190px;background:#fff;border-radius:14px}.contest-v14-chart line,.contest-v14-chart polyline,.contest-v14-chart circle{stroke:#e86c1b;stroke-width:3}.contest-v14-chart circle{fill:#e86c1b}.contest-v14-chart text{font-size:13px;fill:#5d6570}.contest-v14-pie-row{display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:center}.contest-v14-pie{width:145px;height:145px;border-radius:50%;background:conic-gradient(#287de2 0 30%,#f4a11d 30% 55%,#3db2b5 55% 75%,#7c49bb 75% 90%,#e65555 90% 100%);display:grid;place-items:center;position:relative}.contest-v14-pie::after{content:"";width:72px;height:72px;border-radius:50%;background:#fff;position:absolute}.contest-v14-pie span{z-index:2;font-weight:900;font-size:24px}.contest-v14-pie-row li i{border-radius:3px}.p1{background:#287de2}.p2{background:#f4a11d}.p3{background:#3db2b5}.p4{background:#7c49bb}.p5{background:#e65555}
.contest-v13-question-stack{max-width:1180px!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.contest-v13-question{border-radius:22px!important;background:#fff!important;border:1px solid #dce6f2!important;box-shadow:0 10px 24px rgba(25,60,99,.07)!important;padding:20px!important}.contest-v13-question:nth-child(5){grid-column:1/-1}.contest-v13-question header>span{border-radius:12px!important}.contest-v13-question h3{font-size:19px!important}.contest-v13-question>p{font-size:15px!important;line-height:1.5!important;color:#324f6b!important}.contest-v13-question.area-matematica{border-top:5px solid #2176e8!important}.contest-v13-question.area-comunicacion{border-top:5px solid #7d4bd3!important}.contest-v13-question.area-dpcc{border-top:5px solid #ed7719!important}.contest-v13-choice-grid button,.contest-v13-multi button{border-radius:15px!important;min-height:58px!important}.contest-v13-time-picker{justify-content:center!important;padding:18px!important;border-radius:18px!important;background:#eef5ff!important}.contest-v13-time-picker section{background:#fff!important;border:1px solid #cbdcf2!important}.contest-v13-number-grid{grid-template-columns:repeat(3,1fr)!important}.contest-v13-range,.contest-v13-simulator,.contest-v13-dual-select,.contest-v13-match{border-radius:17px!important;background:#f8fbff!important;border:1px solid #d8e5f2!important;padding:16px!important}.contest-v13-shield{background:linear-gradient(135deg,#f7f4ff,#eef6ff)!important;border-radius:20px!important;padding:18px!important}.contest-v13-reflection{max-width:1180px!important;margin:18px auto!important;border-radius:18px!important;background:#fff4d6!important;border:1px solid #f2d27c!important}.contest-v13-situation-footer{max-width:1180px!important;margin:18px auto 0!important;border-radius:22px!important;background:#fff!important;border:1px solid #dce7f4!important;box-shadow:0 10px 26px rgba(21,57,97,.08)!important}.contest-v13-situation-footer .contest-btn--primary{background:linear-gradient(135deg,#1768e5,#0f51c6)!important;box-shadow:0 8px 20px rgba(23,104,229,.22)!important}
/* Resultado final más cercano al panel aprobado */
.contest-v13-result-hero{border-radius:28px!important;background:linear-gradient(180deg,#fff,#f7fbff)!important;border:1px solid #dce7f4!important;box-shadow:0 18px 44px rgba(22,56,98,.10)!important}.contest-v13-result-copy h1{color:#153a76!important}.contest-v13-score{background:linear-gradient(145deg,#f5f0ff,#fff)!important;border:2px solid #8b63e5!important;border-radius:24px!important}.contest-v13-score strong{color:#6942ce!important}.contest-v13-result-lumix{background:linear-gradient(180deg,#edf8e8,#fff8db)!important;border-radius:24px!important}.contest-v13-result-lumix img{object-fit:contain!important}.contest-v13-result-situations>div{border-radius:16px!important;background:#fff!important;border:1px solid #dce7f4!important}
/* Comisión: panel más limpio y vivo */
.contest-admin-main{background:#f6f9fe!important}.contest-admin-card,.contest-podium-card{border-radius:22px!important;border:1px solid #dce7f4!important;box-shadow:0 10px 28px rgba(20,55,95,.07)!important}.contest-admin-stats article{border-radius:18px!important;border:1px solid #dce7f4!important;box-shadow:0 7px 20px rgba(20,55,95,.06)!important}.contest-table thead th{background:#eaf3ff!important;color:#184b85!important}.contest-table tbody tr:hover{background:#f1f8ff!important}.contest-row-status.is-finished{background:#e8f9ee!important;color:#197241!important}.contest-row-status.is-running{background:#e7f2ff!important;color:#1761b2!important}
/* Acceso y gestión */
.contest-auth__card--v11,.contest-account-card,.contest-import-card{border-radius:24px!important}.contest-form input,.contest-account-form input,.contest-account-form select{border-radius:12px!important}.contest-btn{border-radius:12px!important}
@media(max-width:980px){.contest-v14-resource{grid-template-columns:1fr!important}.contest-v14-resource>img{height:auto!important}.contest-v13-question-stack{grid-template-columns:1fr!important}.contest-v13-question:nth-child(5){grid-column:auto!important}}
.contest-v13-instructions-hero{display:grid!important;grid-template-columns:1fr 340px!important;gap:20px!important;align-items:center!important}.contest-v14-instructions-copy>span{display:inline-block!important;padding:8px 14px!important;border-radius:999px!important;background:rgba(255,255,255,.14)!important}.contest-v14-instructions-copy h1{font-size:clamp(38px,4vw,62px)!important}.contest-v14-instructions-mascot{height:245px;display:flex;align-items:flex-end;justify-content:center;position:relative}.contest-v14-instructions-mascot img{max-height:245px;max-width:250px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.2))}.contest-v14-instructions-mascot span{position:absolute;right:0;top:20px;max-width:170px;padding:12px 14px;background:#fff;color:#173d77;border-radius:20px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.14)}
@media(max-width:900px){.contest-v13-instructions-hero{grid-template-columns:1fr!important}.contest-v14-instructions-mascot{display:none!important}}
:root{--c15-navy:#073a7a;--c15-blue:#1f6fe8;--c15-purple:#7752de;--c15-green:#1aa66b;--c15-orange:#f47b20;--c15-gold:#ffc83d;--c15-ink:#15375a;--c15-paper:#fff;--c15-line:#d8e6f4;--c15-shadow:0 16px 38px rgba(24,58,98,.11)}
/* Capa V15: mas grafica, juvenil y aislada del resto de Ludimatica */
.contest-v13-participant-page,.contest-v13-instructions-page,.contest-v13-route-page,.contest-v13-exam-page,.contest-v13-result-page{background:linear-gradient(180deg,#eef7ff 0,#f9fbff 48%,#fff9ec 100%)!important;color:var(--c15-ink)!important;min-height:100vh}
.contest-v13-topbar{min-height:76px!important;background:linear-gradient(90deg,#062d67,#16569b)!important;border-bottom:2px solid #ffd34f!important;box-shadow:0 8px 24px rgba(8,45,93,.18)!important}.contest-v13-topbar .lm-brand{filter:none!important}.contest-v13-topbar nav a{border-radius:12px!important}
/* Participante */
.contest-v13-participant-hero{position:relative!important;overflow:hidden!important;min-height:260px!important;padding:34px 38px!important;border-radius:30px!important;background:radial-gradient(circle at 76% 15%,rgba(255,255,255,.18),transparent 22%),linear-gradient(115deg,#073c84,#1d73d2)!important;box-shadow:var(--c15-shadow)!important}.contest-v13-participant-hero::before{content:'✦   +   ★   ◇';position:absolute;left:46%;top:45px;color:rgba(255,255,255,.12);font-size:34px;letter-spacing:28px;transform:rotate(-8deg)}.contest-v13-participant-hero::after{content:'';position:absolute;right:-70px;bottom:-80px;width:430px;height:200px;border-radius:50%;background:linear-gradient(#9ce083,#4bad66);opacity:.85}.contest-v13-participant-hero>div{position:relative;z-index:2}.contest-v13-participant-hero img{position:relative;z-index:3;max-height:245px!important;object-fit:contain!important;filter:drop-shadow(0 18px 20px rgba(0,0,0,.2))}.contest-v13-participant-layout{gap:18px!important}.contest-v13-status-card,.contest-v13-participant-profile{border-radius:24px!important;border:1px solid var(--c15-line)!important;box-shadow:var(--c15-shadow)!important;background:#fff!important}.contest-v13-status-card header i{width:58px!important;height:58px!important;border-radius:18px!important}.contest-v13-participant-result strong{font-size:58px!important;color:#164e9c!important}.contest-v13-participant-rules{grid-template-columns:repeat(4,1fr)!important;gap:14px!important}.contest-v13-participant-rules article{border-radius:20px!important;border:1px solid var(--c15-line)!important;background:#fff!important;box-shadow:0 8px 22px rgba(24,58,98,.06)!important}.contest-v13-participant-rules article>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#eef5ff;font-size:26px}
/* Orientaciones */
.contest-v13-instructions-hero{position:relative!important;overflow:hidden!important;text-align:left!important;grid-template-columns:1fr 360px!important;background:radial-gradient(circle at 12% 20%,rgba(64,158,255,.25),transparent 23%),linear-gradient(120deg,#082f72,#4d40bb)!important;box-shadow:var(--c15-shadow)!important}.contest-v13-instructions-hero::before{content:'★  ✦  +  ✦';position:absolute;left:40px;bottom:25px;color:rgba(255,255,255,.13);font-size:25px;letter-spacing:24px}.contest-v13-instructions-grid article{min-height:185px!important;padding:24px!important;border-radius:22px!important;background:#fff!important;border:1px solid var(--c15-line)!important;box-shadow:0 9px 24px rgba(24,58,98,.07)!important}.contest-v13-instructions-grid article>span{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#edf6ff;font-size:32px}.contest-v13-instructions-grid article:nth-child(2)>span{background:#eff9f2}.contest-v13-instructions-grid article:nth-child(3)>span{background:#fff2dd}.contest-v13-instructions-grid article:nth-child(4)>span{background:#fff0df}.contest-v13-instructions-grid article:nth-child(5)>span{background:#eef4ff}.contest-v13-instructions-grid article:nth-child(6)>span{background:#f6efff}
/* Mapa */
.contest-v13-route-hero{background:linear-gradient(135deg,#fff,#f4f9ff)!important;border-radius:26px!important}.contest-v13-map-stage{min-height:650px!important;border-radius:30px!important;border:4px solid #fff!important;outline:1px solid #c8dff3!important;box-shadow:0 24px 55px rgba(15,64,108,.18)!important}.contest-v13-map-stage::after{content:'Sigue la ruta, supera cada reto y llega a la meta 🏆';position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.94);color:#174777;font-weight:900;box-shadow:0 8px 22px rgba(17,68,113,.14);white-space:nowrap}.contest-v13-stop{width:245px!important;min-height:145px!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important}.contest-v13-stop strong{font-size:18px!important}.contest-v13-stop-shield{width:54px!important;height:60px!important;font-size:21px!important}.contest-v13-stop.stop-1{border-color:#8a59df!important}.contest-v13-stop.stop-2{border-color:#27af6a!important}.contest-v13-stop.stop-3{border-color:#f08022!important}.contest-v13-stop.stop-4{border-color:#2d7fe2!important}.contest-v13-goal{width:130px!important;height:130px!important}
/* Examen: apariencia de cuaderno interactivo */
.contest-v13-topbar--exam{background:linear-gradient(90deg,#052c65,#18579d)!important}.contest-v13-exam-progress>div{height:11px!important;border:2px solid rgba(255,255,255,.18)!important}.contest-v13-situation-hero{position:relative!important;display:grid!important;grid-template-columns:1fr 190px!important;min-height:330px!important;padding:36px!important;border-radius:30px!important}.contest-v13-situation-hero::before{content:'✦';position:absolute;right:225px;top:35px;color:#ffd84d;font-size:38px;animation:c15spark 2.4s ease-in-out infinite}.contest-v13-situation-hero::after{content:'●  ✦  +';position:absolute;right:220px;bottom:35px;color:rgba(255,255,255,.18);letter-spacing:22px;font-size:24px}.contest-v13-situation-hero>div:first-child{position:relative;z-index:2}.contest-v13-situation-hero h1{font-size:clamp(43px,4.6vw,68px)!important;line-height:.98!important}.contest-v13-situation-hero h2{font-size:23px!important;font-style:italic!important}.contest-v13-situation-hero p{font-size:16.5px!important;max-width:850px!important}.contest-v13-level-badge{align-self:start!important;justify-self:end!important;min-width:160px!important;min-height:150px!important;border-radius:28px!important;display:grid!important;place-items:center!important;text-align:center!important}.contest-v13-level-badge b{width:75px!important;height:75px!important;border-radius:50%!important;background:white!important;color:#1464b7!important;display:grid!important;place-items:center!important;font-size:34px!important}.situation-1 .contest-v13-situation-hero{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 20%),linear-gradient(115deg,#6730c9,#4b2797)!important}.situation-2 .contest-v13-situation-hero{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 20%),linear-gradient(115deg,#08764b,#28a66a)!important}.situation-3 .contest-v13-situation-hero{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 20%),linear-gradient(115deg,#c64d12,#f27d25)!important}.situation-4 .contest-v13-situation-hero{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 20%),linear-gradient(115deg,#0750a5,#2777d5)!important}@keyframes c15spark{50%{transform:scale(1.18) rotate(12deg)}}
.contest-v14-resource{position:relative!important;overflow:hidden!important;grid-template-columns:1.05fr .95fr!important;padding:20px!important;border-radius:28px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;border:1px solid var(--c15-line)!important;box-shadow:var(--c15-shadow)!important}.contest-v14-resource::before{content:'RECURSO VISUAL';position:absolute;top:13px;right:18px;padding:5px 10px;border-radius:999px;background:#edf5ff;color:#2a68aa;font-size:9px;font-weight:950;letter-spacing:.12em}.contest-v14-resource>img{height:390px!important;border-radius:24px!important;background:#eef7ff!important}.contest-v14-resource__panel{padding:18px!important;border-radius:22px!important;background:#f8fbff!important;border:1px solid #dce9f5!important}.contest-v14-resource__panel header>span{width:52px!important;height:52px!important;border-radius:16px!important}.contest-v14-resource__panel aside{font-size:14px!important}.contest-v13-question-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.contest-v13-question{position:relative!important;overflow:hidden!important;min-height:260px!important;padding:22px!important;border-radius:24px!important;border:1px solid #dce8f5!important;background:#fff!important;box-shadow:0 10px 26px rgba(18,59,99,.07)!important}.contest-v13-question::after{content:'';position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:rgba(37,118,230,.05)}.contest-v13-question header>span{width:42px!important;height:42px!important;border-radius:14px!important;font-size:18px!important;box-shadow:0 5px 14px rgba(0,0,0,.08)!important}.contest-v13-question h3{font-size:20px!important}.contest-v13-question>p{font-size:15px!important;line-height:1.52!important}.contest-v13-question.area-matematica{border-top:6px solid #2477e6!important}.contest-v13-question.area-comunicacion{border-top:6px solid #7c4fd2!important}.contest-v13-question.area-dpcc{border-top:6px solid #f17a20!important}.contest-v13-help{border-radius:14px!important;background:#fff7d9!important;border:1px solid #f2d680!important}.contest-v13-time-picker{background:linear-gradient(135deg,#edf5ff,#f7fbff)!important;border:1px solid #d5e5f5!important}.contest-v13-text-input input{min-height:56px!important;font-size:20px!important;font-weight:800!important}.contest-v13-choice-grid button{min-height:62px!important;border-radius:16px!important}.contest-v13-choice-grid button i{width:34px!important;height:34px!important;border-radius:50%!important}.contest-v13-multi button{border-radius:15px!important}.contest-v13-number-grid article{border-radius:16px!important;background:#f7fbff!important}.contest-v13-order-list button,.contest-v13-match label{border-radius:15px!important}.contest-v13-dual-select,.contest-v13-simulator,.contest-v13-match{background:#f7fbff!important}.contest-v13-reflection{display:flex!important;align-items:center!important;gap:12px!important;padding:16px 20px!important;background:linear-gradient(90deg,#fff3c9,#fff9e8)!important}.contest-v13-reflection>span{font-size:31px!important}.contest-v13-situation-footer{padding:20px!important}.contest-v13-situation-footer .contest-btn--primary{font-size:16px!important;padding:15px 22px!important}
/* Resultado */
.contest-v13-result-hero{position:relative!important;overflow:hidden!important;padding:36px!important}.contest-v13-result-hero::before{content:'★  ✦  ★';position:absolute;left:28px;top:18px;color:#f1b72c;letter-spacing:24px;font-size:24px}.contest-v13-result-lumix{background:linear-gradient(#e9f7df,#fff5ce)!important}.contest-v13-result-lumix::after{content:'¡Cada reto te acerca más a tus metas!';display:block;padding:10px 12px;border-radius:16px;background:white;color:#164b89;font-weight:850;box-shadow:0 7px 18px rgba(15,72,130,.1)}.contest-v13-result-situations>div{border-left:6px solid #7650df!important}.contest-v13-result-situations>div:nth-child(2){border-left-color:#24aa69!important}.contest-v13-result-situations>div:nth-child(3){border-left-color:#ef7a20!important}.contest-v13-result-situations>div:nth-child(4){border-left-color:#277be1!important}
/* Comisión y credenciales */
.contest-admin-main{background:linear-gradient(180deg,#f3f8ff,#fbfdff)!important}.contest-admin-header{border-radius:22px!important;background:#fff!important;padding:18px 22px!important;border:1px solid #dce7f3!important;box-shadow:0 8px 22px rgba(18,58,100,.06)!important}.contest-admin-stats article{background:#fff!important}.contest-admin-stats article:nth-child(1){border-top:5px solid #7751df!important}.contest-admin-stats article:nth-child(2){border-top:5px solid #2a7bdc!important}.contest-admin-stats article:nth-child(3){border-top:5px solid #24aa68!important}.contest-admin-stats article:nth-child(4){border-top:5px solid #f2a329!important}.contest-v4-individual-layout{gap:18px!important}.contest-v4-individual-form,.contest-v4-individual-guide{border-radius:24px!important}.contest-v4-created-account{border:2px solid #53bd7b!important;border-radius:24px!important;background:linear-gradient(180deg,#effbf3,#fff)!important;box-shadow:0 12px 30px rgba(27,127,71,.1)!important}.contest-v4-created-account dl{grid-template-columns:1.2fr 1.2fr .8fr .5fr!important}.contest-v4-created-account dd{font-size:17px!important;font-weight:900!important;color:#123e75!important;word-break:break-all!important}.contest-v15-credential-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.contest-v15-credential-tools button{padding:9px 12px;border:1px solid #cbddec;border-radius:10px;background:white;color:#174c82;font-weight:850;cursor:pointer}
@media(max-width:1000px){.contest-v13-participant-rules{grid-template-columns:repeat(2,1fr)!important}.contest-v13-situation-hero{grid-template-columns:1fr!important}.contest-v13-level-badge{display:none!important}.contest-v14-resource{grid-template-columns:1fr!important}.contest-v13-question-stack{grid-template-columns:1fr!important}.contest-v13-instructions-hero{grid-template-columns:1fr!important}}@media(max-width:650px){.contest-v13-participant-rules{grid-template-columns:1fr!important}.contest-v13-map-stage::after{display:none}.contest-v13-situation-hero{padding:24px!important}.contest-v13-situation-hero h1{font-size:40px!important}}

/* Ajustes V16: replica visual mejorada, texto base y gestion de participantes */
.contest-v16-feature-panel{display:grid;grid-template-columns:1.3fr .9fr;gap:18px;padding:18px;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(6px);box-shadow:0 18px 40px rgba(0,0,0,.12)}
.contest-v16-feature-panel span{display:block;font-size:11px;letter-spacing:.24em;font-weight:900;color:#ffe28a;margin-bottom:6px}.contest-v16-feature-panel strong{display:block;font-size:20px;line-height:1.25;margin-bottom:8px}.contest-v16-feature-panel p{margin:0;color:rgba(255,255,255,.92);line-height:1.55}.contest-v16-feature-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.contest-v16-feature-panel li{padding:12px 14px;border-radius:16px;background:rgba(9,23,51,.4);border:1px solid rgba(255,255,255,.14);font-weight:700}.contest-v16-feature-panel li b{display:inline-flex;width:22px;justify-content:center;margin-right:6px;color:#ffe28a}
.contest-v16-text-frame{margin:14px 0 16px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fffdf6,#fff);border:1px solid #f2e3ab;box-shadow:0 12px 28px rgba(138,106,14,.08)}.contest-v16-text-frame strong{display:block;font-size:12px;letter-spacing:.12em;color:#8b6b00;margin-bottom:8px}.contest-v16-text-frame p{margin:0;color:#4a4f5f;line-height:1.6;font-size:14px}
.contest-admin-note--highlight{margin-bottom:18px;padding:14px 16px;border-radius:16px;background:#f4f8ff;border:1px solid #d7e6fb;color:#234c78}
.contest-v16-remove-btn{padding:10px 14px;border:none;border-radius:12px;background:linear-gradient(180deg,#ff8b7b,#e24d40);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 18px rgba(226,77,64,.22)}.contest-v16-remove-btn:disabled{opacity:.65;cursor:wait}
.contest-v16-podium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.contest-v16-podium-card{position:relative;padding:24px 16px 18px;border-radius:26px;background:#fff;border:1px solid #dce6f5;box-shadow:0 18px 34px rgba(18,58,100,.08);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.contest-v16-podium-card.is-first{transform:translateY(-8px);border-color:#f2cc57;background:linear-gradient(180deg,#fff8dd,#fff)}.contest-v16-podium-card.is-second{background:linear-gradient(180deg,#f5f7fb,#fff)}.contest-v16-podium-card.is-third{background:linear-gradient(180deg,#fff2ea,#fff)}.contest-v16-podium-rank{position:absolute;top:12px;right:14px;font-size:13px;font-weight:900;color:#50617d}.contest-v16-podium-avatar{width:84px;height:84px;border-radius:999px;display:grid;place-items:center;font-size:42px;background:linear-gradient(180deg,#f0f6ff,#fff);border:4px solid #fff;box-shadow:0 14px 22px rgba(18,58,100,.14)}.contest-v16-podium-card strong{font-size:16px;color:#193c69}.contest-v16-podium-card small{font-size:13px;color:#60718d}.contest-v16-podium-card em{font-style:normal;font-weight:900;color:#6a4b06}
.contest-admin-table td small{display:block;margin-top:3px;color:#7384a0}.contest-pill.is-finished{background:#eaf8ef;color:#15784a}.contest-pill.is-running{background:#eef5ff;color:#235fa2}.contest-pill.is-pending{background:#f2f4f8;color:#5d6f8a}
@media (max-width:900px){.contest-v16-feature-panel,.contest-v16-podium-grid{grid-template-columns:1fr}}
:root{--rv18-blue:#073c8e;--rv18-ink:#102a56;--rv18-muted:#60718d;--rv18-line:#d8e3f2;--rv18-card:#fff;--rv18-bg:#f4f8fd}
.rv18-spec-page,.rv18-spec-review-page{min-height:100vh;background:linear-gradient(180deg,#f9fbfe 0,#eef4fa 100%);color:var(--rv18-ink)}
.rv18-spec-topbar,.rv18-spec-review-topbar{height:76px;padding:0 clamp(22px,4vw,56px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(90deg,#063785,#0a4ca0 62%,#07367d);color:#fff;border-bottom:2px solid #f5b51d;box-shadow:0 8px 22px rgba(15,45,90,.12)}
.rv18-spec-topbar>div,.rv18-spec-review-topbar>div{display:grid;justify-items:center;line-height:1.05}.rv18-spec-topbar>div small,.rv18-spec-review-topbar>div small{font-size:12px}.rv18-spec-topbar>div strong,.rv18-spec-review-topbar>div strong{font-size:19px}.rv18-spec-topbar>aside,.rv18-spec-review-topbar>aside{justify-self:end;display:flex;gap:10px;align-items:center}.rv18-spec-topbar>aside span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:12px}.rv18-spec-topbar>aside b,.rv18-spec-review-topbar>aside{padding:10px 14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);border-radius:999px;font-size:12px}
.rv18-spec-review-nav{max-width:1160px;margin:12px auto 0;padding:0 14px;display:flex;justify-content:flex-end;gap:18px}.rv18-spec-review-nav a{color:#0d4d9d;font-weight:800;text-decoration:none;font-size:13px}
.rv18-spec-shell{max-width:1160px;margin:26px auto 0;padding:0 18px 28px}.rv18-spec-review-situation{margin-top:24px;margin-bottom:34px}
.rv18-spec-hero{--accent:#5b30bf;--accent2:#2c177a;position:relative;min-height:390px;border-radius:30px;padding:28px 34px;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 16px 34px rgba(32,44,83,.14);display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px}
.rv18-spec-hero--2{--accent:#078943;--accent2:#006830}.rv18-spec-hero--3{--accent:#ff8b05;--accent2:#f36600}.rv18-spec-hero--4{--accent:#1177dd;--accent2:#035bbd}
.rv18-spec-hero:after{content:"";position:absolute;right:-80px;bottom:-100px;width:360px;height:360px;border:1px dashed rgba(255,255,255,.35);border-radius:50%}.rv18-spec-hero__copy{position:relative;z-index:2;max-width:790px}.rv18-spec-hero__kicker{display:inline-block;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;background:rgba(255,255,255,.06)}.rv18-spec-hero h1{font-size:clamp(36px,4.2vw,58px);line-height:1.01;margin:18px 0 5px;max-width:760px;letter-spacing:-1.4px}.rv18-spec-hero h2{font-size:clamp(18px,2vw,24px);font-style:italic;margin:0 0 20px;color:#fff}
.rv18-spec-reading{max-width:760px;display:grid;grid-template-columns:46px 1fr;gap:14px;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:rgba(255,255,255,.09);padding:17px 18px}.rv18-spec-reading__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(0,0,0,.12);font-size:23px}.rv18-spec-reading b{font-size:12px;color:#ffe748}.rv18-spec-reading p{margin:7px 0 9px;line-height:1.5;font-size:15px}.rv18-spec-reading small{opacity:.86;font-size:10px}
.rv18-spec-hero__art{position:relative;z-index:2;min-height:320px}.rv18-spec-level{position:absolute;right:8px;top:10px;width:142px;height:138px;border-radius:24px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);display:grid;place-items:center;align-content:center;text-align:center;gap:8px}.rv18-spec-level strong{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--accent);font-size:40px}.rv18-spec-level span{font-weight:900;font-size:12px;padding:0 8px}.rv18-spec-chat{position:absolute;left:20px;top:40px;width:42px;height:26px;border:2px solid rgba(255,255,255,.65);border-radius:14px}.rv18-spec-chat:after{content:"";position:absolute;bottom:-8px;left:12px;width:10px;height:10px;border-left:2px solid rgba(255,255,255,.65);transform:skew(-28deg)}.rv18-spec-play{position:absolute;left:84px;top:120px;width:54px;height:54px;border:2px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;font-size:28px;color:rgba(255,255,255,.55)}.rv18-spec-orbit{position:absolute;right:0;bottom:0;width:170px;height:170px;border:2px dashed rgba(255,255,255,.35);border-radius:50%}.rv18-spec-orbit i{position:absolute;left:50px;top:45px;width:78px;height:78px;border:3px double rgba(255,255,255,.5);border-radius:50%}.rv18-spec-phone{position:absolute;right:125px;bottom:22px;border:2px solid rgba(255,255,255,.32);border-radius:8px;width:36px;height:60px;display:grid;place-items:center;color:rgba(255,255,255,.35);transform:rotate(-10deg)}.rv18-spec-spark{position:absolute;color:#ffe33a;font-size:30px}.rv18-spec-spark.s1{left:56px;top:82px}.rv18-spec-spark.s2{right:155px;top:44px}
.rv18-spec-resource-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.rv18-spec-photo,.rv18-spec-data-card,.rv18-spec-shelf-card{margin:0;background:#fff;border:1px solid var(--rv18-line);border-radius:22px;box-shadow:0 8px 22px rgba(20,45,80,.07);overflow:hidden}.rv18-spec-photo{padding:12px;position:relative}.rv18-spec-photo img{display:block;width:100%;height:330px;object-fit:cover;border-radius:17px}.rv18-spec-photo figcaption,.rv18-spec-resource-tag{position:absolute;left:26px;bottom:22px;background:#fff;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.rv18-approved-panel-shot{margin:0;display:block}.rv18-approved-panel-shot img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 8px 22px rgba(20,45,80,.07)}
.rv18-spec-data-card{padding:18px;display:flex;flex-direction:column}.rv18-spec-data-card>header{display:flex;gap:12px;align-items:center}.rv18-spec-data-card>header>span{width:42px;height:42px;display:grid;place-items:center;background:#eff5ff;border-radius:14px;font-weight:900}.rv18-spec-data-card>header strong{display:block;font-size:19px}.rv18-spec-data-card>header small{color:#7b8ba4}.rv18-spec-data-card>aside{margin-top:auto;border:1px solid #f2c661;background:#fff8df;border-radius:15px;padding:13px 14px;color:#4d3a0b}
.rv18-time-layout,.rv18-pie-layout{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:14px;margin:14px 0}.rv18-time-donut,.rv18-pie{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff 0 38%,transparent 39%),conic-gradient(#2e94ec 0 30%,#4bb7b9 30% 64%,#5db255 64% 74%,#efa51b 74% 82%,#7646bf 82% 86%,#ed4c69 86% 100%)}.rv18-pie{background:radial-gradient(circle,#fff 0 38%,transparent 39%),conic-gradient(#ef4254 0 30%,#f6a01d 30% 55%,#69a935 55% 75%,#2d82dd 75% 90%,#7446c8 90% 100%)}.rv18-time-donut>div,.rv18-pie>span{text-align:center;color:#17345e;font-weight:900}.rv18-time-donut strong{display:block;font-size:22px}.rv18-time-donut span{font-size:11px}.rv18-pie>span{font-size:24px}.rv18-time-layout ul,.rv18-pie-layout ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.rv18-time-layout li,.rv18-pie-layout li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:11px}.rv18-time-layout i,.rv18-pie-layout i{width:9px;height:9px;border-radius:50%}.t1{background:#2e94ec}.t2{background:#4bb7b9}.t3{background:#5db255}.t4{background:#efa51b}.t5{background:#7646bf}.t6{background:#ed4c69}.p1{background:#ef4254}.p2{background:#f6a01d}.p3{background:#69a935}.p4{background:#2d82dd}.p5{background:#7446c8}
.rv18-family-table,.rv18-data-table{display:grid;margin:14px 0;border:1px solid #d5e1ef;border-radius:13px;overflow:hidden}.rv18-family-table>div,.rv18-data-table>div{display:grid;grid-template-columns:1fr 1fr;padding:8px 12px;border-bottom:1px solid #e2e9f2;font-size:12px}.rv18-family-table>div:first-child,.rv18-data-table>div:first-child{background:#e9f6e7;color:#1b6134}.rv18-data-table>div:first-child{background:#eaf2ff;color:#0f4a98}.rv18-data-table p{margin:0;padding:10px 12px;background:#edf4ff;font-weight:900;color:#104690;font-size:12px}.rv18-spec-shelf-card{position:relative;padding:14px 16px 18px}.rv18-spec-resource-title{display:flex;gap:12px;align-items:flex-start;font-weight:900;font-size:12px}.rv18-spec-resource-title b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#6c2bd9;color:#fff;font-size:21px}.rv18-spec-shelf{display:block;width:100%;height:300px}.rv18-spec-resource-tag{position:absolute;left:22px;bottom:14px;color:#6c2bd9;border:1px solid #ded0ff}
.rv18-spec-bars{height:235px;display:flex;align-items:flex-end;gap:12px;padding:38px 8px 0;margin:10px 0}.rv18-spec-bars>div{flex:1;height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-items:end;position:relative}.rv18-spec-bars>div>span{font-size:11px}.rv18-spec-bars>div>b{font-size:11px}.rv18-spec-bars>div>i{grid-column:1/-1;align-self:end;justify-self:center;width:34px;border-radius:4px 4px 0 0;position:relative;min-height:35px}.rv18-spec-bars>div>i em{position:absolute;top:-22px;width:100%;text-align:center;font-style:normal;font-weight:900}.rv18-spec-bars .b1{background:#2e78bf}.rv18-spec-bars .b2{background:#eea112}.rv18-spec-bars .b3{background:#7552b0}.rv18-spec-bars .b4{background:#548a45}.rv18-spec-bars .b5{background:#a6651d}
.rv18-spec-questions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.rv18-spec-question{background:#fff!important;border:1px solid var(--rv18-line)!important;border-top:4px solid #2878dc!important;border-radius:18px!important;padding:18px!important;box-shadow:0 7px 18px rgba(20,45,80,.05);min-width:0}.situation-1 .rv18-spec-question{border-top-color:#6b31ce!important}.situation-2 .rv18-spec-question{border-top-color:#1c9a54!important}.situation-3 .rv18-spec-question{border-top-color:#ff8120!important}.situation-4 .rv18-spec-question{border-top-color:#1676dc!important}.rv18-spec-question>header{display:flex;gap:10px;align-items:center}.rv18-spec-question>header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e9f1ff;color:#0a56b1;font-weight:950;font-size:18px}.situation-1 .rv18-spec-question>header>span{background:#f0e9ff;color:#6726c8}.situation-2 .rv18-spec-question>header>span{background:#e9f7ee;color:#168542}.situation-3 .rv18-spec-question>header>span{background:#fff0e5;color:#ee7114}.rv18-spec-question header small{font-size:10px;font-weight:900;color:#0c589d}.rv18-spec-question h3{margin:3px 0 0;font-size:18px;color:#132d57}.rv18-spec-question>p{font-size:13px;line-height:1.45;color:#2f4668}.rv18-spec-questions--1 .rv18-q-5,.rv18-spec-questions--3 .rv18-q-15,.rv18-spec-questions--4 .rv18-q-20{grid-column:1/-1}.rv18-spec-questions--2{grid-template-columns:repeat(6,minmax(0,1fr))}.rv18-spec-questions--2 .rv18-q-6,.rv18-spec-questions--2 .rv18-q-7,.rv18-spec-questions--2 .rv18-q-8{grid-column:span 2}.rv18-spec-questions--2 .rv18-q-9,.rv18-spec-questions--2 .rv18-q-10{grid-column:span 3}
.rv18-spec-choice-grid{grid-template-columns:1fr 1fr!important}.rv18-spec-question .contest-v13-choice-grid button,.rv18-spec-question .contest-v13-multi button{border:1px solid #d8e3f0;background:#fbfdff;box-shadow:none;min-height:48px}.rv18-spec-question .contest-v13-choice-grid button.is-selected,.rv18-spec-question .contest-v13-multi button.is-selected{background:#eaf3ff;border-color:#6aa2ea}.rv18-spec-question .contest-v13-choice-grid button i{background:#e7f0ff;color:#0d5ab3}.contest-v13-help{border-radius:12px;background:#fff8dc;border:1px solid #f2cd6b;color:#695115;font-size:11px}.contest-v13-text-input input{min-height:50px}.rv18-question-figure{margin:10px 0;border:1px solid #ecd49a;border-radius:14px;overflow:hidden;background:#fffaf0}.rv18-question-figure img{display:block;width:100%;height:auto}.rv18-question-figure--flat{background:#fff8e8}
.rv18-work-table{display:grid;border:1px solid #e2d5bd;border-radius:13px;overflow:hidden}.rv18-work-table>div{display:grid;grid-template-columns:110px 1fr 150px;align-items:center;border-bottom:1px solid #e7e1d7;min-height:45px}.rv18-work-table .head{background:#fbf6ed}.rv18-work-table>div>*{padding:8px 10px;text-align:center}.rv18-work-table input{width:90px;margin:auto;padding:8px;border:1px solid #d7dde8;border-radius:7px}.rv18-work-table .minimum{display:grid;grid-template-columns:1fr 110px;gap:10px;align-items:center;padding:10px;background:#ebf7e9;font-size:12px}.rv18-work-table .minimum input{width:90px;padding:9px;border:1px solid #98c89b;border-radius:7px}
.rv18-spec-reflection{max-width:none!important;margin:14px 0 0!important;border:1px solid #efc257!important;background:#fff7d9!important;border-radius:16px!important}.rv18-spec-footer{margin-top:14px!important;border:1px solid #dbe6f2!important;border-radius:16px!important;background:#fff!important}.rv18-spec-footer>div{text-align:center}.rv18-spec-footer small{display:block;color:#8390a3;margin-top:3px}
.rv18-review-summary{max-width:1124px;margin:14px auto;padding:12px 16px;border-radius:15px;background:#fff;border:1px solid #dce7f3;display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:#48617f}.rv18-review-summary strong{color:#0d4e99}.rv18-review-options{display:grid;gap:7px;margin-top:8px}.rv18-review-options>div{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;border:1px solid #dce6f2;border-radius:10px;padding:8px;background:#fbfdff}.rv18-review-options>div.is-correct{background:#ebf8ee;border-color:#89c99a}.rv18-review-options b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#0e56aa}.rv18-review-options strong{color:#13803b;font-size:11px}.rv18-correct-answer{margin-top:10px;border:1px solid #7fc195;background:#edf9f0;border-radius:11px;padding:10px;display:grid;gap:4px}.rv18-correct-answer span{font-size:9px;font-weight:950;color:#168341}.rv18-correct-answer strong{font-size:12px;color:#245b37}
@media(max-width:900px){.rv18-spec-topbar,.rv18-spec-review-topbar{grid-template-columns:1fr auto;height:auto;padding-top:12px;padding-bottom:12px}.rv18-spec-topbar>div,.rv18-spec-review-topbar>div{display:none}.rv18-spec-hero{grid-template-columns:1fr;min-height:auto}.rv18-spec-hero__art{display:none}.rv18-spec-resource-row{grid-template-columns:1fr}.rv18-spec-questions,.rv18-spec-questions--2{grid-template-columns:1fr}.rv18-spec-questions--2 .rv18-q-6,.rv18-spec-questions--2 .rv18-q-7,.rv18-spec-questions--2 .rv18-q-8,.rv18-spec-questions--2 .rv18-q-9,.rv18-spec-questions--2 .rv18-q-10{grid-column:auto}.rv18-spec-choice-grid{grid-template-columns:1fr!important}.rv18-time-layout,.rv18-pie-layout{grid-template-columns:1fr}.rv18-spec-photo img{height:auto}.rv18-spec-hero h1{font-size:38px}}
.rv18-spec-review-topbar>div a{display:grid;justify-items:center;color:#fff;text-decoration:none;line-height:1.05}.rv18-spec-review-topbar>div a small{font-size:12px}.rv18-spec-review-topbar>div a strong{font-size:19px}
/* Categoría 1 V19: capa visual limitada al examen y a su modo de revisión. */
.rv19-situation-hero{min-height:360px}
.rv19-reading-card{max-width:100%;box-sizing:border-box}
.rv19-reading-card p{font-size:15px;line-height:1.58;text-wrap:pretty}
.rv19-reading-card small{display:block;line-height:1.35}
.rv19-infographic-first{max-width:760px;display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.32);border-radius:22px;background:rgba(255,255,255,.1);padding:18px 20px}
.rv19-infographic-first>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(0,0,0,.13);font-size:24px}
.rv19-infographic-first b{font-size:12px;color:#ffe86c;letter-spacing:.03em}.rv19-infographic-first p{margin:6px 0 0;line-height:1.45;font-size:14px}
.rv19-resource-row{align-items:stretch}
.rv19-photo{display:flex;align-items:center;justify-content:center;min-height:0;background:#fff}
.rv19-photo img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;border-radius:17px}
.rv19-uncropped-figure{display:flex;align-items:center;justify-content:center;padding:12px;background:#fff;border:1px solid var(--rv18-line);border-radius:22px;box-shadow:0 8px 22px rgba(20,45,80,.07);overflow:hidden}
.rv19-uncropped-figure img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;object-position:center;border-radius:17px;image-rendering:auto}
.rv19-shelf-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.rv19-design-card{justify-content:space-between}
.rv19-measure-grid{display:grid;grid-template-columns:1fr 130px 1fr;gap:12px;align-items:center;margin:22px 0}
.rv19-measure-grid>div:not(.rv19-scale-arrow){min-height:132px;border:1px solid #d9e6f2;border-radius:18px;padding:18px;display:grid;align-content:center;gap:7px;background:linear-gradient(180deg,#fbfdff,#f4f9ff)}
.rv19-measure-grid span{font-size:11px;font-weight:900;color:#64809d;text-transform:uppercase}.rv19-measure-grid strong{font-size:22px;color:#174f8f}.rv19-measure-grid b{font-size:17px;color:#253f60}
.rv19-scale-arrow{text-align:center;display:grid;gap:4px;color:#168542}.rv19-scale-arrow span{font-size:22px;color:#168542}.rv19-scale-arrow small{font-size:10px;color:#6c7f8d}.rv19-scale-arrow:before,.rv19-scale-arrow:after{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,#38a463,transparent);margin:4px 0}
.rv19-peru-section{display:grid;gap:18px;margin-top:18px}
.rv19-infographic-card{margin:0;background:#fff;border:1px solid var(--rv18-line);border-radius:24px;padding:12px;box-shadow:0 10px 26px rgba(20,45,80,.08);overflow:hidden}
.rv19-infographic-card img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;border-radius:16px;background:#fff;image-rendering:auto}
.rv19-infographic-card figcaption{padding:10px 8px 2px;color:#61738b;font-size:11px;line-height:1.35}
.rv19-challenge-text{background:linear-gradient(135deg,#fffdf6,#fff7de);border:1px solid #efd083;border-radius:24px;padding:24px 28px;box-shadow:0 8px 22px rgba(77,58,11,.06)}
.rv19-challenge-text header{display:flex;gap:13px;align-items:center;margin-bottom:14px}.rv19-challenge-text header>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f6b928;color:#fff;font-size:23px}.rv19-challenge-text header small{display:block;color:#886715;font-weight:950;font-size:10px;letter-spacing:.04em}.rv19-challenge-text header strong{display:block;color:#263d59;font-size:22px;margin-top:3px}.rv19-challenge-text p{margin:10px 0;color:#344a64;font-size:15px;line-height:1.62;text-wrap:pretty}.rv19-challenge-text footer{margin-top:16px;padding-top:12px;border-top:1px solid #ead9a9;color:#79683b;font-size:10px;line-height:1.4}
.rv19-algebra-table{font-size:13px}.rv19-algebra-table>div{min-height:38px;align-items:center}.rv19-algebra-table strong{font-size:14px;color:#173f74}
.rv19-banderines{padding:8px;background:#fff}.rv19-banderines img{width:100%;height:auto;max-height:320px;object-fit:contain}
.rv18-spec-questions--2{grid-template-columns:1fr 1fr!important}.rv18-spec-questions--2 .rv18-q-6,.rv18-spec-questions--2 .rv18-q-7,.rv18-spec-questions--2 .rv18-q-8,.rv18-spec-questions--2 .rv18-q-9{grid-column:auto!important}.rv18-spec-questions--2 .rv18-q-10{grid-column:1/-1!important}
.rv18-spec-question{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.rv18-spec-question:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,45,80,.09)}
.rv18-spec-question>p{font-size:14px!important;line-height:1.52!important;text-wrap:pretty}.rv18-spec-question h3{line-height:1.18}
.contest-v13-match label{min-height:58px}.contest-v13-order article{min-height:58px}.contest-v13-shield .shield-options button{min-height:54px}
@media(max-width:900px){.rv19-situation-hero{min-height:auto}.rv19-shelf-row,.rv19-resource-row{grid-template-columns:1fr}.rv19-measure-grid{grid-template-columns:1fr}.rv19-scale-arrow:before,.rv19-scale-arrow:after{max-width:180px;width:100%;margin:4px auto}.rv19-challenge-text{padding:20px}.rv19-infographic-card{padding:8px}.rv18-spec-questions--2{grid-template-columns:1fr!important}.rv18-spec-questions--2 .rv18-q-10{grid-column:auto!important}}
@media(min-width:901px){.rv19-peru-section .rv19-infographic-card img{min-height:420px}}

/* V20: precisión pedagógica, progresión de dificultad y formatos de respuesta diferenciados. */
.rv20-reading-card p{white-space:normal;font-size:15px;line-height:1.62}
.rv20-reading-card__body{display:grid;gap:0}
.rv20-reading-card__body p{margin:8px 0}
.rv20-reading-card__body p:first-child{margin-top:6px}
.rv20-reading-card__body p:last-child{margin-bottom:0}
.rv20-reading-card small{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.22)}
.rv20-resource-row{gap:18px}
.rv20-photo,.rv20-uncropped-figure{min-width:0}
.rv20-photo img,.rv20-uncropped-figure img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.rv20-context-card{display:flex;flex-direction:column;justify-content:space-between}
.rv20-context-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.rv20-context-points>div{border:1px solid #dce7f3;border-radius:17px;background:#f8fbff;padding:15px;display:grid;gap:5px;min-width:0}
.rv20-context-points b{font-size:20px;color:#174f8f}.rv20-context-points span{font-size:11px;line-height:1.35;color:#5e728b;font-weight:800}
.rv20-context-points--shelf b{font-size:18px}
.rv20-waste-card{overflow:hidden}
.rv20-infographic-card img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}
.rv20-challenge-text p{max-width:none}
.rv20-algebra-table{margin-bottom:14px}
.rv20-question-reference-card{margin:14px 0 16px;padding:10px;background:#fff;border:1px solid #dce6f1;border-radius:20px;box-shadow:0 8px 22px rgba(20,45,80,.06);overflow:hidden}
.rv20-question-reference-card img{display:block;width:100%;height:auto;object-fit:contain;border-radius:14px;background:#fff}
.rv20-question-reference-card--support img{max-height:420px}
.rv20-triangle-reference{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px;margin:14px 0 16px;padding:14px 16px;border:1px solid #dce7f2;border-radius:18px;background:#f9fbfe}
.rv20-triangle-reference__shape{position:relative;width:160px;height:125px;border-left:8px solid #8a5429;border-bottom:8px solid #8a5429;box-sizing:border-box}
.rv20-triangle-reference__shape:after{content:"";position:absolute;left:-3px;bottom:0;width:198px;height:8px;background:#bd7336;transform:rotate(-36.6deg);transform-origin:left center;border-radius:8px}
.rv20-triangle-reference__shape span{position:absolute;z-index:2;font-weight:950;color:#174e79;background:#fff;border:1px solid #cfe0ed;border-radius:10px;padding:3px 7px;box-shadow:0 2px 8px rgba(22,54,84,.08)}
.rv20-triangle-reference__shape .angle-top{left:12px;top:10px;color:#167946}.rv20-triangle-reference__shape .angle-left{left:8px;bottom:8px}.rv20-triangle-reference__shape .angle-right{right:-42px;bottom:9px;color:#167946}
.rv20-triangle-reference small{font-size:12px;line-height:1.45;color:#5b7088}
.rv20-banderines{border:1px solid #dce6f1;border-radius:18px;margin:14px 0}.rv20-banderines img{max-height:360px}

.rv20-choice-grid button{min-height:64px}
.rv20-schedule-table,.rv20-proportion-table{border:1px solid #d7e3f0;border-radius:18px;overflow:hidden;background:#fff;margin-top:14px}
.rv20-schedule-table>div,.rv20-proportion-table>div{display:grid;align-items:center;min-height:48px;border-bottom:1px solid #e7eef6}
.rv20-schedule-table>div{grid-template-columns:minmax(0,1.5fr) minmax(130px,.7fr)}
.rv20-proportion-table>div{grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr) minmax(130px,.8fr)}
.rv20-schedule-table>div:last-child,.rv20-proportion-table>div:last-child{border-bottom:0}
.rv20-schedule-table .head,.rv20-proportion-table .head{background:#eef5fc;color:#38566f;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.rv20-schedule-table span,.rv20-schedule-table strong,.rv20-proportion-table span,.rv20-proportion-table strong,.rv20-schedule-table b,.rv20-proportion-table b{padding:10px 14px}
.rv20-schedule-table label,.rv20-proportion-table label{display:flex;align-items:center;gap:8px;padding:7px 12px}
.rv20-schedule-table input,.rv20-proportion-table input{width:100%;min-width:0;border:2px solid #9eb9d4;border-radius:11px;padding:9px 10px;font-size:16px;font-weight:900;text-align:center;background:#fbfdff}
.rv20-schedule-table em,.rv20-proportion-table em{font-style:normal;font-weight:900;color:#54708d}
.rv20-schedule-table .total{background:#f6fbf8}.rv20-schedule-table .total strong{color:#14794f;font-size:17px}

.rv20-token-build{display:grid;gap:14px;margin-top:14px}.rv20-expression{display:flex;align-items:center;justify-content:center;gap:9px;min-height:78px;border:2px dashed #aabed4;border-radius:18px;background:#f8fbff;padding:14px}.rv20-expression>span{font-size:16px;font-weight:950;color:#38536f}.rv20-expression>b{min-width:78px;padding:12px 14px;border-radius:13px;background:#fff;border:1px solid #cddaea;color:#163f73;text-align:center;font-size:18px;box-shadow:0 3px 8px rgba(22,55,91,.06)}
.rv20-token-bank{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.rv20-token-bank button{border:1px solid #b8cae0;border-radius:13px;background:#fff;padding:10px 18px;font-weight:900;color:#34516e;cursor:pointer;min-height:44px}.rv20-token-bank button.is-selected{border-color:#2474be;background:#eaf4ff;color:#124c83}

.rv20-inline-select{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:16px;border:1px solid #dbe6f0;border-radius:17px;background:#fbfdff;font-size:15px;line-height:1.45}.rv20-inline-select>span{font-weight:800;color:#334e68}.rv20-inline-select select{flex:1;min-width:240px;border:2px solid #9db8d4;border-radius:12px;padding:10px 12px;font-size:15px;background:#fff;color:#274763}
.rv20-match label{background:#fbfdff;border:1px solid #e0e9f2;border-radius:15px;padding:10px 12px}.rv20-match label>span{display:flex;align-items:flex-start;gap:8px}.rv20-match-index{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e7f2fd;color:#28618f;font-style:normal;font-size:11px;font-weight:950}
.rv20-order article{background:#fbfdff}
.rv20-dual-select{background:#fbfdff;border:1px solid #dfe8f2;border-radius:18px;padding:14px}

.rv20-decision-pair{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:10px;align-items:start;margin-top:14px}.rv20-decision-pair section{border:1px solid #dce6f0;border-radius:18px;background:#fbfdff;padding:12px;display:grid;gap:8px}.rv20-decision-pair h4{margin:0 0 4px;font-size:12px;letter-spacing:.04em;color:#536e88}.rv20-decision-pair button{display:grid;grid-template-columns:30px 1fr;align-items:start;gap:8px;text-align:left;border:1px solid #d9e3ed;border-radius:12px;background:#fff;padding:10px;cursor:pointer;min-height:54px}.rv20-decision-pair button i,.rv20-evidence-conclusion button i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#edf3f9;color:#43627d;font-style:normal;font-size:10px;font-weight:950}.rv20-decision-pair button span{font-size:12px;line-height:1.38;color:#344e67}.rv20-decision-pair button.is-selected{border-color:#2c78b9;background:#edf7ff}.rv20-decision-arrow{align-self:center;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eaf2fa;color:#416482;font-size:22px;font-weight:900}

.rv20-numeric-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.rv20-numeric-summary label{border:1px solid #dce6ef;border-radius:17px;background:#fbfdff;padding:14px;display:grid;gap:10px}.rv20-numeric-summary label>span{font-size:12px;font-weight:900;color:#55708a}.rv20-numeric-summary label>div,.rv20-calculation-route label>div,.rv20-comparison-panel label>div,.rv20-numeric-diagram label>div{display:flex;align-items:center;gap:7px}.rv20-numeric-summary input,.rv20-calculation-route input,.rv20-comparison-panel input,.rv20-numeric-diagram input{width:100%;min-width:0;border:2px solid #9db8d3;border-radius:11px;padding:10px;font-size:16px;font-weight:900;text-align:center;background:#fff}.rv20-numeric-summary em,.rv20-calculation-route em,.rv20-comparison-panel em,.rv20-numeric-diagram em{font-style:normal;font-weight:900;color:#55708a}
.rv20-calculation-route{display:grid;gap:8px;margin-top:14px}.rv20-route-step{display:grid;grid-template-columns:36px minmax(0,1fr) 30px;gap:10px;align-items:center}.rv20-route-step>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8f3ec;color:#167348;font-weight:950}.rv20-route-step>i{font-style:normal;color:#7890a7;font-size:22px}.rv20-route-step label{border:1px solid #dce7ef;border-radius:15px;background:#fbfefc;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);align-items:center;gap:12px}.rv20-route-step label>b{font-size:12px;line-height:1.35;color:#425f78}

.rv20-bucket-sort{display:grid;gap:9px;margin-top:14px}.rv20-bucket-head{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-left:42px}.rv20-bucket-head span{padding:9px 10px;border-radius:11px;background:#eef4fa;text-align:center;font-size:10px;font-weight:950;color:#526d87}.rv20-bucket-sort article{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(250px,.9fr);gap:10px;align-items:center;border:1px solid #dee7ef;border-radius:15px;background:#fff;padding:10px}.rv20-bucket-sort article>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf3f8;color:#43627e}.rv20-bucket-sort article p{margin:0;font-size:12px;line-height:1.42}.rv20-bucket-sort article>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rv20-bucket-sort button{border:1px solid #cfdce8;border-radius:10px;background:#f9fbfd;padding:8px;font-size:9px;font-weight:900;line-height:1.2;cursor:pointer}.rv20-bucket-sort button.is-selected{border-color:#2d77b9;background:#eaf5ff;color:#164f7f}

.rv20-comparison-panel{display:grid;gap:15px;margin-top:14px}.rv20-comparison-calcs{display:grid;grid-template-columns:1fr 1fr;gap:11px}.rv20-comparison-calcs label{border:1px solid #dce5ef;border-radius:17px;background:#fbfdff;padding:13px;display:grid;gap:7px}.rv20-comparison-calcs label>span{font-size:11px;font-weight:900;color:#5d738a}.rv20-comparison-calcs label>b{font-size:17px;color:#173f72}.rv20-comparison-panel>section{border-top:1px solid #e3eaf2;padding-top:12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.rv20-comparison-panel>section>strong{grid-column:1/-1;font-size:12px;color:#506a84}.rv20-comparison-panel>section button{border:1px solid #cfdae6;border-radius:11px;background:#fff;padding:9px;font-size:11px;font-weight:800;cursor:pointer}.rv20-comparison-panel>section button.is-selected{border-color:#2b75b7;background:#edf7ff;color:#164e80}
.rv20-numeric-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.rv20-numeric-diagram label{border:1px solid #dbe5ef;border-radius:16px;background:#fbfdff;padding:12px;display:grid;gap:8px}.rv20-numeric-diagram label>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf2fa;color:#3d6282;font-weight:950}.rv20-numeric-diagram label>b{font-size:11px;line-height:1.35;color:#49657e}

.rv20-evidence-conclusion{display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);gap:11px;align-items:start;margin-top:14px}.rv20-evidence-conclusion section{border:1px solid #dbe5ef;border-radius:18px;background:#fbfdff;padding:12px;display:grid;gap:7px}.rv20-evidence-conclusion h4{margin:0 0 4px;font-size:11px;color:#587188;letter-spacing:.04em}.rv20-evidence-conclusion button{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:start;text-align:left;border:1px solid #d9e3ed;border-radius:11px;background:#fff;padding:9px;cursor:pointer}.rv20-evidence-conclusion button span{font-size:11px;line-height:1.38;color:#344d66}.rv20-evidence-conclusion button.is-selected{border-color:#2d79ba;background:#edf7ff}.rv20-evidence-bridge{align-self:center;display:grid;place-items:center;gap:3px;color:#71879b}.rv20-evidence-bridge span{font-size:9px;font-weight:900;text-transform:uppercase}.rv20-evidence-bridge b{font-size:23px}

@media(max-width:900px){
  .rv20-context-points,.rv20-numeric-summary,.rv20-comparison-calcs,.rv20-numeric-diagram{grid-template-columns:1fr}
  .rv20-triangle-reference{grid-template-columns:1fr;justify-items:center;text-align:center}
  .rv20-decision-pair,.rv20-evidence-conclusion{grid-template-columns:1fr}
  .rv20-decision-arrow{transform:rotate(90deg);margin:auto}.rv20-evidence-bridge{grid-template-columns:auto auto auto}.rv20-evidence-bridge b{transform:rotate(90deg)}
  .rv20-bucket-sort article{grid-template-columns:30px 1fr}.rv20-bucket-sort article>div{grid-column:1/-1}.rv20-bucket-head{margin-left:0}
  .rv20-route-step label{grid-template-columns:1fr}.rv20-comparison-panel>section{grid-template-columns:1fr}.rv20-comparison-panel>section>strong{grid-column:auto}
  .rv20-schedule-table>div{grid-template-columns:1fr minmax(110px,.65fr)}
  .rv20-proportion-table>div{grid-template-columns:1fr 1fr 1fr}
}
.rv20-match label{display:grid!important;grid-template-columns:minmax(0,1fr) 34px minmax(210px,.9fr)!important;align-items:center!important;gap:8px!important}
.rv20-match-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef4fa;color:#4d6f8d;font-size:18px}
@media(max-width:700px){.rv20-match label{grid-template-columns:1fr!important}.rv20-match-arrow{transform:rotate(90deg);margin:auto}}
.c2-hero{box-shadow:0 18px 42px rgba(23,40,80,.16)}
.c2-reading-card small{display:block;line-height:1.45;margin-top:12px}
.c2-resource-row{align-items:stretch}.c2-resource-row figure img{object-fit:cover;object-position:center;max-height:430px}.c2-data-card{height:100%}
.c2-percentage-bars{display:grid;gap:14px;margin:20px 0}.c2-percentage-bars>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.c2-percentage-bars span{font-weight:800;color:#3d4655}.c2-percentage-bars b{font-size:20px}.c2-percentage-bars i{grid-column:1/-1;height:12px;border-radius:99px;background:linear-gradient(90deg,#f5a623,#ffcf66);display:block;min-width:24px}
.c2-fraction-plan{margin:16px 0 18px;border:1px solid #ddd6c7;border-radius:18px;overflow:hidden;background:#fff}.c2-fraction-plan>div{display:grid;grid-template-columns:1fr 170px;padding:12px 16px;border-bottom:1px solid #eee8dc}.c2-fraction-plan>div:first-child{background:#f8f4eb;color:#523d2d}.c2-fraction-plan>div:last-child{border-bottom:0}.c2-fraction-plan strong{text-align:center;font-size:18px}
.c2-number-strip{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}.c2-number-strip span{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#edf3ff;border:1px solid #cbd8f1;font-weight:900;font-size:20px;color:#24446e}.c2-number-strip span:last-child{background:#fff0df;border-color:#f0c99b;color:#9b5b13}
.c2-expression-card{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center;margin:16px 0 18px;padding:16px 18px;border-radius:18px;background:#f6f2ff;border:1px solid #d8c9f0}.c2-expression-card span{font-weight:900;color:#5b30bf}.c2-expression-card strong{font-size:24px}.c2-expression-card small{grid-column:1/-1;color:#666}
.c2-scale-card{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:16px 0 18px;padding:18px;border-radius:20px;background:#f7f3ea;border:1px solid #dfd0b8}.c2-scale-card>div{display:grid;gap:4px;text-align:center;padding:12px;border-radius:15px;background:#fff}.c2-scale-card>div strong{font-size:28px;color:#733b20}.c2-scale-card>b{font-size:28px;color:#9b775d}.c2-scale-card>em{grid-column:1/-1;text-align:center;font-style:normal;font-weight:800;color:#51634b}
.c2-trig-card{display:grid;justify-items:center;gap:8px;margin:16px 0 18px;padding:16px;border-radius:20px;background:#f5f8ff;border:1px solid #cad7ee}.c2-trig-card svg{max-width:440px;width:100%;height:auto}.c2-trig-card svg text{font-family:Arial,sans-serif;font-size:20px;font-weight:800;fill:#355b91}.c2-trig-card>strong{font-size:20px;color:#355b91}
.c2-qeswachaka-section{gap:22px}.c2-infographic-card img{width:100%;height:auto;object-fit:contain;background:#fff}.c2-challenge-text{align-self:start}.c2-challenge-text footer{line-height:1.45}
@media(max-width:760px){.c2-fraction-plan>div{grid-template-columns:1fr 100px}.c2-scale-card{grid-template-columns:1fr}.c2-scale-card>b{transform:rotate(90deg)}.c2-number-strip span{width:46px;height:46px}}
/* Categoría 2 · Evaluación V2 · Reto Raimondino del Conocimiento 2026 */
.c2-v2-page{min-height:100vh;background:linear-gradient(180deg,#f4f8ff 0,#fff9f4 44%,#f7fbff 100%);color:#14213d}
.c2-v2-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(300px,1fr) auto auto;gap:18px;align-items:center;padding:14px clamp(18px,3vw,46px);background:linear-gradient(100deg,#082d68,#0c4a93 56%,#123d79);color:#fff;box-shadow:0 8px 28px rgba(7,38,83,.2)}
.c2-v2-contest-name{display:flex;align-items:center;gap:12px;font-size:clamp(16px,1.6vw,23px);letter-spacing:.1px}.c2-v2-contest-name>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#ffbf32;box-shadow:inset 0 -4px 0 #e99810}.c2-v2-contest-name strong{line-height:1.12}
.c2-v2-top-badges{display:flex;gap:10px}.c2-v2-top-badges span{display:flex;align-items:center;gap:7px;padding:10px 16px;border:2px solid rgba(255,255,255,.45);border-radius:999px;font-weight:900;white-space:nowrap}.c2-v2-top-badges .category{background:linear-gradient(135deg,#6f37c7,#8a4de2)}.c2-v2-top-badges .situation{background:linear-gradient(135deg,#4f9a36,#72b842)}
.c2-v2-clock{display:grid;justify-items:end;gap:3px}.c2-v2-clock small{font-weight:800;color:#d9e8ff}.c2-v2-clock strong{font-size:20px;letter-spacing:1px;padding:6px 11px;background:#fff;color:#0b3975;border-radius:10px}
.c2-v2-shell{width:min(1180px,calc(100% - 28px));margin:22px auto 50px;display:grid;gap:16px}
.c2-v2-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:22px;padding:26px;border-radius:28px;background:#fff;box-shadow:0 18px 46px rgba(28,65,120,.13);border:1px solid #dce7f6;overflow:hidden;position:relative;align-items:stretch}
.c2-v2-hero:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#1265bf,#6d3ac7,#f15478,#f59b31,#62ad42)}
.c2-v2-hero--2:before{background:linear-gradient(90deg,#7354d3,#f3a046,#2f89c9)}.c2-v2-hero--3:before{background:linear-gradient(90deg,#34934b,#92bf3b,#f3a62a)}.c2-v2-hero--4:before{background:linear-gradient(90deg,#d65047,#f3b23b,#5e9e47,#3f70b7)}
.c2-v2-hero-copy{min-width:0}.c2-v2-eyebrow{display:inline-flex;padding:7px 13px;border-radius:999px;background:#eaf3ff;color:#16558f;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.c2-v2-hero h1{margin:12px 0 3px;font-size:clamp(30px,4vw,52px);line-height:.98;text-transform:uppercase;letter-spacing:.3px;color:#123a72}.c2-v2-hero h2{margin:8px 0 18px;font-size:clamp(20px,2.1vw,28px);color:#e13e78;font-weight:900}.c2-v2-hero--2 h2{color:#7652c5}.c2-v2-hero--3 h2{color:#4b963d}.c2-v2-hero--4 h2{color:#b44b34}
.c2-v2-reading{border:2px solid #2373c8;border-radius:23px;background:#fff;overflow:hidden;box-shadow:0 7px 18px rgba(24,78,140,.08)}.c2-v2-reading>header{display:flex;align-items:center;gap:10px;width:max-content;max-width:94%;margin-top:-1px;padding:8px 19px;background:#1670c9;color:#fff;border-radius:0 0 18px 0;font-size:18px}.c2-v2-reading>div{padding:17px 20px 8px}.c2-v2-reading p{margin:0 0 12px;font-size:15.5px;line-height:1.47;color:#232c37;text-align:justify;text-justify:inter-word;hyphens:auto}.c2-v2-reading small{display:block;padding:0 20px 16px;color:#1767bb;font-weight:700;line-height:1.35}
.c2-v2-hero-side{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:18px;min-width:0;align-self:stretch}.c2-v2-hero-art{margin:0;min-height:0;height:100%;border-radius:24px;overflow:hidden;background:#eef4ff;box-shadow:0 12px 30px rgba(39,49,92,.16);position:relative}.c2-v2-hero-art img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center;display:block}.c2-v2-hero--1 .c2-v2-hero-art{min-height:385px}.c2-v2-hero--2 .c2-v2-hero-art{min-height:345px}.c2-v2-hero--3 .c2-v2-hero-art{min-height:410px}
.c2-v2-context{padding:18px 24px;border-radius:25px;border:2px solid;display:grid;gap:7px;box-shadow:0 9px 24px rgba(44,56,80,.08);width:100%;box-sizing:border-box}.c2-v2-context header{display:flex;align-items:center;gap:10px}.c2-v2-context header span{font-size:26px}.c2-v2-context header strong{font-size:23px}.c2-v2-context p{margin:0;font-size:19px;line-height:1.45;text-align:justify;text-justify:inter-word}.c2-v2-context--orange{background:linear-gradient(135deg,#fff9df,#fff1d4);border-color:#f0a120;color:#382617}.c2-v2-context--orange header strong{color:#e75c19}.c2-v2-context--blue{background:#eef7ff;border-color:#63a7dc}.c2-v2-context--green{background:#f1fae9;border-color:#75ad43}.c2-v2-context--green header strong{color:#3a862d}
.c2-v2-family-data{display:grid;grid-template-columns:1fr;gap:12px;width:100%;min-width:0}.c2-v2-hero--2 .c2-v2-family-data>.c2-v2-context,.c2-v2-hero--2 .c2-v2-family-data>.c2-v2-frequency-table{width:100%;box-sizing:border-box}.c2-v2-frequency-table{overflow:hidden;border:2px solid #6ca6d5;border-radius:18px;background:#fff;align-self:stretch;display:grid}.c2-v2-frequency-table>div{display:grid;grid-template-columns:1.65fr repeat(5,1fr);align-items:center}.c2-v2-frequency-table>div>*{padding:14px 8px;text-align:center;border-right:1px solid #cfe0ef}.c2-v2-frequency-table>div>*:last-child{border-right:0}.c2-v2-frequency-table .head{background:#eaf5ff;color:#174f85}.c2-v2-frequency-table>div+div{border-top:1px solid #cfe0ef}.c2-v2-frequency-table span{font-size:18px;font-weight:800}.c2-v2-frequency-table b{font-size:15px}
.c2-v2-diversity-block{display:grid;gap:16px}.c2-v2-hero.is-infographic{grid-template-columns:1fr;padding-bottom:20px}.c2-v2-infographic-intro{display:flex;align-items:center;gap:14px;padding:13px 17px;border-radius:18px;background:#fff5df;border:1px solid #f0ca83;width:min(620px,100%)}.c2-v2-infographic-intro>span{font-size:32px;color:#b66327}.c2-v2-infographic-intro p{margin:3px 0 0;line-height:1.35;color:#6a5846}.c2-v2-infographic{margin:0;padding:14px;border-radius:24px;background:#fff;box-shadow:0 13px 34px rgba(36,55,85,.12);border:1px solid #e5e0d4}.c2-v2-infographic img{width:100%;display:block;border-radius:15px}.c2-v2-infographic figcaption{padding:9px 4px 0;font-size:12px;color:#667080}.c2-v2-complementary-text{padding:20px 24px;border-radius:23px;background:#fff8ee;border:2px solid #e9b765}.c2-v2-complementary-text header{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#914d22}.c2-v2-complementary-text p{margin:0 0 11px;line-height:1.5;font-size:16px;text-align:justify;text-justify:inter-word;hyphens:auto}.c2-v2-complementary-text small{font-weight:700;color:#856042}
.c2-v2-questions{display:grid;gap:13px}.c2-v2-question{--area:#246bc0;--soft:#eef6ff;position:relative;background:#fff!important;border:2px solid color-mix(in srgb,var(--area) 75%,white)!important;border-radius:22px!important;padding:0 20px 20px!important;overflow:hidden;box-shadow:0 8px 22px rgba(32,47,83,.07)}.c2-v2-question.area-matematica{--area:#1268bc;--soft:#edf6ff}.c2-v2-question.area-comunicacion{--area:#8a32bd;--soft:#f8efff}.c2-v2-question.area-dpcc{--area:#ee6c16;--soft:#fff3e8}.c2-v2-question>header{margin:0 -20px 14px;padding:10px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:linear-gradient(90deg,var(--soft),#fff);border-bottom:1px solid color-mix(in srgb,var(--area) 25%,white)}.c2-v2-question>header .number{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--area);color:#fff;font-weight:950;font-size:22px}.c2-v2-question>header small{display:inline-block;color:var(--area);font-weight:900;font-size:14px}.c2-v2-question>header h3{margin:2px 0 0;font-size:18px;color:#1c2f47}.c2-v2-question>header em{font-style:normal;padding:5px 11px;border-radius:999px;background:var(--area);color:#fff;font-size:12px;font-weight:900;white-space:nowrap}.c2-v2-question>p{font-size:17px;line-height:1.48;font-weight:680;color:#202b39;margin:9px 4px 15px}
.c2-v2-question .contest-v13-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.c2-v2-question .contest-v13-choice-grid button{min-height:54px;border:1.5px solid color-mix(in srgb,var(--area) 38%,#d9e0e8);background:#fff;border-radius:13px;padding:9px 12px;text-align:left;display:flex;align-items:center;gap:10px;transition:.16s ease}.c2-v2-question .contest-v13-choice-grid button:hover{transform:translateY(-1px);border-color:var(--area);box-shadow:0 5px 14px rgba(30,55,95,.08)}.c2-v2-question .contest-v13-choice-grid button.is-selected{background:var(--soft);border-color:var(--area);box-shadow:0 0 0 2px color-mix(in srgb,var(--area) 18%,transparent)}.c2-v2-question .contest-v13-choice-grid i{flex:0 0 29px;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--area);color:#fff;font-style:normal;font-weight:900}.c2-v2-question .contest-v13-choice-grid span{font-size:15px;line-height:1.32;color:#25303d}
.c2-v2-q-5 .contest-v13-choice-grid,.c2-v2-q-10 .contest-v13-choice-grid,.c2-v2-q-15 .contest-v13-choice-grid,.c2-v2-q-20 .contest-v13-choice-grid{grid-template-columns:repeat(4,1fr)}.c2-v2-q-5 .contest-v13-choice-grid button,.c2-v2-q-10 .contest-v13-choice-grid button,.c2-v2-q-15 .contest-v13-choice-grid button,.c2-v2-q-20 .contest-v13-choice-grid button{min-height:135px;flex-direction:column;justify-content:center;text-align:center;padding:12px}.c2-v2-q-5 .contest-v13-choice-grid span,.c2-v2-q-10 .contest-v13-choice-grid span,.c2-v2-q-15 .contest-v13-choice-grid span,.c2-v2-q-20 .contest-v13-choice-grid span{font-size:14px}
.c2-v2-question .rv20-token-build{padding:15px;border-radius:17px;background:#f3fbf3;border:1px solid #b9d9b4}.c2-v2-question .rv20-expression{min-height:64px}.c2-v2-question .rv20-token-bank button{border-radius:12px}
.c2-v2-question .rv20-inline-select{padding:16px;border-radius:16px;background:#fff4f8;border:1px solid #f1bad1}.c2-v2-question .rv20-inline-select select{min-width:220px}
.c2-v2-question .rv20-proportion-table{border-radius:17px;overflow:hidden;border:1px solid #b9d7bf}.c2-v2-question .rv20-proportion-table .head{background:#eaf7ec}.c2-v2-question .rv20-proportion-table input{border:2px solid #31854b;border-radius:10px}
.c2-v2-triangle,.c2-v2-trig{display:grid;justify-items:center;gap:6px;margin:10px 0 16px;padding:12px;border-radius:18px;background:#fffaf0;border:1px solid #ead8b3}.c2-v2-triangle svg{max-width:600px;width:100%;height:auto}.c2-v2-triangle svg text{font:800 18px Arial;fill:#5a4b39}.c2-v2-triangle span{font-size:13px;color:#6b665f;font-weight:700}.c2-v2-trig{background:#eff7ff;border-color:#b9d4ee}.c2-v2-trig svg{max-width:530px;width:100%;height:auto}.c2-v2-trig svg text{font:800 19px Arial;fill:#304e76}.c2-v2-trig strong{color:#21568a}.c2-v2-frequency-table--culture{margin:10px 0 16px;max-width:760px}
.c2-v2-footer{border-radius:22px!important;background:#fff!important;border:1px solid #dce6f1!important;box-shadow:0 10px 28px rgba(36,60,93,.09)}
@media(max-width:980px){.c2-v2-topbar{grid-template-columns:1fr auto}.c2-v2-top-badges{grid-row:2;grid-column:1/-1}.c2-v2-clock{grid-column:2;grid-row:1}.c2-v2-hero{grid-template-columns:1fr}.c2-v2-hero-side{grid-template-rows:auto auto}.c2-v2-hero-art,.c2-v2-hero--1 .c2-v2-hero-art,.c2-v2-hero--2 .c2-v2-hero-art,.c2-v2-hero--3 .c2-v2-hero-art{min-height:300px}.c2-v2-family-data{grid-template-columns:1fr}.c2-v2-q-5 .contest-v13-choice-grid,.c2-v2-q-10 .contest-v13-choice-grid,.c2-v2-q-15 .contest-v13-choice-grid,.c2-v2-q-20 .contest-v13-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.c2-v2-topbar{position:relative;grid-template-columns:1fr}.c2-v2-clock{grid-column:1;grid-row:auto;justify-items:start}.c2-v2-top-badges{grid-row:auto;grid-column:1;flex-wrap:wrap}.c2-v2-shell{width:min(100% - 14px,1180px);margin-top:10px}.c2-v2-hero{padding:17px;border-radius:20px}.c2-v2-hero h1{font-size:32px}.c2-v2-reading p{font-size:14px}.c2-v2-question .contest-v13-choice-grid{grid-template-columns:1fr}.c2-v2-q-5 .contest-v13-choice-grid,.c2-v2-q-10 .contest-v13-choice-grid,.c2-v2-q-15 .contest-v13-choice-grid,.c2-v2-q-20 .contest-v13-choice-grid{grid-template-columns:1fr 1fr}.c2-v2-question>header{grid-template-columns:auto 1fr}.c2-v2-question>header em{grid-column:2;justify-self:start}.c2-v2-frequency-table{overflow-x:auto}.c2-v2-frequency-table>div{min-width:560px}}

/* V3.1: correcciones visuales aprobadas */
.c2-v2-reading>div,.c2-v2-complementary-text{letter-spacing:.01px}
.c2-v2-infographic img{image-rendering:auto}

/* FINAL: S1-S3 columna derecha completa; S2 encuesta alineada; S4 conservada como V3.1 */


/* DEFINITIVO V3: elimina duplicados en revisión y refuerza Situación 4 */
.c2-v3-diversity-hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:stretch}
.c2-v3-infographic-tag{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px 17px;border-radius:18px;background:linear-gradient(135deg,#fff7e6,#fffdf7);border:1.5px solid #efbf75;color:#69451f;box-shadow:0 7px 18px rgba(120,80,20,.07)}
.c2-v3-infographic-tag>span{font-size:30px;color:#c76a24;line-height:1}.c2-v3-infographic-tag strong{display:block;font-size:17px;color:#8f4a1e}.c2-v3-infographic-tag p{margin:4px 0 0;font-size:14px;line-height:1.4;text-align:justify;text-justify:inter-word}
.c2-v3-diversity-header-art{margin:0;min-height:260px;border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(40,59,91,.15);background:#f4f7ff;position:relative}
.c2-v3-diversity-header-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:74% 44%;transform:scale(1.06)}
.c2-v3-diversity-block{display:grid;gap:18px}.c2-v3-diversity-main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:18px;align-items:stretch}
.c2-v3-diversity-main .c2-v2-infographic,.c2-v3-diversity-main .c2-v2-complementary-text{height:100%;box-sizing:border-box}
.c2-v3-diversity-main .c2-v2-complementary-text{display:flex;flex-direction:column}.c2-v3-diversity-main .c2-v2-complementary-text header{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#8f4a1e}.c2-v3-diversity-main .c2-v2-complementary-text p{text-align:justify;text-justify:inter-word;hyphens:auto;line-height:1.56}.c2-v3-diversity-main .c2-v2-complementary-text small{margin-top:auto;padding-top:8px}
.c2-v3-fair-data{border:2px solid #4381ca;border-radius:24px;padding:18px 20px;background:linear-gradient(135deg,#f4f9ff,#fffdf7);box-shadow:0 10px 26px rgba(43,82,134,.09)}
.c2-v3-fair-data>header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.c2-v3-fair-data>header>span{font-size:30px}.c2-v3-fair-data>header strong{display:block;color:#174f91;font-size:22px}.c2-v3-fair-data>header small{display:block;margin-top:3px;color:#58697c;font-size:13px}
.c2-v3-fair-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}.c2-v3-fair-grid article{border:1px solid #b8d4ef;border-radius:17px;background:#fff;padding:15px 16px}.c2-v3-fair-grid h3{margin:0 0 12px;color:#173f75;font-size:17px}
.c2-v3-bar-row{display:grid;grid-template-columns:94px minmax(90px,1fr) 38px;gap:9px;align-items:center;margin:8px 0}.c2-v3-bar-row>b{font-size:13px}.c2-v3-bar-row>span{height:16px;background:#edf2f7;border-radius:999px;overflow:hidden}.c2-v3-bar-row>span>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2f82cf,#67a844)}.c2-v3-bar-row>strong{text-align:right;color:#183d6b}
.c2-v3-activity-table{overflow:hidden;border:1.5px solid #6ca6d5;border-radius:13px}.c2-v3-activity-table>div{display:grid;grid-template-columns:1.8fr repeat(4,1fr);align-items:center}.c2-v3-activity-table>div>*{padding:12px 8px;text-align:center;border-right:1px solid #d4e3f1}.c2-v3-activity-table>div>*:last-child{border-right:0}.c2-v3-activity-table>div:first-child{background:#eaf5ff;color:#174f85}.c2-v3-activity-table>div+div{border-top:1px solid #d4e3f1}.c2-v3-activity-table span{font-size:17px;font-weight:900;color:#163e70}.c2-v3-activity-table b{font-size:13px}
.c2-v3-data-note{display:block;margin-top:10px;color:#687585;font-size:11px;text-align:right}
@media(max-width:980px){.c2-v3-diversity-hero,.c2-v3-diversity-main,.c2-v3-fair-grid{grid-template-columns:1fr}.c2-v3-diversity-header-art{min-height:300px}.c2-v3-diversity-header-art img{object-position:72% 42%}.c2-v3-bar-row{grid-template-columns:88px 1fr 34px}}
@media(max-width:660px){.c2-v3-diversity-header-art{min-height:230px}.c2-v3-fair-data{padding:14px}.c2-v3-activity-table{overflow-x:auto}.c2-v3-activity-table>div{min-width:520px}}


/* V4 definitivo: Situación 4 integrada sin duplicados ni espacios vacíos */
.c2-v2-hero h1{max-width:none;text-wrap:balance}
.c2-v4-diversity-hero{grid-template-columns:1fr;align-items:start}
.c2-v4-diversity-copy{max-width:none}
.c2-v4-integrated-guide{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#fff7e7,#fffcf4);border:1.5px solid #efbf75;color:#69451f;box-shadow:0 7px 18px rgba(120,80,20,.07)}
.c2-v4-integrated-guide>span{font-size:30px;line-height:1;color:#c76a24}
.c2-v4-integrated-guide strong{display:block;font-size:17px;color:#8f4a1e}
.c2-v4-integrated-guide p{margin:4px 0 0;font-size:14px;line-height:1.45;text-align:justify;text-justify:inter-word}
.c2-v4-diversity-block{display:grid;gap:18px}
.c2-v4-link-note{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:18px;background:#eef6ff;border:1px solid #c7dcf3;color:#21486e}
.c2-v4-link-note>span{font-size:24px;line-height:1}
.c2-v4-link-note p{margin:0;line-height:1.45;font-size:15px}
.c2-v4-diversity-main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:18px;align-items:stretch}
.c2-v4-diversity-main .c2-v2-infographic,.c2-v4-diversity-main .c2-v2-complementary-text{height:100%;box-sizing:border-box}
.c2-v4-diversity-main .c2-v2-complementary-text{display:flex;flex-direction:column}
.c2-v4-diversity-main .c2-v2-complementary-text small{margin-top:auto;padding-top:8px}
.c2-v4-fair-data>header small{max-width:760px;line-height:1.35}
@media(max-width:980px){.c2-v4-diversity-main{grid-template-columns:1fr}}


/* V5 DEFINITIVO - control visual cerrado */
.c2-v2-hero h1{width:100%;max-width:none;margin-right:0}
.c2-title-line{display:block;width:100%;white-space:nowrap}
.c2-title-line--s1a{font-size:1.08em;letter-spacing:.2px}
.c2-title-line--s1b{font-size:.91em;letter-spacing:.05px}
.c2-title-line--s4a{font-size:.88em;letter-spacing:.05px}
.c2-title-line--s4b{font-size:1.12em;letter-spacing:.15px}
.c2-v4-diversity-hero{padding-bottom:24px}
.c2-v4-diversity-main{align-items:start}
.c2-v4-diversity-main .c2-v2-infographic,.c2-v4-diversity-main .c2-v2-complementary-text{height:auto;min-height:0}
.c2-v4-diversity-main .c2-v2-infographic{align-self:start}
.c2-v4-diversity-main .c2-v2-infographic img{width:100%;height:auto;object-fit:contain;object-position:center;display:block}
.c2-v4-diversity-main .c2-v2-complementary-text{align-self:start}
.c2-v4-fair-data>header small{max-width:none;font-size:14px;line-height:1.45;color:#4c6075}
@media(max-width:1100px){
  .c2-title-line--s1a{font-size:1em}.c2-title-line--s1b{font-size:.84em}
  .c2-title-line--s4a{font-size:.78em}.c2-title-line--s4b{font-size:1em}
}
@media(max-width:760px){
  .c2-title-line{white-space:normal}
  .c2-title-line--s1a,.c2-title-line--s1b,.c2-title-line--s4a,.c2-title-line--s4b{font-size:1em}
}
/* Categoría 3 · Reto Raimondino 2026
   Estética propia, sin alterar Categorías 1/2. */
.c3-v1-page{min-height:100vh;background:linear-gradient(180deg,#eaf6ff 0,#f7fbff 190px,#f4f8fc 100%);color:#15314d;padding-bottom:34px}
.c3-v1-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:12px clamp(16px,3vw,46px);background:linear-gradient(110deg,#073e78,#075fa9 56%,#0b376e);color:#fff;box-shadow:0 8px 26px rgba(5,48,91,.18);border-bottom:3px solid #63d9ef}
.c3-v1-contest-name{display:flex;align-items:center;gap:10px}.c3-v1-contest-name>span{font-size:22px}.c3-v1-contest-name strong{font-size:clamp(16px,1.6vw,22px);letter-spacing:.01em}
.c3-v1-top-badges{display:flex;gap:8px}.c3-v1-top-badges span{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.34);font-size:13px;font-weight:900}.c3-v1-top-badges .category{background:#dff7ff;color:#064f86;border-color:#dff7ff}
.c3-v1-clock{text-align:right;min-width:116px}.c3-v1-clock small{display:block;font-weight:800;opacity:.84;font-size:11px}.c3-v1-clock strong{font-size:24px;letter-spacing:.05em;font-variant-numeric:tabular-nums}
.c3-v1-shell{width:min(1440px,calc(100% - 28px));margin:18px auto 0;display:grid;gap:16px}
.c3-v1-hero{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:16px;background:#fff;border:1px solid #cfe1ef;border-radius:24px;padding:16px;box-shadow:0 16px 36px rgba(23,65,102,.09);overflow:hidden}
.c3-v1-hero-main{min-width:0}.c3-v1-identity{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid #dce8f2}.c3-v1-identity img{width:78px;height:78px;object-fit:contain;display:block;filter:drop-shadow(0 4px 5px rgba(0,0,0,.14))}.c3-v1-identity div{display:grid;gap:1px}.c3-v1-identity small{font-size:11px;font-weight:900;letter-spacing:.12em;color:#33709e}.c3-v1-identity strong{font-size:18px;line-height:1.08;color:#113d69}.c3-v1-identity span{font-size:12px;font-weight:800;color:#677e91}
.c3-v1-hero-title{padding:13px 0 10px}.c3-v1-hero-title>span{display:inline-flex;padding:5px 10px;border-radius:8px;background:#0a8faa;color:#fff;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.c3-v1-hero-title h1{margin:8px 0 2px;font-size:clamp(30px,3.2vw,48px);line-height:1.01;text-transform:uppercase;color:#0d315b;letter-spacing:-.025em}.c3-v1-hero-title h2{margin:0;color:#0792b3;font-size:clamp(18px,1.9vw,27px);line-height:1.2}
.c3-v1-reading{margin-top:6px;padding:14px 16px 12px;border-radius:17px;background:linear-gradient(180deg,#fbfdff,#f4f9fd);border:1px solid #d5e4ef}.c3-v1-reading p,.c3-v1-complementary p{text-align:justify;text-justify:inter-word;hyphens:auto;margin:0 0 10px;line-height:1.47;font-size:15px;color:#21394e}.c3-v1-reading p:last-of-type,.c3-v1-complementary p:last-of-type{margin-bottom:8px}.c3-v1-reading small,.c3-v1-complementary>small{display:block;border-top:1px solid #cfdfec;padding-top:8px;color:#506a7f;font-size:11.5px;font-style:italic;text-align:center}
.c3-v1-visual-board{border-radius:20px;padding:17px;background:linear-gradient(145deg,#eaf6ff,#fefefe);border:1px solid #c5deef;display:flex;flex-direction:column;justify-content:center;min-height:480px;position:relative;overflow:hidden}.c3-v1-visual-board:before{content:'';position:absolute;inset:auto -80px -85px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(54,193,221,.22),rgba(54,193,221,0) 66%)}.c3-v1-visual-board.is-family{background:linear-gradient(145deg,#fff5f3,#f7fbff)}.c3-v1-visual-board.is-recycle{background:linear-gradient(145deg,#eefaf1,#fffdf5)}
.c3-v1-visual-kicker{align-self:flex-start;padding:6px 11px;border-radius:999px;background:#0d4e85;color:#fff;font-weight:900;font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}.c3-v1-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}.c3-v1-visual-grid article{min-height:128px;border-radius:18px;padding:15px;background:rgba(255,255,255,.9);border:1px solid #cfe0eb;box-shadow:0 9px 20px rgba(24,70,102,.07);display:grid;align-content:center;justify-items:center;text-align:center;gap:5px}.c3-v1-visual-grid i{font-style:normal;font-size:32px}.c3-v1-visual-grid strong{font-size:16px;color:#164d73}.c3-v1-visual-grid span{font-size:12.5px;line-height:1.25;color:#536b7a}.c3-v1-visual-board blockquote{margin:16px 0 0;padding:13px;border-radius:14px;background:#0c5793;color:#fff;text-align:center;font-weight:900;font-size:18px;font-style:italic;position:relative;z-index:1}
.c3-v1-hero--diversity{grid-template-columns:auto 1fr;align-items:center;background:linear-gradient(110deg,#fff,#f2f9ff);padding:12px 18px}.c3-v1-hero--diversity .c3-v1-identity{border:0;padding:0 18px 0 0;border-right:1px solid #d7e5ef}.c3-v1-hero--diversity .c3-v1-hero-title{padding-left:10px}.c3-v1-hero--diversity .c3-v1-hero-title h1{font-size:clamp(27px,3vw,44px)}
.c3-v1-diversity-layout{display:grid;grid-template-columns:minmax(350px,.86fr) minmax(520px,1.14fr);gap:16px}.c3-v1-diversity-intro,.c3-v1-infographic{border-radius:22px;background:#fff;border:1px solid #d4e1eb;box-shadow:0 12px 28px rgba(23,65,102,.07)}.c3-v1-diversity-intro{padding:15px;display:grid;gap:12px}.c3-v1-peru-symbol{min-height:175px;border-radius:18px;padding:18px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:5px 18px;background:linear-gradient(135deg,#e92336,#fff 48%,#f7d73b);position:relative;overflow:hidden}.c3-v1-peru-symbol:after{content:'';position:absolute;right:-45px;bottom:-60px;width:190px;height:190px;border-radius:50%;border:28px solid rgba(255,255,255,.45)}.c3-v1-peru-symbol>span{grid-row:1/3;font-size:62px}.c3-v1-peru-symbol strong{font-size:28px;line-height:1.05;color:#0d3560;text-transform:uppercase;z-index:1}.c3-v1-peru-symbol small{font-size:13px;font-weight:800;color:#425b6a;z-index:1}.c3-v1-complementary{padding:13px;border-radius:16px;background:#f8fbfe;border:1px solid #d8e7f0}.c3-v1-complementary header{display:flex;align-items:center;gap:8px;color:#0e5d91;margin-bottom:9px;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.c3-v1-complementary p{font-size:14px;line-height:1.42}
.c3-v1-infographic{padding:14px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-areas:'ethnic ethnic' 'racism discrimination' 'values values';gap:11px;background:#f7fbff}.c3-v1-info-card{background:#fff;border:1px solid #d3e2ed;border-radius:16px;padding:13px;overflow:hidden}.c3-v1-info-card>header{font-size:16px;font-weight:950;text-transform:uppercase;color:#0d4779;margin:-13px -13px 10px;padding:10px 13px;background:#e8f5ff}.c3-v1-info-card--ethnic{grid-area:ethnic}.c3-v1-info-card--racism{grid-area:racism}.c3-v1-info-card--discrimination{grid-area:discrimination}.c3-v1-info-card--values{grid-area:values}.c3-v1-info-card>small{display:block;color:#607889;font-size:11.5px;margin-bottom:8px}.c3-v1-bar{display:grid;grid-template-columns:120px 1fr 62px;align-items:center;gap:8px;margin:7px 0}.c3-v1-bar>b{font-size:12.5px}.c3-v1-bar>span{height:15px;background:#edf1f4;border-radius:999px;overflow:hidden}.c3-v1-bar>span i{display:block;height:100%;min-width:8px;border-radius:999px;background:linear-gradient(90deg,#f04b41,#f5963c)}.c3-v1-bar>strong{font-size:13px;color:#d33931}.c3-v1-stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.c3-v1-stat-pair>div{background:#f4f8fc;border-radius:13px;padding:11px;text-align:center;display:grid;gap:5px}.c3-v1-stat-pair strong,.c3-v1-big-stat strong{font-size:31px;color:#e0323f}.c3-v1-stat-pair span,.c3-v1-big-stat span{font-size:12px;line-height:1.25}.c3-v1-big-stat{min-height:104px;display:flex;align-items:center;gap:14px;background:#f7f1ff;border-radius:14px;padding:14px}.c3-v1-big-stat strong{color:#7a45bb;white-space:nowrap}.c3-v1-info-card--values>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.c3-v1-info-card--values span{padding:10px 5px;border-radius:12px;background:#f1f8ef;display:grid;text-align:center;font-size:22px;gap:3px}.c3-v1-info-card--values b{font-size:11px;color:#35623a;text-transform:uppercase}
.c3-v1-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.c3-v1-question{--area:#d83f50;--soft:#fff1f3;position:relative!important;background:#fff!important;border:1.7px solid color-mix(in srgb,var(--area) 65%,white)!important;border-radius:20px!important;padding:0 18px 18px!important;overflow:hidden!important;box-shadow:0 8px 20px rgba(22,58,87,.07)!important;min-width:0}.c3-v1-question.area-matematica{--area:#df3f4f;--soft:#fff0f2}.c3-v1-question.area-comunicacion{--area:#16844c;--soft:#eefaf2}.c3-v1-question.area-dpcc{--area:#7444bc;--soft:#f6f0ff}.c3-v1-question>header{margin:0 -18px 13px!important;padding:9px 14px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;gap:10px!important;align-items:center!important;background:linear-gradient(90deg,var(--area),color-mix(in srgb,var(--area) 83%,#163d69))!important;border:0!important;color:#fff!important}.c3-v1-question>header .number{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#fff!important;color:var(--area)!important;font-weight:950!important;font-size:19px!important}.c3-v1-question>header small{color:#fff!important;font-weight:900!important;font-size:11px!important;text-transform:uppercase}.c3-v1-question>header h3{margin:1px 0 0!important;font-size:16px!important;color:#fff!important}.c3-v1-question>header em{font-style:normal!important;padding:5px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.17)!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;font-size:10.5px!important;font-weight:900!important;white-space:nowrap!important}.c3-v1-question>p{text-align:justify;text-justify:inter-word;hyphens:auto;font-size:15px!important;line-height:1.42!important;font-weight:600!important;color:#243848!important;margin:9px 1px 13px!important}.c3-v1-q-5,.c3-v1-q-10,.c3-v1-q-15,.c3-v1-q-20{grid-column:1/-1}
.c3-v1-question .contest-v13-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.c3-v1-question .contest-v13-choice-grid button{min-height:50px;border:1px solid color-mix(in srgb,var(--area) 34%,#d7e0e7);background:#fff;border-radius:11px;padding:8px 10px;text-align:left;display:flex;align-items:center;gap:9px}.c3-v1-question .contest-v13-choice-grid button.is-selected{background:var(--soft);border-color:var(--area);box-shadow:0 0 0 2px color-mix(in srgb,var(--area) 14%,transparent)}.c3-v1-question .contest-v13-choice-grid i{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border-radius:7px;background:var(--area);color:#fff;font-style:normal;font-weight:900}.c3-v1-question .contest-v13-choice-grid span{font-size:13px;line-height:1.28;text-align:justify}.c3-v1-q-5 .contest-v13-choice-grid,.c3-v1-q-15 .contest-v13-choice-grid,.c3-v1-q-20 .contest-v13-choice-grid{grid-template-columns:repeat(4,1fr)}
.c3-v1-question .rv20-numeric-summary,.c3-v1-question .rv20-numeric-diagram,.c3-v1-question .rv20-calculation-route{background:var(--soft);border-color:color-mix(in srgb,var(--area) 30%,white)}.c3-v1-question .rv20-inline-select{background:var(--soft);border-color:color-mix(in srgb,var(--area) 30%,white)}.c3-v1-question .rv20-inline-select select{width:100%;min-width:0;white-space:normal}.c3-v1-question .rv20-decision-pair{grid-template-columns:1fr auto 1fr}.c3-v1-question .rv20-decision-pair button span,.c3-v1-question .contest-v13-match select{text-align:left;white-space:normal}.c3-v1-question .contest-v13-order article strong{text-align:justify;font-size:13px}.c3-v1-question .contest-v13-dual-select p{text-align:justify}
.c3-v1-code-visual{display:flex;align-items:center;justify-content:center;gap:12px;padding:11px;border-radius:14px;background:#f6f9fc;margin:2px 0 12px;border:1px dashed #b7ccdc}.c3-v1-code-visual code{padding:7px 10px;border-radius:8px;background:#0d426f;color:#fff;font-size:20px;font-weight:900}.c3-v1-code-visual b{font-size:20px;color:#b82237}.c3-v1-code-visual span{font-size:20px;font-weight:900}
.c3-v1-interval-table{width:min(520px,100%);margin:0 auto 12px;border:1px solid #accde2;border-radius:13px;overflow:hidden;display:grid}.c3-v1-interval-table>div{display:grid;grid-template-columns:1fr 1fr;text-align:center}.c3-v1-interval-table>div:first-child{background:#0f609b;color:#fff}.c3-v1-interval-table b,.c3-v1-interval-table span{padding:7px;border-right:1px solid #d3e3ee;border-bottom:1px solid #d3e3ee;font-size:13px}.c3-v1-interval-table>div:last-child span{border-bottom:0}
.c3-v1-rectangle,.c3-v1-triangle,.c3-v1-square-diagram,.c3-v1-cartesian{display:grid;place-items:center;background:#f8fbfd;border-radius:14px;border:1px solid #d7e4ec;margin-bottom:12px;overflow:hidden}.c3-v1-rectangle svg{max-width:430px;width:100%;height:170px}.c3-v1-triangle svg{max-width:420px;width:100%;height:190px}.c3-v1-square-diagram svg{max-width:320px;width:100%;height:235px}.c3-v1-cartesian svg{max-width:390px;width:100%;height:260px}
.c3-v1-weight-strip{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.c3-v1-weight-strip span,.c3-v1-weight-strip b{padding:7px 9px;border-radius:9px;background:#eef7f0;border:1px solid #c7dfcb;font-size:12px}.c3-v1-weight-strip b{flex:1 1 100%;text-align:center;background:#e1f2e5;color:#1c6638}
.c3-v1-dispersion{display:grid;gap:10px;padding:11px;border-radius:13px;background:#f2f7fc;border:1px solid #cfdeea;margin-bottom:12px}.c3-v1-data-pills{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.c3-v1-data-pills span,.c3-v1-data-pills b{padding:6px 9px;border-radius:8px;background:#fff;border:1px solid #c8d9e7;font-size:12px}.c3-v1-data-pills b{background:#0d568d;color:#fff}.c3-v1-dispersion code{text-align:center;font-size:17px;color:#173d5f}
.c3-v1-footer{border-radius:18px!important;background:#fff!important;border:1px solid #d3e0ea!important;box-shadow:0 8px 20px rgba(20,62,94,.05)!important}.c3-v1-footer div{text-align:center}.c3-v1-footer div strong{color:#193c5a}
@media(max-width:1060px){.c3-v1-topbar{grid-template-columns:1fr auto}.c3-v1-top-badges{grid-row:2;grid-column:1/-1}.c3-v1-hero{grid-template-columns:1fr}.c3-v1-visual-board{min-height:0}.c3-v1-diversity-layout{grid-template-columns:1fr}.c3-v1-questions{grid-template-columns:1fr 1fr}.c3-v1-q-5 .contest-v13-choice-grid,.c3-v1-q-15 .contest-v13-choice-grid,.c3-v1-q-20 .contest-v13-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.c3-v1-topbar{position:relative;grid-template-columns:1fr}.c3-v1-top-badges,.c3-v1-clock{grid-column:auto;grid-row:auto}.c3-v1-clock{text-align:left}.c3-v1-shell{width:min(100% - 12px,1440px);margin-top:8px}.c3-v1-hero{padding:10px;border-radius:17px}.c3-v1-identity img{width:62px;height:62px}.c3-v1-identity strong{font-size:15px}.c3-v1-hero-title h1{font-size:28px}.c3-v1-reading p{font-size:13.5px}.c3-v1-visual-grid{grid-template-columns:1fr 1fr}.c3-v1-visual-grid article{min-height:105px;padding:10px}.c3-v1-hero--diversity{grid-template-columns:1fr}.c3-v1-hero--diversity .c3-v1-identity{border-right:0;border-bottom:1px solid #d7e5ef;padding-bottom:8px}.c3-v1-infographic{grid-template-columns:1fr;grid-template-areas:'ethnic' 'racism' 'discrimination' 'values'}.c3-v1-info-card--values>div{grid-template-columns:repeat(2,1fr)}.c3-v1-bar{grid-template-columns:90px 1fr 55px}.c3-v1-questions{grid-template-columns:1fr}.c3-v1-q-5,.c3-v1-q-10,.c3-v1-q-15,.c3-v1-q-20{grid-column:auto}.c3-v1-question>header{grid-template-columns:auto 1fr!important}.c3-v1-question>header em{grid-column:2;justify-self:start}.c3-v1-question .contest-v13-choice-grid,.c3-v1-q-5 .contest-v13-choice-grid,.c3-v1-q-15 .contest-v13-choice-grid,.c3-v1-q-20 .contest-v13-choice-grid{grid-template-columns:1fr}.c3-v1-question .rv20-decision-pair{grid-template-columns:1fr}.c3-v1-question .rv20-decision-arrow{transform:rotate(90deg)}}
.c3-v1-review-page{background:#eef6fc}.c3-v1-review-situation{width:min(1440px,calc(100% - 28px));margin:0 auto 28px;display:grid;gap:14px}.c3-v1-review-situation .rv18-correct-answer{margin-top:12px}.c3-v1-review-situation .c3-v1-hero{box-shadow:none}
/* Cabecera institucional aprobada para Categoría 3 */
.c3-v1-topbar{grid-template-columns:minmax(280px,.8fr) minmax(390px,1.4fr) auto;gap:22px;padding:10px clamp(16px,2.7vw,42px)}.c3-v1-top-identity{display:flex;align-items:center;gap:11px;min-width:0}.c3-v1-top-identity img{width:62px;height:62px;object-fit:contain;display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}.c3-v1-top-identity div{display:grid;line-height:1.05}.c3-v1-top-identity small{font-size:9px;font-weight:800;letter-spacing:.09em;color:#bfe9ff}.c3-v1-top-identity strong{font-size:14px;color:#fff}.c3-v1-top-identity span{font-size:9px;font-weight:800;color:#cbe7f5;margin-top:3px}.c3-v1-contest-name{display:grid;justify-items:center;text-align:center;gap:4px}.c3-v1-contest-name strong{font-size:clamp(19px,2vw,29px);line-height:1;color:#fff}.c3-v1-contest-name span{padding:4px 13px;border-radius:6px;background:#ccefff;color:#064a7e;font-size:12px;font-weight:950;letter-spacing:.04em}.c3-v1-top-status{display:flex;align-items:center;gap:12px}.c3-v1-hero--diversity{display:block}.c3-v1-hero--diversity .c3-v1-hero-title{padding:2px 8px 4px}.c3-v1-hero--diversity .c3-v1-hero-title h1{max-width:1000px}.c3-v1-hero-main>.c3-v1-hero-title{padding-top:2px}
@media(max-width:1000px){.c3-v1-topbar{grid-template-columns:1fr auto}.c3-v1-contest-name{grid-column:1/-1;grid-row:2}.c3-v1-top-status{grid-column:2;grid-row:1}.c3-v1-top-badges{grid-row:auto;grid-column:auto}}
@media(max-width:720px){.c3-v1-topbar{grid-template-columns:1fr}.c3-v1-top-status,.c3-v1-contest-name{grid-column:1;grid-row:auto;justify-self:stretch}.c3-v1-top-status{justify-content:space-between}.c3-v1-contest-name{justify-items:start;text-align:left}.c3-v1-top-identity img{width:55px;height:55px}}
.c3-v1-review-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px clamp(16px,3vw,44px);background:linear-gradient(110deg,#073e78,#075fa9);color:#fff}.c3-v1-review-topbar>div{display:flex;align-items:center;gap:11px}.c3-v1-review-topbar img{width:58px;height:58px;object-fit:contain}.c3-v1-review-topbar span{display:grid}.c3-v1-review-topbar small{font-size:10px;color:#ccefff;font-weight:800}.c3-v1-review-topbar strong{font-size:16px}.c3-v1-review-topbar a{color:#fff;font-weight:800;text-decoration:none;padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:10px}

/* Corrección visual aprobada para las situaciones significativas de Categoría 3 */
.c3-v1-approved-visual{display:grid;align-content:start;gap:12px;border-radius:22px;padding:16px;background:linear-gradient(180deg,#f7fbff,#eef6ff);border:1px solid #cfe0ee;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.c3-v1-approved-visual__frame{position:relative;overflow:hidden;border-radius:18px;background:#fff;border:1px solid #d4e3ee;box-shadow:0 12px 26px rgba(20,64,101,.09)}
.c3-v1-approved-visual__frame img{width:100%;display:block;object-fit:cover;min-height:320px;max-height:520px}
.c3-v1-approved-visual__eyebrow{position:absolute;left:12px;top:12px;z-index:2;padding:7px 12px;border-radius:999px;background:rgba(7,70,126,.93);color:#fff;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 18px rgba(4,45,86,.18)}
.c3-v1-approved-visual__badges{display:flex;flex-wrap:wrap;gap:8px}.c3-v1-approved-visual__badges span{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #d4e1eb;color:#184b77;font-size:12px;font-weight:800;box-shadow:0 6px 14px rgba(22,62,94,.06)}
.c3-v1-approved-visual__footer{margin:0;padding:12px 14px;border-radius:14px;background:#0b4f85;color:#fff;font-size:13px;line-height:1.45;font-weight:700}
.c3-v1-approved-visual.is-wellbeing{background:linear-gradient(180deg,#f8f4ff,#edf4ff)}
.c3-v1-approved-visual.is-family{background:linear-gradient(180deg,#fff8f3,#f4f9ff)}
.c3-v1-approved-visual.is-recycle{background:linear-gradient(180deg,#f1fbf2,#fbfdf1)}
.c3-v1-approved-visual.is-diversity{background:linear-gradient(180deg,#f7fbff,#eef6ff)}
.c3-v1-hero--diversity{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:start;background:#fff}
.c3-v1-diversity-layout{grid-template-columns:1fr}
.c3-v1-diversity-card{border-radius:22px;background:#fff;border:1px solid #d4e1eb;box-shadow:0 12px 28px rgba(23,65,102,.07);padding:16px;display:grid;gap:12px}
.c3-v1-diversity-card header{display:grid;gap:4px;padding:2px 4px 4px}.c3-v1-diversity-card header span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0e5f91}.c3-v1-diversity-card header strong{font-size:22px;line-height:1.15;color:#12395f}
.c3-v1-diversity-card img{width:100%;display:block;border-radius:18px;border:1px solid #d7e5ef;background:#fff}
.c3-v1-diversity-card footer{padding:12px 14px;border-radius:14px;background:#f4f8fc;color:#567086;font-size:13px;line-height:1.45;border:1px solid #dbe7f1}
@media(max-width:1060px){.c3-v1-approved-visual__frame img{max-height:none}.c3-v1-hero--diversity{grid-template-columns:1fr}}
@media(max-width:720px){.c3-v1-approved-visual{padding:12px}.c3-v1-approved-visual__frame img{min-height:240px}.c3-v1-diversity-card header strong{font-size:18px}}

/* V2 · Restauración exacta de referencias visuales aprobadas */
.c3-v2-approved-header{position:sticky;top:0;z-index:30;background:#07569a;box-shadow:0 8px 24px rgba(6,54,103,.18);overflow:hidden}.c3-v2-approved-header>img{display:block;width:100%;height:auto;min-height:120px;object-fit:cover;object-position:center}.c3-v2-approved-header__right{position:absolute;right:18px;bottom:10px;display:flex;align-items:center;gap:10px}.c3-v2-live-status{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:9px;padding:7px 9px;border-radius:12px;background:rgba(4,39,76,.86);border:1px solid rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(7px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.c3-v2-live-status span{font-size:11px;font-weight:950;padding:5px 8px;border-radius:8px;background:#0b73ad}.c3-v2-live-status small{font-size:10px;font-weight:800}.c3-v2-live-status strong{font-size:18px;letter-spacing:.04em;font-variant-numeric:tabular-nums}.c3-v2-review-back{display:inline-flex;align-items:center;min-height:39px;padding:0 13px;border-radius:10px;background:rgba(5,48,91,.88);border:1px solid rgba(255,255,255,.38);color:#fff;text-decoration:none;font-weight:900;font-size:12px}
.c3-v2-review-intro{width:min(1440px,calc(100% - 28px));margin:16px auto 0;padding:15px 20px;border-radius:18px;background:#fff;border:1px solid #d3e1eb;box-shadow:0 8px 20px rgba(21,61,94,.06);display:flex;align-items:center;justify-content:space-between;gap:20px}.c3-v2-review-intro span{font-size:10px;letter-spacing:.12em;color:#0a7f9d;font-weight:950}.c3-v2-review-intro h1{margin:4px 0 3px;color:#113f6d;font-size:24px}.c3-v2-review-intro p{margin:0;color:#65798b;font-size:13px}.c3-v2-review-intro>strong{padding:8px 11px;border-radius:999px;background:#eaf5ff;color:#0a5a8f;font-size:11px;white-space:nowrap}
.c3-v2-approved-situation-image{margin:0;border-radius:20px;overflow:hidden;background:#fff;border:1px solid #cbddea;align-self:stretch;display:flex;box-shadow:0 12px 28px rgba(22,64,99,.09)}.c3-v2-approved-situation-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.c3-v1-hero{grid-template-columns:minmax(0,1.08fr) minmax(365px,.92fr);align-items:stretch}.c3-v1-hero-main{display:flex;flex-direction:column}.c3-v1-reading{flex:1}.c3-v1-hero-title h1{font-size:clamp(30px,3vw,46px)}
.c3-v2-s4{background:#fff;border:1px solid #cfe1ef;border-radius:24px;padding:16px;box-shadow:0 16px 36px rgba(23,65,102,.09);display:grid;gap:13px;overflow:hidden}.c3-v2-s4>.c3-v1-hero-title{padding:2px 0 4px}.c3-v2-s4__visuals{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:12px}.c3-v2-s4__visuals figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid #d2e2ec;background:#f8fbfe}.c3-v2-s4__visuals img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.c3-v2-s4__reading{margin-top:0}
@media(max-width:1060px){.c3-v2-approved-header>img{min-height:105px}.c3-v2-approved-header__right{position:relative;right:auto;bottom:auto;background:#064777;padding:8px 12px}.c3-v1-hero{grid-template-columns:1fr}.c3-v2-approved-situation-image img{height:auto;object-fit:contain}.c3-v2-s4__visuals{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.c3-v2-approved-header{position:relative}.c3-v2-approved-header>img{min-height:82px}.c3-v2-approved-header__right{display:block}.c3-v2-live-status{grid-template-columns:1fr auto auto}.c3-v2-s4__visuals{grid-template-columns:1fr}.c3-v2-review-intro{width:calc(100% - 16px);margin-top:8px;align-items:flex-start}.c3-v2-review-intro>strong{display:none}}


/* V4 · Correcciones de encuadre, fuente formal y cabecera universal */
.c3-v2-approved-header{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.35fr) auto;align-items:center;gap:22px;min-height:112px;padding:12px clamp(18px,3vw,48px);background:linear-gradient(105deg,#07569a 0%,#064a88 48%,#063b74 100%);overflow:visible}
.c3-v4-header-school{display:flex;align-items:center;gap:13px;min-width:0;color:#fff}.c3-v4-header-school img{width:72px;height:72px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.22))}.c3-v4-header-school div{display:grid;gap:3px;min-width:0}.c3-v4-header-school small{font-size:10px;letter-spacing:.11em;font-weight:900;color:#ccefff}.c3-v4-header-school strong{font-size:clamp(15px,1.3vw,21px);line-height:1.08;color:#fff}
.c3-v4-header-contest{display:grid;justify-items:center;text-align:center;color:#fff;line-height:1}.c3-v4-header-contest span{font-size:clamp(25px,2.65vw,43px);font-weight:950;letter-spacing:.015em}.c3-v4-header-contest strong{margin-top:5px;padding:6px 16px;border-radius:8px;background:#c9efff;color:#084d82;font-size:clamp(14px,1.35vw,21px);letter-spacing:.04em}
.c3-v2-approved-header__right{position:static;right:auto;bottom:auto;justify-self:end;display:flex;align-items:center;gap:10px}
.c3-v2-approved-situation-image{align-self:start;display:block;overflow:hidden;height:auto;min-height:0}.c3-v2-approved-situation-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top}
.c3-v1-hero{align-items:stretch}.c3-v1-hero-main{align-self:stretch}.c3-v1-reading{display:flex;flex:1;flex-direction:column}.c3-v1-reading>div{flex:1}
.c3-v1-reading small,.c3-v1-complementary>small{text-align:left}
.c3-v4-source{margin-top:auto;padding-top:16px;border-top:1px solid #cfdfec;color:#4d6578;font-size:11.5px;line-height:1.45;text-align:left;display:flex;align-items:flex-start;gap:5px}.c3-v4-source strong{font-style:normal;color:#36556d;white-space:nowrap}.c3-v4-source cite{font-style:normal;text-align:left}
.c3-v2-s4__visuals{align-items:start}.c3-v2-s4__visuals figure{display:block;overflow:hidden;align-self:start}.c3-v2-s4__visuals img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top}.c3-v2-s4__reading{min-height:230px}
@media(max-width:1060px){.c3-v2-approved-header{grid-template-columns:1fr auto;gap:12px}.c3-v4-header-contest{grid-column:1/-1;grid-row:2}.c3-v2-approved-header__right{grid-column:2;grid-row:1}.c3-v2-s4__visuals{grid-template-columns:1fr 1fr}.c3-v2-approved-situation-image img,.c3-v2-s4__visuals img{height:auto!important;object-fit:contain!important}}
@media(max-width:720px){.c3-v2-approved-header{position:relative;grid-template-columns:1fr;padding:10px 12px}.c3-v4-header-school img{width:58px;height:58px}.c3-v4-header-contest{grid-column:1;grid-row:auto;justify-items:start;text-align:left}.c3-v2-approved-header__right{grid-column:1;grid-row:auto;justify-self:stretch}.c3-v2-s4__visuals{grid-template-columns:1fr}.c3-v4-source{display:block}.c3-v4-source strong{margin-right:4px}}

/* V5 PREPUBLICACION 2026 · Situacion 4 completa + lectura responsive */
.c3-v5-s4{overflow:visible}
.c3-v5-s4__desktop{display:block;min-width:0}
.c3-v5-s4__desktop figure{margin:0;border:1px solid #cbddea;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(22,64,99,.08)}
.c3-v5-s4__desktop img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;background:#fff}
.c3-v5-s4__mobile{display:none}
.c3-v5-s4__mobile figure{margin:0;border:1px solid #cbddea;border-radius:16px;overflow:hidden;background:#fff}
.c3-v5-s4__mobile img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top;background:#fff}
.c3-v5-s4 .c3-v2-s4__reading{min-height:0;margin-top:2px}

@media(max-width:900px){
  .c3-v5-s4__desktop{display:none}
  .c3-v5-s4__mobile{display:grid;grid-template-columns:1fr;gap:12px}
  .c3-v5-s4{padding:12px;gap:12px}
  .c3-v5-s4 .c3-v1-reading p{font-size:14px;line-height:1.55}
}

@media(max-width:520px){
  .c3-v5-s4{padding:8px;border-radius:16px}
  .c3-v5-s4__mobile{gap:8px}
  .c3-v5-s4__mobile figure{border-radius:12px}
  .c3-v5-s4 .c3-v1-reading{padding:14px}
  .c3-v5-s4 .c3-v1-reading p{font-size:13.5px;line-height:1.5;text-align:left;hyphens:auto}
}
/* Programación oficial del concurso · V4 */
.contest-schedule-v2026{margin-top:18px;padding:16px;border:1px solid #c9deec;border-radius:18px;background:linear-gradient(180deg,#fafdff,#f2f8fc);display:grid;gap:13px}
.contest-schedule-v2026__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.contest-schedule-v2026__head span{display:block;font-size:10px;letter-spacing:.11em;font-weight:950;color:#0a7898}.contest-schedule-v2026__head strong{display:block;margin-top:3px;color:#103e6b;font-size:18px;line-height:1.18}.contest-schedule-v2026__status{padding:6px 10px;border-radius:999px;background:#e8f2fa;color:#356078;font-size:11px;font-weight:900;white-space:nowrap}.contest-schedule-v2026__status.is-open{background:#e4f7eb;color:#237044}.contest-schedule-v2026__status.is-scheduled{background:#fff4dc;color:#916211}.contest-schedule-v2026__status.is-closed,.contest-schedule-v2026__status.is-disabled{background:#f4ebeb;color:#845050}
.contest-schedule-v2026 label{display:grid;gap:7px;color:#244d70;font-size:12px;font-weight:900}.contest-schedule-v2026 input[type=datetime-local]{width:100%;min-height:46px;padding:0 12px;border:1.5px solid #c6d8e5;border-radius:12px;background:#fff;color:#153f65;font:inherit;font-size:14px;outline:0}.contest-schedule-v2026 input[type=datetime-local]:focus{border-color:#0b7fb7;box-shadow:0 0 0 3px rgba(11,127,183,.10)}
.contest-schedule-v2026__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contest-schedule-v2026__meta div{padding:10px 11px;border-radius:12px;background:#fff;border:1px solid #d8e5ee;display:grid;gap:3px}.contest-schedule-v2026__meta small{color:#728596;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.contest-schedule-v2026__meta strong{color:#1a4e76;font-size:12px;line-height:1.35}
.contest-schedule-v2026__note{margin:0;color:#5d7284;font-size:12px;line-height:1.48}.contest-schedule-v2026__actions{display:grid;grid-template-columns:1fr auto;gap:8px}.contest-schedule-v2026__actions button{min-height:44px;border:0;border-radius:11px;padding:0 13px;font-weight:900;cursor:pointer}.contest-schedule-v2026__actions .is-primary{background:linear-gradient(135deg,#0a77c3,#095b9f);color:#fff}.contest-schedule-v2026__actions .is-secondary{background:#eef2f5;color:#475e70;border:1px solid #d6e0e7}.contest-schedule-v2026__actions button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.contest-schedule-v2026__meta,.contest-schedule-v2026__actions{grid-template-columns:1fr}.contest-schedule-v2026__head{display:grid}.contest-schedule-v2026__status{justify-self:start}}

.contest-schedule-v2026~.rv18-availability-actions{display:none!important}
/* Ludimática V3 — portada scrapbook clara, inspirada en la propuesta aprobada */
.lm-home--scrapbook-v3{
  --scrap-paper:#f7f0df;
  --scrap-paper-2:#fffaf0;
  --scrap-ink:#0d3159;
  --scrap-muted:#5d6f7d;
  --scrap-orange:#f58b18;
  --scrap-green:#16a27a;
  --scrap-blue:#2d75d9;
  --scrap-violet:#7153d9;
  --scrap-red:#d7503e;
  --scrap-yellow:#f4c54f;
  --scrap-border:#d9cfb8;
  --scrap-shadow:0 14px 34px rgba(71,61,42,.10);
  min-height:100vh;
  color:var(--scrap-ink);
  background:
    radial-gradient(circle at 20% 8%,rgba(255,255,255,.65),transparent 28%),
    radial-gradient(circle at 90% 16%,rgba(255,255,255,.5),transparent 22%),
    repeating-linear-gradient(0deg,rgba(89,68,38,.016) 0 1px,transparent 1px 4px),
    var(--scrap-paper);
}
.lm-home--scrapbook-v3 *{box-sizing:border-box}
.lm-home--scrapbook-v3 .lm-brand__copy strong{color:var(--scrap-ink)!important}
.lm-home--scrapbook-v3 .lm-brand__copy small{color:#637384!important}

.lm-scrap-header{position:sticky!important;top:0;z-index:80;background:rgba(255,250,240,.95)!important;border-bottom:1px solid rgba(177,157,118,.35)!important;backdrop-filter:blur(14px)}
.lm-scrap-nav{width:min(calc(100% - 42px),1510px)!important;min-height:76px!important;padding:0!important}
.lm-scrap-nav .lm-v4-nav__links{gap:25px!important}
.lm-scrap-nav .lm-v4-nav__links>a:not(.lm-scrap-login){color:#243b51!important;font-size:12px!important;font-weight:850!important;text-decoration:none;position:relative}
.lm-scrap-nav .lm-v4-nav__links>a:not(.lm-scrap-login)::after{content:"";position:absolute;left:50%;right:50%;bottom:-9px;height:3px;border-radius:9px;background:var(--scrap-orange);transition:.18s}
.lm-scrap-nav .lm-v4-nav__links>a:not(.lm-scrap-login):hover::after{left:8%;right:8%}
.lm-scrap-login{padding:12px 20px!important;border-radius:15px!important;background:linear-gradient(135deg,#f3a22c,#ed7d13)!important;color:white!important;border:1px solid #e28117!important;box-shadow:0 10px 22px rgba(237,125,19,.20)!important;font-weight:900!important;text-decoration:none!important}

.lm-scrap-sheet{position:relative;width:min(calc(100% - 42px),1510px);margin:24px auto 0;padding:40px 34px 28px;border:1px solid var(--scrap-border);border-radius:26px;background:rgba(255,252,245,.96);box-shadow:var(--scrap-shadow)}
.lm-scrap-sheet::before{content:"";position:absolute;inset:11px;border:1px dashed rgba(132,112,77,.14);border-radius:20px;pointer-events:none}
.lm-scrap-tape{position:absolute;width:72px;height:23px;background:rgba(235,211,151,.60);box-shadow:0 2px 4px rgba(0,0,0,.06);z-index:3}
.lm-scrap-tape--tl{left:-18px;top:3px;transform:rotate(-19deg)}.lm-scrap-tape--tr{right:-18px;top:7px;transform:rotate(16deg)}
.lm-scrap-hero{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(620px,1.45fr);grid-template-areas:"copy art" "benefits benefits";gap:26px 36px;align-items:center}
.lm-scrap-hero__copy{grid-area:copy;position:relative;padding:22px 6px 18px 8px}
.lm-scrap-label{display:inline-flex;align-items:center;padding:6px 11px;border-radius:8px;background:#dfeeff;color:#245d9b;font-size:10px;font-weight:1000;letter-spacing:.08em;transform:rotate(-1deg);box-shadow:0 3px 8px rgba(54,75,91,.08)}
.lm-scrap-label--yellow{background:#f6d676;color:#5a4210}.lm-scrap-label--blue{background:#dbe8ff;color:#214f95}
.lm-scrap-hero__copy h1{max-width:520px;margin:16px 0 15px;color:var(--scrap-ink);font-size:clamp(48px,4.7vw,77px);line-height:.94;letter-spacing:-.052em;font-weight:950}
.lm-scrap-hero__copy h1 em{display:block;color:var(--scrap-green);font-style:normal}.lm-scrap-hero__copy h1 strong{display:block;color:var(--scrap-orange);font-weight:950}
.lm-scrap-hero__copy>p{max-width:520px;color:#495f70;font-size:14px;line-height:1.55}.lm-scrap-hero__copy>p b{display:block;margin-top:3px;color:#23384f}
.lm-scrap-btn{min-height:46px;padding:0 19px!important;border-radius:13px!important;font-weight:900!important;box-shadow:0 8px 18px rgba(55,48,34,.10)!important}
.lm-scrap-btn--orange{background:linear-gradient(135deg,#ffab31,#f18517)!important;color:#fff!important;border:1px solid #e88118!important}.lm-scrap-btn--paper{background:#fffaf0!important;color:#213c5d!important;border:1px solid #b9aa8f!important}
.lm-scrap-doodle{position:absolute;color:#244e72;font-weight:1000}.lm-scrap-doodle--star{right:18px;top:8px;color:#f0ad21;font-size:42px;transform:rotate(13deg)}.lm-scrap-doodle--plane{right:25px;bottom:22px;font-size:24px;transform:rotate(-18deg)}
.lm-scrap-hero__art{grid-area:art;position:relative;margin:0;padding:8px;border-radius:23px;background:#fff;box-shadow:0 14px 30px rgba(61,54,42,.15);transform:rotate(.25deg)}
.lm-scrap-hero__art>img{width:100%;height:440px;object-fit:cover;object-position:center;display:block;border-radius:17px;filter:saturate(1.04) contrast(1.03)}
.lm-scrap-hero__art figcaption{position:absolute;left:22px;top:20px;display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:13px;background:rgba(255,255,255,.93);box-shadow:0 9px 20px rgba(30,44,56,.13)}
.lm-scrap-hero__art figcaption img{width:37px;height:37px;object-fit:cover;border-radius:9px}.lm-scrap-hero__art figcaption span{display:grid;gap:1px}.lm-scrap-hero__art figcaption strong{font-size:10px;color:#183b68}.lm-scrap-hero__art figcaption small{font-size:8px;color:#6d7a86}
.lm-scrap-sticker{position:absolute;display:grid;place-items:center}.lm-scrap-sticker--star{right:-10px;bottom:-12px;width:48px;height:48px;border-radius:50%;background:#fff;color:#f0a416;font-size:30px;box-shadow:0 5px 13px rgba(50,44,35,.16);transform:rotate(13deg)}
.lm-scrap-benefits{grid-area:benefits;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding-top:4px}
.lm-scrap-benefits article{min-height:92px;padding:14px 15px;display:flex;align-items:center;gap:12px;border:1px solid #ddd5c4;border-radius:18px;background:#eef5ef;box-shadow:0 7px 14px rgba(60,54,43,.05);position:relative}
.lm-scrap-benefits article:nth-child(2){background:#f0eef8}.lm-scrap-benefits article:nth-child(3){background:#fff0c9}.lm-scrap-benefits article:nth-child(4){background:#e7f3f3}
.lm-scrap-benefits article::after{content:"";position:absolute;right:12px;top:-7px;width:12px;height:22px;border:2px solid #809aaa;border-bottom:0;border-radius:7px 7px 0 0;transform:rotate(10deg);opacity:.55}
.lm-scrap-benefits article>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#fff;font-size:25px;box-shadow:0 4px 11px rgba(49,61,67,.08)}
.lm-scrap-benefits article div{display:grid;gap:3px}.lm-scrap-benefits strong{color:#20374d;font-size:12px;line-height:1.18}.lm-scrap-benefits small{color:#697887;font-size:9px;line-height:1.25}

.lm-scrap-section{width:min(calc(100% - 42px),1510px);margin:18px auto 0;padding:30px;border:1px solid var(--scrap-border);border-radius:25px;background:rgba(255,251,242,.95);box-shadow:0 10px 28px rgba(69,61,48,.06)}
.lm-scrap-journey{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:stretch}
.lm-scrap-note{position:relative;padding:28px 25px;border-radius:18px;background:#dbeee6;box-shadow:0 9px 18px rgba(50,65,58,.09);transform:rotate(-.6deg)}
.lm-scrap-note::before{content:"";position:absolute;inset:0;clip-path:polygon(0 2%,97% 0,100% 94%,94% 100%,4% 97%);border:1px solid rgba(82,93,74,.12);pointer-events:none}.lm-scrap-note--mint{background:#dbeee6}.lm-scrap-note--blue{background:#e2ebf7}
.lm-scrap-note h2{margin:13px 0 8px;color:var(--scrap-ink);font-size:35px;line-height:1;letter-spacing:-.035em}.lm-scrap-note p{margin:0;color:#536a71;line-height:1.5}.lm-scrap-note__arrow{position:absolute;right:18px;bottom:12px;font-size:28px;color:#2c485d;transform:rotate(-16deg)}
.lm-scrap-steps{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;gap:7px;align-items:center}
.lm-scrap-step{position:relative;min-height:235px;padding:26px 18px 18px;text-align:center;border:1px solid #d8d0bf;border-radius:18px;background:#fffdf8;box-shadow:0 8px 17px rgba(65,57,43,.07)}
.lm-scrap-clip{position:absolute!important;top:-14px;left:50%;transform:translateX(-50%);font-size:18px!important;color:#252b31!important}.lm-scrap-step>b{position:absolute;top:16px;right:16px;font-size:26px;color:#87b9a8}.lm-scrap-step.is-orange>b{color:#e5a31b}.lm-scrap-step.is-violet>b{color:#8f73d3}.lm-scrap-step.is-red>b{color:#d56c61}
.lm-scrap-step>div{width:58px;height:58px;margin:4px auto 16px;display:grid;place-items:center;border-radius:18px;background:#edf6f2;font-size:30px}.lm-scrap-step.is-orange>div{background:#fff1d7}.lm-scrap-step.is-violet>div{background:#f1ecff}.lm-scrap-step.is-red>div{background:#fcebe7}
.lm-scrap-step h3{margin:0;color:#223a50;font-size:17px}.lm-scrap-step p{margin:9px 0 0;color:#697988;font-size:11px;line-height:1.47}.lm-scrap-step-arrow{text-align:center;color:#42576a;font-size:27px}

.lm-scrap-section-title{text-align:center;margin-bottom:20px}.lm-scrap-section-title h2{margin:9px 0 0;color:var(--scrap-ink);font-size:38px;letter-spacing:-.035em}
.lm-scrap-competencies{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.lm-scrap-competencies article{min-height:138px;padding:20px;display:grid;grid-template-columns:75px 1fr;gap:15px;align-items:center;border:1px solid #ddd5c5;border-radius:20px;background:#fffdf8;box-shadow:0 8px 18px rgba(64,55,44,.06);position:relative;overflow:hidden}
.lm-scrap-competencies article::after{content:"";position:absolute;right:-26px;bottom:-42px;width:105px;height:105px;border-radius:50%;background:rgba(36,112,188,.06)}
.lm-scrap-competency-icon{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#18a47d;font-size:24px;font-weight:950;box-shadow:0 0 0 6px rgba(24,164,125,.10)}
.lm-scrap-competencies .is-blue .lm-scrap-competency-icon{background:#2b7ad8;box-shadow:0 0 0 6px rgba(43,122,216,.10)}.lm-scrap-competencies .is-violet .lm-scrap-competency-icon{background:#7752cf;box-shadow:0 0 0 6px rgba(119,82,207,.10)}.lm-scrap-competencies .is-orange .lm-scrap-competency-icon{background:#ed8618;box-shadow:0 0 0 6px rgba(237,134,24,.10)}
.lm-scrap-competencies h3{margin:0;color:#213a50;font-size:16px}.lm-scrap-competencies p{margin:5px 0 8px;color:#647585;font-size:10px;line-height:1.35}.lm-scrap-competencies small{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8f7f1;color:#258062;font-size:8px;font-weight:950}.lm-scrap-competencies .is-blue small{background:#e9f1fd;color:#3471b9}.lm-scrap-competencies .is-violet small{background:#f0eafd;color:#7653bf}.lm-scrap-competencies .is-orange small{background:#fff0dd;color:#bd6c15}

.lm-scrap-missions-section{display:grid;grid-template-columns:245px 1fr;gap:18px;align-items:stretch}.lm-scrap-mission-intro{min-height:350px}.lm-scrap-mission-intro h2{font-size:34px}.lm-scrap-note__plane{position:absolute;right:22px;bottom:20px;font-size:27px;transform:rotate(-24deg)}
.lm-scrap-mission-area{min-width:0;position:relative}.lm-scrap-mission-controls{position:absolute;right:6px;top:-42px;display:flex;align-items:center;gap:7px}.lm-scrap-mission-controls button{width:32px;height:32px;border:1px solid #c8bda6;border-radius:10px;background:#fffdf8;color:#2b4962;font-weight:900;cursor:pointer}.lm-scrap-mission-controls button.is-active{background:#eff4fb;border-color:#9eb7cf}.lm-scrap-mission-controls span{font-size:10px;color:#76818c;font-weight:850}
.lm-scrap-missions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;height:100%}
.lm-scrap-mission-card{min-width:0;border:1px solid #d9cfbd;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 18px rgba(63,54,39,.07);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}.lm-scrap-mission-card:hover{transform:translateY(-4px);box-shadow:0 14px 25px rgba(63,54,39,.11)}
.lm-scrap-mission-card__art{position:relative;height:158px;overflow:hidden;background:#d7e1e8}.lm-scrap-mission-card__art img{width:100%;height:100%;display:block;object-fit:cover;image-rendering:auto;filter:saturate(1.08) contrast(1.04)}.lm-scrap-mission-card__art::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(10,29,48,.35))}.lm-scrap-mission-card__art b{position:absolute;right:9px;top:9px;z-index:2;padding:4px 7px;border-radius:999px;background:#fff;color:#273c51;font-size:8px;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.lm-scrap-mission-card__body{padding:13px 13px 12px;display:flex;flex-direction:column;gap:5px;flex:1}.lm-scrap-mission-card__body>small{color:#7257c9;font-size:7px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em}.lm-scrap-mission-card__body h3{margin:0;color:#183659;font-size:14px;line-height:1.13}.lm-scrap-mission-card__body p{margin:0;color:#647583;font-size:9px;line-height:1.42}.lm-scrap-mission-card__body>div{margin-top:auto;padding-top:10px;border-top:1px solid #eee8dd;display:flex;justify-content:space-between;gap:8px;color:#5d6f7b;font-size:8px;font-weight:850}

.lm-scrap-contest-strip{width:min(calc(100% - 42px),1510px);margin:18px auto 0;padding:22px 24px;display:grid;grid-template-columns:125px 1.4fr .9fr 115px auto;gap:18px;align-items:center;border:1px solid #d9cfb7;border-radius:24px;background:linear-gradient(120deg,#fff8e8,#f7f0df 52%,#f1eee3);box-shadow:0 11px 27px rgba(70,60,41,.08);position:relative;overflow:hidden}.lm-scrap-contest-strip::after{content:"";position:absolute;right:-35px;top:-35px;width:140px;height:140px;border-radius:50%;background:rgba(42,97,162,.05)}
.lm-scrap-contest-strip__trophy{font-size:86px;text-align:center;filter:drop-shadow(0 8px 10px rgba(102,73,18,.18))}.lm-scrap-contest-strip__copy h2{margin:7px 0 6px;color:#173b63;font-size:34px;line-height:1.02;letter-spacing:-.035em}.lm-scrap-contest-strip__copy h2 strong{color:#ef8818}.lm-scrap-contest-strip__copy p{margin:0;color:#657680;font-size:10px;line-height:1.45}
.lm-scrap-contest-strip__categories{display:grid;gap:6px}.lm-scrap-contest-strip__categories>span{padding:8px 10px;display:flex;justify-content:space-between;gap:10px;border:1px solid #d8cfbb;border-radius:10px;background:rgba(255,255,255,.78)}.lm-scrap-contest-strip__categories b{font-size:9px;color:#344d60}.lm-scrap-contest-strip__categories small{font-size:8px;color:#657887}
.lm-scrap-contest-strip__metric{width:100px;height:100px;display:grid;place-content:center;text-align:center;border-radius:50%;background:#fff;border:1px solid #d5cab5;box-shadow:0 6px 14px rgba(58,52,42,.07)}.lm-scrap-contest-strip__metric strong{font-size:32px;color:#173d66}.lm-scrap-contest-strip__metric small{color:#687a87;font-size:8px;font-weight:850}
.lm-scrap-contest-strip__actions{display:grid;gap:7px;position:relative;z-index:2}.lm-scrap-contest-strip__actions a{min-width:165px;padding:10px 12px;border-radius:10px;text-align:center;text-decoration:none;font-size:9px;font-weight:950}.lm-scrap-contest-strip__actions a:first-child{background:#f3b21f;color:#fff}.lm-scrap-contest-strip__actions a:last-child{background:#1967ae;color:#fff}

.lm-scrap-institution{display:grid;grid-template-columns:390px 1fr;gap:26px;align-items:stretch}.lm-scrap-institution__identity{text-align:center;padding:17px 24px;border-radius:20px;background:#f4f4e8;border:1px solid #d6d0bf}.lm-scrap-institution__identity>img{width:150px;height:170px;object-fit:contain;margin:13px auto 5px;display:block}.lm-scrap-institution__identity h2{margin:8px 0;color:#153f55;font-size:30px;line-height:1.05}.lm-scrap-institution__identity>p{color:#697984;font-size:10px;line-height:1.5}.lm-scrap-institution__identity>div{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.lm-scrap-institution__identity>div span{padding:9px 4px;border-radius:11px;background:#fff;border:1px solid #ddd6c7;color:#667781;font-size:8px}.lm-scrap-institution__identity>div strong{display:block;color:#193c5f;font-size:20px}
.lm-scrap-school-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:10px}.lm-scrap-school-grid figure{position:relative;margin:0;min-height:165px;border:5px solid #fff;border-radius:16px;background:#ddd;overflow:hidden;box-shadow:0 8px 17px rgba(50,46,36,.12)}.lm-scrap-school-grid figure.is-main{grid-row:1/-1}.lm-scrap-school-grid img{width:100%;height:100%;object-fit:cover;display:block}.lm-scrap-school-grid figcaption{position:absolute;left:8px;bottom:7px;padding:5px 7px;border-radius:8px;background:rgba(26,42,55,.79);color:#fff;font-size:8px;font-weight:850}

.lm-scrap-creator{display:grid;grid-template-columns:210px 1fr .72fr;gap:25px;align-items:center}.lm-scrap-creator__portrait{position:relative;text-align:center}.lm-scrap-creator__portrait img{width:178px;height:205px;object-fit:cover;border-radius:48% 48% 44% 44%;border:5px solid #fff;box-shadow:0 8px 20px rgba(52,48,40,.13)}.lm-scrap-creator__portrait span{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);white-space:nowrap;padding:6px 14px;border-radius:99px;background:#133e75;color:#fff;font-size:8px;font-weight:900}.lm-scrap-creator__copy h2{margin:10px 0 8px;color:#15375c;font-size:34px;line-height:1.03}.lm-scrap-creator__copy p{color:#657782;line-height:1.55;font-size:10px}.lm-scrap-creator__copy strong{display:block;color:#6649bd;font-size:13px}.lm-scrap-creator__copy small{color:#74818b}.lm-scrap-creator__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.lm-scrap-creator__stats article{min-height:115px;padding:15px 8px;display:grid;place-items:center;text-align:center;border-radius:16px;background:#e9f2ee;border:1px solid #d9d2c4}.lm-scrap-creator__stats article:nth-child(2){background:#f0f2df}.lm-scrap-creator__stats article:nth-child(3){background:#e9edf7}.lm-scrap-creator__stats article span{font-size:24px}.lm-scrap-creator__stats article strong{color:#173a60;font-size:27px}.lm-scrap-creator__stats article small{color:#677986;font-size:8px}

.lm-scrap-cta{width:100%;margin:18px 0 0;padding:24px max(34px,calc((100vw - 1460px)/2));display:grid;grid-template-columns:95px 1fr auto;gap:20px;align-items:center;background:linear-gradient(110deg,#3553a7,#7b43cb);color:#fff;position:relative;overflow:hidden}.lm-scrap-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 50%,rgba(255,255,255,.14),transparent 32%)}.lm-scrap-cta>img{width:82px;height:82px;object-fit:cover;border-radius:17px;border:3px solid rgba(255,255,255,.72);position:relative;z-index:1}.lm-scrap-cta>div{position:relative;z-index:1}.lm-scrap-cta h2{margin:6px 0 3px;font-size:33px}.lm-scrap-cta p{margin:0;color:#e6e6fa}.lm-scrap-cta>div:last-child{display:flex;gap:9px}.lm-scrap-cta>div:last-child a{padding:11px 17px;border-radius:11px;text-decoration:none;font-size:10px;font-weight:950}.lm-scrap-cta>div:last-child a:first-child{background:#f7b323;color:#fff}.lm-scrap-cta>div:last-child a:last-child{background:#25a778;color:#fff}
.lm-scrap-footer{padding:26px max(34px,calc((100vw - 1460px)/2));display:grid;grid-template-columns:1.5fr repeat(3,.7fr);gap:28px;position:relative;background:#fffaf0;border-top:1px solid #d7ccb5}.lm-scrap-footer>div{display:grid;align-content:start;gap:5px}.lm-scrap-footer p,.lm-scrap-footer a,.lm-scrap-footer span{margin:0;color:#697884;font-size:9px;text-decoration:none}.lm-scrap-footer strong{font-size:9px;color:#29445b}.lm-scrap-footer>small{position:absolute;right:max(34px,calc((100vw - 1460px)/2));bottom:10px;color:#9b9181;font-size:8px}

@media(max-width:1180px){
  .lm-scrap-nav .lm-v4-nav__links{gap:14px!important}.lm-scrap-nav .lm-v4-nav__links>a:not(.lm-scrap-login){font-size:10px!important}
  .lm-scrap-hero{grid-template-columns:1fr 1.25fr}.lm-scrap-hero__art>img{height:390px}.lm-scrap-benefits{grid-template-columns:repeat(2,1fr)}
  .lm-scrap-journey{grid-template-columns:1fr}.lm-scrap-note{transform:none}.lm-scrap-competencies{grid-template-columns:repeat(2,1fr)}
  .lm-scrap-missions-section{grid-template-columns:1fr}.lm-scrap-mission-intro{min-height:auto}.lm-scrap-missions-grid{grid-template-columns:repeat(2,1fr)}
  .lm-scrap-contest-strip{grid-template-columns:100px 1.4fr 1fr 95px}.lm-scrap-contest-strip__actions{grid-column:2/-1;grid-template-columns:1fr 1fr}
  .lm-scrap-institution{grid-template-columns:1fr}.lm-scrap-creator{grid-template-columns:180px 1fr}.lm-scrap-creator__stats{grid-column:1/-1}
}
@media(max-width:820px){
  .lm-scrap-nav{width:calc(100% - 24px)!important}.lm-scrap-nav .lm-v4-nav__links>a:not(.lm-scrap-login){display:none}
  .lm-scrap-sheet,.lm-scrap-section,.lm-scrap-contest-strip{width:calc(100% - 24px)}
  .lm-scrap-hero{grid-template-columns:1fr;grid-template-areas:"copy" "art" "benefits"}.lm-scrap-hero__art>img{height:330px}.lm-scrap-benefits{grid-template-columns:1fr}
  .lm-scrap-steps{grid-template-columns:1fr}.lm-scrap-step-arrow{transform:rotate(90deg)}
  .lm-scrap-competencies{grid-template-columns:1fr}.lm-scrap-missions-grid{grid-template-columns:1fr}
  .lm-scrap-contest-strip{grid-template-columns:80px 1fr}.lm-scrap-contest-strip__categories,.lm-scrap-contest-strip__metric,.lm-scrap-contest-strip__actions{grid-column:1/-1}.lm-scrap-contest-strip__categories{grid-template-columns:repeat(3,1fr)}.lm-scrap-contest-strip__actions{grid-template-columns:1fr}
  .lm-scrap-school-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.lm-scrap-school-grid figure.is-main{grid-row:auto;grid-column:1/-1;height:280px}.lm-scrap-creator{grid-template-columns:1fr;text-align:center}.lm-scrap-creator__stats{grid-template-columns:1fr 1fr 1fr}
  .lm-scrap-cta{grid-template-columns:70px 1fr}.lm-scrap-cta>div:last-child{grid-column:1/-1}.lm-scrap-footer{grid-template-columns:1fr 1fr}.lm-scrap-footer>small{position:static;grid-column:1/-1}
}
@media(max-width:520px){
  .lm-scrap-sheet,.lm-scrap-section{padding:20px}.lm-scrap-hero__copy h1{font-size:45px}.lm-scrap-hero__art>img{height:255px}
  .lm-scrap-competencies article{grid-template-columns:60px 1fr}.lm-scrap-competency-icon{width:56px;height:56px}.lm-scrap-contest-strip{grid-template-columns:1fr}.lm-scrap-contest-strip__trophy{font-size:62px}.lm-scrap-contest-strip__categories{grid-template-columns:1fr}.lm-scrap-contest-strip__copy h2{font-size:29px}.lm-scrap-contest-strip__metric{margin:auto}
  .lm-scrap-school-grid{grid-template-columns:1fr}.lm-scrap-school-grid figure.is-main{grid-column:auto}.lm-scrap-creator__stats{grid-template-columns:1fr}.lm-scrap-cta{grid-template-columns:1fr;text-align:center}.lm-scrap-cta>img{margin:auto}.lm-scrap-cta>div:last-child{display:grid}.lm-scrap-footer{grid-template-columns:1fr}
}

/* V3.1 — contador real dentro de la franja temporal del concurso */
.lm-scrap-contest-strip__countdown{display:grid;gap:5px;min-width:235px;padding:9px 11px;border:1px solid rgba(22,61,96,.14);border-radius:13px;background:rgba(255,255,255,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.lm-scrap-contest-strip__countdown>span{font-size:8px;font-weight:950;letter-spacing:.08em;color:#9c6d14;text-align:center}
.lm-scrap-contest-strip__countdown .contest-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.lm-scrap-contest-strip__countdown .contest-countdown>span{min-width:0;padding:5px 3px;border-radius:8px;background:#123c68;color:#fff;text-align:center;border:1px solid #315d86}
.lm-scrap-contest-strip__countdown .contest-countdown strong{display:block;font-size:13px;line-height:1;color:#fff}
.lm-scrap-contest-strip__countdown .contest-countdown small{display:block;margin-top:2px;font-size:5px;color:#f2d378;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1100px){.lm-scrap-contest-strip__countdown{grid-column:1/-1;justify-self:stretch}.lm-scrap-contest-strip__countdown .contest-countdown{max-width:360px;margin:auto;width:100%}}

/* ================================================================
   V4 — ajustes de portada: visualización a 100 %, Lumix completo y
   bloque del Reto Raimondino sin superposiciones.
   ================================================================ */
.lm-home--scrapbook-v3{
  overflow-x:hidden;
}
.lm-scrap-nav,
.lm-scrap-sheet,
.lm-scrap-section,
.lm-scrap-contest-strip{
  max-width:1320px;
}
.lm-scrap-hero{
  grid-template-columns:minmax(310px,.72fr) minmax(0,1.48fr);
  gap:24px 30px;
}
.lm-scrap-hero__art{
  overflow:visible;
}
.lm-scrap-hero__art>img{
  width:100%;
  height:auto;
  aspect-ratio:8 / 3;
  object-fit:contain;
  object-position:center;
  background:#dceffc;
}
.lm-scrap-hero__art figcaption{
  left:18px;
  top:16px;
}

.lm-scrap-contest-strip--v4{
  min-height:245px;
  padding:25px 28px;
  grid-template-columns:112px minmax(330px,.92fr) minmax(500px,1.28fr);
  gap:24px;
  align-items:center;
  background:
    radial-gradient(circle at 94% 10%,rgba(45,117,217,.10),transparent 24%),
    radial-gradient(circle at 4% 90%,rgba(244,197,79,.14),transparent 24%),
    linear-gradient(120deg,#fffaf0 0%,#f8f0df 55%,#eef5f5 100%);
  border:1px solid #d7ccb5;
  box-shadow:0 14px 34px rgba(70,60,41,.10);
}
.lm-scrap-contest-strip--v4::before{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  border:1px dashed rgba(44,76,104,.10);
  border-radius:18px;
}
.lm-scrap-contest-strip--v4::after{
  width:180px;
  height:180px;
  right:-50px;
  top:-55px;
  background:radial-gradient(circle,rgba(45,117,217,.10),transparent 68%);
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__trophy{
  width:104px;
  height:128px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-size:0;
  border-radius:26px;
  background:linear-gradient(145deg,#fff8dc,#f8df91);
  border:1px solid #e1bf57;
  box-shadow:0 11px 22px rgba(117,84,20,.14),inset 0 1px 0 #fff;
  transform:rotate(-1.5deg);
  position:relative;
  z-index:2;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__trophy span{
  font-size:68px;
  line-height:1;
  filter:drop-shadow(0 7px 8px rgba(102,73,18,.14));
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__trophy small{
  font-size:8px;
  letter-spacing:.12em;
  font-weight:1000;
  color:#7a5915;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__copy{
  position:relative;
  z-index:2;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.lm-scrap-contest-strip--v4 .lm-scrap-label{
  align-self:flex-start;
  transform:none;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__copy h2{
  margin:10px 0 8px;
  max-width:560px;
  font-size:clamp(28px,2.45vw,38px);
  line-height:1.02;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__copy p{
  max-width:590px;
  font-size:11px;
  line-height:1.55;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__actions{
  margin-top:14px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__actions a{
  min-width:0;
  padding:10px 15px;
  border-radius:11px;
  font-size:9px;
  box-shadow:0 7px 14px rgba(51,49,40,.08);
}
.lm-scrap-contest-strip__info{
  position:relative;
  z-index:2;
  min-width:0;
  padding:13px;
  display:grid;
  gap:9px;
  border-radius:19px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(167,154,130,.33);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.lm-scrap-contest-strip__headline-metrics{
  display:grid;
  grid-template-columns:1.15fr repeat(3,.8fr);
  gap:7px;
}
.lm-scrap-contest-strip__date,
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__metric{
  width:auto;
  height:auto;
  min-height:58px;
  padding:8px 9px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-radius:12px;
  background:#fffdf8;
  border:1px solid #d9cfbb;
  box-shadow:0 4px 10px rgba(58,52,42,.05);
}
.lm-scrap-contest-strip__date{
  align-items:flex-start;
  padding-left:12px;
  background:linear-gradient(135deg,#173f69,#0f3158);
  border-color:#254e78;
}
.lm-scrap-contest-strip__date b{
  color:#f4c653;
  font-size:13px;
  letter-spacing:.06em;
}
.lm-scrap-contest-strip__date small{
  margin-top:2px;
  color:#fff;
  font-size:8px;
  font-weight:800;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__metric strong{
  font-size:22px;
  line-height:1;
  color:#173d66;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__metric small{
  margin-top:4px;
  font-size:7px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__countdown{
  min-width:0;
  width:100%;
  padding:9px 10px;
  gap:6px;
  background:linear-gradient(135deg,#0f3a67,#153f6b);
  border:1px solid #315b84;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__countdown>span{
  color:#f4cf6e;
  text-align:left;
  font-size:7px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__countdown .contest-countdown{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__countdown .contest-countdown>span{
  padding:6px 4px;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.17);
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__countdown .contest-countdown strong{
  font-size:15px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__countdown .contest-countdown small{
  font-size:5px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__categories{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__categories>span{
  min-width:0;
  padding:7px 9px;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  border-radius:10px;
}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__categories b{font-size:8px}
.lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__categories small{font-size:7px}

@media(max-width:1180px){
  .lm-scrap-hero__art>img{height:auto;aspect-ratio:8/3;object-fit:contain;object-position:center}
  .lm-scrap-contest-strip--v4{grid-template-columns:95px minmax(300px,.9fr) minmax(430px,1.2fr);gap:16px;padding:20px}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__copy h2{font-size:29px}
}
@media(max-width:980px){
  .lm-scrap-contest-strip--v4{grid-template-columns:92px 1fr}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__info{grid-column:1/-1}
}
@media(max-width:820px){
  .lm-scrap-hero__art>img{height:auto;aspect-ratio:8/3;object-fit:contain;object-position:center}
  .lm-scrap-contest-strip--v4{grid-template-columns:74px 1fr}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__trophy{width:72px;height:92px;border-radius:18px}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__trophy span{font-size:48px}
  .lm-scrap-contest-strip__headline-metrics{grid-template-columns:repeat(2,1fr)}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__categories{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:560px){
  .lm-scrap-contest-strip--v4{grid-template-columns:1fr;text-align:center}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__trophy{margin:auto}
  .lm-scrap-contest-strip--v4 .lm-scrap-label{align-self:center}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__actions{justify-content:center}
  .lm-scrap-contest-strip--v4 .lm-scrap-contest-strip__categories{grid-template-columns:1fr}
}

/* ================================================================
   V6 — correcciones visuales aprobadas para portada
   ================================================================ */
.lm-home--scrapbook-v3 .lm-home__header .lm-brand__mark{
  width:50px!important;
  height:50px!important;
  border-radius:15px!important;
  background:#ffffff!important;
  border:2px solid #173f6d!important;
  box-shadow:0 7px 16px rgba(23,63,109,.18)!important;
}
.lm-home--scrapbook-v3 .lm-home__header .lm-brand__mark img{
  width:34px!important;
  height:34px!important;
  filter:saturate(1.35) contrast(1.25) drop-shadow(0 1px 1px rgba(0,0,0,.08));
}
.lm-home--scrapbook-v3 .lm-home__header .lm-brand__copy strong{font-weight:950!important;color:#173f6d!important}

/* La ilustración conserva la proporción real 2400 x 909: llena el marco sin cortar a Lumix. */
.lm-home--scrapbook-v3 .lm-scrap-hero__art{
  width:100%;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2400 / 909;
  padding:0!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#dceffc!important;
  border:6px solid #fff!important;
  box-shadow:0 12px 28px rgba(34,67,102,.14)!important;
}
.lm-home--scrapbook-v3 .lm-scrap-hero__art>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:14px!important;
  background:#dceffc!important;
}
.lm-home--scrapbook-v3 .lm-scrap-hero__art figcaption{z-index:3!important}

/* Nuevo bloque temporal del concurso */
.lm-contest-feature-v6{
  position:relative;
  width:min(calc(100% - 40px),1320px)!important;
  margin:24px auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr)!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid #cfc2aa!important;
  border-radius:26px!important;
  background:#fffaf0!important;
  box-shadow:0 18px 38px rgba(62,53,40,.13)!important;
  transform:none!important;
}
.lm-contest-feature-v6::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 12%,rgba(247,188,50,.13),transparent 22%),radial-gradient(circle at 92% 88%,rgba(34,116,178,.11),transparent 28%)}
.lm-contest-feature-v6__identity{
  position:relative;z-index:1;
  min-height:285px;
  padding:26px 28px;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:20px;
  align-items:center;
  background:linear-gradient(135deg,#fffaf0 0%,#f7efdf 100%);
}
.lm-contest-feature-v6__seal{
  width:92px;height:122px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border-radius:22px;
  background:linear-gradient(160deg,#fff3bb,#f4c54e);
  border:1px solid #d6a62e;
  box-shadow:0 12px 22px rgba(117,84,20,.18),inset 0 1px 0 #fff;
}
.lm-contest-feature-v6__seal span{font-size:58px;line-height:1}.lm-contest-feature-v6__seal small{font-size:8px;font-weight:950;letter-spacing:.12em;color:#6e5115}
.lm-contest-feature-v6__copy h2{margin:10px 0 8px!important;font-size:clamp(31px,2.7vw,43px)!important;line-height:1.02!important;color:#173d67!important}
.lm-contest-feature-v6__copy h2 strong{color:#b66d12}
.lm-contest-feature-v6__copy p{margin:0;max-width:560px;font-size:11px;line-height:1.6;color:#5f7180}
.lm-contest-feature-v6__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.lm-contest-feature-v6__actions a{padding:11px 15px;border-radius:11px;text-decoration:none;font-size:9px;font-weight:950;box-shadow:0 7px 14px rgba(51,49,40,.08)}
.lm-contest-feature-v6__actions a:first-child{background:#fff;border:1px solid #c9c0b0;color:#173d67}.lm-contest-feature-v6__actions a:last-child{background:#153f70;color:#fff;border:1px solid #153f70}
.lm-contest-feature-v6__dashboard{
  position:relative;z-index:1;
  min-width:0;
  padding:18px;
  display:grid;
  grid-template-columns:118px 1fr;
  grid-template-areas:"date stats" "count count" "cats cats";
  gap:10px;
  background:linear-gradient(145deg,#123d6b 0%,#0b2f59 100%);
  color:#fff;
}
.lm-contest-feature-v6__date{grid-area:date;min-height:88px;display:grid;place-items:center;align-content:center;border-radius:18px;background:linear-gradient(160deg,#f7c74f,#e9a922);color:#153655;box-shadow:0 9px 20px rgba(0,0,0,.18)}
.lm-contest-feature-v6__date span{font-size:8px;font-weight:1000;letter-spacing:.13em}.lm-contest-feature-v6__date strong{font-size:42px;line-height:.95}.lm-contest-feature-v6__date small{font-size:8px;font-weight:900;margin-top:4px}
.lm-contest-feature-v6__stats{grid-area:stats;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.lm-contest-feature-v6__stats article{min-width:0;display:grid;place-items:center;align-content:center;gap:1px;border-radius:15px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.lm-contest-feature-v6__stats article span{font-size:17px}.lm-contest-feature-v6__stats article strong{font-size:24px;line-height:1;color:#fff}.lm-contest-feature-v6__stats article small{font-size:7px;color:#d7e2ee;text-transform:uppercase;font-weight:850}
.lm-contest-feature-v6__countdown{grid-area:count;padding:10px 12px;display:grid;grid-template-columns:118px 1fr;align-items:center;gap:10px;border-radius:16px;background:#fff;border:1px solid #d8e0e8;color:#173d67}
.lm-contest-feature-v6__countdown>div:first-child{display:grid;gap:3px}.lm-contest-feature-v6__countdown>div:first-child strong{font-size:11px}.lm-contest-feature-v6__live{font-size:7px;font-weight:950;letter-spacing:.09em;color:#cf433a}
.lm-contest-feature-v6__countdown .contest-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.lm-contest-feature-v6__countdown .contest-countdown>span{min-width:0;padding:6px 4px;border-radius:9px;background:#eef4f8;border:1px solid #d4e0e8;box-shadow:none}.lm-contest-feature-v6__countdown .contest-countdown strong{display:block;color:#153f70;font-size:15px}.lm-contest-feature-v6__countdown .contest-countdown small{display:block;color:#6e7f8c;font-size:6px}
.lm-contest-feature-v6__categories{grid-area:cats;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.lm-contest-feature-v6__categories span{padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:space-between;gap:8px}.lm-contest-feature-v6__categories b{font-size:8px;color:#f4c95c}.lm-contest-feature-v6__categories small{font-size:8px;color:#fff;font-weight:800}
@media(max-width:1050px){.lm-contest-feature-v6{grid-template-columns:1fr!important}.lm-contest-feature-v6__identity{min-height:auto}.lm-contest-feature-v6__dashboard{grid-template-columns:110px 1fr}}
@media(max-width:650px){.lm-contest-feature-v6{width:calc(100% - 24px)!important}.lm-contest-feature-v6__identity{grid-template-columns:1fr;text-align:center}.lm-contest-feature-v6__seal{margin:auto}.lm-contest-feature-v6__copy .lm-scrap-label{margin:auto}.lm-contest-feature-v6__actions{justify-content:center}.lm-contest-feature-v6__dashboard{grid-template-columns:1fr;grid-template-areas:"date" "stats" "count" "cats"}.lm-contest-feature-v6__countdown{grid-template-columns:1fr}.lm-contest-feature-v6__categories{grid-template-columns:1fr}}
/* ================================================================
   LUDIMATICA V8 — portada pulida, nitidez y microinteracciones
   ================================================================ */

.lm-home--scrapbook-v3{
  overflow-x:hidden;
}

/* Marca superior e inferior: contraste real del símbolo */
.lm-home--scrapbook-v3 .lm-brand__mark{
  position:relative;
  isolation:isolate;
  background:linear-gradient(145deg,#ffffff 0%,#edf2ff 100%)!important;
  border:2px solid rgba(20,57,102,.82)!important;
  box-shadow:0 8px 20px rgba(20,57,102,.18),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.lm-home--scrapbook-v3 .lm-brand__mark::after{
  content:"";
  position:absolute;
  inset:5px;
  z-index:-1;
  border-radius:inherit;
  background:radial-gradient(circle at 40% 25%,rgba(143,99,255,.16),transparent 48%);
}
.lm-home--scrapbook-v3 .lm-brand__mark img{
  filter:saturate(1.38) contrast(1.24) drop-shadow(0 3px 5px rgba(71,53,166,.20));
}
.lm-home--scrapbook-v3 .lm-scrap-footer .lm-brand__mark{
  width:58px!important;
  height:58px!important;
  border-radius:17px!important;
}
.lm-home--scrapbook-v3 .lm-scrap-footer .lm-brand__mark img{
  width:39px!important;
  height:39px!important;
}

/* Hero: el área completa queda cubierta sin recortar a Matix/Lumix */
.lm-home--scrapbook-v3 .lm-scrap-hero{
  grid-template-columns:minmax(310px,.62fr) minmax(0,1.38fr)!important;
  gap:24px 30px!important;
  align-items:stretch!important;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art{
  position:relative!important;
  min-height:440px!important;
  height:100%!important;
  aspect-ratio:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:6px solid rgba(255,255,255,.94)!important;
  border-radius:28px!important;
  background:#dbe8f3!important;
  box-shadow:0 18px 40px rgba(28,65,105,.17)!important;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__backdrop{
  position:absolute!important;
  inset:-24px!important;
  width:calc(100% + 48px)!important;
  height:calc(100% + 48px)!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:blur(18px) saturate(1.12) brightness(1.06)!important;
  opacity:.72!important;
  transform:scale(1.06)!important;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__main{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:saturate(1.05) contrast(1.03)!important;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.98) 0%,#000 8%,#000 91%,rgba(0,0,0,.45) 97%,transparent 100%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.98) 0%,#000 8%,#000 91%,rgba(0,0,0,.45) 97%,transparent 100%);
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__fade{
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  width:90px;
  pointer-events:none;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__fade--left{
  left:0;
  background:linear-gradient(90deg,rgba(255,250,240,.16),transparent);
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__fade--right{
  right:0;
  background:linear-gradient(270deg,rgba(255,250,240,.32),transparent);
}
.lm-home--scrapbook-v3 .lm-v8-hero-art figcaption{
  z-index:4!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(12px);
  box-shadow:0 10px 26px rgba(27,64,101,.15)!important;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art .lm-scrap-sticker{z-index:4!important}

/* Se elimina cualquier antiguo puntero decorativo sobrante */
.lm-home--scrapbook-v3 .lm-scrap-doodle--plane,
.lm-home--scrapbook-v3 .lm-scrap-note__plane{display:none!important}

/* "Cómo funciona": reemplazo del punto por un pequeño broche/estrella */
.lm-home--scrapbook-v3 .lm-scrap-step .lm-scrap-clip{
  top:-13px!important;
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#ffffff,#edf3fa)!important;
  border:2px solid #173f6d!important;
  color:#f0a91b!important;
  font-size:14px!important;
  box-shadow:0 6px 14px rgba(25,64,104,.16)!important;
}
.lm-home--scrapbook-v3 .lm-scrap-step:nth-of-type(2) .lm-scrap-clip{color:#2a9f79!important}
.lm-home--scrapbook-v3 .lm-scrap-step:nth-of-type(3) .lm-scrap-clip{color:#815ac8!important}
.lm-home--scrapbook-v3 .lm-scrap-step:nth-of-type(4) .lm-scrap-clip{color:#d65f53!important}

/* Fotos de institución: sin filtros, sin pixelado deliberado */
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure{
  background:#fff!important;
  border-width:5px!important;
  overflow:hidden!important;
  transform:translateZ(0);
}
.lm-home--scrapbook-v3 .lm-scrap-school-grid img{
  image-rendering:auto!important;
  filter:none!important;
  transform:none!important;
  backface-visibility:hidden;
  transition:transform .35s cubic-bezier(.2,.72,.2,1),filter .25s ease!important;
}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:hover img{
  transform:scale(1.025)!important;
  filter:saturate(1.04) contrast(1.02)!important;
}

/* Bloque del concurso en la portada: más rico visualmente sin crecer de ancho */
.lm-home--scrapbook-v3 .lm-contest-feature-v6{
  border-radius:28px!important;
  background:
    radial-gradient(circle at 7% 15%,rgba(244,185,42,.15),transparent 24%),
    radial-gradient(circle at 96% 88%,rgba(71,139,210,.15),transparent 28%),
    linear-gradient(135deg,#fffaf0 0%,#f9f0df 50%,#edf5f8 100%)!important;
  box-shadow:0 20px 42px rgba(50,57,63,.12)!important;
}
.lm-home--scrapbook-v3 .lm-contest-feature-v6__dashboard{
  position:relative;
  overflow:hidden;
}
.lm-home--scrapbook-v3 .lm-contest-feature-v6__dashboard::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  top:-90px;
  border-radius:50%;
  background:rgba(104,163,218,.16);
  pointer-events:none;
}

/* Microinteracciones globales */
.lm-home--scrapbook-v3 .lm-scrap-step,
.lm-home--scrapbook-v3 .lm-scrap-competencies article,
.lm-home--scrapbook-v3 .lm-scrap-mission-card,
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure,
.lm-home--scrapbook-v3 .lm-scrap-benefits article,
.lm-home--scrapbook-v3 .lm-contest-feature-v6,
.lm-home--scrapbook-v3 .lm-scrap-creator__stats article,
.lm-home--scrapbook-v3 .lm-home__actions .lm-btn,
.lm-home--scrapbook-v3 .lm-scrap-cta a{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,filter .24s ease!important;
}
.lm-home--scrapbook-v3 .lm-scrap-step:hover,
.lm-home--scrapbook-v3 .lm-scrap-competencies article:hover,
.lm-home--scrapbook-v3 .lm-scrap-mission-card:hover,
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:hover,
.lm-home--scrapbook-v3 .lm-scrap-benefits article:hover,
.lm-home--scrapbook-v3 .lm-scrap-creator__stats article:hover{
  transform:translateY(-5px) scale(1.012)!important;
  box-shadow:0 18px 34px rgba(28,58,89,.13)!important;
}
.lm-home--scrapbook-v3 .lm-home__actions .lm-btn:hover,
.lm-home--scrapbook-v3 .lm-scrap-cta a:hover{
  transform:translateY(-2px) scale(1.02)!important;
  filter:brightness(1.035)!important;
}
.lm-home--scrapbook-v3 .lm-contest-feature-v6:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 24px 46px rgba(36,58,81,.15)!important;
}

/* 1366 px / zoom 100 %: ningún bloque debe obligar a reducir zoom */
@media (max-width: 1380px){
  .lm-home--scrapbook-v3 .lm-scrap-nav,
  .lm-home--scrapbook-v3 .lm-scrap-sheet,
  .lm-home--scrapbook-v3 .lm-scrap-section,
  .lm-home--scrapbook-v3 .lm-contest-feature-v6{
    width:calc(100% - 28px)!important;
    max-width:1280px!important;
  }
  .lm-home--scrapbook-v3 .lm-scrap-hero{
    grid-template-columns:minmax(290px,.56fr) minmax(0,1.44fr)!important;
  }
  .lm-home--scrapbook-v3 .lm-v8-hero-art{min-height:420px!important}
}

@media (max-width: 1040px){
  .lm-home--scrapbook-v3 .lm-scrap-hero{
    grid-template-columns:1fr!important;
    grid-template-areas:"copy" "art" "benefits"!important;
  }
  .lm-home--scrapbook-v3 .lm-v8-hero-art{min-height:380px!important}
}

@media (max-width: 700px){
  .lm-home--scrapbook-v3 .lm-v8-hero-art{min-height:290px!important}
  .lm-home--scrapbook-v3 .lm-v8-hero-art__fade{width:44px}
}

@media (prefers-reduced-motion: reduce){
  .lm-home--scrapbook-v3 *,
  .lm-home--scrapbook-v3 *::before,
  .lm-home--scrapbook-v3 *::after{
    animation:none!important;
    transition:none!important;
  }
}
/* ================================================================
   RETO RAIMONDINO V8 — rediseño integral de paneles
   ================================================================ */

:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell){
  --v8-navy:#10385f;
  --v8-navy-2:#194f7f;
  --v8-blue:#2e78b8;
  --v8-gold:#e8b437;
  --v8-gold-soft:#f7e4a8;
  --v8-cream:#f7f0e3;
  --v8-paper:#fffaf2;
  --v8-paper-2:#fdf7ed;
  --v8-line:#dacdb8;
  --v8-ink:#17334d;
  --v8-muted:#66788b;
  --v8-green:#2f8b68;
  --v8-orange:#dd7a23;
  --v8-violet:#7257b4;
  --v8-shadow:0 18px 40px rgba(24,48,76,.10);
  --v8-shadow-strong:0 22px 46px rgba(18,47,80,.16);
  min-width:0;
  overflow-x:hidden;
}

:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-admin-shell){
  background:
    radial-gradient(circle at 4% 4%,rgba(232,180,55,.13),transparent 22%),
    radial-gradient(circle at 94% 18%,rgba(69,130,190,.11),transparent 24%),
    linear-gradient(180deg,#f7f1e6 0%,#efe5d3 100%)!important;
  color:var(--v8-ink);
}

/* ---------------------------------------------------------------
   Barra superior del concurso
   --------------------------------------------------------------- */
.contest-v8-topbar,
.contest-v8-participant .contest-v3-appbar,
.contest-v8-route-page .contest-v3-appbar,
.contest-v8-instructions .contest-v3-appbar,
.contest-v8-result .contest-v3-appbar{
  position:sticky!important;
  top:0;
  z-index:60;
  min-height:64px!important;
  padding:0 clamp(16px,3vw,42px)!important;
  background:linear-gradient(90deg,#0d3156,#154a79)!important;
  border-bottom:2px solid var(--v8-gold)!important;
  box-shadow:0 10px 26px rgba(12,43,76,.16)!important;
  backdrop-filter:blur(14px);
}
.contest-v8-topbar .lm-brand__copy strong,
.contest-v8-participant .contest-v3-appbar .lm-brand__copy strong,
.contest-v8-route-page .contest-v3-appbar .lm-brand__copy strong,
.contest-v8-instructions .contest-v3-appbar .lm-brand__copy strong,
.contest-v8-result .contest-v3-appbar .lm-brand__copy strong{color:#fff!important}
.contest-v8-topbar .lm-brand__copy small{color:#dfe9f3!important}
.contest-v8-topbar .lm-brand__mark,
.contest-v8-participant .contest-v3-appbar .lm-brand__mark,
.contest-v8-route-page .contest-v3-appbar .lm-brand__mark,
.contest-v8-instructions .contest-v3-appbar .lm-brand__mark,
.contest-v8-result .contest-v3-appbar .lm-brand__mark{
  background:linear-gradient(145deg,#fff,#eef2ff)!important;
  border:2px solid rgba(255,255,255,.85)!important;
  box-shadow:0 7px 16px rgba(0,0,0,.17)!important;
}
.contest-v8-topbar nav a,
.contest-v8-participant .contest-v3-appbar nav a,
.contest-v8-participant .contest-v3-appbar nav button,
.contest-v8-route-page .contest-v3-appbar nav a,
.contest-v8-instructions .contest-v3-appbar nav a,
.contest-v8-result .contest-v3-appbar nav a,
.contest-v8-result .contest-v3-appbar nav button{
  color:#f4f8fb!important;
  transition:transform .22s ease,opacity .22s ease,background-color .22s ease;
}
.contest-v8-topbar nav a:hover,
.contest-v8-participant .contest-v3-appbar nav a:hover,
.contest-v8-participant .contest-v3-appbar nav button:hover,
.contest-v8-route-page .contest-v3-appbar nav a:hover,
.contest-v8-instructions .contest-v3-appbar nav a:hover,
.contest-v8-result .contest-v3-appbar nav a:hover,
.contest-v8-result .contest-v3-appbar nav button:hover{transform:translateY(-2px);opacity:.92}

/* ---------------------------------------------------------------
   Portada pública del concurso — composición completa
   --------------------------------------------------------------- */
.contest-v8-hero-shell{
  width:min(1320px,calc(100% - 28px));
  margin:18px auto 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:16px;
  align-items:stretch;
}
.contest-v8-hero-story,
.contest-v8-event-panel,
.contest-v8-facts article,
.contest-v8-organization>article,
.contest-v8-flow,
.contest-v8-rules>div{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(207,192,164,.86);
  background:linear-gradient(180deg,rgba(255,252,246,.96),rgba(252,246,235,.94));
  box-shadow:var(--v8-shadow);
}
.contest-v8-hero-story{
  padding:14px;
  border-radius:28px;
  display:grid;
  gap:14px;
}
.contest-v8-hero-story::before,
.contest-v8-event-panel::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(232,180,55,.16),transparent 66%);
}
.contest-v8-hero-story::before{left:-80px;bottom:-90px}
.contest-v8-event-panel::before{right:-90px;top:-70px;background:radial-gradient(circle,rgba(87,151,210,.18),transparent 66%)}

.contest-v8-hero-staff{
  position:relative;
  margin:0;
  aspect-ratio:16/9;
  min-height:250px;
  overflow:hidden;
  border-radius:22px;
  background:#e8edf0;
  border:5px solid #fff;
  box-shadow:0 12px 28px rgba(35,54,72,.14);
}
.contest-v8-hero-staff img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  image-rendering:auto;
  filter:none;
  transition:transform .38s ease,filter .28s ease;
}
.contest-v8-hero-staff::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(10,37,64,.44) 100%);
  pointer-events:none;
}
.contest-v8-hero-staff figcaption{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  display:grid;
  gap:2px;
  color:#fff;
}
.contest-v8-hero-staff figcaption span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#f4d67d}
.contest-v8-hero-staff figcaption strong{font-size:1rem}
.contest-v8-hero-staff:hover img{transform:scale(1.018);filter:saturate(1.035)}

.contest-v8-hero-lower{
  display:grid;
  grid-template-columns:minmax(160px,.48fr) minmax(0,1.45fr) minmax(160px,.48fr);
  gap:12px;
  min-height:310px;
}
.contest-v8-side-photo{
  position:relative;
  margin:0;
  min-height:100%;
  overflow:hidden;
  border-radius:22px;
  border:4px solid #fff;
  background:#dfe7e9;
  box-shadow:0 10px 24px rgba(39,55,68,.12);
}
.contest-v8-side-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  image-rendering:auto;
  filter:none;
  transition:transform .38s ease,filter .25s ease;
}
.contest-v8-side-photo--left img{object-position:center 42%}
.contest-v8-side-photo--right img{object-position:center 48%}
.contest-v8-side-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(10,37,64,.47));
}
.contest-v8-side-photo figcaption{
  position:absolute;
  z-index:2;
  left:10px;
  right:10px;
  bottom:10px;
  padding:8px 10px;
  border-radius:12px;
  color:#fff;
  background:rgba(15,55,91,.76);
  backdrop-filter:blur(7px);
  text-align:center;
  font-size:.76rem;
  font-weight:850;
}
.contest-v8-side-photo:hover img{transform:scale(1.035);filter:saturate(1.04)}

.contest-v8-title-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:22px 22px 20px;
  border-radius:24px;
  border:1px solid rgba(213,196,160,.82);
  background:
    radial-gradient(circle at 50% 0%,rgba(232,180,55,.16),transparent 34%),
    linear-gradient(180deg,#fffdf8,#f8f1e4);
  box-shadow:inset 0 1px 0 #fff;
}
.contest-v8-title-card::before,
.contest-v8-title-card::after{
  content:"✦";
  position:absolute;
  color:rgba(232,180,55,.58);
  font-size:1.25rem;
}
.contest-v8-title-card::before{left:18px;top:15px}
.contest-v8-title-card::after{right:18px;bottom:15px}
.contest-v8-title-card__seal{
  width:76px;
  height:84px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f3ead9);
  border:1px solid rgba(203,181,134,.8);
  box-shadow:0 10px 22px rgba(91,70,32,.12);
}
.contest-v8-title-card__seal img{max-width:64px;max-height:72px;object-fit:contain}
.contest-v8-kicker{
  display:inline-flex;
  margin-top:12px;
  padding:7px 12px;
  border-radius:999px;
  background:#f5e8b8;
  color:#8f6309;
  font-size:.65rem;
  font-weight:950;
  letter-spacing:.12em;
}
.contest-v8-title-card h1{
  margin:10px 0 8px;
  color:var(--v8-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,2.6vw,3rem);
  line-height:.98;
  letter-spacing:-.035em;
}
.contest-v8-title-card h1 strong{color:#b66d12;font-weight:700}
.contest-v8-title-card>p{margin:0;max-width:560px;color:#657787;line-height:1.55;font-size:.86rem}
.contest-v8-title-card__chips{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px}
.contest-v8-title-card__chips span{
  padding:6px 10px;
  border-radius:999px;
  background:#eef4f7;
  color:#345772;
  font-size:.72rem;
  font-weight:850;
}
.contest-v8-title-card__actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.contest-v8-title-card__actions a{
  min-height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.contest-v8-title-card__actions a:first-child{border:1px solid #d6c9b1;background:#fff;color:#174269}
.contest-v8-title-card__actions a:last-child{background:linear-gradient(180deg,#1d4e7e,#123b66);color:#fff;box-shadow:0 9px 18px rgba(17,58,100,.18)}
.contest-v8-title-card__actions a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(29,60,89,.16);filter:brightness(1.025)}
.contest-v8-motto{margin-top:13px;padding:7px 13px;border-radius:999px;background:#123d69;color:#f1cc69;font-size:.7rem;font-family:Georgia,"Times New Roman",serif;border:1px solid #d0a83d}

.contest-v8-event-panel{
  padding:14px;
  border-radius:28px;
  display:flex;
  flex-direction:column;
  gap:11px;
  background:
    radial-gradient(circle at 80% 8%,rgba(111,171,220,.16),transparent 25%),
    linear-gradient(180deg,#123d69,#0c3159)!important;
  border-color:#194d7e;
  color:#fff;
}
.contest-v8-event-panel__ornament{
  position:absolute;
  right:14px;
  top:8px;
  font-size:1.5rem;
  color:rgba(255,219,117,.52);
  animation:v8Spark 3.6s ease-in-out infinite;
}
.contest-v8-event-date{
  padding:16px;
  border-radius:22px;
  text-align:center;
  background:linear-gradient(180deg,#f2c548,#dda526);
  color:#113b65;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 24px rgba(0,0,0,.12);
}
.contest-v8-event-date span{display:block;font-size:.64rem;font-weight:950;letter-spacing:.18em}
.contest-v8-event-date strong{display:block;font-size:3.7rem;line-height:.92}
.contest-v8-event-date small{display:block;margin-top:4px;font-weight:850}
.contest-v8-event-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.contest-v8-event-stats article{
  min-height:92px;
  padding:11px 7px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  border-radius:17px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  transition:transform .22s ease,background-color .22s ease;
}
.contest-v8-event-stats article:hover{transform:translateY(-3px);background:rgba(255,255,255,.13)}
.contest-v8-event-stats article>span{font-size:1.1rem}
.contest-v8-event-stats article strong{font-size:1.55rem}
.contest-v8-event-stats article small{font-size:.6rem;color:#d9e5ef}
.contest-v8-event-countdown{
  padding:12px;
  border-radius:18px;
  background:#fff;
  color:#153e67;
  box-shadow:0 10px 22px rgba(0,0,0,.13);
}
.contest-v8-event-countdown>div{margin-bottom:8px;display:grid;gap:2px}
.contest-v8-event-countdown>div span{font-size:.62rem;font-weight:950;letter-spacing:.1em;color:#a06d0c}
.contest-v8-event-countdown>div small{font-size:.6rem;color:#708294}
.contest-v8-event-countdown .contest-countdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
.contest-v8-event-countdown .contest-countdown>span{min-width:0!important;padding:7px 3px!important;border-radius:10px!important;background:#eef4f8!important;border:1px solid #d5e2eb!important;box-shadow:none!important}
.contest-v8-event-countdown .contest-countdown strong{color:#153f69!important;font-size:1rem!important}
.contest-v8-event-countdown .contest-countdown small{color:#7c8c98!important;font-size:.46rem!important}
.contest-v8-event-categories{
  padding:11px;
  display:grid;
  gap:7px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}
.contest-v8-event-categories__head{display:grid;gap:2px;margin-bottom:2px}
.contest-v8-event-categories__head span{font-size:.62rem;font-weight:950;letter-spacing:.1em;color:#f4ce6b}
.contest-v8-event-categories__head small{font-size:.58rem;color:#c7d5e1}
.contest-v8-event-categories article{
  padding:8px 9px;
  display:grid;
  grid-template-columns:30px 1fr auto;
  gap:8px;
  align-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.085);
  transition:transform .22s ease,background .22s ease;
}
.contest-v8-event-categories article:hover{transform:translateX(3px);background:rgba(255,255,255,.12)}
.contest-v8-event-categories article>b{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e7b437;color:#153e67;font-size:.72rem}
.contest-v8-event-categories article>div{display:grid;gap:1px}
.contest-v8-event-categories article strong{font-size:.7rem}.contest-v8-event-categories article small{font-size:.58rem;color:#d3e0ea}
.contest-v8-event-categories article>span{color:#f4ce6b}
.contest-v8-event-rule{margin-top:auto;padding:10px;display:flex;gap:8px;align-items:flex-start;border-radius:14px;background:rgba(0,0,0,.11)}
.contest-v8-event-rule span{font-size:1.1rem}.contest-v8-event-rule p{margin:0;color:#dce8f0;font-size:.62rem;line-height:1.45}

.contest-v8-facts,
.contest-v8-organization,
.contest-v8-flow,
.contest-v8-rules,
.contest-v8-cta{
  width:min(1320px,calc(100% - 28px))!important;
}
.contest-v8-facts{gap:11px!important;margin-top:12px!important}
.contest-v8-facts article{min-height:112px!important;border-radius:22px!important;padding:15px 16px!important;display:grid!important;grid-template-columns:46px 1fr!important;grid-template-rows:auto auto!important;column-gap:12px!important;align-content:center!important}
.contest-v8-facts article>span{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eaf2f7;font-size:1.25rem}
.contest-v8-facts article strong{font-size:.9rem!important}.contest-v8-facts article p{margin:3px 0 0!important;font-size:.68rem!important;line-height:1.4!important}
.contest-v8-organization{gap:12px!important;margin-top:12px!important}
.contest-v8-organization>article{border-radius:24px!important}
.contest-v8-structure__numbers>div,.contest-v8-categories .contest-v6-category{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.contest-v8-structure__numbers>div:hover,.contest-v8-categories .contest-v6-category:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(28,55,82,.09)}
.contest-v8-flow{margin-top:12px!important;border-radius:24px!important}
.contest-v8-flow .contest-v6-flow__track>div{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.contest-v8-flow .contest-v6-flow__track>div:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(29,56,83,.11);border-color:#d6b65e}
.contest-v8-rules{gap:8px!important;margin-top:10px!important}
.contest-v8-rules>div{border-radius:18px!important;transition:transform .22s ease,box-shadow .22s ease}
.contest-v8-rules>div:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(28,55,82,.09)}
.contest-v8-cta{margin-top:12px!important;margin-bottom:28px!important;border-radius:24px!important;background:linear-gradient(110deg,#0e3964,#1f5d91)!important;box-shadow:0 18px 34px rgba(16,55,93,.20)!important}

/* ---------------------------------------------------------------
   Acceso — sin huecos, foto integrada y login compacto
   --------------------------------------------------------------- */
.contest-v8-access{
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr)!important;
  grid-template-rows:64px minmax(0,1fr)!important;
  overflow:hidden!important;
}
.contest-v8-access .contest-v3-access__top{
  grid-column:1/-1!important;
  min-height:64px!important;
  padding:0 clamp(18px,3vw,40px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  background:linear-gradient(90deg,#0d3156,#154a79)!important;
  border-bottom:2px solid var(--v8-gold)!important;
}
.contest-v8-access .contest-v3-access__top a{color:#fff!important}
.contest-v8-access .contest-v3-access__identity{
  min-height:calc(100vh - 64px)!important;
  padding:clamp(22px,3vw,42px)!important;
  display:grid!important;
  grid-template-columns:110px 1fr!important;
  align-content:center!important;
  gap:14px 20px!important;
  text-align:left!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(232,180,55,.14),transparent 26%),
    linear-gradient(145deg,#fffaf2,#f2e9d9)!important;
  border-right:1px solid #d7c9b3!important;
}
.contest-v8-access .contest-v4-access__crest-wrap{grid-row:1/4;align-self:start;width:105px;height:120px;display:grid;place-items:center;border-radius:24px;background:#fff;border:1px solid #dcc89e;box-shadow:0 12px 28px rgba(87,64,27,.11)}
.contest-v8-access .contest-v3-access__crest{width:86px!important;height:100px!important;margin:0!important}
.contest-v8-access .contest-v3-kicker{grid-column:2!important;align-self:end}
.contest-v8-access .contest-v3-access__identity h1{grid-column:2!important;margin:0!important;font-size:clamp(2.6rem,4vw,4.3rem)!important;line-height:.95!important;text-align:left!important}
.contest-v8-access .contest-v4-access__intro{grid-column:2!important;margin:0!important;max-width:660px!important;text-align:left!important;font-size:.95rem!important;line-height:1.55!important}
.contest-v8-access .contest-v3-access__date{grid-column:1/-1!important;margin:6px 0 0!important;padding:12px 14px!important;border-radius:16px!important;background:#fff!important;border:1px solid #d7c9b3!important;box-shadow:0 8px 18px rgba(48,57,66,.06)!important}
.contest-v8-access .contest-v3-access__count{grid-column:1/-1!important;width:100%!important;margin:0!important;padding:12px!important;border-radius:18px!important;background:linear-gradient(180deg,#123e6c,#0d3159)!important;border:1px solid #1f5485!important;box-shadow:0 12px 26px rgba(17,54,91,.17)!important}
.contest-v8-access .contest-v4-access__staff{grid-column:1/-1!important;width:100%!important;height:auto!important;aspect-ratio:16/7!important;margin:0!important;border-radius:20px!important;overflow:hidden!important;border:5px solid #fff!important;box-shadow:0 13px 28px rgba(46,53,58,.12)!important}
.contest-v8-access .contest-v4-access__staff img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;filter:none!important;image-rendering:auto!important}
.contest-v8-access .contest-v4-access__staff figcaption{font-size:.7rem!important}
.contest-v8-access .contest-v4-motto-text{grid-column:1/-1!important;justify-self:center!important;padding:7px 14px!important;border-radius:999px!important;background:#123e6c!important;color:#f2cf6d!important;border:1px solid #d0ab47!important}
.contest-v8-access .contest-v3-access__form-zone{
  min-width:0!important;
  padding:clamp(22px,4vw,54px)!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 85% 10%,rgba(77,144,204,.12),transparent 30%),
    linear-gradient(180deg,#eff4f7,#e8eef1)!important;
}
.contest-v8-access .contest-v3-login-card{
  width:min(100%,480px)!important;
  padding:28px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid #cfd9e2!important;
  box-shadow:0 24px 56px rgba(25,55,85,.16)!important;
}
.contest-v8-access .contest-v3-login-icon{width:54px!important;height:54px!important;display:grid!important;place-items:center!important;border-radius:17px!important;background:#eaf1f7!important;font-size:1.45rem!important}
.contest-v8-access .contest-v3-login-card h2{font-size:2rem!important}
.contest-v8-access .contest-v3-login-form label{font-size:.82rem!important}.contest-v8-access .contest-v3-login-form input{height:48px!important;border-radius:12px!important;background:#fbfdff!important}
.contest-v8-access .contest-v4-login-summary{gap:8px!important}.contest-v8-access .contest-v4-login-summary>span{border-radius:14px!important;background:#eef4f8!important}

/* ---------------------------------------------------------------
   Panel del participante — compacto, sin franjas vacías
   --------------------------------------------------------------- */
.contest-v8-participant .contest-v7-participant-hero{
  width:min(1300px,calc(100% - 28px))!important;
  margin:18px auto 0!important;
  padding:18px!important;
  grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr)!important;
  gap:14px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 4% 10%,rgba(232,180,55,.13),transparent 20%),
    linear-gradient(180deg,#fffaf2,#f5eddf)!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:var(--v8-shadow)!important;
}
.contest-v8-participant .contest-v7-section-kicker--participant{
  align-items:center!important;
  padding:4px 0!important;
}
.contest-v8-participant .contest-v7-section-kicker--participant img{width:68px!important;height:78px!important}
.contest-v8-participant .contest-v7-section-kicker--participant h1{font-size:clamp(2.2rem,3.2vw,3.5rem)!important;margin:2px 0!important}
.contest-v8-participant .contest-v7-section-kicker--participant p{margin-top:6px!important;font-size:.88rem!important}
.contest-v8-participant .contest-v7-participant-profile{
  grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr)!important;
  gap:10px!important;
}
.contest-v8-participant .contest-v7-participant-profile__identity,
.contest-v8-participant .contest-v7-participant-state{
  min-height:78px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#123d69,#1b5587)!important;
  box-shadow:0 11px 22px rgba(18,61,105,.16)!important;
}
.contest-v8-participant .contest-v7-participant-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.contest-v8-participant .contest-v7-participant-metrics article{padding:10px 11px!important;border-radius:15px!important;background:#f2f6f8!important}
.contest-v8-participant .contest-v7-participant-metrics strong{font-size:.9rem!important;line-height:1.25!important}
.contest-v8-participant .contest-v7-participant-reminders{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.contest-v8-participant .contest-v7-participant-reminders span{min-height:58px!important;padding:9px 10px!important;border-radius:14px!important;font-size:.72rem!important}
.contest-v8-participant .contest-v7-participant-hero__visual{gap:10px!important}
.contest-v8-participant .contest-v7-participant-photo{min-height:260px!important;border-radius:22px!important;border:5px solid #fff!important;box-shadow:0 12px 28px rgba(45,55,66,.13)!important}
.contest-v8-participant .contest-v7-participant-photo img{filter:none!important;image-rendering:auto!important;object-position:center 46%!important}
.contest-v8-participant .contest-v7-participant-hero__cta{min-height:46px!important;border-radius:14px!important}
.contest-v8-participant .contest-v6-participant-layout{
  width:min(1300px,calc(100% - 28px))!important;
  margin:12px auto 0!important;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)!important;
  gap:10px!important;
}
.contest-v8-participant .contest-v6-orientations-card,
.contest-v8-participant .contest-v6-mini-card{
  border-radius:22px!important;
  box-shadow:0 10px 24px rgba(40,51,63,.06)!important;
}
.contest-v8-participant .contest-v6-orientation-list>div{min-height:70px!important;transition:transform .22s ease,box-shadow .22s ease}
.contest-v8-participant .contest-v6-orientation-list>div:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(30,54,78,.08)}
.contest-v8-participant .contest-v6-participant-actions{width:min(1300px,calc(100% - 28px))!important;margin:10px auto 26px!important;border-radius:18px!important}

/* ---------------------------------------------------------------
   Bases y orientaciones — jerarquía y uso del espacio
   --------------------------------------------------------------- */
.contest-v8-instructions .contest-v6-instructions-hero,
.contest-v8-instructions .contest-v6-rule-grid,
.contest-v8-instructions .contest-v6-dynamics,
.contest-v8-instructions .contest-v6-before,
.contest-v8-instructions .contest-v6-startbar{
  width:min(1300px,calc(100% - 28px))!important;
}
.contest-v8-instructions .contest-v6-instructions-hero{
  margin-top:18px!important;
  padding:18px 20px!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 90% 10%,rgba(78,143,202,.12),transparent 24%),
    linear-gradient(180deg,#fffaf2,#f5eddf)!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:var(--v8-shadow)!important;
}
.contest-v8-instructions .contest-v6-instructions-hero h1{font-size:clamp(2.2rem,3.4vw,3.4rem)!important;line-height:1!important}
.contest-v8-instructions .contest-v6-instructions-hero__chips span{border-radius:16px!important;background:#eef4f7!important;transition:transform .22s ease,box-shadow .22s ease}
.contest-v8-instructions .contest-v6-instructions-hero__chips span:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(28,55,82,.08)}
.contest-v8-instructions .contest-v6-rule-grid{margin-top:10px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.contest-v8-instructions .contest-v6-rule-grid article{min-height:105px!important;padding:14px!important;border-radius:18px!important;background:#fffaf2!important;box-shadow:0 8px 18px rgba(40,51,63,.05)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.contest-v8-instructions .contest-v6-rule-grid article:hover{transform:translateY(-3px);box-shadow:0 13px 24px rgba(29,56,83,.09);border-color:#d3b760}
.contest-v8-instructions .contest-v6-dynamics{margin-top:10px!important;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;gap:10px!important}
.contest-v8-instructions .contest-v6-dynamics>article,
.contest-v8-instructions .contest-v6-dynamics>aside{border-radius:22px!important;box-shadow:0 10px 24px rgba(40,51,63,.06)!important}
.contest-v8-instructions .contest-v6-dynamic-list>div{border-radius:14px!important;transition:transform .22s ease,background .22s ease}
.contest-v8-instructions .contest-v6-dynamic-list>div:hover{transform:translateX(3px);background:#edf4f7!important}
.contest-v8-instructions .contest-v6-situations article{transition:transform .22s ease,box-shadow .22s ease}.contest-v8-instructions .contest-v6-situations article:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(28,55,82,.08)}
.contest-v8-instructions .contest-v6-before{margin-top:10px!important;gap:8px!important}.contest-v8-instructions .contest-v6-before>div{border-radius:15px!important;background:#fffaf2!important}
.contest-v8-instructions .contest-v6-startbar{margin-top:10px!important;margin-bottom:24px!important;border-radius:20px!important;background:linear-gradient(100deg,#10385f,#1c5a8b)!important;box-shadow:0 16px 30px rgba(15,55,93,.18)!important}

/* ---------------------------------------------------------------
   Ruta — mapa gamificado de 4 estaciones
   --------------------------------------------------------------- */
.contest-v8-route-page .contest-v7-route-head,
.contest-v8-route-page .contest-v7-route-atlas,
.contest-v8-route-page .contest-v7-route-actions{
  width:min(1300px,calc(100% - 28px))!important;
}
.contest-v8-route-page .contest-v7-route-head{
  margin-top:18px!important;
  padding:18px 20px!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#fffaf2,#f5eddf)!important;
  box-shadow:var(--v8-shadow)!important;
}
.contest-v8-route-page .contest-v7-section-kicker--route h1{font-size:clamp(2.1rem,3.4vw,3.3rem)!important}
.contest-v8-route-page .contest-v7-route-head__summary article{border-radius:17px!important;background:#eef4f7!important;transition:transform .22s ease,box-shadow .22s ease}.contest-v8-route-page .contest-v7-route-head__summary article:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(28,55,82,.08)}
.contest-v8-route-page .contest-v7-route-atlas{
  margin-top:10px!important;
  padding:16px!important;
  grid-template-columns:minmax(0,1.38fr) 300px!important;
  gap:12px!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#fffaf2,#f3ebdc)!important;
  box-shadow:var(--v8-shadow)!important;
}
.contest-v8-route-page .contest-v7-route-atlas__map{
  min-height:530px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(91,174,214,.18),transparent 17%),
    radial-gradient(circle at 84% 18%,rgba(93,171,211,.15),transparent 15%),
    radial-gradient(circle at 22% 84%,rgba(79,163,123,.14),transparent 18%),
    radial-gradient(circle at 82% 80%,rgba(232,180,55,.18),transparent 18%),
    linear-gradient(145deg,#e9f3f4 0%,#f8f2df 100%)!important;
  border:1px solid #cedad9!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)!important;
}
.contest-v8-route-page .contest-v7-route-atlas__map::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:26px;
  opacity:.28;
  background-image:radial-gradient(circle,#6a9abe 1.1px,transparent 1.1px);
  background-size:26px 26px;
  pointer-events:none;
}
.contest-v8-route-page .contest-v7-route-atlas__path::before{border-color:rgba(37,104,155,.44)!important;border-width:4px!important}
.contest-v8-route-page .contest-v7-route-stop{
  width:min(285px,42%)!important;
  padding:17px!important;
  border-radius:24px!important;
  background:rgba(255,252,246,.94)!important;
  border:1px solid #d8caae!important;
  box-shadow:0 15px 28px rgba(27,56,84,.11)!important;
  backdrop-filter:blur(8px);
}
.contest-v8-route-page .contest-v7-route-stop::after{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:18px;
  border:1px dashed rgba(173,148,94,.18);
  pointer-events:none;
}
.contest-v8-route-page .contest-v7-route-stop:hover{transform:translateY(-6px) scale(1.015)!important;box-shadow:0 22px 38px rgba(26,55,84,.16)!important}
.contest-v8-route-page .contest-v7-route-stop__badge{z-index:3!important;box-shadow:0 8px 20px rgba(17,57,99,.20)!important}
.contest-v8-route-page .contest-v7-route-stop__icon{position:relative;z-index:2!important}
.contest-v8-route-page .contest-v7-route-atlas__side article{border-radius:20px!important;background:linear-gradient(180deg,#f8fbfd,#eef4f7)!important;transition:transform .22s ease,box-shadow .22s ease}
.contest-v8-route-page .contest-v7-route-atlas__side article:hover{transform:translateY(-3px);box-shadow:0 11px 22px rgba(28,55,82,.08)}
.contest-v8-route-page .contest-v7-route-actions{margin:10px auto 24px!important}

/* ---------------------------------------------------------------
   Examen — HUD compacto y paneles que caben al 100 %
   --------------------------------------------------------------- */
.contest-v8-exam{
  min-height:100vh!important;
  overflow-x:hidden!important;
  background:linear-gradient(180deg,#eef3f6,#e5ecef)!important;
}
.contest-v8-exam .contest-v2-exam__hud{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  min-height:72px!important;
  padding:9px 16px!important;
  grid-template-columns:minmax(240px,.8fr) minmax(220px,.7fr) 190px 150px!important;
  gap:10px!important;
  background:linear-gradient(90deg,#0d3156,#174f7f)!important;
  border-bottom:2px solid var(--v8-gold)!important;
  box-shadow:0 10px 24px rgba(10,39,70,.18)!important;
}
.contest-v8-exam .contest-v2-exam__hud .lm-brand__copy strong{color:#fff!important}
.contest-v8-exam .contest-v2-exam__hud .lm-brand__mark{background:#fff!important;border:2px solid rgba(255,255,255,.85)!important}
.contest-v8-exam .contest-v2-exam__global{min-width:0!important;padding:7px 10px!important;border-radius:14px!important;background:rgba(255,255,255,.08)!important}
.contest-v8-exam .contest-clock{min-width:0!important;padding:8px 10px!important;border-radius:14px!important;background:#fff!important;color:#123e70!important}
.contest-v8-exam .contest-v2-exam__finish{min-height:42px!important;border-radius:12px!important;background:#e7b437!important;color:#153e67!important;font-weight:900!important}
.contest-v8-exam .contest-v2-exam__layout{
  width:min(1360px,calc(100% - 20px))!important;
  margin:10px auto 20px!important;
  display:grid!important;
  grid-template-columns:205px minmax(0,1fr) 240px!important;
  gap:10px!important;
  align-items:start!important;
}
.contest-v8-exam .contest-v2-exam__route,
.contest-v8-exam .contest-v2-exam__side{
  position:sticky!important;
  top:82px!important;
  border-radius:20px!important;
  background:#fffaf2!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:0 10px 22px rgba(26,52,78,.08)!important;
}
.contest-v8-exam .contest-v2-exam__content{min-width:0!important}
.contest-v8-exam .contest-v2-exam__situation-head{padding:14px 16px!important;border-radius:20px!important;background:linear-gradient(100deg,#123e6b,#1f5c8d)!important;color:#fff!important;box-shadow:0 12px 24px rgba(16,55,94,.16)!important}
.contest-v8-exam .contest-v2-scenario{margin-top:9px!important;padding:15px!important;border-radius:18px!important;background:#fff8e9!important;border:1px solid #ead7ad!important;box-shadow:0 8px 18px rgba(65,56,37,.05)!important}
.contest-v8-exam .contest-v2-question{margin-top:9px!important;padding:18px!important;border-radius:22px!important;background:#fff!important;border:1px solid #d7e0e7!important;box-shadow:0 13px 28px rgba(26,52,78,.08)!important}
.contest-v8-exam .contest-v2-question h2{font-size:clamp(1.2rem,1.75vw,1.7rem)!important;line-height:1.35!important}
.contest-v8-exam .contest-v2-options{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.contest-v8-exam .contest-v2-options button{min-height:64px!important;padding:10px 12px!important;border-radius:14px!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease!important}
.contest-v8-exam .contest-v2-options button:hover:not(:disabled){transform:translateY(-2px);border-color:#6ca2cd!important;box-shadow:0 8px 18px rgba(40,84,123,.09)!important}
.contest-v8-exam .contest-v2-options button.is-selected{border-color:#1f5f96!important;background:#edf5fb!important;box-shadow:0 0 0 3px rgba(41,112,170,.10)!important}
.contest-v8-exam .contest-v2-dot-nav button{transition:transform .18s ease,box-shadow .18s ease}.contest-v8-exam .contest-v2-dot-nav button:hover{transform:scale(1.08);box-shadow:0 6px 12px rgba(30,65,99,.12)}
.contest-v8-exam .contest-modal__card{border-radius:24px!important;box-shadow:0 24px 60px rgba(20,45,73,.22)!important}

/* ---------------------------------------------------------------
   Resultado — celebración limpia, sin fotos falsas
   --------------------------------------------------------------- */
.contest-v8-result .contest-v3-result-stage{
  width:min(1280px,calc(100% - 28px))!important;
  margin:18px auto 28px!important;
  padding:18px!important;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important;
  gap:16px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#fffaf2,#f4ecdd)!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:var(--v8-shadow)!important;
}
.contest-v8-result .contest-v3-result-title h1{font-size:clamp(2.4rem,4vw,4rem)!important}
.contest-v8-result .contest-v3-score-panel{border-radius:22px!important;background:linear-gradient(180deg,#f8fbfd,#edf4f7)!important;border:1px solid #d5e0e8!important}
.contest-v8-result .contest-v3-result-metrics article{border-radius:18px!important;background:#fff!important;transition:transform .22s ease,box-shadow .22s ease}.contest-v8-result .contest-v3-result-metrics article:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(28,55,82,.08)}
.contest-v8-result .contest-v3-result-note{border-radius:18px!important}
.contest-v8-result .contest-v3-result-celebration{
  border-radius:24px!important;
  background:linear-gradient(180deg,#123f6d,#1e5e92)!important;
  box-shadow:0 18px 36px rgba(15,54,93,.20)!important;
}
.contest-v8-result .contest-v3-result-celebration img{object-fit:contain!important;max-height:360px!important;background:radial-gradient(circle at 50% 50%,#eef8ff,#d6eaff)!important}
.contest-v8-result .contest-v3-result-empty{width:min(760px,calc(100% - 28px))!important;margin:40px auto!important;border-radius:26px!important;box-shadow:var(--v8-shadow)!important}

/* ---------------------------------------------------------------
   Comisión / participantes / ranking / importación
   --------------------------------------------------------------- */
.contest-v8-admin-shell{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  background:linear-gradient(180deg,#f4efe5,#ebe3d4)!important;
}
.contest-v8-admin-shell .contest-admin-sidebar{
  position:sticky!important;
  top:0!important;
  width:220px!important;
  height:100vh!important;
  padding:16px 12px!important;
  background:linear-gradient(180deg,#0c3158 0%,#123f6d 62%,#0d345e 100%)!important;
  box-shadow:10px 0 30px rgba(13,44,77,.13)!important;
  overflow-y:auto!important;
}
.contest-v8-admin-shell .contest-admin-sidebar__brand{padding:4px 4px 12px!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.contest-v8-admin-shell .contest-admin-sidebar__brand .lm-brand__copy strong{color:#fff!important}
.contest-v8-admin-shell .contest-admin-sidebar__brand .lm-brand__mark{background:#fff!important;border:2px solid rgba(255,255,255,.85)!important}
.contest-v8-admin-shell .contest-admin-sidebar__event{margin:12px 0!important;padding:11px!important;border-radius:16px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.11)!important}
.contest-v8-admin-shell .contest-admin-sidebar nav{display:grid!important;gap:5px!important}
.contest-v8-admin-shell .contest-admin-sidebar nav a{min-height:46px!important;padding:0 11px!important;border-radius:13px!important;display:flex!important;align-items:center!important;gap:9px!important;color:#e8f0f6!important;transition:transform .2s ease,background .2s ease,color .2s ease!important}
.contest-v8-admin-shell .contest-admin-sidebar nav a:hover{transform:translateX(3px);background:rgba(255,255,255,.09)!important}
.contest-v8-admin-shell .contest-admin-sidebar nav a.is-active{background:linear-gradient(90deg,#e7b437,#efc956)!important;color:#173e66!important;box-shadow:0 8px 16px rgba(0,0,0,.14)!important}
.contest-v8-admin-shell .contest-admin-main{
  min-width:0!important;
  width:100%!important;
  padding:16px clamp(14px,2vw,28px) 30px!important;
  overflow-x:hidden!important;
}
.contest-v8-admin-shell .contest-admin-header{
  position:relative!important;
  top:auto!important;
  margin:0!important;
  padding:18px 20px!important;
  min-height:94px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 94% 12%,rgba(75,144,204,.11),transparent 24%),
    linear-gradient(180deg,#fffaf2,#f5eddf)!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:0 12px 26px rgba(25,51,78,.08)!important;
}
.contest-v8-admin-shell .contest-admin-header h1{margin:4px 0 0!important;font-size:clamp(1.8rem,2.6vw,2.6rem)!important;color:#123e70!important}
.contest-v8-admin-shell .contest-admin-user{padding:8px 10px!important;border-radius:16px!important;background:#eef4f8!important;border:1px solid #d4e1e9!important}
.contest-v8-admin-shell .contest-admin-stats--six{margin-top:10px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.contest-v8-admin-shell .contest-admin-stats article{
  min-height:108px!important;
  padding:13px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fffaf2,#f8f2e8)!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:0 8px 18px rgba(35,50,63,.05)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.contest-v8-admin-shell .contest-admin-stats article:hover{transform:translateY(-4px);box-shadow:0 14px 26px rgba(26,53,81,.10)!important;border-color:#d6b661!important}
.contest-v8-admin-shell .contest-admin-stats article>span{width:44px!important;height:44px!important;border-radius:14px!important;background:#eaf2f7!important;display:grid!important;place-items:center!important}
.contest-v8-admin-shell .contest-admin-grid{margin-top:10px!important;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)!important;gap:10px!important}
.contest-v8-admin-shell .contest-admin-card,
.contest-v8-admin-shell .contest-podium-card,
.contest-v8-admin-shell .contest-category-admin-grid article{
  border-radius:20px!important;
  background:linear-gradient(180deg,#fffaf2,#f8f2e8)!important;
  border:1px solid var(--v8-line)!important;
  box-shadow:0 9px 20px rgba(35,50,63,.055)!important;
}
.contest-v8-admin-shell .contest-admin-card{padding:16px!important}
.contest-v8-admin-shell .contest-admin-card__head{gap:12px!important;align-items:center!important}
.contest-v8-admin-shell .contest-mini-table>div{min-height:48px!important;border-radius:12px!important;transition:transform .18s ease,background .18s ease}.contest-v8-admin-shell .contest-mini-table>div:hover{transform:translateX(2px);background:#eef4f7!important}
.contest-v8-admin-shell .contest-category-admin-grid{margin-top:10px!important;gap:9px!important}.contest-v8-admin-shell .contest-category-admin-grid article{min-height:88px!important;padding:12px!important;transition:transform .2s ease,box-shadow .2s ease}.contest-v8-admin-shell .contest-category-admin-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(26,53,81,.08)!important}
.contest-v8-admin-shell .contest-table-wrap{
  max-width:100%!important;
  overflow:auto!important;
  margin-top:10px!important;
  border:1px solid #d9dfe4!important;
  border-radius:16px!important;
  background:#fff!important;
}
.contest-v8-admin-shell .contest-table{min-width:780px!important;width:100%!important}
.contest-v8-admin-shell .contest-table thead th{position:sticky!important;top:0!important;z-index:2!important;background:#eef3f7!important;color:#37536a!important}
.contest-v8-admin-shell .contest-table tbody tr{transition:background .18s ease}.contest-v8-admin-shell .contest-table tbody tr:hover{background:#f7fafc!important}
.contest-v8-admin-shell .contest-row-status{border-radius:999px!important;padding:5px 8px!important;white-space:nowrap!important}
.contest-v8-admin-shell .contest-podium-grid{margin-top:10px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.contest-v8-admin-shell .contest-podium-card{padding:14px!important;color:var(--v8-ink)!important;overflow:hidden!important}
.contest-v8-admin-shell .contest-podium-card__head small{color:#738597!important}
.contest-v8-admin-shell .contest-podium{height:220px!important;gap:6px!important}
.contest-v8-admin-shell .contest-podium>div{border-radius:14px 14px 5px 5px!important;background:#edf2f5!important;color:var(--v8-ink)!important}
.contest-v8-admin-shell .contest-podium>div.place-1{background:linear-gradient(180deg,#fff1b7,#f3db8a)!important}
.contest-v8-admin-shell .contest-podium>div.place-2{background:linear-gradient(180deg,#f3f5f7,#dfe5ea)!important}
.contest-v8-admin-shell .contest-podium>div.place-3{background:linear-gradient(180deg,#f5e7d8,#e9cdb0)!important}
.contest-v8-admin-shell .contest-podium>div small{color:#637586!important}
.contest-v8-admin-shell .contest-podium>div i{color:#153e67!important;opacity:.34!important}

/* Gestión de cuentas */
.contest-v8-admin-import .contest-v4-entry-mode{margin:10px 0!important;display:flex!important;gap:8px!important}
.contest-v8-admin-import .contest-v4-entry-mode button,
.contest-v8-admin-import .contest-import-tabs button{min-height:44px!important;padding:0 14px!important;border-radius:13px!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}
.contest-v8-admin-import .contest-v4-entry-mode button:hover,
.contest-v8-admin-import .contest-import-tabs button:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(25,55,84,.08)}
.contest-v8-admin-import .contest-v4-individual-layout{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;gap:10px!important}
.contest-v8-admin-import .contest-v4-form-grid{gap:9px!important}.contest-v8-admin-import .contest-v4-form-grid input,.contest-v8-admin-import .contest-v4-form-grid select{height:44px!important;border-radius:11px!important;background:#fff!important}
.contest-v8-admin-import .contest-v4-category-guide>div{border-radius:14px!important;transition:transform .18s ease,box-shadow .18s ease}.contest-v8-admin-import .contest-v4-category-guide>div:hover{transform:translateX(3px);box-shadow:0 8px 16px rgba(25,55,84,.07)}
.contest-v8-admin-import .contest-import-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.contest-v8-admin-import .contest-file-drop{border-radius:18px!important;background:#f8fbfd!important;transition:transform .2s ease,border-color .2s ease,background .2s ease}.contest-v8-admin-import .contest-file-drop:hover{transform:translateY(-2px);border-color:#6da1c8!important;background:#f0f7fb!important}
.contest-v8-admin-import .contest-v4-created-account{border-radius:18px!important;background:#eef8f2!important}

/* ---------------------------------------------------------------
   Botones y efectos globales del concurso
   --------------------------------------------------------------- */
:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) :is(button,a){
  -webkit-tap-highlight-color:transparent;
}
:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) .contest-v3-btn,
:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) .contest-btn{
  border-radius:13px!important;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) .contest-v3-btn:hover:not(:disabled),
:where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) .contest-btn:hover:not(:disabled){
  transform:translateY(-2px) scale(1.012)!important;
  box-shadow:0 10px 20px rgba(25,55,84,.12)!important;
  filter:brightness(1.025)!important;
}

/* ---------------------------------------------------------------
   Responsive real: 1366px al 100% y sin scroll horizontal
   --------------------------------------------------------------- */
@media (max-width: 1220px){
  .contest-v8-hero-shell{grid-template-columns:1fr!important}
  .contest-v8-event-panel{display:grid!important;grid-template-columns:180px 1fr 1fr!important;grid-template-areas:"date stats countdown" "date cats rule"!important;align-items:stretch!important}
  .contest-v8-event-date{grid-area:date}.contest-v8-event-stats{grid-area:stats}.contest-v8-event-countdown{grid-area:countdown}.contest-v8-event-categories{grid-area:cats}.contest-v8-event-rule{grid-area:rule;margin-top:0!important}
  .contest-v8-participant .contest-v7-participant-hero{grid-template-columns:1fr 300px!important}
  .contest-v8-admin-shell .contest-podium-grid{grid-template-columns:1fr!important}
  .contest-v8-exam .contest-v2-exam__layout{grid-template-columns:180px minmax(0,1fr) 215px!important}
}

@media (max-width: 1040px){
  .contest-v8-hero-lower{grid-template-columns:1fr 1.5fr!important}.contest-v8-side-photo--right{display:none!important}
  .contest-v8-participant .contest-v7-participant-hero{grid-template-columns:1fr!important}.contest-v8-participant .contest-v7-participant-hero__visual{display:grid!important;grid-template-columns:1fr 250px!important}.contest-v8-participant .contest-v7-participant-photo{min-height:210px!important}
  .contest-v8-participant .contest-v6-participant-layout{grid-template-columns:1fr!important}
  .contest-v8-instructions .contest-v6-dynamics{grid-template-columns:1fr!important}
  .contest-v8-route-page .contest-v7-route-atlas{grid-template-columns:1fr!important}.contest-v8-route-page .contest-v7-route-atlas__side{grid-template-columns:repeat(3,1fr)!important}
  .contest-v8-access{grid-template-columns:1fr!important;grid-template-rows:64px auto auto!important;overflow:visible!important}.contest-v8-access .contest-v3-access__identity{min-height:auto!important;border-right:0!important;border-bottom:1px solid #d7c9b3!important}.contest-v8-access .contest-v3-access__form-zone{min-height:auto!important}
  .contest-v8-exam .contest-v2-exam__hud{grid-template-columns:1fr 170px 140px!important}.contest-v8-exam .contest-v2-exam__global{display:none!important}.contest-v8-exam .contest-v2-exam__layout{grid-template-columns:minmax(0,1fr) 220px!important}.contest-v8-exam .contest-v2-exam__route{display:none!important}
  .contest-v8-admin-shell{grid-template-columns:78px minmax(0,1fr)!important}.contest-v8-admin-shell .contest-admin-sidebar{width:78px!important;padding:12px 8px!important}.contest-v8-admin-shell .contest-admin-sidebar__brand .lm-brand__copy,.contest-v8-admin-shell .contest-admin-sidebar__brand>span,.contest-v8-admin-shell .contest-admin-sidebar__event,.contest-v8-admin-shell .contest-admin-sidebar nav a{font-size:0!important}.contest-v8-admin-shell .contest-admin-sidebar nav a{justify-content:center!important}.contest-v8-admin-shell .contest-admin-sidebar nav a span{font-size:1.1rem!important}.contest-v8-admin-shell .contest-admin-sidebar__bottom{display:none!important}
  .contest-v8-admin-shell .contest-admin-grid{grid-template-columns:1fr!important}
  .contest-v8-admin-import .contest-v4-individual-layout{grid-template-columns:1fr!important}
}

@media (max-width: 780px){
  .contest-v8-hero-lower{grid-template-columns:1fr!important}.contest-v8-side-photo{display:none!important}
  .contest-v8-event-panel{display:flex!important}
  .contest-v8-facts{grid-template-columns:1fr 1fr!important}.contest-v8-organization{grid-template-columns:1fr!important}.contest-v8-rules{grid-template-columns:1fr 1fr!important}
  .contest-v8-participant .contest-v7-participant-profile,.contest-v8-participant .contest-v7-participant-metrics,.contest-v8-participant .contest-v7-participant-reminders{grid-template-columns:1fr!important}.contest-v8-participant .contest-v7-participant-hero__visual{grid-template-columns:1fr!important}
  .contest-v8-instructions .contest-v6-rule-grid{grid-template-columns:1fr 1fr!important}
  .contest-v8-route-page .contest-v7-route-head{grid-template-columns:1fr!important}.contest-v8-route-page .contest-v7-route-head__summary{grid-template-columns:repeat(3,1fr)!important}.contest-v8-route-page .contest-v7-route-atlas__side{grid-template-columns:1fr!important}.contest-v8-route-page .contest-v7-route-atlas__map{min-height:auto!important;display:grid!important;gap:14px!important}.contest-v8-route-page .contest-v7-route-atlas__path{display:none!important}.contest-v8-route-page .contest-v7-route-stop{position:relative!important;inset:auto!important;width:100%!important}
  .contest-v8-exam .contest-v2-exam__hud{grid-template-columns:1fr 145px!important}.contest-v8-exam .contest-clock{min-width:0!important}.contest-v8-exam .contest-v2-exam__finish{grid-column:1/-1!important}.contest-v8-exam .contest-v2-exam__layout{grid-template-columns:1fr!important}.contest-v8-exam .contest-v2-exam__side{position:static!important}.contest-v8-exam .contest-v2-options{grid-template-columns:1fr!important}
  .contest-v8-result .contest-v3-result-stage{grid-template-columns:1fr!important}
  .contest-v8-admin-shell .contest-admin-stats--six{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contest-v8-admin-shell .contest-admin-header{align-items:flex-start!important;flex-direction:column!important}.contest-v8-admin-import .contest-import-grid{grid-template-columns:1fr!important}
}

@media (max-width: 540px){
  .contest-v8-hero-shell,.contest-v8-facts,.contest-v8-organization,.contest-v8-flow,.contest-v8-rules,.contest-v8-cta{width:calc(100% - 18px)!important}
  .contest-v8-title-card{padding:18px 14px!important}.contest-v8-title-card h1{font-size:2rem!important}
  .contest-v8-facts,.contest-v8-rules{grid-template-columns:1fr!important}
  .contest-v8-instructions .contest-v6-rule-grid{grid-template-columns:1fr!important}
  .contest-v8-admin-shell .contest-admin-stats--six{grid-template-columns:1fr!important}
}

@keyframes v8Spark{0%,100%{transform:scale(1) rotate(0deg);opacity:.5}50%{transform:scale(1.16) rotate(12deg);opacity:.9}}
@media (prefers-reduced-motion: reduce){
  :where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) *,
  :where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) *::before,
  :where(.contest-v8-public,.contest-v8-participant,.contest-v8-route-page,.contest-v8-access,.contest-v8-instructions,.contest-v8-result,.contest-v8-exam,.contest-v8-admin-shell) *::after{animation:none!important;transition:none!important}
}
/* =====================================================================
   LUDIMÁTICA V9 — portada basada en la propuesta aprobada
   ===================================================================== */
html,body,#root{max-width:100%;overflow-x:hidden}
.lm-home--scrapbook-v3{--v9-navy:#0d3766;--v9-blue:#174d86;--v9-orange:#f78b16;--v9-green:#20a77f;--v9-gold:#f2bd3f;--v9-paper:#fffaf0;overflow-x:hidden}
.lm-home--scrapbook-v3 img{max-width:100%;image-rendering:auto}

/* cabecera al 100% sin desbordar */
.lm-home--scrapbook-v3 .lm-scrap-header{position:sticky;top:0;z-index:80;background:rgba(255,252,246,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(159,132,78,.18)}
.lm-home--scrapbook-v3 .lm-scrap-nav{width:min(1380px,calc(100% - 28px))!important;max-width:none!important;padding:10px 0!important;gap:18px!important}
.lm-home--scrapbook-v3 .lm-v4-nav__links{gap:clamp(10px,1.35vw,22px)!important;min-width:0;white-space:nowrap}
.lm-home--scrapbook-v3 .lm-v4-nav__links>a:not(.lm-btn){font-size:clamp(.72rem,.84vw,.9rem)!important}
.lm-home--scrapbook-v3 .lm-scrap-login{padding:10px 16px!important;border-radius:14px!important}
.lm-home--scrapbook-v3 .lm-brand__mark{background:linear-gradient(145deg,#fff,#eef1ff)!important;border:2px solid #234f7d!important;box-shadow:0 7px 18px rgba(38,71,110,.17)!important}
.lm-home--scrapbook-v3 .lm-brand__mark img{filter:saturate(1.25) contrast(1.22)!important}

/* hero: proporción de la ilustración adaptada al original, Lumix siempre visible */
.lm-home--scrapbook-v3 .lm-scrap-hero{width:min(1380px,calc(100% - 28px))!important;max-width:none!important;grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr)!important;gap:18px 24px!important;padding:24px 26px 20px!important;align-items:stretch!important}
.lm-home--scrapbook-v3 .lm-scrap-hero__copy{padding:12px 0 4px!important;align-self:center}
.lm-home--scrapbook-v3 .lm-scrap-hero__copy h1{font-size:clamp(2.5rem,4.1vw,4.45rem)!important;line-height:.91!important;letter-spacing:-.045em!important}
.lm-home--scrapbook-v3 .lm-scrap-hero__copy p{font-size:clamp(.94rem,1.05vw,1.08rem)!important;line-height:1.62!important;max-width:31rem}
.lm-home--scrapbook-v3 .lm-v8-hero-art{min-height:0!important;height:clamp(300px,26.5vw,378px)!important;border-radius:25px!important;border:5px solid #fff!important;background:#d8eefb!important;box-shadow:0 18px 36px rgba(33,75,119,.16)!important;overflow:hidden!important}
.lm-home--scrapbook-v3 .lm-v8-hero-art__backdrop{inset:-12px!important;width:calc(100% + 24px)!important;height:calc(100% + 24px)!important;object-fit:cover!important;object-position:center!important;filter:blur(10px) saturate(1.05) brightness(1.04)!important;opacity:.42!important;transform:scale(1.035)!important}
.lm-home--scrapbook-v3 .lm-v8-hero-art__main{inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;min-width:0!important;object-fit:contain!important;object-position:center center!important;filter:none!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.lm-home--scrapbook-v3 .lm-v8-hero-art::before,.lm-home--scrapbook-v3 .lm-v8-hero-art::after{content:"";position:absolute;top:0;bottom:0;width:38px;z-index:3;pointer-events:none}
.lm-home--scrapbook-v3 .lm-v8-hero-art::before{left:0;background:linear-gradient(90deg,rgba(232,246,255,.34),transparent)}
.lm-home--scrapbook-v3 .lm-v8-hero-art::after{right:0;background:linear-gradient(270deg,rgba(232,246,255,.34),transparent)}
.lm-home--scrapbook-v3 .lm-v8-hero-art__fade{display:none!important}
.lm-home--scrapbook-v3 .lm-v8-hero-art figcaption{top:14px!important;left:14px!important;bottom:auto!important;max-width:220px!important;border-radius:16px!important;padding:8px 10px!important}
.lm-home--scrapbook-v3 .lm-v8-hero-art figcaption img{width:42px!important;height:42px!important;object-fit:cover!important;border-radius:12px!important}
.lm-home--scrapbook-v3 .lm-scrap-benefits{grid-column:1/-1!important;gap:12px!important;margin-top:2px!important}
.lm-home--scrapbook-v3 .lm-scrap-benefits article{min-height:80px!important;border-radius:20px!important;padding:14px!important}

/* interacción y riqueza visual */
.lm-home--scrapbook-v3 .lm-scrap-benefits article,.lm-home--scrapbook-v3 .lm-scrap-step,.lm-home--scrapbook-v3 .lm-scrap-competencies article,.lm-home--scrapbook-v3 .lm-scrap-mission-card,.lm-home--scrapbook-v3 .lm-scrap-school-grid figure,.lm-home--scrapbook-v3 .lm-contest-feature-v6,.lm-home--scrapbook-v3 .lm-scrap-creator__stats article,.lm-home--scrapbook-v3 .lm-scrap-cta{transition:transform .22s ease,box-shadow .22s ease,filter .22s ease,border-color .22s ease!important}
.lm-home--scrapbook-v3 .lm-scrap-benefits article:hover,.lm-home--scrapbook-v3 .lm-scrap-step:hover,.lm-home--scrapbook-v3 .lm-scrap-competencies article:hover,.lm-home--scrapbook-v3 .lm-scrap-mission-card:hover,.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:hover,.lm-home--scrapbook-v3 .lm-scrap-creator__stats article:hover{transform:translateY(-4px) scale(1.008)!important;box-shadow:0 17px 32px rgba(23,60,99,.12)!important}

/* Cómo funciona: tarjetas más cercanas a la referencia y sin puntos negros */
.lm-home--scrapbook-v3 .lm-scrap-journey{width:min(1380px,calc(100% - 28px))!important;max-width:none!important;grid-template-columns:245px minmax(0,1fr)!important;gap:18px!important;padding:20px!important}
.lm-home--scrapbook-v3 .lm-scrap-steps{gap:10px!important;align-items:stretch!important}
.lm-home--scrapbook-v3 .lm-scrap-step{min-height:220px!important;padding:26px 16px 16px!important;border-radius:22px!important;background:linear-gradient(180deg,#fffdf8,#faf7ef)!important}
.lm-home--scrapbook-v3 .lm-scrap-step .lm-scrap-clip{top:-14px!important;width:28px!important;height:28px!important;background:linear-gradient(145deg,#fff,#edf4fb)!important;border:2px solid #173f6d!important;color:#f4ad1d!important;box-shadow:0 6px 15px rgba(27,63,101,.15)!important}
.lm-home--scrapbook-v3 .lm-scrap-step-arrow{align-self:center!important;font-size:1.25rem!important}

/* fotos de institución: prioridad a la nitidez y composición tipo collage */
.lm-home--scrapbook-v3 .lm-scrap-institution{width:min(1380px,calc(100% - 28px))!important;max-width:none!important;grid-template-columns:340px minmax(0,1fr)!important;gap:20px!important;padding:22px!important;background:linear-gradient(145deg,#fffdf7,#f8f4e8)!important}
.lm-home--scrapbook-v3 .lm-scrap-institution__identity{border-radius:26px!important;background:linear-gradient(160deg,#eef8f2,#fffaf0)!important}
.lm-home--scrapbook-v3 .lm-scrap-school-grid{display:grid!important;grid-template-columns:1.5fr .92fr .92fr!important;grid-template-rows:1fr 1fr!important;gap:10px!important;min-height:370px!important}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure{margin:0!important;border:4px solid #fff!important;border-radius:22px!important;box-shadow:0 10px 22px rgba(25,61,96,.10)!important;background:#fff!important;overflow:hidden!important}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure.is-main{grid-column:1;grid-row:1/3!important}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(2){grid-column:2;grid-row:1}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(3){grid-column:3;grid-row:1}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(4){grid-column:2;grid-row:2}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(5){grid-column:3;grid-row:2}
.lm-home--scrapbook-v3 .lm-scrap-school-grid img{width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;image-rendering:auto!important;filter:none!important;transform:none!important}
.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:hover img{transform:scale(1.018)!important;filter:saturate(1.03) contrast(1.01)!important}

/* icono del footer claramente visible */
.lm-home--scrapbook-v3 .lm-scrap-footer{background:linear-gradient(135deg,#0c3768,#0b2b55)!important;color:#fff!important}
.lm-home--scrapbook-v3 .lm-scrap-footer .lm-brand__mark{background:#fff!important;border-color:#f2bd3f!important;box-shadow:0 8px 20px rgba(0,0,0,.2)!important}
.lm-home--scrapbook-v3 .lm-scrap-footer .lm-brand__mark img{filter:saturate(1.32) contrast(1.26)!important}
.lm-home--scrapbook-v3 .lm-scrap-footer a,.lm-home--scrapbook-v3 .lm-scrap-footer span,.lm-home--scrapbook-v3 .lm-scrap-footer p,.lm-home--scrapbook-v3 .lm-scrap-footer small{color:rgba(255,255,255,.83)!important}

/* 1366x768 / zoom 100%: todo ocupa el ancho sin scroll horizontal */
@media(max-width:1380px){
  .lm-home--scrapbook-v3 .lm-scrap-nav,.lm-home--scrapbook-v3 .lm-scrap-sheet,.lm-home--scrapbook-v3 .lm-scrap-section,.lm-home--scrapbook-v3 .lm-contest-feature-v6,.lm-home--scrapbook-v3 .lm-scrap-cta,.lm-home--scrapbook-v3 .lm-scrap-footer{width:calc(100% - 20px)!important;max-width:1320px!important}
  .lm-home--scrapbook-v3 .lm-v8-hero-art{height:clamp(292px,25vw,340px)!important}
  .lm-home--scrapbook-v3 .lm-scrap-hero__copy h1{font-size:clamp(2.35rem,4vw,3.9rem)!important}
}
@media(max-width:1120px){
  .lm-home--scrapbook-v3 .lm-v4-nav__links a:not(.lm-scrap-login):nth-child(3),.lm-home--scrapbook-v3 .lm-v4-nav__links a:not(.lm-scrap-login):nth-child(4){display:none}
  .lm-home--scrapbook-v3 .lm-scrap-hero{grid-template-columns:1fr!important;grid-template-areas:"copy" "art" "benefits"!important}
  .lm-home--scrapbook-v3 .lm-v8-hero-art{height:auto!important;aspect-ratio:2.55/1!important;min-height:260px!important}
  .lm-home--scrapbook-v3 .lm-scrap-institution{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .lm-home--scrapbook-v3 .lm-v4-nav__links a:not(.lm-scrap-login){display:none!important}
  .lm-home--scrapbook-v3 .lm-scrap-school-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:260px 160px 160px!important}
  .lm-home--scrapbook-v3 .lm-scrap-school-grid figure.is-main{grid-column:1/3!important;grid-row:1!important}
  .lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(2){grid-column:1;grid-row:2}.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(3){grid-column:2;grid-row:2}.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(4){grid-column:1;grid-row:3}.lm-home--scrapbook-v3 .lm-scrap-school-grid figure:nth-child(5){grid-column:2;grid-row:3}
}
@media(prefers-reduced-motion:reduce){.lm-home--scrapbook-v3 *,.lm-home--scrapbook-v3 *::before,.lm-home--scrapbook-v3 *::after{transition:none!important;animation:none!important}}
/* =====================================================================
   LUDIMATICA V10 DEFINITIVA — ajustes finales aprobados
   Solo centra el arte principal y refuerza el comportamiento a 100%.
   ===================================================================== */

/* El panel de la ilustracion conserva la imagen completa, pero ahora queda
   centrado verticalmente dentro del espacio disponible de la portada. */
.lm-home--scrapbook-v3 .lm-v8-hero-art{
  align-self:center!important;
  justify-self:stretch!important;
  margin-block:auto!important;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__main{
  object-position:center center!important;
}
.lm-home--scrapbook-v3 .lm-v8-hero-art__backdrop{
  object-position:center center!important;
}

/* En escritorio estandar 1366x768 / navegador a 100%, se mantiene el
   panel centrado sin generar desplazamiento horizontal. */
@media (min-width:1121px) and (max-width:1380px){
  .lm-home--scrapbook-v3 .lm-scrap-hero{
    align-items:center!important;
  }
  .lm-home--scrapbook-v3 .lm-v8-hero-art{
    height:clamp(300px,24.5vw,334px)!important;
  }
}
/* =====================================================================
   RETO RAIMONDINO V10 DEFINITIVA — ultimos reajustes aprobados
   1) portada informativa completa a 100%
   2) mapa sin Lumix/estudiantes y estaciones ascendentes
   3) sin cambios esteticos en los demas paneles V9
   ===================================================================== */

html,body,#root{max-width:100%;overflow-x:hidden}
.contest-v9-container{max-width:calc(100vw - 16px)}

/* ---------------------------------------------------------------------
   PORTADA INFORMATIVA DEL CONCURSO
   Evita que la insignia y los botones del bloque central queden cortados
   en 1366x768 al 100% de zoom.
   --------------------------------------------------------------------- */
.contest-v9-title-card{
  margin:0 -7px!important;
  padding:12px 15px 10px!important;
  justify-content:center!important;
  overflow:visible!important;
}
.contest-v9-title-card__crest{
  width:50px!important;
  height:50px!important;
  flex:0 0 50px!important;
  margin:0 0 3px!important;
}
.contest-v9-title-card__crest img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.contest-v9-title-card .contest-v9-kicker{
  padding:5px 9px!important;
  font-size:.59rem!important;
}
.contest-v9-title-card h1{
  margin:6px 0 5px!important;
  font-size:clamp(1.55rem,2.15vw,2.18rem)!important;
  line-height:.98!important;
}
.contest-v9-title-card p{
  margin:0!important;
  font-size:.72rem!important;
  line-height:1.38!important;
}
.contest-v9-title-card__tags{
  margin-top:7px!important;
  gap:5px!important;
}
.contest-v9-title-card__tags span{
  padding:5px 8px!important;
  font-size:.62rem!important;
}
.contest-v9-title-card__actions{
  margin-top:7px!important;
  gap:6px!important;
}
.contest-v9-title-card__actions a{
  padding:8px 11px!important;
  font-size:.68rem!important;
}
.contest-v9-title-card__motto{
  margin-top:7px!important;
  padding:5px 11px!important;
  font-size:.62rem!important;
}

@media (min-width:1161px) and (max-width:1380px) and (max-height:850px){
  .contest-v9-public-hero{
    grid-template-columns:minmax(0,1.80fr) minmax(286px,.62fr)!important;
    gap:12px!important;
    margin-top:10px!important;
  }
  .contest-v9-collage{
    grid-template-rows:188px 151px 151px!important;
    gap:7px!important;
    padding:8px!important;
  }
  .contest-v9-collage__staff{min-height:188px!important}
  .contest-v9-event-panel{
    padding:10px!important;
    gap:7px!important;
  }
  .contest-v9-ticket{padding:8px 10px!important}
  .contest-v9-ticket b{font-size:2.7rem!important}
  .contest-v9-event-stats article{padding:8px 4px!important}
  .contest-v9-event-stats strong{font-size:1.35rem!important}
  .contest-v9-countdown-card{padding:9px!important}
  .contest-v9-category-list{gap:5px!important}
  .contest-v9-category-list article{padding:7px 8px!important}
}

/* ---------------------------------------------------------------------
   RUTA DEL CONCURSO
   El recurso V10 es un recorte de alta calidad del mapa original y no
   contiene ni a Lumix ni a los estudiantes.
   --------------------------------------------------------------------- */
.contest-v9-map{
  height:clamp(500px,47vw,610px)!important;
  background:#d8eef8!important;
}
.contest-v9-map__bg{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  filter:saturate(1.03) contrast(1.02) brightness(1.03)!important;
}
.contest-v9-map__shade{
  background:linear-gradient(180deg,rgba(255,249,237,.08),rgba(255,249,237,0) 50%,rgba(11,48,83,.03))!important;
}

/* Camino ascendente: de izquierda-abajo hacia la meta superior derecha. */
.contest-v9-map__path{
  left:8%!important;
  right:auto!important;
  top:67%!important;
  bottom:auto!important;
  width:78%!important;
  height:0!important;
  border:0!important;
  border-top:5px dashed rgba(255,255,255,.95)!important;
  border-radius:999px!important;
  transform:rotate(-17deg)!important;
  transform-origin:left center!important;
  filter:drop-shadow(0 2px 2px rgba(29,75,116,.38))!important;
}
.contest-v9-map__path i{display:none!important}

/* Las tarjetas dejan de estar alineadas y avanzan visualmente de nivel. */
.contest-v9-map-stop{
  width:clamp(178px,18%,228px)!important;
  padding:13px 11px 10px!important;
}
.contest-v9-map-stop.stop-1{left:4.5%!important;top:48%!important}
.contest-v9-map-stop.stop-2{left:28%!important;top:34%!important}
.contest-v9-map-stop.stop-3{left:51.5%!important;top:20%!important}
.contest-v9-map-stop.stop-4{left:72.5%!important;top:7%!important}
.contest-v9-map-stop h2{font-size:.96rem!important}
.contest-v9-map-stop p{font-size:.58rem!important;line-height:1.34!important;margin:5px 0 8px!important}
.contest-v9-map-stop__status{padding:6px!important}
.contest-v9-map-stop__shield{width:38px!important;height:38px!important;top:-16px!important}
.contest-v9-map-stop__label{margin-bottom:6px!important}

.contest-v9-map-goal{
  right:1.5%!important;
  top:2.5%!important;
  bottom:auto!important;
  width:78px!important;
  height:88px!important;
  border-radius:21px!important;
}
.contest-v9-map-goal span{font-size:1.7rem!important}
.contest-v9-map-goal strong{font-size:.62rem!important}

/* La barra inferior se conserva, pero ocupa menos altura para dejar ver
   mayor superficie del mapa en una pantalla de 768 px de alto. */
.contest-v9-map-progress{
  min-height:76px!important;
  padding:10px 13px!important;
  bottom:2%!important;
}
.contest-v9-route-tip{margin-top:8px!important}

@media (min-width:1161px) and (max-width:1380px){
  .contest-v9-route-head{
    margin-top:10px!important;
    padding:12px 15px!important;
  }
  .contest-v9-route-title>img{width:60px!important;height:68px!important}
  .contest-v9-route-title h1{font-size:clamp(1.72rem,2.5vw,2.25rem)!important}
  .contest-v9-route-title p{font-size:.64rem!important}
  .contest-v9-map{
    height:clamp(455px,43vw,545px)!important;
    margin-top:8px!important;
  }
  .contest-v9-map-stop{width:clamp(168px,17.6%,212px)!important}
  .contest-v9-map-progress{left:3%!important;right:3%!important}
}

/* En resoluciones menores se conserva el responsive V9 existente. */
@media (max-width:1160px){
  .contest-v9-map-stop.stop-1{left:2%!important;top:46%!important}
  .contest-v9-map-stop.stop-2{left:27%!important;top:33%!important}
  .contest-v9-map-stop.stop-3{left:52%!important;top:20%!important}
  .contest-v9-map-stop.stop-4{left:75%!important;top:8%!important}
}
@media (max-width:820px){
  .contest-v9-map__bg,.contest-v9-map__shade,.contest-v9-map__path,.contest-v9-map-goal{display:none!important}
  .contest-v9-map-stop{position:relative!important;inset:auto!important;width:auto!important}
}
