:root{--ink:#0b0b0b;--paper:#fff;--muted:#8c8c8c;--S:clamp(72px, min(26vh, 30vw), 340px);--pad:calc(var(--S) * .07);--strip-h:calc(var(--S) + var(--pad) * 2);--glow-room:calc(var(--S) * .2);--haze:#2a2622;--hole-w:60vw;--hole-h:90vh;--win-w:60vw;--win-h:90vh}*{box-sizing:border-box;margin:0}html,body{overscroll-behavior:none;background:var(--paper);height:100%;color:var(--ink);overflow:hidden}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif}.app{background:var(--paper);position:fixed;inset:0}.hero{inset:0 0 var(--strip-h) 0;position:absolute}.hero canvas,.hero video{width:100%;height:100%;display:block}.hero canvas{cursor:grab;touch-action:none}.hero canvas:active{cursor:grabbing}.hero video{object-fit:contain}.hero--image{justify-content:center;align-items:flex-end;padding-top:5vh;display:flex}.hero--image img{object-fit:contain;object-position:bottom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:92vw;height:100%;display:block}.strip{height:calc(var(--strip-h) + var(--glow-room));overscroll-behavior-x:contain;scrollbar-width:none;position:absolute;bottom:0;left:0;right:0;overflow:auto hidden}.strip::-webkit-scrollbar{display:none}.word{width:max-content;height:100%;padding:calc(var(--pad) + var(--glow-room)) var(--pad) var(--pad);align-items:flex-end;display:flex}.letter{height:var(--S);color:var(--ink);flex:none;display:block}@property --focus{syntax:"<number>";inherits:false;initial-value:0}@property --lift{syntax:"<number>";inherits:false;initial-value:0}.letter{--soft:calc(1 - var(--focus));filter:blur(calc(var(--S) * .022 * var(--soft))) drop-shadow(0 0 calc(var(--S) * .05) color-mix(in srgb, var(--haze) calc(20% * var(--soft)), transparent)) drop-shadow(0 0 calc(var(--S) * .14) color-mix(in srgb, var(--haze) calc(10% * var(--soft)), transparent));opacity:calc(1 - .08 * var(--soft));scale:calc(1 + var(--lift) * var(--focus));transition:--focus .5s cubic-bezier(.2,.8,.2,1),--lift .5s cubic-bezier(.2,.8,.2,1)}@media (hover:hover){.letter:hover{--focus:1;--lift:.06}}.letter--o:active,.letter--o:focus-visible{--focus:1}.letter--o.is-active{--focus:1;--lift:0}.letter svg{width:100%;height:100%;display:block;overflow:visible}.letter--o{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.letter--o:focus-visible{outline:2px solid var(--ink);outline-offset:calc(var(--S) * .03)}.portal{cursor:zoom-out;position:absolute;inset:0}.portal[hidden]{display:none}.portal__window{width:var(--win-w);height:var(--win-h);clip-path:circle(0%);-webkit-mask-size:calc(var(--hole-w) * .985) calc(var(--hole-h) * .99);mask-size:calc(var(--hole-w) * .985) calc(var(--hole-h) * .99);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--hole-w) * .985) calc(var(--hole-h) * .99);cursor:auto;position:absolute;top:50%;left:50%;overflow:hidden;translate:-50% -50%;-webkit-mask-position:50%;-webkit-mask-repeat:no-repeat}.portal__close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));color:#fff;mix-blend-mode:difference;cursor:pointer;opacity:0;background:0 0;border:0;width:48px;height:48px;font:300 36px/1 -apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;position:absolute}.content{width:100%;height:100%}.content--text,.content--link,.content--empty{text-align:center;font-size:clamp(15px, calc(var(--win-w) * .028), 22px);flex-direction:column;justify-content:center;align-items:center;gap:.8em;padding:16% 14%;line-height:1.45;display:flex;overflow-y:auto}.content h2{letter-spacing:-.02em;font-size:1.8em;font-weight:600;line-height:1.1}.content--empty{color:var(--muted)}.content--link a{color:inherit;flex-direction:column;align-items:center;gap:.5em;text-decoration:none;display:flex}.content--link a:hover h2{text-underline-offset:.15em;text-decoration:underline}.content--media{position:relative}.content--media img,.content--media video{object-fit:cover;width:100%;height:100%;display:block}
