/* Shared reading and navigation layers; artwork retains its own page rhythm. */
.home-page{--paper:#fff;background:#fff}
.header-inner{position:relative}
.identity{font-weight:400;letter-spacing:-.045em}
.works-menu{position:relative;font-size:inherit}
.works-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;color:var(--ink);min-height:44px;font-size:inherit;line-height:1.3}
.works-menu>summary::-webkit-details-marker{display:none}
.works-menu>summary::after{content:"";width:6px;height:6px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:rotate(45deg);margin-top:-3px;flex:0 0 6px;transition:transform .15s}
.works-menu[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.works-menu[data-has-current]>summary{position:relative}
.works-menu[data-has-current]>summary::before{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--pink)}
.works-list{right:0;top:calc(100% + 8px);width:354px;max-width:calc(100vw - 2 * var(--gutter));max-height:min(520px,var(--work-menu-space,calc(100dvh - 120px)));overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px;list-style:none;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 32px #24262912;scrollbar-width:thin;scrollbar-color:var(--guide) transparent}
.works-list li+li{margin:0}
.works-list a{grid-template-columns:24px minmax(0,1fr) 16px;gap:10px;min-height:62px;padding:10px 9px;border-radius:5px;color:var(--ink)}
.works-list .work-label{font-size:16px;line-height:1.3;font-weight:450}
.works-list .work-label small{font-size:15px;line-height:1.35;margin-top:5px}
.works-list .work-number{font-size:15px;align-self:start;padding-top:2px}
.works-list a:hover,.works-list a:focus-visible{background:var(--paper-blue)}
.works-list a[aria-current="page"]{background:var(--paper-gray)}
.works-list a[aria-current="page"] .work-number{color:var(--pink)}
.has-selected-idea .home-point.is-unrelated>.home-dot,.has-selected-idea .home-point.is-unrelated>.home-point-label{opacity:.38}
.has-selected-idea .home-point.is-unrelated:hover>.home-dot,.has-selected-idea .home-point.is-unrelated:hover>.home-point-label,.has-selected-idea .home-point.is-unrelated:focus-visible>.home-dot,.has-selected-idea .home-point.is-unrelated:focus-visible>.home-point-label{opacity:1}
.has-selected-idea .home-connection-edge:not(.is-related){opacity:.08}
.home-idea-detail:focus-visible{outline:1px solid var(--blue);outline-offset:5px;border-radius:2px}
/* A selected idea opens as a note above the drawing; the stage itself stays put. */
.home-copy-stack>.home-idea-detail{position:absolute;left:0;right:auto;top:auto;bottom:0;z-index:8;width:min(460px,calc(100% - 246px));height:auto;max-height:min(280px,calc(var(--home-viewport-height,100dvh) - 180px));padding:18px 20px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow-y:auto;scroll-padding-block:16px}
.home-copy-stack>.home-idea-detail .home-idea-heading{position:sticky;top:0;z-index:1;background:#fff}
.home-copy-stack>.home-idea-detail .home-note-close{margin-top:0}
.home-copy-stack>.home-idea-detail p{font-size:14px;line-height:1.55}
.home-copy-stack>.home-idea-detail .home-related-works a{min-height:44px}
.home-description h2{font-size:clamp(21px,1.9vw,28px);font-weight:450;letter-spacing:-.03em;text-wrap:balance}
.home-description p{font-size:15px;line-height:1.5;text-wrap:pretty}
.home-idea-heading h2{font-size:20px}
.home-next-button{font-weight:450}
/* Four viewports expose only the original booklet pages, leaving the gutters open. */
.page-reading .booklet-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.8vw,26px);align-items:start}
.page-reading .reading-booklet-spread .booklet-fragment{position:relative;display:block;aspect-ratio:var(--sheet-ratio);width:100%;overflow:hidden;border:0;border-radius:0;background:#fff;padding:0}
.page-reading .reading-booklet-spread .booklet-fragment img{position:absolute;top:0;left:var(--sheet-left);width:var(--sheet-width);height:100%;max-width:none;max-height:none;object-fit:fill;transform:none}
.page-reading .reading-booklet-spread .booklet-fragment::after{opacity:0;z-index:1}
.page-reading .reading-booklet-spread .booklet-fragment:hover::after,.page-reading .reading-booklet-spread .booklet-fragment:focus-visible::after{opacity:1}
.page-reading .reading-booklet-spread>figcaption{max-width:none}
.booklet-opening-hint{display:inline-block;margin-left:10px;color:var(--blue);font-size:11px}
.viewer-crop{display:block;width:100%;height:100%;max-width:100%;max-height:100%;overflow:hidden;flex:1 1 auto}
.image-dialog[data-zoomed="true"] .viewer-field .viewer-crop{width:1100px;height:auto;max-width:none;max-height:none;aspect-ratio:var(--crop-ratio);flex:none}
@media(max-width:760px){
 .works-menu{position:static}
 .works-menu>summary{min-height:40px}
 .works-list{right:0;top:calc(100% + 6px);width:min(354px,100%);max-width:100%}
 .works-list a{min-height:60px}
 .works-list .work-label{font-size:15px}
 .home-description h2{font-size:22px;line-height:1.12}
 .home-description p{font-size:14px;line-height:1.45}
 .home-idea-heading h2{font-size:19px}
 .home-copy-stack>.home-idea-detail{width:100%;bottom:58px;padding:16px 16px 10px;max-height:min(280px,calc(var(--home-viewport-height,100dvh) - 190px))}
 .page-reading .booklet-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
 .page-reading .reading-booklet-spread .booklet-fragment::after{opacity:1}
 .booklet-opening-hint{display:block;margin:3px 0 0}
 .image-dialog[data-zoomed="true"] .viewer-field .viewer-crop{width:760px}
}
@media(max-width:760px) and (max-height:700px){.home-description h2{font-size:21px}.home-description p{line-height:1.42}}
@media(max-width:760px) and (max-height:560px){.home-description h2{font-size:20px}.home-description p{line-height:1.4}.home-page .works-menu>summary{min-height:36px}}
@media(min-width:640px) and (max-height:520px){.home-description h2{font-size:22px}.home-description p{font-size:14px;line-height:1.45}.home-page .works-menu>summary{min-height:36px}.home-description-inner{flex:1;width:100%}.home-step-controls{margin-top:auto;align-self:stretch}.home-copy-stack>.home-idea-detail{left:auto;right:0;width:clamp(250px,34vw,320px);bottom:58px;max-height:calc(var(--home-viewport-height,100dvh) - 170px);padding:14px}}
.home-page.home-flow .home-copy-stack>.home-idea-detail{position:static;width:100%;height:auto;max-height:none;overflow:visible;box-shadow:none}
@media(prefers-reduced-motion:reduce){.works-menu>summary::after{transition:none}}
