/* Formal works browser and project workspace. The opening remains independent. */
body.worlds-ready:not(.is-opening){height:100dvh;min-height:0;overflow:hidden}
body.worlds-ready main{min-height:0}
body.worlds-ready[data-section="top"]>.site-footer,body[data-view="world"]>.site-footer{display:none}
.worlds-ready #featured,.worlds-ready .tool-worlds,.worlds-ready #return-to-origin,.worlds-ready #return-to-top{display:none}
.project-hub.hero-stage{width:100%;max-width:none;height:var(--screen-height);min-height:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:84px minmax(0,1fr) auto;gap:0;padding:0 var(--gutter);align-items:stretch;align-content:stretch}
.project-hub.hero-stage::before{display:none}
.hub-heading{display:flex;align-items:center;gap:24px;margin:0}
.hub-heading h1{font:500 clamp(22px,2.3vw,34px)/1.4 var(--font-serif);margin:0}
.hub-heading h1:focus{outline:none}
.hub-intro{margin-left:auto}.hub-intro a{font-size:13px;color:var(--muted);text-decoration:none}
.works-modes{display:flex;align-items:center;gap:20px;margin-left:auto}
.works-modes :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink);cursor:pointer;font:400 14px/1.5 var(--font-sans);text-decoration:none}
.works-modes button[aria-pressed="true"],.works-modes a[aria-current="page"],.works-modes a:hover,.works-modes a:focus-visible{color:var(--blue);border-color:var(--blue)}
.project-hub[data-browser-mode]>.section-next{display:none}
.works-workspace{min-height:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(88px,.62fr);gap:18px;padding:0 0 18px}
.works-index{display:contents}
.works-index-item{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 30px;gap:0 6px;padding:0;min-height:0;min-width:0;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;cursor:pointer}
.works-thumbnail{grid-column:1/-1;grid-row:1;width:100%;height:auto;aspect-ratio:11/5;max-height:100%;align-self:center;min-height:0;display:block;position:relative;overflow:hidden;background:var(--canvas)}
.works-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 220ms ease}
.works-index-item:hover .gallery-artwork{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.works-thumbnail img{transition:none}.works-index-item:hover .gallery-artwork{transform:none}}
.works-number{grid-column:1;grid-row:2;align-self:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.works-name{grid-column:2;grid-row:2;align-self:center;font-size:14px;line-height:1.4}.works-index-item small{display:none}
.works-index-item[data-slot="0"]{grid-area:1/1/2/4}.works-index-item[data-slot="1"]{grid-area:2/1/3/4}
.works-index-item[data-slot="2"]{grid-area:1/10/2/13}.works-index-item[data-slot="3"]{grid-area:2/10/3/13}
.works-index-item[data-slot="4"]{grid-area:3/1/4/4}.works-index-item[data-slot="5"]{grid-area:3/4/4/7}
.works-index-item[data-slot="6"]{grid-area:3/7/4/10}.works-index-item[data-slot="7"]{grid-area:3/10/4/13}
.works-index-item:is([data-slot="4"],[data-slot="5"],[data-slot="6"],[data-slot="7"]){grid-template-columns:42% 24px minmax(0,1fr);grid-template-rows:1fr;column-gap:8px;padding-top:8px;border-top:1px solid var(--rule);border-bottom:0}
.works-index-item:is([data-slot="4"],[data-slot="5"],[data-slot="6"],[data-slot="7"]) .works-thumbnail{grid-column:1;grid-row:1;object-fit:contain}
.works-index-item:is([data-slot="4"],[data-slot="5"],[data-slot="6"],[data-slot="7"]) .works-number{grid-column:2;grid-row:1}
.works-index-item:is([data-slot="4"],[data-slot="5"],[data-slot="6"],[data-slot="7"]) .works-name{grid-column:3;grid-row:1}
.works-index-item:hover{color:var(--blue);border-color:var(--blue)}
.works-focus{grid-area:1/4/3/10;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto auto auto;gap:5px 18px;padding:0 18px 18px;background:var(--canvas);outline:1px solid #9ca397}
.works-identity{grid-column:1;grid-row:2;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px;margin:12px 0 0}
.works-identity::before{content:"";width:24px;height:3px;background:var(--project-color)}
.works-title{grid-column:1;grid-row:3;font:500 clamp(26px,2.4vw,38px)/1.3 var(--font-serif);margin:0}
.works-preview{grid-column:1/-1;grid-row:1;position:relative;min-height:0;margin:0 -18px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.works-summary{display:contents}
.works-summary p{grid-column:1/-1;grid-row:4;margin:3px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.works-entry{grid-column:2;grid-row:2/4;align-self:center;display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid var(--blue);color:var(--blue);font-size:14px;text-decoration:none}
.works-entry:hover{color:var(--blue);border-color:var(--blue);background:var(--selected-surface)}
/* Tall applications receive the whole work area's height. Their text lives
   beside the application, while the website gets a compact heading above it. */
@media(min-width:760px) and (min-height:540px){
 .project-hub[data-experience-shape] .works-workspace{grid-template-rows:repeat(4,minmax(0,1fr))}
 .project-hub[data-experience-shape] .works-focus{grid-area:1/3/5/11}
 .project-hub[data-experience-shape] .works-index-item{grid-template-columns:24px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 30px;gap:0 6px;padding:0;border-top:0;border-bottom:1px solid var(--rule)}
 .project-hub[data-experience-shape] .works-thumbnail{grid-area:1/1/2/3;object-fit:contain}
 .project-hub[data-experience-shape] .works-number{grid-area:2/1}
 .project-hub[data-experience-shape] .works-name{grid-area:2/2;font-size:13px}
 .project-hub[data-experience-shape] .works-index-item[data-slot="0"]{grid-area:1/1/2/3}
 .project-hub[data-experience-shape] .works-index-item[data-slot="1"]{grid-area:2/1/3/3}
 .project-hub[data-experience-shape] .works-index-item[data-slot="2"]{grid-area:3/1/4/3}
 .project-hub[data-experience-shape] .works-index-item[data-slot="3"]{grid-area:4/1/5/3}
 .project-hub[data-experience-shape] .works-index-item[data-slot="4"]{grid-area:1/11/2/13}
 .project-hub[data-experience-shape] .works-index-item[data-slot="5"]{grid-area:2/11/3/13}
 .project-hub[data-experience-shape] .works-index-item[data-slot="6"]{grid-area:3/11/4/13}
 .project-hub[data-experience-shape] .works-index-item[data-slot="7"]{grid-area:4/11/5/13}
 .project-hub[data-experience-shape="portrait"] .works-focus{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);grid-template-rows:1fr auto auto auto auto 1fr;padding:0 22px;gap:14px 20px}
 .project-hub[data-experience-shape="portrait"] .works-preview{grid-area:1/2/7/3;margin:0}
 .project-hub[data-experience-shape="portrait"] .works-identity{grid-area:2/1;margin:0}
 .project-hub[data-experience-shape="portrait"] .works-title{grid-area:3/1;font-size:clamp(30px,3vw,64px)}
 .project-hub[data-experience-shape="portrait"] .works-summary p{grid-area:4/1;max-width:26ch;font-size:clamp(14px,1vw,18px);line-height:1.8}
 .project-hub[data-experience-shape="portrait"] .works-entry{grid-area:5/1;justify-self:start;margin-top:12px}
 .project-hub[data-experience-shape="website"] .works-focus{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto minmax(0,1fr);padding:16px 18px 0;gap:6px 18px}
 .project-hub[data-experience-shape="website"] .works-identity{grid-area:1/1;margin:0}
 .project-hub[data-experience-shape="website"] .works-title{grid-area:2/1}
 .project-hub[data-experience-shape="website"] .works-summary p{display:none}
 .project-hub[data-experience-shape="website"] .works-entry{grid-area:1/2/3/3}
 .project-hub[data-experience-shape="website"] .works-preview{grid-area:3/1/4/3;margin:10px -18px 0}
}
.works-rail,.project-rail{height:64px;margin:0;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;touch-action:pan-y}
.works-rail button,.project-rail button{min-height:44px;min-width:44px;padding:8px;border:0;background:none;cursor:pointer;font-size:14px}
.works-rail-numbers,.project-rail-track{display:flex;gap:12px;position:relative;align-items:center}
.works-rail button[aria-current="true"],.project-rail button[aria-current="true"]{color:var(--blue);background:var(--selected-surface)}
.works-rail button:disabled,.project-rail button:disabled{color:var(--muted);opacity:.45;cursor:default}
.works-rail .works-step,.project-rail .project-rail-step{font-size:20px}
.works-picker,.project-rail [data-world-select]{display:none}
.project-rail-indicator{position:absolute;top:0;height:2px;background:var(--blue);pointer-events:none}
.project-hub .hero-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--hub-rows,3),minmax(0,1fr));gap:0 28px;width:100%;min-height:0;margin:0;max-width:none;border:0}
.project-hub .hero-overview-grid a{position:relative;display:grid;grid-template-columns:clamp(90px,10vw,150px) minmax(0,1fr);gap:18px;align-items:center;padding:16px 0;min-height:0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;text-align:left;text-decoration:none;aspect-ratio:auto;box-shadow:none;transform:none;overflow:visible}
.project-hub .hero-overview-grid a::before,.project-hub .hero-overview-grid a::after{display:none}
.project-hub .hero-overview-grid img{position:static;width:100%;height:100%;max-height:130px;object-fit:contain;padding:0;border:0;background:transparent;transform:none;opacity:1}
.project-summary{display:flex;flex-direction:column;gap:6px;min-width:0}
.project-hub .hero-overview-grid span,.project-hub .hero-overview-grid strong,.project-hub .hero-overview-grid small{position:static;margin:0;padding:0;background:none;color:var(--ink)}
.project-hub .hero-overview-grid span{font:13px/1.5 var(--font-sans);color:var(--muted)}
.project-hub .hero-overview-grid strong{font:600 22px/1.4 var(--font-serif)}
.project-hub .hero-overview-grid small{font:13px/1.6 var(--font-sans);color:var(--muted)}
.hub-pagination{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:12px}
.hub-pagination button{min-height:44px;padding:8px 12px;border:0;background:none;cursor:pointer;font-size:14px}
.hub-pagination button[aria-disabled="true"]{color:var(--muted);opacity:.5}
.hub-pagination p{font-size:13px;color:var(--muted)}
/* One full-height experience, with the project identity retained beside it. */
.world-view{display:grid;height:calc(100dvh - var(--nav-height));min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:48px auto minmax(0,1fr) 64px;background:transparent}
.world-view[data-embedded="true"]{position:fixed;z-index:3;left:var(--hub-stage-left);top:var(--hub-stage-top);width:var(--hub-stage-width);height:var(--hub-stage-height);margin:0;padding:0;display:block;background:var(--canvas)}
.world-view[data-embedded="true"]>.world-toolbar,.world-view[data-embedded="true"]>.world-heading,.world-view[data-embedded="true"]>.project-rail{display:none}
.world-view[data-embedded="true"]>[data-world-stage]{height:100%;padding:0}
.world-view[data-embedded="true"] .live-frame{border:0;border-radius:0;box-shadow:none}
.world-view[data-embedded="true"] .blackmirror-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:4px}
.world-view[data-embedded="true"] .blackmirror-stage video{grid-area:1/1}
.world-view[data-embedded="true"] .blackmirror-poster{inset:0 0 48px}
.world-view[data-embedded="true"] .blackmirror-chapters{grid-area:2/1;display:flex;flex-direction:row;justify-content:space-between;gap:2px}
.world-view[data-embedded="true"] .blackmirror-chapters button{padding:4px;font-size:13px;min-height:44px}
.world-view[data-embedded="true"] .monitor-feedback{display:none}
.world-toolbar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gutter);min-height:0}
.world-return{padding:8px 0;border:0;background:none;min-height:44px;cursor:pointer;font-size:14px}
.world-pane-tabs{display:flex;gap:24px}
.world-pane-tabs button{min-height:44px;padding:8px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:14px;cursor:pointer}
.world-pane-tabs button[aria-selected="true"]{border-color:var(--blue);color:var(--blue)}
.world-heading{grid-column:1;grid-row:2;margin:0;padding:4px var(--gutter) 20px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,400px) auto;grid-template-rows:auto auto;gap:0 32px;align-items:center}
.world-heading .site-kicker{grid-column:1;grid-row:1;color:var(--muted);font:13px/1.5 var(--font-sans);margin:0 0 4px;display:flex;align-items:center;gap:10px}
.world-heading .site-kicker::before{content:"";width:22px;height:3px;background:var(--world-color);flex:none}
.world-heading h1{grid-column:1;grid-row:2;font:500 clamp(28px,3vw,42px)/1.3 var(--font-serif);margin:0}
.world-heading>p:last-of-type{grid-column:2;grid-row:1/3;margin:0;font-size:15px;line-height:1.7;color:var(--muted)}
.world-context-actions{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0}
.world-context-actions:empty{display:none}
.world-context-actions button,.world-context-actions a{min-height:44px;display:flex;align-items:center;padding:6px 0;border:0;background:none;font-size:14px;text-decoration:none;cursor:pointer}
.world-heading h1:focus{outline:none}
[data-world-stage]{grid-column:1;grid-row:3;min-height:0;min-width:0;width:100%;padding:0 var(--gutter) 16px;display:flex;align-items:stretch}
.worlds-ready .world-view .project-chapter{height:100%;min-height:0;min-width:0;width:100%;max-width:none;padding:0;margin:0;display:block;border:0}
.worlds-ready .world-view .project-stage{height:100%;min-height:0;min-width:0;width:100%;max-width:none;position:relative;top:auto;order:initial;margin:0;display:flex;align-items:center;justify-content:center}
.world-view .live-frame{margin:0 auto;max-width:100%}
.world-view .frame-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--canvas);color:var(--muted);font-size:14px;pointer-events:none;z-index:4}
.world-view .live-frame[data-frame-state="ready"]>.frame-status{display:none}
.world-view .live-frame>.world-access{position:absolute;bottom:16px;left:16px;right:16px;z-index:5;padding:0 12px;background:var(--canvas);border:1px solid var(--rule)}
.world-view .live-frame.responsive-frame{max-width:none;width:100%;aspect-ratio:auto;background:var(--canvas)}
.world-view .live-frame[data-project="jump"]{width:100%}
.native-tool-frame{width:min(100%,520px);max-width:100%;flex:none;background:var(--canvas)}
.native-tool-frame iframe{width:100%;height:100%;max-width:none}
.native-tool-frame.portrait-tool-frame iframe{max-width:none}
.world-view #tool-palette .portrait-tool-frame{background:#f4f1e9}
.world-view #tool-almanac .portrait-tool-frame{background:#f7f2e8}
.world-view .portrait-tool-frame iframe{transition:none}
.world-view .portrait-tool-frame:not([data-frame-state="ready"]) iframe{visibility:hidden}
.world-view .project-story{height:100%;min-height:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);grid-template-rows:44px minmax(0,1fr) auto;gap:24px 40px;align-items:center}
.world-view .project-story>.project-meta,.world-view .project-story>h2,.world-view .project-story>.project-lead,.world-view .project-evidence-tabs,.world-view .trait-evidence{display:none}
.story-controls{display:flex;align-items:center;gap:12px;grid-column:1/-1;grid-row:1}
.story-controls button{min-width:44px;min-height:44px;padding:8px;border:1px solid var(--rule);border-radius:3px;background:none;cursor:pointer}
.story-controls button:disabled{opacity:.4;cursor:default}
.story-controls .choice-trigger{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:10px 16px;background:var(--paper,#faf9f6);border-color:var(--rule);font:inherit}
.choice-trigger>span{font-weight:600;line-height:1.45}
.choice-trigger>small{flex-shrink:0;color:var(--muted);font-size:12px;font-weight:400}
.story-controls button:hover:not(:disabled),.choice-dialog button:hover:not(:disabled){border-color:var(--accent-dark);color:var(--accent-dark)}
.story-controls button:focus-visible,.choice-dialog button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.choice-dialog{box-sizing:border-box;width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--rule);border-radius:8px;background:var(--paper,#faf9f6);color:var(--ink);box-shadow:0 20px 70px #211c1826;overflow:hidden}
.choice-dialog::backdrop{background:#211c1859}
.choice-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.choice-dialog h2{font:600 22px/1.4 var(--font-serif);margin:0}
.choice-dialog button{min-height:44px;border:1px solid var(--rule);border-radius:3px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.choice-dialog .choice-close{padding:8px 14px}
.choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice-dialog .choice-option{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;min-height:78px;line-height:1.5}
.choice-option small{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.choice-dialog .choice-option[aria-current="true"]{border-color:var(--accent-dark);background:#b54e360d;color:var(--accent-dark)}
.choice-paging{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
.choice-paging button{padding:8px 14px}.choice-paging span{color:var(--muted);font-size:13px}
.choice-dialog button:disabled{opacity:.4;cursor:default}
@media(max-width:599px){.story-controls .choice-trigger{align-items:flex-start;flex-direction:column;gap:3px;padding:8px 12px}.choice-dialog{padding:16px}.choice-options{grid-template-columns:1fr}.choice-dialog .choice-option{min-height:68px}.choice-dialog header{margin-bottom:12px}}
@media(max-height:539px){.choice-dialog{padding:16px}.choice-dialog header{margin-bottom:12px}.choice-dialog .choice-option{min-height:58px}.choice-paging{margin-top:12px}}
.project-evidence-select{display:block;min-height:44px;min-width:0;flex:1;font:15px var(--font-sans);padding:8px;border:1px solid var(--rule);background:var(--canvas);color:var(--ink);border-radius:3px}
.editorial-art{grid-column:1;grid-row:2;min-height:0;max-height:100%;margin:0;align-self:stretch;display:flex;align-items:center}
.editorial-art img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}
.world-view .evidence-list,.world-view .author-note{grid-column:2;grid-row:2;min-width:0;min-height:0;margin:0;padding:0;border:0}
.world-view .evidence-list{display:block}.world-view .evidence-list article{display:block;padding:0;border:0}
.world-view .evidence-list article>span{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
.world-view .evidence-list h3{font:600 26px/1.5 var(--font-serif);margin:0 0 20px}
.world-view .evidence-list p,.world-view .author-note p{font-size:16px;line-height:1.85;margin:0 0 12px}
.world-view .evidence-detail{color:var(--muted)}
.world-view .project-actions{grid-column:2;grid-row:2;margin:0;display:flex;gap:20px;flex-wrap:wrap}
.world-view .project-actions h3{width:100%;font:500 26px/1.4 var(--font-serif);margin:0 0 12px}
.world-view .project-actions .command{min-height:44px;background:none;color:var(--ink);border:0;padding:8px 0;font-size:14px}
.world-view .world-utilities{grid-column:1/-1;grid-row:3;margin:0;padding:0}
.world-utilities:empty,.world-utilities:not(:has(>:not([hidden]))){display:none}
.world-access{font-size:13px;margin:0}.world-access summary{min-height:44px;cursor:pointer}
.world-access-options{padding:16px;background:var(--canvas);border:1px solid var(--rule)}
.frame-retry,.world-external{font:inherit;min-height:44px;padding:8px;border:0;background:none;cursor:pointer}
.background-paging{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.background-paging button{min-height:44px;padding:8px;border:1px solid var(--rule);background:none;cursor:pointer}
.world-view .evidence-list:has(#tongluv-website:not([hidden])){height:100%}
.world-view #tongluv-website{height:100%;min-height:0;display:flex;flex-direction:column}
.world-view .tongluv-real-frame{margin:0;flex:1;min-height:0;display:flex;flex-direction:column}
.world-view .tongluv-real-frame .showcase-surface{flex:1;min-height:0;aspect-ratio:auto}
.world-view .tongluv-real-frame img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.world-view .tongluv-real-frame figcaption{flex-shrink:0;font-size:13px}
.world-view .project-rail{grid-column:1/-1;grid-row:4;margin:0 var(--gutter);width:auto;height:100%}
.world-view .blackmirror-stage{width:100%;height:100%;max-height:none;min-height:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:minmax(0,1fr) auto;gap:20px;background:transparent;border:0;border-radius:0;box-shadow:none}
.world-view .blackmirror-stage::before{display:none}
.world-view .blackmirror-stage video{grid-column:1;grid-row:1/-1;width:100%;height:100%;object-fit:contain;aspect-ratio:auto;background:transparent}
.world-view .blackmirror-poster{position:absolute;inset:0 200px 0 0;width:auto;height:auto;aspect-ratio:auto;background:var(--canvas)}
.world-view .blackmirror-poster img{width:100%;height:100%;object-fit:contain}
.world-view .blackmirror-poster span{background:var(--canvas);color:var(--ink);border:1px solid var(--rule);font:14px var(--font-sans);padding:12px 20px}
.world-view .blackmirror-chapters{grid-column:2;grid-row:1;align-self:center;display:flex;flex-direction:column;gap:6px;margin:0;border:0}
.world-view .blackmirror-chapters button{min-height:48px;border:0;border-radius:3px;padding:10px 12px;text-align:left;color:var(--ink);font-size:14px}
.world-view .blackmirror-chapters button[aria-pressed="true"]{color:var(--blue);background:var(--selected-surface)}
.world-view .monitor-feedback{grid-column:2;grid-row:2;margin:0;padding:16px 0 0;border:0;border-top:1px solid var(--rule);display:block;background:none;color:var(--ink)}
.world-view .monitor-feedback div{margin-bottom:12px}.world-view .monitor-feedback dt{font-size:12px;color:var(--muted)}.world-view .monitor-feedback dd{font-size:14px;color:var(--ink);margin:4px 0 0}
@media(max-width:1100px){.works-workspace{gap:12px}.works-name{font-size:13px}.world-heading{grid-template-columns:minmax(0,1fr) minmax(220px,300px) auto;gap:0 20px}.world-heading h1{font-size:30px}.world-view .project-story{grid-template-columns:minmax(0,1fr)}.world-view .editorial-art{display:none}.world-view .evidence-list,.world-view .author-note,.world-view .project-actions{grid-column:1}.world-view .blackmirror-stage{grid-template-columns:minmax(0,1fr) 144px;gap:12px}.world-view .blackmirror-poster{right:156px}}
@media(max-width:999px){.project-hub .hero-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-hub .hero-overview-grid a{grid-template-columns:90px minmax(0,1fr)}}
@media(max-width:759px),(max-height:539px){
 .project-hub.hero-stage{grid-template-rows:64px minmax(0,1fr) auto}
 .works-workspace{display:block;padding:0 0 12px}.works-index{display:none}.works-focus{height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:8px;padding:0;outline:0;background:none}.works-identity{grid-area:1/1;margin:0}.works-title{grid-area:2/1}.works-preview{grid-area:3/1;margin:4px 0;background:#efefeb}.works-summary p{grid-area:4/1}.works-entry{grid-area:5/1;justify-self:stretch;min-height:48px}
 .works-title{font-size:32px}.works-summary p{font-size:14px}.hub-heading h1{font-size:19px;max-width:160px;line-height:1.4}.works-modes{gap:14px}.works-modes :is(button,a){font-size:13px}
 .works-rail,.project-rail{height:60px;justify-content:space-between}.works-rail-numbers,.project-rail-track{display:none}
 .works-picker,.project-rail [data-world-select]{display:block;flex:1;min-width:0;max-width:320px;min-height:44px;padding:8px;border:0;background:transparent;color:var(--ink);font:15px var(--font-sans);text-align:center}
 .hub-heading{gap:16px}.hub-intro{display:none}.works-modes{margin-left:auto}
 .world-view{height:calc(100dvh - var(--nav-height));grid-template-columns:minmax(0,1fr);grid-template-rows:52px auto minmax(0,1fr) 60px;column-gap:0}
 .world-toolbar{grid-column:1;grid-row:1;gap:12px}.world-toolbar button{font-size:13px}.world-pane-tabs{gap:18px}
 .world-heading{grid-column:1;grid-row:2;padding:4px var(--gutter) 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
 .world-heading h1{font-size:26px;margin:0}.world-heading .site-kicker{font-size:12px;margin:0;order:-1;width:100%}
 .world-heading>p:last-of-type{display:none}.world-context-actions{margin:0;flex-direction:row;gap:20px}.world-context-actions button,.world-context-actions a{font-size:13px}
 [data-world-stage]{grid-column:1;grid-row:3;padding:0 var(--gutter) 16px}
 .world-view .project-rail{grid-column:1;grid-row:4}
 .world-view .project-story{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .story-controls{flex-shrink:0;gap:8px}.project-evidence-select{font-size:14px;width:100%}
 .world-view .evidence-list,.world-view .author-note{flex:1}
 .world-view .evidence-list h3{font-size:23px;margin-bottom:14px}.world-view .evidence-list p,.world-view .author-note p{font-size:15px;line-height:1.75}
 .world-view .project-actions{flex-shrink:0;gap:16px}.world-view .project-actions .command{font-size:13px}
 .world-view .editorial-art{display:none}
 .world-view .blackmirror-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:12px}
 .world-view .blackmirror-stage video{grid-column:1;grid-row:1}
 .world-view .blackmirror-poster{inset:0 0 104px}
 .world-view .blackmirror-chapters{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}
 .world-view .blackmirror-chapters button{min-height:44px;padding:8px;font-size:13px}.world-view .monitor-feedback{display:none}
}
@media(max-width:699px){.project-hub .hero-overview-grid{grid-template-columns:1fr}.project-hub .hero-overview-grid a{grid-template-columns:80px minmax(0,1fr);padding:10px 0;gap:16px}.project-hub .hero-overview-grid strong{font-size:20px}.project-hub .hero-overview-grid small{display:none}.project-hub .hero-overview-grid img{max-height:100px}.hub-pagination{min-height:56px}}
@media(max-width:759px) and (min-height:540px){
 .project-hub[data-experience-shape].hero-stage{grid-template-rows:44px minmax(0,1fr) auto}
 .project-hub[data-experience-shape] .hub-heading h1{display:none}
 .project-hub[data-experience-shape] .works-focus{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px minmax(0,1fr);gap:8px}
 .project-hub[data-experience-shape] .works-title{grid-area:1/1;align-self:center;font-size:23px}
 .project-hub[data-experience-shape] .works-identity,
 .project-hub[data-experience-shape] .works-summary p{display:none}
 .project-hub[data-experience-shape] .works-entry{grid-area:1/2;min-height:44px;padding:6px 8px;font-size:13px}
 .project-hub[data-experience-shape] .works-preview{grid-area:2/1/3/3;margin:0}
}

@media(max-height:649px){.works-title{font-size:27px}.works-focus{gap:8px}.works-summary{gap:10px}.world-heading h1{font-size:24px}.world-heading{padding-bottom:10px}.world-view .evidence-list h3{font-size:21px}.world-view .evidence-list p,.world-view .author-note p{font-size:14px;line-height:1.65}.world-view .project-story{gap:12px}}
@media(min-width:600px) and (max-height:539px){
 .works-focus{grid-template-columns:1fr 1fr;grid-template-rows:auto auto minmax(0,1fr) auto;column-gap:24px}
 .works-preview{grid-column:1;grid-row:1/5;margin:0}.works-identity{grid-column:2;grid-row:1}.works-title{grid-column:2;grid-row:2}.works-summary p{grid-column:2;grid-row:3}.works-entry{grid-column:2;grid-row:4}
 .project-hub .hero-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .world-view{grid-template-columns:180px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr) 56px;column-gap:16px}
 .world-toolbar{grid-column:1/-1;grid-row:1}.world-heading{grid-column:1;grid-row:2;padding:8px 0 8px var(--gutter);display:block}
 .world-heading h1{font-size:23px;margin-top:12px}.world-heading .site-kicker{font-size:12px}.world-context-actions{flex-direction:column;gap:0;margin-top:8px}
 [data-world-stage]{grid-column:2;grid-row:2;padding:8px var(--gutter) 8px 0}
 .world-view .project-rail{grid-row:3;grid-column:1/-1}
 .world-view .blackmirror-stage{grid-template-columns:minmax(0,1fr) 132px;grid-template-rows:minmax(0,1fr);gap:8px}
 .world-view .blackmirror-poster{inset:0 140px 0 0}.world-view .blackmirror-chapters{grid-column:2;grid-row:1;display:flex}
 .world-view .project-story{gap:8px}.story-controls{gap:6px}.project-evidence-select{font-size:13px}.world-view .evidence-list article>span{display:none}
}
@media(prefers-reduced-motion:no-preference){
 .works-focus{animation:works-enter .28s ease-out}
 .works-index-item,.works-entry,.works-rail button,.world-pane-tabs button{transition:background .16s,color .16s,border-color .16s}
 .works-thumbnail{transition:filter .2s}.works-index-item:hover .works-thumbnail{filter:brightness(1.05)}
 .works-entry:active,.works-index-item:active,.works-rail button:active{transform:translateY(2px)}
 .world-view [role="tabpanel"]:not([hidden]){animation:works-enter .2s ease-out}
 .project-rail-indicator{transition:transform .22s,width .22s}
 @keyframes works-enter{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
}
.ability-page.ability-section { max-width: 1440px; padding: clamp(20px, 3vh, 32px) var(--gutter) clamp(16px, 2.5vh, 24px); border: 0; }
.ability-page-heading { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 48px); align-items: end; margin-bottom: clamp(14px, 2vh, 20px); }
.ability-page-heading h2 { margin: 6px 0 0; font: 700 clamp(2rem, 3vw, 2.8rem)/1.18 var(--font-serif); }
.ability-page-heading > p { max-width: 560px; margin: 0; font-size: .92rem; color: var(--muted); line-height: 1.5; }
.ability-tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-bottom: clamp(14px, 2vh, 20px); border-bottom: 1px solid var(--rule); }
.ability-tabs button { display: flex; align-items: center; gap: 12px; justify-content: center; min-height: clamp(44px, 5.5vh, 52px); padding: 8px 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); cursor: pointer; font-weight: 600; }
.ability-tabs button > span { font: .72rem ui-monospace, monospace; color: var(--muted); }
.ability-tabs button[aria-selected="true"] { border-color: var(--blue); color: var(--blue); background: var(--selected-surface); }
.ability-tabs button:hover { color: var(--blue); }
.ability-tabs button:focus-visible { outline: 2px solid var(--blue); outline-offset: -4px; }
.ability-group-heading { margin-bottom: clamp(12px, 1.8vh, 16px); }
.ability-group-heading h3 { margin: 0 0 4px; font: 700 clamp(1.2rem, 1.4vw, 1.35rem)/1.35 var(--font-serif); }
.ability-group-heading p { margin: 0; color: var(--muted); font-size: .86rem; }
.ability-cases { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 1.5vh, 16px); }
.ability-case { display: grid; grid-template-columns: clamp(88px, 8vw, 112px) minmax(0,1fr); align-items: center; gap: clamp(16px, 2.5vw, 22px); min-height: clamp(124px, 15vh, 144px); padding: clamp(14px, 1.8vh, 18px) clamp(16px, 1.8vw, 20px); text-decoration: none; background: var(--surface); border: 1px solid var(--rule); }
.ability-case:hover, .ability-case:focus-visible { border-color: var(--blue); }
.ability-case-image { display: block; }
.ability-case-image img { width: clamp(88px, 8vw, 112px); height: clamp(88px, 8vw, 112px); object-fit: contain; border-radius: 4px; background: var(--canvas); }
.ability-case-copy { display: block; min-width: 0; }
.ability-case-copy small { display: block; color: var(--muted); font-size: .68rem; }
.ability-case-copy h4 { margin: 3px 0 5px; font: 700 clamp(1rem, 1.3vw, 1.15rem)/1.35 var(--font-serif); }
.ability-case-copy p { margin: 0 0 8px; color: var(--muted); font-size: .875rem; line-height: 1.55; }
.ability-case-action { color: var(--blue); font-size: .7rem; }
.ability-page h2[tabindex="-1"]:focus { outline: none; }

/* The exhibit artwork has its own material edge; avoid a second gold frame. */
.world-view[data-embedded="true"] .live-frame::before{display:none}

@media(min-width:760px) and (min-height:540px){
 .project-hub[data-experience-shape="portrait"] .works-workspace{container-type:size}
 .project-hub[data-experience-shape="portrait"] .works-focus{width:min(100%,calc(100cqh * .6 + 300px));justify-self:center;grid-template-columns:minmax(180px,260px) minmax(0,1fr);padding:0 12px 0 24px;gap:14px 20px}
 .project-hub[data-selected-project="03"] .works-focus{width:min(100%,calc(100cqh * .625 + 300px))}
 .project-hub[data-experience-shape="portrait"] .works-title{font-size:clamp(28px,2.5vw,46px)}
}

/* Archive needs its full composition height; fit the exhibit to that ratio. */
@media(min-width:760px) and (min-height:540px){
 .project-hub[data-selected-project="01"] .works-workspace{container-type:size}
 .project-hub[data-selected-project="01"] .works-focus{width:min(100%,calc((100cqh - 140px)*1280/760));justify-self:center;grid-template-rows:minmax(0,1fr) auto auto auto;padding:0 18px 18px}
}
.world-view .live-frame[data-project="archive"]{width:100%}

/* Project experience: keep identity near portrait products and reserve the
   available height for their complete, original internal viewport. */
.world-view[data-embedded="false"][data-pane="experience"]{
 --experience-gutter:clamp(20px,4vw,56px);
 grid-template-rows:48px auto minmax(0,1fr) 56px
}
.world-view[data-embedded="false"][data-pane="experience"] .world-heading{
 padding-bottom:12px
}
.world-view[data-embedded="false"][data-pane="experience"] .project-rail{
 height:56px
}
.world-view .project-rail button[aria-current="true"]{
 color:var(--accent-dark);font-weight:700
}
@media(min-width:760px) and (min-height:540px){
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"]{
  width:min(100%,1100px);margin-inline:auto;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  grid-template-rows:48px minmax(0,1fr) 56px;
  column-gap:clamp(24px,4vw,64px)
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] .world-toolbar{
  padding-inline:var(--experience-gutter)
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] .world-heading{
  grid-area:2/1;display:flex;flex-direction:column;align-items:flex-start;align-self:center;
  gap:20px;padding:24px 0 24px var(--experience-gutter)
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] .world-heading h1{
  font-size:clamp(30px,3vw,48px);line-height:1.25;text-wrap:balance
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] .world-heading .site-kicker{
  margin:0
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] .world-heading>p:last-of-type{
  max-width:23ch;font-size:16px;line-height:1.9
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] [data-world-stage]{
  grid-area:2/2;padding:8px var(--experience-gutter) 12px 0
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="portrait"] .project-rail{
  grid-area:3/1/4/3;margin-inline:var(--experience-gutter)
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="landscape"] .world-heading{
  width:min(100%,calc((100dvh - var(--nav-height) - 176px)*1280/760 + 2*var(--gutter)));
  margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:0 24px
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="landscape"] .world-heading h1{
  font-size:clamp(26px,2.6vw,38px)
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="website"] .world-heading{
  grid-template-columns:minmax(210px,.7fr) minmax(240px,1fr) auto;padding-bottom:10px
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="website"] .world-heading h1{
  font-size:30px
 }
}
@media(max-width:759px){
 .world-view[data-embedded="false"][data-pane="experience"] .world-heading{
  gap:4px 12px;padding-bottom:12px
 }
 .world-view[data-embedded="false"][data-pane="experience"] .world-heading h1{
  font-size:24px
 }
 .world-view[data-embedded="false"][data-pane="experience"] .world-heading .site-kicker{
  width:auto;font-size:12px
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="landscape"] .project-stage{
  align-items:flex-start
 }
 .world-view[data-embedded="false"][data-pane="experience"][data-experience-shape="landscape"] .world-heading>p:last-of-type{
  display:block;flex-basis:100%;font-size:14px;line-height:1.65;margin-top:6px
 }
}
@media(min-width:600px) and (max-height:539px){
 .world-view[data-embedded="false"][data-pane="experience"]{
  grid-template-rows:44px minmax(0,1fr) 56px
 }
}
