:root{--paper:#ede6d3;--ink:#26201a;--muted:#64523c;--gold:#76560e;--ochre:#81411e;--display:'Instrument Serif',Georgia,serif;--body:'Newsreader',Georgia,serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--paper);color:var(--ink);font-family:var(--body);scroll-behavior:auto}
body{margin:0}
button,a,input{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
a{color:inherit;text-underline-offset:.25em}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
button{cursor:pointer}
.return-run{height:460svh}
.return-stage{height:100svh;min-height:580px;position:sticky;top:0;overflow:clip;isolation:isolate;--pope-strength:1;--moishe-strength:1;background:var(--paper)}
.world{position:absolute;inset:0;pointer-events:none}
.world-square{overflow:hidden}
.world-ground{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;max-width:none;transform:translateX(var(--pan,0%)) scale(1.03)}
.listeners{position:absolute;top:69%;left:-6%;width:112%;max-width:none;transform:translateY(var(--audience-y,0px));filter:blur(.4px)}
.perspective-space{position:absolute;inset:0;perspective:var(--camera-distance,1600px);perspective-origin:50% 64%;pointer-events:none}
.world-turn{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 64%;transform:rotateY(var(--turn,0deg))}
.domain{top:-18%;bottom:36%;width:100%;transform-style:preserve-3d;backface-visibility:hidden}
.world-pope{left:-50%;right:auto;transform-origin:100% 100%;transform:rotateY(calc(-1 * var(--wing,42deg)))}
.world-moishe{left:50%;right:auto;transform-origin:0% 100%;transform:rotateY(var(--wing,42deg))}
.painted-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden}
.painted-face:after{content:'';position:absolute;inset:0;background:#392910;opacity:var(--shade,0);pointer-events:none}
.domain .world-ground{inset:0;width:100%;height:100%;transform:none}
.world-pope .world-ground{object-position:70% 50%}
.world-moishe .world-ground{object-position:30% 50%}
.world-pope{--shade:var(--pope-shade,0)}
.world-moishe{--shade:var(--moishe-shade,0)}
.domain .listeners{top:auto;bottom:0;left:46%;width:30%;transform:translate3d(0,var(--audience-y,0px),26px);filter:none}
.world-moishe .listeners{left:15%}
.common-ground{position:absolute;left:50%;top:64%;width:min(112vw,1400px);aspect-ratio:1;transform:translate(-50%,-50%) rotateX(76deg);transform-style:preserve-3d;background:linear-gradient(#ede6d330,#ede6d340),url('assets/piazza-stage.webp') center bottom/100% 700%;border:1px solid #6e593d66;box-shadow:inset 0 0 70px 15px #ede6d360}
.common-ground:after{content:'';position:absolute;inset:8%;border:1px solid #6e593d30;background:repeating-linear-gradient(0deg,transparent 0 calc(25% - 1px),#6e593d18 calc(25% - 1px) 25%),repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#6e593d18 calc(25% - 1px) 25%)}
.common-ground span{position:absolute;inset:34%;border:1px solid #5d482c70;border-radius:50%}
.shared-axis{position:absolute;left:50%;top:18%;height:46%;width:0;box-shadow:0 0 14px 2px #fff4cf40}
.shared-axis:before{content:"";position:absolute;inset:0;border-left:1px solid #fff4cf7d}
.axis-pin{position:absolute;left:0;bottom:0;width:0;height:0}
.daylight{position:absolute;inset:0;background:linear-gradient(180deg,rgba(237,230,211,.96),rgba(237,230,211,.5) 13%,transparent 28%,transparent 66%,rgba(237,230,211,.3) 85%,var(--paper) 100%);pointer-events:none}
.return-head{position:absolute;top:0;left:0;right:0;padding:24px 4vw 0;z-index:5;display:grid;grid-template-columns:1fr auto;pointer-events:none}
.back-link{font-size:14px;width:max-content;pointer-events:auto}
.introduction{grid-row:2;display:flex;align-items:center;gap:30px;margin-top:12px}
h1{font-family:var(--display);font-size:clamp(42px,5.2vw,74px);line-height:1;font-weight:400;margin:0;letter-spacing:-.025em}
.introduction p{font-size:clamp(16px,1.4vw,20px);line-height:1.25;margin:0}
.instruction{font-size:13px;line-height:1.4;grid-column:2;grid-row:1/3;align-self:center;margin:0;color:var(--muted);text-align:right}
.shared-events{position:absolute;inset:18% 0 22%;pointer-events:none;z-index:2;perspective:1200px}
.shared-event{position:absolute;inset:0;transform-origin:50% 60%;opacity:0;visibility:hidden}
.shared-event:first-child{opacity:1;visibility:visible}
.hand{position:absolute;bottom:-2%;height:100%;width:auto;max-width:none;object-fit:contain}
.pope-hand{left:15%;transform-origin:50% 100%}
.moishe-hand{right:15%;transform:scaleX(-1);transform-origin:50% 100%}
.fingers .pope-hand{height:108%;left:16%}
.fingers .moishe-hand{height:92%;right:17%}
.circle .pope-hand{height:77%;left:5%;bottom:8%}
.circle .moishe-hand{height:103%;right:9%;bottom:-5%}
.lunch .pope-hand{height:74%;left:10%;bottom:6%}
.lunch .moishe-hand{height:104%;right:13%;bottom:-4%}
.turn-surface{position:absolute;inset:18% 0 26%;z-index:4;touch-action:pan-y;cursor:grab}
.return-stage[data-dragging=true] .turn-surface{cursor:grabbing}
.orbit-control{position:absolute;z-index:5;left:50%;top:57%;width:150px;height:78px;transform:translateX(-50%);text-align:center}
.orbit-control label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px var(--mono);letter-spacing:.02em;color:var(--ink);background:#ede6d3d9;padding:5px 9px;pointer-events:none}
.orbit-arc{position:absolute;left:0;right:0;top:4px;height:45px;border:1px solid #fff5d5b0;border-radius:50%;box-shadow:0 1px #5d482c66;pointer-events:none}
.orbit-arc:after{content:'';position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--ink)}
.orbit-arc span{position:absolute;left:var(--orbit-x,50%);top:var(--orbit-y,100%);width:7px;height:7px;border-radius:50%;border:1px solid var(--paper);background:var(--ink);transform:translate(-50%,-50%)}
.world-control{-webkit-appearance:none;appearance:none;position:absolute;left:-10px;width:calc(100% + 20px);top:15px;height:44px;margin:0;background:transparent;cursor:ew-resize;outline:none;touch-action:pan-y}
.world-control::-webkit-slider-runnable-track{height:1px;background:transparent}
.world-control::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border:1px solid var(--ink);border-radius:50%;margin-top:-12px;background:var(--paper);box-shadow:0 2px 8px #37271630;opacity:0}
.world-control::-moz-range-track{height:1px;background:transparent}
.world-control::-moz-range-thumb{width:22px;height:22px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);opacity:0}
.world-control:focus-visible{outline:1px solid var(--ink);outline-offset:6px;border-radius:50%}
.orbit-control:has(.world-control:focus-visible) label{background:var(--ink);color:var(--paper)}
.readings{position:absolute;left:5%;right:5%;bottom:96px;display:grid;grid-template-columns:1fr 1fr;gap:10%;z-index:5;pointer-events:none}
.reading{padding:12px 20px 14px;background:rgba(237,230,211,.96);width:max-content;max-width:100%}
.pope-reading{opacity:var(--pope-strength)}
.moishe-reading{justify-self:end;text-align:right;opacity:var(--moishe-strength)}
.teller{font-size:13px;line-height:1.2;display:block;margin-bottom:8px;color:var(--muted)}
.claim{font-family:var(--display);font-size:clamp(26px,3.1vw,44px);font-weight:400;line-height:1.07;margin:0;text-wrap:balance}
.answer{font-size:clamp(17px,1.65vw,24px);font-style:italic;line-height:1.2;margin:7px 0 0;text-wrap:balance}
.pope-reading .claim{color:var(--gold)}
.moishe-reading .claim{color:var(--ochre)}
.return-controls{position:absolute;z-index:6;bottom:20px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:end;gap:30px}
.exchanges{display:flex;gap:24px}
.exchanges button{display:flex;flex-direction:column;gap:8px;background:none;border:0;border-top:1px solid transparent;padding:8px 0 0;text-align:left;font-size:15px;opacity:.55}
.exchanges button[aria-pressed=true]{border-top-color:var(--ink);opacity:1}
.number{font-family:var(--mono);font-size:10px}
.world-presets{display:flex;gap:3px;background:rgba(237,230,211,.95);padding:3px;border:1px solid #26201a30}
.world-presets button{background:transparent;border:0;padding:9px 13px;font-size:14px;white-space:nowrap}
.world-presets button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.world-presets [data-place]{border-left:1px solid #26201a30;margin-left:4px}
.return-stage[data-folded=true] .domain{visibility:hidden}
.return-stage[data-place=square] .orbit-control{visibility:hidden}
.return-stage[data-place=square] .turn-surface{pointer-events:none}
.unspoken{position:absolute;bottom:105px;left:50%;transform:translateX(-50%);text-align:center;z-index:5;padding:15px 28px;background:rgba(237,230,211,.96);width:max-content;max-width:90%}
.unspoken p{font:400 clamp(26px,3.1vw,44px)/1.1 var(--display);margin:0 0 7px}
.unspoken span{font-size:19px;line-height:1.25}
.time-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:#26201a20;z-index:7}
.time-line span{display:block;height:100%;width:var(--time,0%);background:var(--ink)}
.return-end{position:relative;min-height:95svh;padding:16vh 8vw 9vh;isolation:isolate;overflow:hidden;background:var(--paper)}
.end-world{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.4}
.return-end:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--paper),transparent 50%,var(--paper))}
.end-copy{text-align:center}
.end-before{font-size:clamp(17px,1.8vw,24px);margin:0 0 18px}
h2{font:400 clamp(46px,8vw,112px)/1 var(--display);letter-spacing:-.025em;margin:0 0 28px}
.end-copy>p:not(.end-before){font-size:clamp(19px,2vw,28px);line-height:1.5;margin:0 0 36px}
.again{display:inline-block;font-size:18px;border:1px solid var(--ink);padding:13px 28px;text-decoration:none;background:var(--paper)}
.again:hover{background:var(--ink);color:var(--paper)}
.return-note{max-width:650px;margin:65px auto 0;font-size:17px;line-height:1.5;background:rgba(237,230,211,.8);padding:16px 24px}
.return-note summary{cursor:pointer;width:max-content;margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.no-script{position:fixed;bottom:0;background:var(--paper);padding:20px;z-index:20}
@media(max-width:760px){
 .return-stage{min-height:620px}
 .return-head{padding:18px 5vw 0}
 .back-link{font-size:12px}
 .introduction{display:block;margin-top:15px}
 .introduction h1{font-size:49px}
 .introduction p{font-size:16px;margin-top:9px}
 .instruction{font-size:11px;max-width:95px;align-self:start;margin-top:3px}
 .shared-events{inset:29% 0 31%}
 .fingers .pope-hand{height:104%;left:3%}
 .fingers .moishe-hand{height:89%;right:2%}
 .circle .pope-hand{height:48%;left:2%;bottom:24%}
 .circle .moishe-hand{height:93%;right:-3%;bottom:0}
 .lunch .pope-hand{height:65%;left:-3%;bottom:12%}
 .lunch .moishe-hand{height:95%;right:0;bottom:0}
 .turn-surface{inset:26% 0 32%}
 .orbit-control{top:52%;width:108px;height:65px}
 .orbit-arc{height:32px}
 .world-control{top:0;height:44px}
 .orbit-control label{font-size:8px;padding:4px 5px}
 .domain{top:0;bottom:36%;width:150%}
 .world-pope{left:-100%}
 .common-ground{width:170vw}
 .domain .listeners{top:auto;width:45%}
 .world-pope .listeners{left:45%}
 .shared-axis{top:27%;height:37%}
 .listeners{top:66%;width:165%;left:-22%}
 .world-moishe .listeners{left:15%}
 .readings{left:4%;right:4%;bottom:140px;gap:10px}
 .reading{padding:10px 9px 12px;width:100%;min-height:116px;display:flex;flex-direction:column;justify-content:center}
 .teller{font-size:11px;margin-bottom:7px}
 .claim{font-size:26px}
 .answer{font-size:16px;line-height:1.13}
 .return-controls{bottom:14px;left:5%;right:5%;display:flex;flex-direction:column-reverse;align-items:stretch;gap:12px}
 .world-presets{align-self:center}
 .world-presets button{font-size:12px;padding:8px 9px}
 .world-presets [data-place]{margin-left:0}
 .unspoken{bottom:150px;padding:16px 20px}
 .unspoken span{font-size:17px}
 .exchanges{justify-content:space-between;gap:12px}
 .exchanges button{font-size:12px;gap:4px;min-height:42px}
 .number{font-size:9px}
 .return-end{padding:13vh 6vw 7vh}
 .end-copy>p:not(.end-before){font-size:20px}
 .return-note{padding:15px;font-size:16px}
}
@media(max-width:350px){.introduction h1{font-size:42px}.claim{font-size:23px}.answer{font-size:15px}.readings{bottom:140px}.reading{min-height:112px}.shared-events{inset:30% 0 34%}.turn-surface{inset:29% 0 34%}.orbit-control{top:50%;width:90px;height:61px}.world-presets button{font-size:11px;padding:8px 7px}}
@media(max-height:620px){
 .return-stage{min-height:0}
 .return-head{padding-top:12px}
 .back-link{font-size:11px}
 .introduction{margin-top:6px;display:flex;gap:20px}
 .introduction h1{font-size:36px}
 .introduction p{font-size:14px;margin:0}
 .instruction{font-size:10px;max-width:none}
 .shared-events{inset:26% 0 28%}
 .turn-surface{inset:25% 0 29%}
 .orbit-control{top:44%;width:120px;height:65px}
 .orbit-arc{height:35px}
 .world-control{top:0;height:44px}
 .orbit-control label{font-size:8px}
 .readings{bottom:66px;left:4%;right:4%;gap:10%}
 .reading{padding:7px 12px;min-height:0;width:max-content}
 .teller{font-size:10px;margin-bottom:3px}
 .claim{font-size:23px}
 .answer{font-size:14px;margin-top:3px}
 .return-controls{bottom:9px;left:4%;right:4%;flex-direction:row;gap:16px;align-items:end}
 .exchanges{gap:17px}
 .exchanges button{font-size:11px;min-height:0;gap:3px;padding-top:6px}
 .number{font-size:8px}
 .world-presets{align-self:auto}
 .world-presets button{font-size:11px;padding:7px}
 .unspoken{bottom:75px;padding:10px 20px}
 .unspoken p{font-size:28px}
 .unspoken span{font-size:16px}
}
@media(max-height:620px) and (max-width:650px){.exchanges{gap:12px}.exchanges button{font-size:10px}.world-presets button{font-size:10px;padding:7px 5px}.return-controls{gap:10px}.introduction p{font-size:12px}.instruction{display:none}.claim{font-size:20px}.answer{font-size:13px}}
@media(prefers-reduced-motion:reduce){
 .perspective-space{perspective:none}
 .world-turn{transform:none}
 .domain{top:0;bottom:0;width:50%;transform:none;overflow:hidden}
 .world-pope{left:0}
 .world-moishe{left:50%}
 .domain .listeners{transform:none}
 .common-ground,.shared-axis,.orbit-arc{display:none}
 .world-control::-webkit-slider-thumb{opacity:1}
 .world-control::-moz-range-thumb{opacity:1}
 .world-control{background:#ede6d380;border-bottom:1px solid #26201a50}
 .return-stage[data-facing=pope] .world-moishe,.return-stage[data-facing=moishe] .world-pope,.return-stage[data-place=square] .domain{visibility:hidden}
}
