/* Mobile first: fixed controls frame a naturally scrollable reading area. */
.v7-explorer{--v7-tint:rgb(222,150,162);position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;background:#000;color:#fff;overflow:hidden;font-family:'Equinox Sans',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.v7-explorer::backdrop{background:#000}
.v7-explorer[data-v7-transition]::backdrop{background:transparent}
.v7-image-flight{position:fixed;z-index:5;overflow:hidden;pointer-events:none;contain:layout paint;transform-origin:0 0;background:transparent}
.v7-image-flight>.v7-flight-image{display:block;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%;max-width:none}
.v7-reader-source{visibility:hidden!important}
.v7-explorer[data-v7-transition=closing] .v7-shell{pointer-events:none}
.v7-explorer *{box-sizing:border-box}
.v7-explorer button{font:inherit;color:inherit;border:0;border-radius:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.v7-explorer button:focus-visible{outline:1px solid var(--v7-tint);outline-offset:-3px}
.v7-explorer .v7-back:focus{outline:none}
.v7-explorer .v7-back:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.v7-explorer button:active{opacity:.6}
.v7-explorer button:disabled{opacity:.25;cursor:default}
/* Navigation has its own stable row. Only the reading area scrolls on short
   screens or with enlarged text; changing findings never moves the controls. */
.v7-shell{height:100%;width:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.v7-topbar{height:calc(60px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff24;gap:12px}
.v7-topbar button{min-height:44px;font-size:13px}.v7-brand{width:82px;height:auto}.v7-back{text-align:left}.v7-quiz-link{text-align:right}
.v7-dimensions{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;padding:0 20px;border-bottom:1px solid #ffffff17;flex:none;overscroll-behavior-x:contain}
.v7-dimensions::-webkit-scrollbar{display:none}.v7-dimension{position:relative;display:flex;gap:7px;align-items:center;min-height:48px;flex:none;font-size:12px!important;letter-spacing:.04em;opacity:.52}
.v7-dimension i{font-size:17px}.v7-dimension[aria-pressed=true]{opacity:1}.v7-dimension[aria-pressed=true]::after{content:'';height:2px;background:var(--v7-tint);position:absolute;bottom:0;left:0;right:0}
.v7-body{position:relative;min-height:0;overflow:hidden}
.v7-reader{--v7-reader-gutter:24px;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%;width:100%;max-width:580px;margin:0 auto}
.v7-explorer .v7-reading{position:relative;z-index:1;padding:22px var(--v7-reader-gutter) 0;min-height:0;height:100%;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}
.v7-explorer .v7-label-row{display:flex;justify-content:space-between;gap:12px;color:#ffffff80;margin-bottom:12px}.v7-mono{font-family:'Messina Mono',Menlo,monospace;font-size:10px;line-height:1.5;letter-spacing:.10em;text-transform:uppercase}
.v7-label-row>.v7-mono:last-child{display:none}
.v7-title{font-size:13px;font-weight:400;line-height:1.3;letter-spacing:.02em;color:#e8e8e8;margin:0 0 5px}
.v7-explorer .v7-value{font-size:clamp(92px,15svh,132px);line-height:.95;font-weight:300;letter-spacing:-.045em;margin-left:-3px;font-variant-numeric:tabular-nums}.v7-value[hidden]{display:none}.v7-percent{font-size:.37em;vertical-align:top;position:relative;top:.15em;margin-left:5px;letter-spacing:0}
.v7-explorer .v7-value-qualifier{font-size:.2em;letter-spacing:0;vertical-align:baseline;margin-right:.35em}
.v7-explorer .v7-sentence{font-size:clamp(18px,2.4svh,21px);font-weight:400;line-height:1.32;max-width:32ch;margin:10px 0 0;text-wrap:pretty}
.v7-graphic{width:100%;min-height:120px;display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;margin:18px 0 8px}
.v7-graphic-context{font-size:12px;line-height:1.35;color:#ffffff9e;max-width:28ch;flex:none;margin-bottom:8px}
.v7-graphic-context[hidden]{display:none}
.v7-explorer .v7-stage{width:100%;height:auto;min-height:0;aspect-ratio:var(--v7-graphic-ratio,360 / 300);max-height:none;flex:0 1 auto;touch-action:pan-y;position:relative;margin:0 auto}
.v7-explorer .v7-stage svg{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;overflow:visible;display:block}
@media(max-width:767px){
 .v7-explorer .v7-reading{padding-inline:calc(var(--v7-reader-gutter) - 8px)}
 .v7-explorer :is(.v7-label-row,.v7-copy,.v7-note){margin-inline:8px}
 .v7-graphic-context{margin-left:8px}
}
.v7-explorer .v7-note{font-size:12px;line-height:1.4;color:#ffffff9e;margin:0 0 14px;max-width:54ch}.v7-note[hidden]{display:none}
.v7-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin:0 var(--v7-reader-gutter);padding:8px 0 calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff24;background:#000;flex:none}
.v7-controls>button{min-height:44px;font-size:13px;line-height:1.25}.v7-prev{text-align:left}.v7-next{text-align:right}.v7-progress{text-align:center}.v7-step-count{font-family:'Messina Mono',Menlo,monospace;font-size:9px;color:#ffffff80;letter-spacing:.02em;white-space:nowrap}.v7-pips{display:flex;justify-content:center;gap:0}.v7-pip{height:18px;width:17px;position:relative;display:block;pointer-events:none}.v7-pip:before{content:'';position:absolute;inset:9px 4px auto;height:2px;background:#ffffff30}.v7-pip[aria-current=true]:before{background:var(--v7-tint)}
.v7-photograph{display:none}.v7-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.v7-explorer[data-comparison=true] .v7-title{font-size:clamp(27px,4.5svh,38px);line-height:1.08;color:#fff;font-weight:300;letter-spacing:-.025em;max-width:18ch;margin-bottom:8px}.v7-explorer[data-comparison=true] .v7-sentence{font-size:17px;max-width:40ch}
html.v7-open{overflow:hidden!important;scroll-behavior:auto!important}html.v7-open header{visibility:hidden}
@media(max-height:650px) and (max-width:767px){
 .v7-topbar{height:46px}.v7-dimension{min-height:42px}
 .v7-reader{--v7-reader-gutter:20px}.v7-explorer .v7-reading{padding-top:10px}.v7-explorer .v7-label-row{margin-bottom:6px}
 .v7-explorer .v7-value{font-size:72px}.v7-explorer .v7-title{font-size:12px;margin-bottom:3px}.v7-explorer .v7-sentence{font-size:16px;line-height:1.28;margin-top:6px}
 .v7-graphic{margin-top:6px;margin-bottom:6px}
 .v7-explorer .v7-note{margin-bottom:8px;font-size:12px;line-height:1.35}
 .v7-explorer[data-comparison=true] .v7-title{font-size:26px;line-height:1.08;margin-bottom:5px}.v7-explorer[data-comparison=true] .v7-sentence{font-size:15px}
 .v7-controls{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.v7-controls>button{font-size:12px}.v7-step-count{font-size:9px}
}
@media(min-width:768px){
 .v7-topbar{height:72px;padding-left:40px;padding-right:40px}.v7-brand{width:100px}.v7-dimensions{justify-content:center;gap:clamp(22px,4vw,62px);padding:0 32px}.v7-dimension{min-height:58px;font-size:13px!important}
 .v7-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden}
 .v7-photograph{position:relative;display:block;min-height:0;overflow:hidden;border-right:1px solid #ffffff24;background:#101010}.v7-photo{width:100%;height:100%;object-fit:cover;display:block;opacity:.84}.v7-photograph::after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,rgba(0,0,0,.90),rgba(0,0,0,0) 55%);pointer-events:none}.v7-photo-caption{position:absolute;z-index:2;left:clamp(30px,4vw,72px);right:30px;bottom:36px}.v7-photo-caption>p:not(.v7-definition){font-size:clamp(46px,5.5vw,86px);font-weight:300;letter-spacing:-.04em;line-height:1.12;margin:12px 0}.v7-definition{font-size:17px;line-height:1.4;max-width:28ch;color:#ffffffbf}
 .v7-reader{--v7-reader-gutter:clamp(30px,4vw,66px);max-width:740px}.v7-explorer .v7-reading{padding-top:28px}.v7-explorer .v7-label-row{margin-bottom:18px}.v7-explorer .v7-value{font-size:clamp(104px,15svh,160px)}.v7-explorer .v7-sentence{font-size:23px;max-width:27ch}
 .v7-graphic{margin-top:14px}.v7-explorer .v7-stage{max-height:400px}.v7-graphic-context{font-size:14px;max-width:30ch}.v7-controls>button{font-size:14px}.v7-step-count{font-size:10px}.v7-pip{width:24px}
 .v7-explorer .v7-photo-light{position:absolute;z-index:1;inset:-40%;pointer-events:none;background:linear-gradient(110deg,transparent 32%,rgba(255,240,220,.20) 47%,rgba(255,255,255,.28) 49%,transparent 65%);opacity:0;transform:translateX(-60%);mix-blend-mode:soft-light}.v7-photograph.is-lit .v7-photo-light{animation:v7-explorer-photo-pass 2s cubic-bezier(.2,.6,.2,1) both}.v7-explorer[data-comparison=true] .v7-sentence{font-size:18px}.v7-explorer .v7-note{font-size:13px}
}
@keyframes v7-explorer-photo-pass{0%{opacity:0;transform:translateX(-50%)}25%{opacity:1}100%{opacity:0;transform:translateX(55%)}}
@media(prefers-reduced-motion:reduce){.v7-explorer .v7-photo-light{display:none}.v7-explorer *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* The light dimension changes the entire reading surface, including navigation. */
.v7-explorer[data-ground=light]{background:#fff;color:#000;--v7-tint:#414141}
.v7-explorer[data-ground=light] :is(.v7-topbar,.v7-dimensions,.v7-controls){border-color:#00000024;background:#fff}
.v7-explorer[data-ground=light] .v7-brand{filter:invert(1)}
.v7-explorer[data-ground=light] :is(.v7-label-row,.v7-graphic-context,.v7-note,.v7-step-count){color:#0009}
.v7-explorer[data-ground=light] .v7-title{color:#111}.v7-explorer[data-ground=light] .v7-pip:before{background:#0003}.v7-explorer[data-ground=light] .v7-pip[aria-current=true]:before{background:#000}.v7-explorer[data-ground=light] .v7-dimension[aria-pressed=true]::after{background:#000}.v7-explorer[data-ground=light] .v7-photo-caption{color:#fff}
/* Later legacy embedding rules must not reintroduce fixed SVG heights. */
html[data-v7-embedded=true] .v7-explorer .v7-stage{height:auto;min-height:0}
html[data-v7-embedded=true] .v7-explorer[data-comparison=true] .v7-stage{height:auto;min-height:0}

/* The same measured comparison is introduced in the story, then explored in place. */
#wake .v7-home-wake{position:relative;width:min(100%,540px);height:clamp(265px,43svh,420px);margin:0 auto;color:#fff}
#wake .v7-home-wake svg{position:absolute;inset:0;width:100%!important;height:100%!important}
#wake .v7-wake-open{display:flex;gap:16px;align-items:center;background:none;color:#fff;border:0;border-bottom:1px solid #fff5;border-radius:0;font:inherit;font-size:14px;min-height:48px;padding:8px 0;cursor:pointer;margin:0 auto}
#wake .af-wake-foot{position:static!important;max-width:60ch;width:auto!important;font-size:12px!important;line-height:1.5!important;margin:16px auto 0!important}
#wake .af-wake-head{max-width:900px}
@media(max-width:767px){#wake .af-wake-deck{font-size:15px!important;line-height:1.45!important}#wake .af-light-hl{font-size:clamp(27px,7.5vw,34px)!important}#wake .v7-home-wake{height:290px}}


/* Sparse charts retain their measured proportions. The flexible space around
   them belongs to the artwork, never to the navigation row. */
.v7-explorer .v7-copy,.v7-explorer .v7-label-row,.v7-explorer .v7-note{flex-shrink:0}
@media(min-height:651px){.v7-explorer[data-scene=joy] .v7-value{font-size:clamp(110px,18svh,150px)}}

@media(max-width:767px) and (max-height:430px){.v7-graphic{flex:none}.v7-explorer .v7-stage{min-height:160px;max-height:220px}}

@media(max-width:767px){.v7-explorer .v7-sentence,.v7-explorer[data-comparison=true] .v7-sentence,.v7-explorer .v7-note,.v7-graphic-context{max-width:none}}
