/* The hall is the interface. No visible dashboard, instructions, or chrome. */
.work-hall { padding:0;margin:30px 0 0;background:#f7f7f5;scroll-margin-top:72px; }
.work-hall > .container { width:100%;max-width:none;padding:0; }
.room-sr { 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; }
.studio { width:100%;position:relative; }
.studio[hidden],#work-list[hidden],.room-fallback[hidden],.hall-ready .hall-archive { display:none; }
.room-viewport { position:relative;width:100%;height:min(880px,92svh);min-height:620px;overflow:clip;isolation:isolate;background:#f7f7f5;outline-offset:-5px; }
.room-viewport canvas { position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y; }
.room-viewport.has-hover canvas { cursor:pointer; }
.room-loading { position:absolute;inset:0;display:grid;place-items:center;background:#f7f7f5;z-index:3; }
.room-loading[hidden] { display:none; }
.loading-orbit { width:23px;height:23px;border:1px solid #d7dae0;border-top-color:#435b7d;border-radius:50%;animation:hall-load 1s linear infinite; }
.room-keyboard-art { position:absolute;inset:0;pointer-events:none; }
.room-keyboard-art button { position:absolute;background:transparent;border:0;padding:0;pointer-events:none;outline:none!important; }
.room-keyboard-art button:focus-visible { outline:2px solid #6b95e4!important;outline-offset:7px!important;border-radius:3px; }
#work-list { width:min(1120px,calc(100% - 48px));margin:0 auto;padding:65px 0; }
.room-fallback { padding:25px;color:#526274;font-size:.83rem;max-width:1120px;margin:auto; }
.hall-archive .section { padding-inline:24px; }.hall-archive .container { max-width:1120px;margin-inline:auto; }
.site-footer { border-top:1px solid #e1e4e8; }

/* An artwork opens into an edge-to-edge editorial spread, not a floating card. */
.hall-reader { position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;margin:0;border:0;background:#fafaf7;color:#20252e;overflow:hidden;overscroll-behavior:contain; }
.hall-reader[open] { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);animation:spread-open .55s cubic-bezier(.2,.7,.2,1) both; }
.hall-reader::backdrop { background:#f7f7f5; }
.hall-reader.is-closing { animation:spread-close .25s ease-in both; }
.reader-close { position:fixed;right:26px;top:24px;z-index:5;width:46px;height:46px;display:grid;place-items:center;border:1px solid #cfd5d9;background:#fafaf7f2;backdrop-filter:blur(10px);border-radius:50%;transition:background .2s,transform .2s; }
.reader-close:hover { background:#e8edf4;transform:rotate(90deg); }
.reader-close span { position:relative;display:block;width:15px;height:15px; }
.reader-close span::before,.reader-close span::after { content:"";position:absolute;left:7px;top:-1px;width:1px;height:18px;background:#354255;transform:rotate(45deg); }
.reader-close span::after { transform:rotate(-45deg); }
.reader-art { position:relative;min-width:0;height:100%;background:#1b2d4f;overflow:hidden; }
.reader-art canvas { width:100%;height:100%;display:block;object-fit:cover; }
.reader-paper { min-width:0;overflow-y:auto;padding:clamp(70px,10vh,130px) clamp(30px,5vw,90px) 40px;scrollbar-width:thin;scrollbar-color:#c9d1da transparent;overscroll-behavior:contain; }
.reader-heading { animation:paper-reveal .6s .15s both; }
.reader-heading > p { font-size:.65rem;line-height:1.6;color:#7d8794;margin:0 0 25px; }
.reader-heading h2 { font-size:clamp(32px,3.6vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.07;margin-bottom:35px; }
.reader-content { animation:paper-reveal .65s .23s both; }
.reader-content > p { font-size:.87rem;line-height:1.8;color:#69737e;margin:0 0 20px; }
.reader-content > p:first-child { font-size:clamp(16px,1.35vw,21px);line-height:1.65;color:#485565;letter-spacing:-.015em; }
.reader-content dl { display:block;margin:36px 0 0;border-top:1px solid #dce1e5; }
.reader-content dl > div { display:grid;grid-template-columns:100px 1fr;gap:25px;padding:21px 0;border-bottom:1px solid #e1e5e9; }
.reader-content dt { font-size:.72rem;font-weight:500;line-height:1.6;color:#3e536e; }
.reader-content dd { font-size:.85rem;line-height:1.8;color:#697786; }
.reader-content h3 { margin:33px 0 14px;font-weight:500;font-size:1.3rem;letter-spacing:-.035em; }
.reader-content .case-status { font-size:.64rem;line-height:1.6;margin:25px 0 0;color:#788570; }
.reader-content .case-source-link,.reader-content > a { display:inline-block;margin:28px 0 0;padding:0 0 5px;border-bottom:1px solid #8b9eb8;color:#3b5374;font-size:.75rem; }
.reader-content .community-proof { margin:28px 0;color:#536a4f; }
.reader-content .community-proof strong { font-size:2.6rem; }.reader-content .community-proof span { display:block;font-size:.67rem; }
.reader-content .about-metadata { margin-top:30px; }.reader-content blockquote { margin:26px 0;padding-left:20px;border-left:2px solid #9eaec3;color:#64738a; }
.reader-colophon { display:block;font-size:.55rem;color:#a0a8b1;margin-top:55px;letter-spacing:.04em; }
.reader-close:focus-visible { outline:3px solid #6382b3;outline-offset:4px; }
body.hall-reading { overflow:hidden; }
@keyframes hall-load { to { transform:rotate(360deg); } }
@keyframes spread-open { from { opacity:0;clip-path:inset(8% 10% 8% 10% round 4px);transform:scale(.97); } to { opacity:1;clip-path:inset(0);transform:scale(1); } }
@keyframes spread-close { to { opacity:0;transform:scale(.97);clip-path:inset(7% 10% 7% 10% round 4px); } }
@keyframes paper-reveal { from { opacity:0;transform:translateY(20px); } to { opacity:1;transform:none; } }
@media(min-width:1600px) { .room-viewport { height:900px; } }
@media(max-width:800px) { .room-viewport { min-height:610px;height:83svh; }.hall-reader[open] { grid-template-columns:43% 57%; }.reader-paper { padding:90px 30px 35px; }.reader-heading h2 { font-size:34px; }.reader-content dl > div { grid-template-columns:1fr;gap:7px; }.reader-content dt { font-size:.67rem; }.reader-content > p { font-size:.8rem; } }
@media(max-width:620px) { .work-hall { margin-top:16px; }.room-viewport { min-height:570px;height:82svh;max-height:780px; }.hall-reader[open] { display:block;overflow-y:auto; }.reader-art { height:38svh;min-height:240px; }.reader-art canvas { object-fit:cover; }.reader-paper { overflow:visible;padding:35px 28px 40px; }.reader-close { top:15px;right:15px;width:44px;height:44px; }.reader-heading > p { margin-bottom:17px;font-size:.63rem; }.reader-heading h2 { font-size:38px;margin-bottom:24px; }.reader-content > p:first-child { font-size:17px; }.reader-content dl > div { padding-block:18px; }.reader-colophon { margin-top:35px; } }
@media(prefers-reduced-motion:reduce) { .loading-orbit,.hall-reader[open],.hall-reader.is-closing,.reader-heading,.reader-content { animation:none; }.reader-close { transition:none; } }
@media print { .studio,.hall-reader { display:none!important; }#work-list[hidden],.hall-ready .hall-archive { display:block!important; } }
