/* Shared, restrained interaction layer. No continuously moving body copy. */
:root{--gold:#85632e;--muted:#616b62;--motion-fast:180ms;--motion-medium:320ms;--motion-reveal:620ms;--focus-ring:var(--gold)}
html{scroll-padding-top:122px}
.reading-progress{transform-origin:left center;will-change:transform}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{position:sticky;top:0;z-index:70;background:var(--paper);transition:box-shadow var(--motion-medium),border-color var(--motion-medium)}
.has-scrolled .site-header{box-shadow:0 7px 24px #17251b08}
html[data-theme="dark"].has-scrolled .site-header{box-shadow:0 7px 24px #00000018}
@supports(backdrop-filter:blur(10px)){.site-header{background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}
.desktop-nav a{white-space:nowrap}
.desktop-nav a[aria-current]{color:var(--ink)}
.desktop-nav a[aria-current]:after{width:100%;transform-origin:left center}
.desktop-nav a:after{transition:width 260ms var(--ease)}
.brand{flex-shrink:0}
.brand svg{transition:transform var(--motion-medium) var(--ease)}
.brand:hover svg{transform:rotate(-9deg)}
.theme-toggle{width:44px;height:44px;flex-basis:44px;padding:12px;position:relative}
.theme-toggle svg{transition:transform 260ms var(--ease)}
.theme-toggle:hover{transform:none}
.theme-toggle:hover svg{transform:rotate(18deg)}
.menu-toggle{min-width:44px;min-height:44px;flex-basis:44px!important}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{position:fixed;max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 32px #15241a10}
.mobile-nav:not([hidden]){animation:menu-enter 220ms var(--ease) both}
.mobile-nav a{transition:color var(--motion-fast),padding-left var(--motion-fast);border-bottom:1px solid var(--line)}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav a[aria-current]{color:var(--gold)}
.mobile-nav a:hover{color:var(--gold);padding-left:5px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[role="tabpanel"]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:5px}
canvas:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px}
.skip-link{border-radius:2px}
.button{min-height:46px;isolation:isolate;position:relative;overflow:hidden;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast)}
.button>span,.inline-link>span,.text-link>span,.header-cta>span{transition:transform 230ms var(--ease)}
.button:hover>span,.inline-link:hover>span{transform:translate(2px,-2px)}
.text-link:hover>span{transform:translateX(3px)}
.button:active{transform:translateY(0);box-shadow:none}
.inline-link:active>span,.text-link:active>span{transform:none}
.button:disabled,button[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
.js-ready .reveal{transition:opacity var(--motion-reveal) var(--ease),transform var(--motion-reveal) var(--ease);transform:translateY(18px)}
.js-ready .reveal.visible{opacity:1;transform:none}
.site-stagger-group.visible>.site-stagger-item{animation:content-arrive 480ms var(--ease) backwards;animation-delay:var(--stagger-delay,0ms)}
.section-kicker{position:relative}
.section-kicker.reveal:before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--gold);opacity:.35;transform:scaleX(0);transform-origin:left;transition:transform 850ms var(--ease)}
.section-kicker.reveal.visible:before{transform:scaleX(1)}
.scale-tabs button,.segmented button,.geometry-toggle button,.heart-study-tabs button{transition:background 220ms var(--ease),color 220ms var(--ease),box-shadow 220ms var(--ease)}
.scale-tabs button{min-height:58px}
.scale-tabs button:focus-visible{outline-offset:-5px}
.scale-tabs button:not(.active):hover{background:color-mix(in srgb,var(--gold) 7%,transparent);color:var(--ink)}
.scale-tabs button.active:before{animation:tab-rule 280ms var(--ease) both;transform-origin:left}
.scale-tabs .tab-arrow{transition:opacity var(--motion-fast),transform var(--motion-fast)}
.scale-tabs button.active .tab-arrow{transform:translate(1px,-1px)}
.geometry-toggle button,.heart-study-tabs button,.segmented button{min-height:36px}
.heart-action{min-height:34px;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
#heart-rate{cursor:pointer;accent-color:var(--gold);min-height:24px}
#heart-rate-output{font-variant-numeric:tabular-nums}
.play-button{min-height:40px}
.chain-steps button{min-height:92px}
.chain-node{transition:transform 240ms var(--ease),background 240ms var(--ease),border-color 240ms var(--ease),box-shadow 240ms var(--ease)}
.chain-steps button:focus-visible{outline-offset:4px;border-radius:3px}
.chain-steps button.active .chain-node{box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 10%,transparent)}
.artifact-tag{animation:none}
.artifact-core{transition:transform 400ms var(--ease),box-shadow 400ms var(--ease)}
.chain-artifact:hover .artifact-core{transform:translate(-50%,-50%) rotate(-3deg)}
.milestone summary{min-height:76px;transition:color var(--motion-fast)}
.milestone summary:hover{color:var(--gold)}
.milestone .detail-plus{flex-shrink:0;transition:transform 260ms var(--ease),border-color var(--motion-fast),background var(--motion-fast)}
.milestone[open] .detail-plus{background:color-mix(in srgb,var(--gold) 10%,transparent);border-color:var(--gold)}
.milestone-body{animation:content-arrive 260ms var(--ease)}
.evidence-card{transition:transform var(--motion-medium) var(--ease),box-shadow var(--motion-medium) var(--ease),border-color var(--motion-medium),background var(--motion-medium)}
.evidence-card:hover{box-shadow:0 12px 28px #20301e08}
html[data-theme="dark"] .evidence-card:hover{box-shadow:0 12px 28px #0000001c}
.evidence-card:focus-visible{border-color:var(--gold)}
.paper-art{transition:transform 450ms var(--ease),opacity 450ms var(--ease)}
.evidence-card:hover .paper-art{transform:translateY(-2px) scale(1.035);opacity:1}
.footer-top a,.footer-bottom a{transition:color var(--motion-fast)}
.footer-top a:hover,.footer-bottom a:hover{color:var(--gold)}
#motion-toggle,[data-motion-toggle]{min-height:36px}
/* Secondary evidence is still content: retain readable contrast in light mode. */
html:not([data-theme="dark"]) :is(.art-caption,.hero-signature,.visual-coordinate,.schematic-note,.evidence-top,.evidence-source,.chain-note>span,.chain-note p,.roadmap-stamp,.roadmap-boundary,.milestone-number,.acceptance,.footer-brand span,.footer-bottom p){color:var(--muted)}
html:not([data-theme="dark"]) .anatomy-label{color:var(--gold)}
html:not([data-theme="dark"]) :is(.footer-top>div,.footer-bottom button,.scale-tabs button>span:first-child,.chain-steps small){color:var(--muted)}
html:not([data-theme="dark"]) .scale-tabs button:not(.active){color:var(--muted)}
html:not([data-theme="dark"]) .geometry-toggle button:not(.active){color:#566151}
html:not([data-theme="dark"]) .milestone-status.available{color:#526649}
html:not([data-theme="dark"]) .milestone-status.progress{color:var(--gold)}
html:not([data-theme="dark"]) .milestone-status:not(.available):not(.progress){color:var(--muted)}
.evidence-source{font-size:10px;line-height:1.75;letter-spacing:.04em}
.structure-provenance{font-size:10px}
.chain-note p{font-size:10px;line-height:1.8}
.footer-brand span{font-size:9px}
.hero-signature{font-size:8px}
.art-caption{font-size:8px;line-height:1.5}
@keyframes content-arrive{from{opacity:.25;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes tab-rule{from{transform:scaleX(.25)}to{transform:scaleX(1)}}
@media(max-width:1120px){.header-actions .header-cta{display:none}.site-header{gap:22px}.desktop-nav{gap:23px}.header-actions{gap:10px}}
@media(max-width:800px){html{scroll-padding-top:106px}.site-header{gap:16px}.header-actions{gap:10px}.mobile-nav{top:84px;max-height:calc(100dvh - 84px)}.theme-toggle{width:44px;height:44px;flex-basis:44px}.geometry-toggle button,.heart-study-tabs button,.segmented button{min-height:40px}.reset-view{min-width:36px;min-height:36px}}
@media(max-width:560px){html{scroll-padding-top:98px}.mobile-nav{top:78px;max-height:calc(100dvh - 78px)}.header-actions .menu-toggle{width:44px;flex-basis:44px;padding:11px}.header-actions{gap:6px}.theme-toggle{width:42px;height:42px;flex-basis:42px;padding:11px}.site-header{gap:10px}.section-kicker.reveal:before{transition-duration:600ms}.chain-steps button{min-height:78px}.scale-tabs button{min-height:58px}.heart-study-tabs button{min-height:36px}.geometry-toggle button{min-height:36px}.viewer-tools{bottom:60px}}
@media(hover:none){.brand:hover svg,.button:hover,.button:hover>span,.inline-link:hover>span,.text-link:hover>span,.evidence-card:hover,.evidence-card:hover .paper-art{transform:none}.evidence-card:hover{box-shadow:none}}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
html.motion-paused .reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.js-ready .reveal{opacity:1!important;transform:none!important}.section-kicker.reveal:before{transform:none}.heart-image-wrap{transform:none!important}}
@media(forced-colors:active){.button,.theme-toggle,.menu-toggle,.chain-node,.evidence-card{border:1px solid ButtonText}.reading-progress{background:Highlight}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,canvas:focus-visible{outline-color:Highlight}}
