/* v24: shared reading sizes, resilient layouts and touch navigation. */
:root{color-scheme:dark;--read-size:1.125rem;--meta-size:.875rem;--label-size:.8125rem;--muted:#b3b6c0;--purple-text:#b38aff;--line:#787c8570}
html{font-size:100%;scroll-padding-top:1.5rem;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--read-size);line-height:1.65}
button,input,select,textarea{font:inherit}
button,a,summary{-webkit-tap-highlight-color:#9957ff33;touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.topbar,.detail-header,.site-header{height:auto;min-height:0;gap:1rem;flex-wrap:wrap}
.topbar nav,.detail-header nav,.primary-nav{gap:.25rem .75rem;flex-wrap:wrap}
.topbar nav a,.detail-header nav a,.primary-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.625rem .375rem;font:400 .9375rem/1.4 var(--mono);letter-spacing:.015em}
.topbar .brand{font-size:clamp(2.5rem,5.4vw,4.75rem)}
.system-head{height:auto;min-height:44px;flex-wrap:wrap;font-size:var(--label-size);line-height:1.5;gap:.375rem 1rem}
.system-head span:first-child,.system-head .signal,.system-head span:last-child{font-size:inherit}
.system-head .location{display:block}
.panel-head,.art-stage-meta,.art-stage figcaption,.tiny-link,.row-no,.section-number,.bottom-bar,.detail-footer{font-size:var(--meta-size);line-height:1.5;letter-spacing:.02em}
.panel-head{flex-wrap:wrap;gap:.5rem}
.panel-head h1{font:inherit;margin:0;color:var(--green)}
.panel-head span:last-child,.art-stage-meta span:last-child,.section-number,.index-row.is-previewed .row-no{color:var(--purple-text)}
.art-stage figcaption{color:var(--muted);gap:.25rem}
.opening{height:auto;min-height:0;align-items:start;padding-block:1.75rem 2.5rem}
.index-rows{display:block;flex:none;min-height:0}
.index-row{min-height:54px;padding:.75rem 0;grid-template-columns:1.75rem minmax(0,1fr) 1.25rem;gap:.75rem}
.index-row>span:nth-child(2){font-size:clamp(1.5rem,2.05vw,2.25rem);line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}
.index-row .row-no{font-size:var(--meta-size)}
.index-row .row-arrow{opacity:1;color:#b3b6c0}
.index-thumb{display:none}
.tiny-link{display:inline-flex;align-items:center;min-height:44px;margin-top:.75rem;padding:.5rem 0;max-width:100%;width:auto;white-space:normal}
.art-stage{min-height:0;max-height:none;height:auto;align-self:start;grid-template-rows:auto auto auto}
.art-stage .art-window{height:clamp(18rem,60svh,46rem);min-height:0}
.art-stage .art-detail{bottom:18%;max-height:160px}
.concept-a .below-section{padding-block:clamp(2.25rem,6vw,4.5rem);scroll-margin-top:1.5rem}
.concept-a .below-section>div:nth-child(2)>p,.concept-a #info>div:nth-child(2)>p,.review-dialog.review-info .review-copy{font-size:var(--read-size);line-height:1.75;max-width:65ch;letter-spacing:0}
.below-section .section-note{font-size:var(--meta-size)!important;line-height:1.6!important}
.process-links small,.text-links small,.talk-row small{font-size:var(--label-size);line-height:1.6;white-space:normal;letter-spacing:.02em}
.text-links>a,.process-links>span{flex-wrap:wrap;gap:.5rem 1.5rem}
.text-links>a>small{max-width:17rem;flex-shrink:1}
.concept-a .process-links>span,.concept-a .text-links>a{line-height:1.35;letter-spacing:-.02em}
.social-links{font-size:var(--meta-size)}
.social-links a,.bottom-bar a,.detail-footer a,.detail-body aside a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 0;max-width:100%}
.bottom-bar,.detail-footer{align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem;color:var(--muted)}
.detail-header{position:relative;padding:1rem 3vw;background:#050507}
.detail-header>a,.site-name{line-height:1.2}
.detail-hero{height:auto;min-height:0;padding:1.25rem 3vw 2rem;overflow:visible;grid-template-rows:auto auto auto;gap:1rem}
.detail-cover{height:clamp(16rem,62svh,50rem);grid-row:2}
.detail-caption,.detail-prompt{font-size:var(--meta-size);line-height:1.5}
.detail-prompt{display:flex;align-items:center;min-height:44px;padding:.5rem 0}
.detail-hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1.2;letter-spacing:-.035em}
.detail-body{grid-template-columns:minmax(12rem,1fr) minmax(0,3fr);padding:3rem 4vw 4rem;gap:3vw;scroll-margin-top:1rem}
.detail-body aside{font-size:.9375rem;line-height:1.65;top:1rem;overflow-wrap:anywhere}
.detail-body aside a{margin-top:1.25rem}
.detail-lead,.review-lead{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.3;letter-spacing:-.015em;max-width:35ch;margin-bottom:2rem}
.detail-prose,.review-copy{max-width:65ch}
.detail-prose .detail-text,.review-copy,.chapter-copy>p{font-size:var(--read-size);line-height:1.75;letter-spacing:0;color:#d1d3d8}
.detail-facts h2,.review-facts h3,.chapter-heading p{font-size:var(--meta-size);line-height:1.6;color:var(--purple-text)}
.detail-facts ul,.review-facts ul,.chapter-credits{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.detail-metadata,.review-metadata{gap:1.5rem;margin:2.5rem 0 3rem}
.detail-figure figcaption,.review-label,.review-format,.review-pending,.work-poem cite{font-size:var(--meta-size);line-height:1.6;color:var(--muted)}
.gallery-heading>span,.work-video-panel header>span{font-size:var(--label-size);line-height:1.6;max-width:none;color:var(--muted)}
.gallery-heading h2{font-size:1.25rem;line-height:1.4}
.gallery-controls button,.viewer-toolbar button,.review-close{min-width:44px;min-height:44px;font-size:1rem;line-height:1.4;border-color:#818593}
.gallery-controls button:disabled{opacity:.45;cursor:default}
.work-gallery{--gallery-h:clamp(16rem,45svh,29rem);grid-template-rows:auto;align-items:stretch}
.work-gallery .gallery-plate{display:grid;grid-template-rows:var(--gallery-h) auto;height:auto}
.work-gallery .gallery-plate>a{height:var(--gallery-h);flex:none;padding:.75rem;min-height:0}
.work-gallery .gallery-plate img{height:100%;max-height:100%;object-fit:contain}
.work-gallery .gallery-plate figcaption{font:400 var(--meta-size)/1.6 var(--mono);min-height:0;height:auto;padding:.875rem;overflow:visible;overflow-wrap:anywhere;align-items:start;flex:auto;color:var(--muted)}
.gallery-plate figcaption>span{color:var(--purple-text)}
.work-gallery.layout-scroll{display:grid;grid-template-columns:none;grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:min(86%,40rem);height:auto;gap:1rem;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:1rem;scrollbar-width:auto}
.work-gallery.layout-scroll .gallery-plate{height:auto;flex:none;min-width:0;grid-template-rows:var(--gallery-h) auto}
.work-gallery.layout-scroll .gallery-plate>a{height:var(--gallery-h);padding:.75rem}
.work-gallery.layout-scroll .gallery-plate img{position:static;padding:0}
.work-gallery.layout-scroll .gallery-plate figcaption{height:auto;overflow:visible;flex:auto;min-height:0}
.gallery-expand{opacity:1;border-color:#818593;width:32px;height:32px}
.work-video-panel h3{line-height:1.35;letter-spacing:-.02em}
.work-video-panel iframe{min-height:0;aspect-ratio:16/9}
.video-external,.work-video-links,.work-poem summary{font-size:.9375rem;line-height:1.6}
.video-external,.work-video-links a,.work-poem summary{min-height:44px;padding-block:.625rem}
.next-work{align-items:center;padding:2rem 4vw 3rem;overflow-wrap:anywhere}
.next-work small{font-size:var(--meta-size);line-height:1.5}
.next-work span{font-size:clamp(1.75rem,4vw,3rem);line-height:1.25}
.media-viewer{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}
.viewer-toolbar{height:auto;min-height:48px;font-size:var(--meta-size);gap:.5rem;color:var(--purple-text)}
.viewer-toolbar>div{gap:.375rem}
.viewer-toolbar button{padding:.5rem .625rem}
.media-viewer figure{height:calc(100% - 52px);gap:1rem}
.media-viewer figcaption{font-size:var(--meta-size);line-height:1.6;max-height:25svh;overflow:auto;color:var(--muted)}
.review-work-hero{height:auto;min-height:0;grid-template-rows:auto auto auto}
.review-work-cover{height:clamp(16rem,60svh,45rem)}
.review-work-meta .review-label,.review-work-meta .review-format,.review-read,.review-close{font-size:var(--meta-size);line-height:1.5}
.review-read{min-height:44px}
.review-work-heading h2{line-height:1.2}
.review-index-row{font-size:1rem;min-height:48px}
.review-media{font-size:.9375rem;line-height:1.6;min-height:44px}
.archive-page .site-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 4vw;mix-blend-mode:normal}
.archive-page .menu-toggle{display:none}
.archive-page .primary-nav{position:static;inset:auto;z-index:auto;display:flex;flex-direction:row;opacity:1;pointer-events:auto;background:transparent;padding:0;font:400 .9375rem/1.5 var(--mono)}
.archive-main{padding:2rem 4vw 4rem}
.archive-intro{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.5rem}
.archive-intro>p:last-child{font-size:var(--read-size);line-height:1.65;grid-column:2}
.archive-intro h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.15}
.archive-page .eyebrow,.archive-number,.archive-year,.archive-state{font-size:var(--meta-size);line-height:1.5;color:var(--muted)}
.archive-tools button{font-size:.9375rem;line-height:1.4;min-height:44px;min-width:44px;padding:.5rem .875rem}
.archive-list{--archive-cols:2.5rem minmax(0,2fr) minmax(10rem,1fr) 4.5rem 1.5rem}
.archive-item h2{font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.3;overflow-wrap:anywhere}
.archive-item p{font-size:.9375rem;line-height:1.65;color:var(--muted)}
.archive-list.visual-view{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;background:transparent}
.archive-list.visual-view .archive-item>a{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem;height:100%;border:1px solid var(--line)}
.archive-list.visual-view .archive-thumb{display:block;height:16rem;aspect-ratio:auto}
.archive-list.visual-view .archive-thumb img{height:100%;filter:none}
.archive-list.visual-view h2{font-size:1.75rem;line-height:1.3}
.archive-list.visual-view .archive-year{display:block}
.archive-list.visual-view .archive-arrow{display:none}
@media(min-width:901px){.opening{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}.art-stage{position:sticky;top:1.5rem}.topbar{position:relative}.index-panel{display:block}}
@media(max-width:900px){
 .topbar,.detail-header,.archive-page .site-header{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:1rem 4vw;gap:.5rem}
 .topbar nav,.detail-header nav,.archive-page .primary-nav{width:100%;gap:.25rem .625rem}
 .topbar nav a,.detail-header nav a,.archive-page .primary-nav a{font-size:.9375rem;line-height:1.4;padding:.625rem .25rem}
 .topbar .brand{font-size:clamp(2.25rem,8vw,3.5rem);line-height:1.1;gap:1rem}
 .system-head{padding:.75rem 4vw;gap:.375rem 1rem;font-size:var(--label-size)}
 .system-head span:first-child{width:auto}
 .opening{display:block;padding:1.25rem 4vw 2rem}
 .opening>.art-stage{display:none}
 .index-row{grid-template-columns:1.25rem minmax(0,1fr) 1rem clamp(3rem,17vw,4.75rem);gap:.5rem;min-height:100px;padding:.75rem 0}
 .index-row>span:nth-child(2){font-size:clamp(1.25rem,4vw,1.75rem);line-height:1.3;letter-spacing:-.02em}
 .index-thumb{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#090a0e;border:1px solid #9957ff66}
 .index-row .row-arrow{font-size:1rem}
 .panel-head,.art-stage-meta,.tiny-link,.section-number,.bottom-bar,.detail-footer{font-size:var(--meta-size)}
 .concept-a .below-section{display:block;padding:2.5rem 4vw}
 .concept-a .section-number{font-size:var(--meta-size);margin-bottom:1rem}
 .concept-a .below-section h2{font-size:clamp(2rem,6vw,3rem);line-height:1.2;margin-bottom:1.25rem}
 .concept-a .below-section>div:nth-child(2)>p,.concept-a #info>div:nth-child(2)>p{font-size:var(--read-size);line-height:1.75}
 .text-links>a>small{max-width:none;text-align:left}
 .concept-a .text-links>a,.concept-a .process-links>span{display:block;font-size:1.5rem;line-height:1.35}
 .process-links small,.text-links small{display:block;margin-top:.5rem}
 .detail-header>a{font-size:1.875rem}
 .detail-hero{padding:1rem 4vw 1.75rem;grid-template-columns:minmax(0,1fr);gap:.75rem}
 .detail-caption{grid-column:1;grid-row:1;justify-self:start;font-size:var(--meta-size)}
 .detail-cover{grid-column:1;grid-row:2;height:clamp(13rem,48svh,30rem)}
 .detail-hero h1{grid-column:1;grid-row:3;font-size:clamp(1.75rem,6vw,2.75rem);line-height:1.25}
 .detail-prompt{grid-column:1;grid-row:4;justify-self:start;font-size:var(--meta-size)}
 .detail-body{display:block;padding:1.75rem 4vw 3rem}
 .detail-body aside{position:static;font-size:.9375rem;margin-bottom:2rem}
 .detail-metadata,.review-metadata{grid-template-columns:minmax(0,1fr)}
 .work-chapter{grid-template-columns:minmax(0,1fr)}
 .work-gallery,.work-gallery.layout-scroll{--gallery-h:clamp(14rem,40svh,24rem);display:grid;grid-template-columns:none;grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:88%;gap:.75rem;height:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:auto;padding-bottom:1rem}
 .work-gallery .gallery-plate,.work-gallery .gallery-plate:last-child{grid-column:auto;grid-template-rows:var(--gallery-h) auto;scroll-snap-align:start}
 .work-gallery .gallery-plate img,.layout-triptych-wide .gallery-plate:last-child img{max-height:100%;height:100%}
 .gallery-heading>span{font-size:var(--label-size);max-width:none}
 .gallery-heading h2{font-size:1.25rem}
 .work-video-grid{grid-template-columns:minmax(0,1fr)}
 .review-work-meta{max-width:calc(100% - 6.5rem)}
 .archive-intro{display:block}.archive-intro>*{margin-bottom:1rem!important}
 .archive-tools{align-items:start;flex-direction:column}
 .archive-list:not(.visual-view) .archive-item>a{grid-template-columns:1.5rem minmax(0,1fr) auto;gap:.75rem;min-height:0;padding:1.25rem 0}
 .archive-list:not(.visual-view) .archive-item h2{grid-column:2;grid-row:1}
 .archive-list:not(.visual-view) .archive-year{grid-column:3;grid-row:1;font-size:var(--label-size)}
 .archive-item p,.archive-list.visual-view .archive-item p{display:block}
 .archive-list:not(.visual-view) .archive-item p{grid-column:2/-1;grid-row:2}
 .archive-list:not(.visual-view) .archive-thumb{display:none}
 .archive-list.visual-view{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
 .next-work{display:block}.next-work span{display:block;text-align:left;margin-top:.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.identity-name,.index-row>span:nth-child(2),.detail-hero h1,.below-section h2,.archive-intro h1,.archive-item h2,.review-dialog h2,.text-links>a>span{background:none!important;-webkit-text-fill-color:currentColor!important;color:CanvasText!important;opacity:1!important}.index-thumb,.gallery-plate{border:1px solid CanvasText}}

.site-footer{font-size:var(--meta-size);line-height:1.6;flex-wrap:wrap;align-items:center;gap:.75rem}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 0}

.media-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.75rem}
.viewer-toolbar{flex-wrap:wrap}
.media-viewer figure{height:100%;min-height:0;padding-top:0}
