/* Checkpoint 35 · Page-polish Batch 02 */
:root {
  --v35-orange: #f09a5a;
  --v35-gold: #d8b35f;
  --v35-lavender: #b99adf;
  --v35-ink: #f6f1ea;
  --v35-muted: #c8bfcc;
  --v35-panel: rgba(25, 19, 31, .78);
  --v35-line: rgba(255,255,255,.13);
}
html { scroll-padding-top: 7rem; }
body.v35-batch2 { overflow-x: clip; }
body.v35-batch2 :where(img, video, canvas, svg, iframe) { max-width: 100%; height: auto; }
body.v35-batch2 :where(pre, code, kbd, samp, a) { overflow-wrap: anywhere; }
body.v35-batch2 :where(table) { max-width: 100%; }
body.v35-batch2 .v35-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; border-radius: 1rem; }
body.v35-batch2 .v35-table-scroll > table { min-width: min(42rem, 100%); }
.v35-skip-link { position: fixed; z-index: 100000; left: 1rem; top: .75rem; transform: translateY(-180%); padding: .75rem 1rem; border-radius: .65rem; background: #fff; color: #18121f; font-weight: 800; box-shadow: 0 .5rem 2rem rgba(0,0,0,.35); }
.v35-skip-link:focus { transform: translateY(0); }
body.v35-batch2 :where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--v35-gold); outline-offset: 3px; }
body.v35-batch2 main { min-width: 0; }
.v35-reading-map, .v35-next-step {
  --v35-accent: var(--v35-lavender);
  position: relative;
  width: min(74rem, calc(100% - 2rem));
  margin: clamp(1.5rem, 4vw, 3.5rem) auto;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid color-mix(in srgb, var(--v35-accent) 52%, transparent);
  border-radius: clamp(1rem, 2vw, 1.5rem);
  background:
    linear-gradient(140deg, color-mix(in srgb, var(--v35-accent) 14%, transparent), transparent 42%),
    var(--v35-panel);
  box-shadow: 0 1.25rem 4rem rgba(0,0,0,.22);
  isolation: isolate;
}
.v35-reading-map::before, .v35-next-step::before { content: ""; position: absolute; inset: 0 auto 0 0; width: .32rem; border-radius: inherit; background: linear-gradient(var(--v35-accent), color-mix(in srgb, var(--v35-accent) 18%, transparent)); }
.v35-reading-map[data-v35-accent="orange"], body[data-v35-center="gut"] .v35-next-step { --v35-accent: var(--v35-orange); }
.v35-reading-map[data-v35-accent="gold"], body[data-v35-center="head"] .v35-next-step { --v35-accent: var(--v35-gold); }
.v35-reading-map[data-v35-accent="lavender"], body[data-v35-center="heart"] .v35-next-step { --v35-accent: var(--v35-lavender); }
.v35-reading-map__head { max-width: 56rem; }
.v35-kicker { margin: 0 0 .55rem; color: var(--v35-accent); font-size: .76rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.v35-reading-map h2, .v35-next-step h2 { max-width: 24ch; margin: 0 0 .8rem; color: var(--v35-ink); font-size: clamp(1.55rem, 3.5vw, 2.5rem); line-height: 1.08; text-wrap: balance; }
.v35-reading-map p, .v35-next-step p, .v35-reading-map dd { color: var(--v35-muted); line-height: 1.72; }
.v35-mechanism-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; margin: 1.4rem 0; }
.v35-mechanism-grid > div { min-width: 0; padding: 1rem; border: 1px solid var(--v35-line); border-radius: .9rem; background: rgba(255,255,255,.035); }
.v35-mechanism-grid dt { color: var(--v35-accent); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.v35-mechanism-grid dd { margin: .35rem 0 0; }
.v35-word-history { padding-top: 1.15rem; border-top: 1px solid var(--v35-line); }
.v35-word-history strong { color: var(--v35-ink); }
.v35-reading-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.v35-action { display: inline-flex; min-height: 2.8rem; align-items: center; justify-content: center; padding: .7rem 1rem; border: 1px solid color-mix(in srgb, var(--v35-accent) 58%, transparent); border-radius: 999px; color: var(--v35-ink); font-weight: 760; text-decoration: none; background: rgba(255,255,255,.035); }
.v35-action:hover { background: color-mix(in srgb, var(--v35-accent) 15%, transparent); transform: translateY(-1px); }
.v35-action--primary { border-color: transparent; background: var(--v35-accent); color: #17111c; }
.v35-action--primary:hover { background: color-mix(in srgb, var(--v35-accent) 84%, white); }
.v35-local-nav { width: min(74rem, calc(100% - 2rem)); margin: -1.6rem auto clamp(1.5rem, 3vw, 2.5rem); padding: .95rem 1.05rem; border: 1px solid var(--v35-line); border-radius: 1rem; background: rgba(15,11,19,.72); }
.v35-local-nav strong { display: block; margin-bottom: .55rem; color: var(--v35-ink); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.v35-local-nav ol { display: flex; flex-wrap: wrap; gap: .45rem .7rem; margin: 0; padding: 0; list-style: none; }
.v35-local-nav a { display: inline-flex; min-height: 2.55rem; align-items: center; padding: .45rem .72rem; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; color: var(--v35-muted); text-decoration: none; }
.v35-local-nav a:hover { color: var(--v35-ink); border-color: var(--v35-lavender); }
.v35-next-step { --v35-accent: var(--v35-orange); margin-top: clamp(3rem, 7vw, 6rem); }
body.v35-batch2 :where(.grid, [class*="grid"], [class*="cards"], [class*="columns"]) { min-width: 0; }
body.v35-batch2 :where(.card, [class*="card"], [class*="panel"], [class*="tile"]) { min-width: 0; }
body.v35-batch2 .v35-fixed-overflow { max-width: 100% !important; }
@media (max-width: 720px) {
  html { scroll-padding-top: 5.5rem; }
  .v35-reading-map, .v35-next-step, .v35-local-nav { width: min(100% - 1rem, 74rem); }
  .v35-reading-map, .v35-next-step { padding: 1.15rem; border-radius: 1rem; }
  .v35-mechanism-grid { grid-template-columns: 1fr; }
  .v35-reading-actions { display: grid; grid-template-columns: 1fr; }
  .v35-action { width: 100%; }
  .v35-local-nav { margin-top: -1rem; }
  .v35-local-nav ol { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; scroll-snap-type: x proximity; }
  .v35-local-nav li { flex: 0 0 auto; scroll-snap-align: start; }
  body.v35-batch2 :where(h1,h2,h3) { text-wrap: balance; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  body.v35-batch2 *, body.v35-batch2 *::before, body.v35-batch2 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
