/* Checkpoint 37 · Batch 04 · Research and comparative-system page polish */
body[data-page-polish~="batch04-v37"]{--v37-orange:#ff7a1a;--v37-gold:#d8ad4a;--v37-lavender:#a98ee8;--v37-ink:var(--ink,#f6f2ff);--v37-muted:var(--muted,#b9b1c8);--v37-panel:color-mix(in srgb,var(--surface,#151020) 91%,transparent);--v37-line:color-mix(in srgb,var(--v37-accent) 34%,transparent);overflow-wrap:anywhere;overflow-x:clip}
body[data-page-polish~="batch04-v37"].v37-accent-orange{--v37-accent:var(--v37-orange);--v37-accent-2:var(--v37-gold)}
body[data-page-polish~="batch04-v37"].v37-accent-gold{--v37-accent:var(--v37-gold);--v37-accent-2:var(--v37-lavender)}
body[data-page-polish~="batch04-v37"].v37-accent-lavender{--v37-accent:var(--v37-lavender);--v37-accent-2:var(--v37-orange)}
.v37-skip-link{position:fixed;z-index:100000;inset:.75rem auto auto .75rem;transform:translateY(-180%);padding:.72rem 1rem;border:1px solid var(--v37-accent);border-radius:.6rem;background:#100b19;color:#fff;font-weight:750;text-decoration:none;box-shadow:0 12px 32px #0008}
.v37-skip-link:focus{transform:none;outline:3px solid color-mix(in srgb,var(--v37-accent) 55%,white);outline-offset:3px}
body[data-page-polish~="batch04-v37"] main{min-width:0}
body[data-page-polish~="batch04-v37"] main :where(article,section,div,nav,aside){min-width:0}
body[data-page-polish~="batch04-v37"] main :where(h1,h2,h3,h4){scroll-margin-top:7.5rem;text-wrap:balance}
body[data-page-polish~="batch04-v37"] main p{text-wrap:pretty}
body[data-page-polish~="batch04-v37"] main :where(img,video,canvas,svg,iframe){max-width:100%;height:auto}
body[data-page-polish~="batch04-v37"] main :where(pre,code){max-width:100%}
.v37-reading-map{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.42fr);gap:clamp(1rem,3vw,2.4rem);margin:clamp(1.7rem,4vw,3.5rem) 0;padding:clamp(1.15rem,3vw,2rem);border:1px solid var(--v37-line);border-radius:clamp(1rem,2vw,1.45rem);background:linear-gradient(135deg,color-mix(in srgb,var(--v37-accent) 10%,var(--v37-panel)),color-mix(in srgb,var(--v37-accent-2) 5%,var(--v37-panel)));box-shadow:0 20px 55px #0003;overflow:hidden}
.v37-reading-map::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:.34rem;background:linear-gradient(var(--v37-accent),var(--v37-accent-2))}
.v37-reading-map::after{content:"";position:absolute;z-index:-1;width:18rem;height:18rem;right:-10rem;top:-11rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--v37-accent) 16%,transparent),transparent 69%);pointer-events:none}
.v37-map-eyebrow,.v37-next-eyebrow{margin:0 0 .55rem;color:var(--v37-accent);font:750 .73rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}
.v37-reading-map h2,.v37-next-step h2{margin:.05rem 0 .68rem;font-size:clamp(1.28rem,2.6vw,2rem);line-height:1.12}
.v37-reading-map p,.v37-next-step p{max-width:70ch;margin:.35rem 0;color:var(--v37-muted);line-height:1.68}
.v37-status-row{display:flex;flex-wrap:wrap;gap:.48rem;margin:1rem 0 0;padding:0;list-style:none}
.v37-status-row li{padding:.36rem .62rem;border:1px solid color-mix(in srgb,var(--v37-accent) 27%,transparent);border-radius:999px;background:color-mix(in srgb,var(--v37-accent) 8%,transparent);color:color-mix(in srgb,var(--v37-ink) 87%,var(--v37-accent));font-size:.76rem;line-height:1.3}
.v37-path-nav{align-self:stretch;display:grid;align-content:center;gap:.55rem;padding-left:clamp(0rem,2vw,1.25rem);border-left:1px solid color-mix(in srgb,var(--v37-accent) 23%,transparent)}
.v37-path-nav a{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:2.7rem;padding:.58rem .72rem;border:1px solid color-mix(in srgb,var(--v37-accent) 18%,transparent);border-radius:.75rem;background:#0001;color:var(--v37-ink);text-decoration:none;font-size:.86rem;line-height:1.25}
.v37-path-nav a::after{content:"→";color:var(--v37-accent)}
.v37-path-nav a:hover{border-color:var(--v37-accent);background:color-mix(in srgb,var(--v37-accent) 8%,transparent)}
.v37-next-step{position:relative;margin:clamp(3.2rem,8vw,7rem) 0 clamp(2.2rem,5vw,4rem);padding:clamp(1.2rem,3vw,2.1rem);border-top:1px solid var(--v37-line);border-bottom:1px solid color-mix(in srgb,var(--v37-accent-2) 25%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--v37-accent) 7%,transparent),transparent 72%)}
.v37-next-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem}
.v37-next-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.68rem .9rem;border-radius:.72rem;border:1px solid color-mix(in srgb,var(--v37-accent) 30%,transparent);color:var(--v37-ink);text-decoration:none;font-weight:680}
.v37-next-actions a:first-child{background:var(--v37-accent);border-color:var(--v37-accent);color:#150d08}
.v37-next-actions a:last-child:hover{border-color:var(--v37-accent)}
.v37-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:.75rem}
body[data-page-polish~="batch04-v37"] :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid color-mix(in srgb,var(--v37-accent) 62%,white);outline-offset:3px}
body[data-page-polish~="batch04-v37"] :where(button,[role="button"],summary,.btn,.button){touch-action:manipulation}
@media(max-width:760px){
 .v37-reading-map{grid-template-columns:1fr;margin:1.35rem 0;padding:1.05rem .95rem 1.15rem}
 .v37-path-nav{padding:1rem 0 0;border-left:0;border-top:1px solid color-mix(in srgb,var(--v37-accent) 23%,transparent)}
 .v37-path-nav a{min-height:3rem;font-size:.9rem}
 .v37-status-row{gap:.4rem}.v37-status-row li{font-size:.72rem}
 .v37-next-step{margin-top:3rem;padding:1.15rem .95rem}
 .v37-next-actions{display:grid;grid-template-columns:1fr}.v37-next-actions a{width:100%}
 body[data-page-polish~="batch04-v37"] main{max-width:100%;overflow-x:clip}
 body[data-page-polish~="batch04-v37"] main :where(table,pre,iframe){max-width:100%}
 body[data-page-polish~="batch04-v37"] main table{min-width:36rem}
 body[data-page-polish~="batch04-v37"] main :where(.grid,.cards,.card-grid){grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:420px){.v37-reading-map,.v37-next-step{border-radius:.9rem}.v37-reading-map h2,.v37-next-step h2{font-size:1.24rem}}
@media(prefers-reduced-motion:reduce){.v37-skip-link,*{scroll-behavior:auto!important}.v37-path-nav a{transition:none!important}}
