@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #1b120e;--bg-deep: #120b08;--paper: #1b120e;--paper-deep: #251a14;--ink: #f2e9dc;--ink-soft: rgba(242, 233, 220, .58);--walnut: #6a4630;--accent: #ff2d95;--hairline: rgba(242, 233, 220, .2);--serif: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--shadow: 0 18px 50px -22px rgba(0, 0, 0, .7);--stage-rgb: 20, 16, 15;--detail-accent: #f2e9dc}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{position:fixed;inset:0}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene.dragging{cursor:grabbing}#scene.inspecting{cursor:default}.ui-layer{position:absolute;inset:0;pointer-events:none;transition:opacity .5s ease;user-select:none}.detail{user-select:text}.ui-layer>*{pointer-events:auto}.hidden{opacity:0;pointer-events:none!important}.hidden>*{pointer-events:none!important}#browse-ui:before{content:"";position:absolute;left:0;bottom:0;width:min(58vw,720px);height:min(64vh,580px);background:radial-gradient(120% 105% at 0% 100%,rgba(var(--stage-rgb),.94),rgba(var(--stage-rgb),.9) 30%,rgba(var(--stage-rgb),.72) 46%,rgba(var(--stage-rgb),.4) 60%,rgba(var(--stage-rgb),0) 76%);pointer-events:none;transition:background .6s ease}.site-header{position:absolute;top:clamp(20px,4vh,38px);left:clamp(24px,4vw,60px);display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-transform:uppercase;color:var(--ink);pointer-events:none;z-index:3}.site-header .sh-title{font-size:14px;font-weight:600;letter-spacing:.26em}.site-header .sh-line{display:flex;align-items:center;gap:12px}.site-header .sh-star{font-size:9px;color:var(--accent);transform:translateY(-1px)}.site-header .sh-sub{color:var(--ink-soft);font-size:10.5px;letter-spacing:.22em;font-variant-numeric:tabular-nums}.now-showing{position:absolute;left:clamp(24px,4vw,60px);bottom:clamp(64px,12vh,118px);display:flex;flex-direction:column;text-align:left;max-width:min(74vw,480px);pointer-events:none}.ns-meta{order:-1;margin-bottom:.9em;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-variant-numeric:tabular-nums}.ns-title{font-size:clamp(34px,5.6vw,76px);font-weight:760;font-optical-sizing:auto;letter-spacing:-.015em;line-height:.98;text-wrap:balance}.ns-title.long{font-size:clamp(26px,3.8vw,54px)}.ns-author{margin-top:.5em;font-size:clamp(15px,1.5vw,19px);font-style:italic;color:var(--accent)}.markers{position:absolute;left:50%;bottom:clamp(20px,4vh,34px);transform:translate(-50%);display:flex;align-items:center;gap:6px;max-width:min(90vw,780px);overflow-x:auto;padding:8px 4px;scrollbar-width:none;scroll-behavior:smooth}.markers::-webkit-scrollbar{display:none}.marker{flex:0 0 auto;width:7px;height:7px;padding:0;border:none;transform:rotate(45deg) scale(.72);background:#f2e9dc42;cursor:pointer;transition:background .2s ease,transform .2s ease}.marker:hover{background:#f2e9dc99;transform:rotate(45deg) scale(1)}.marker.active{background:var(--accent);transform:rotate(45deg) scale(1.25)}.close-btn{position:absolute;top:clamp(20px,4vh,34px);right:clamp(20px,4vw,40px);font-family:var(--serif);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--detail-accent);background:rgba(var(--stage-rgb),.4);border:1px solid color-mix(in srgb,var(--detail-accent) 45%,transparent);border-radius:999px;padding:11px 20px;cursor:pointer;backdrop-filter:blur(6px)}.close-btn:hover{background:rgba(var(--stage-rgb),.7)}.detail{position:absolute;top:50%;right:clamp(24px,5vw,72px);transform:translateY(-50%);width:min(38vw,400px);max-height:84vh;overflow-y:auto;pointer-events:auto}.detail-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--detail-accent);margin-bottom:.9em}.detail-title{font-size:clamp(26px,3vw,42px);font-weight:600;line-height:1.04;margin:0 0 .25em;color:var(--detail-accent);text-wrap:balance}.detail-author{font-style:italic;font-size:clamp(15px,1.6vw,19px);color:color-mix(in srgb,var(--detail-accent) 72%,transparent)}.detail-stars{margin-top:1em;font-size:20px;letter-spacing:.16em;color:var(--detail-accent)}.detail-dates{margin-top:.5em;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--detail-accent) 66%,transparent)}.detail-rule{height:1px;background:color-mix(in srgb,var(--detail-accent) 34%,transparent);margin:1.4em 0}.detail-review{font-size:clamp(15px,1.5vw,17px);line-height:1.62;color:color-mix(in srgb,var(--detail-accent) 90%,white 10%);white-space:pre-wrap}.detail-review:first-letter{float:left;font-size:3.4em;line-height:.82;padding:.04em .12em 0 0;font-weight:600;color:var(--detail-accent)}.detail-review:empty:after{content:"No written review for this one.";font-style:italic;color:color-mix(in srgb,var(--detail-accent) 60%,transparent)}.inspect-hint{position:absolute;left:50%;bottom:clamp(26px,5vh,44px);transform:translate(-50%);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--detail-accent) 55%,transparent);pointer-events:none}.kh{width:.95em;height:.95em;display:inline-block;vertical-align:-.12em;margin-right:.22em}@media (prefers-reduced-motion: no-preference){.detail.reveal .detail-title .w{display:inline-block;opacity:0;transform:translateY(.35em);animation:word-up .55s cubic-bezier(.2,.7,.2,1) forwards}.detail.reveal .detail-kicker,.detail.reveal .detail-author,.detail.reveal .detail-stars,.detail.reveal .detail-dates,.detail.reveal .detail-rule,.detail.reveal .detail-review{opacity:0;animation:fade-up .6s ease forwards}.detail.reveal .detail-kicker{animation-delay:.04s}.detail.reveal .detail-author{animation-delay:.5s}.detail.reveal .detail-stars{animation-delay:.62s}.detail.reveal .detail-dates{animation-delay:.7s}.detail.reveal .detail-rule{animation-delay:.78s}.detail.reveal .detail-review{animation-delay:.88s}}@keyframes word-up{to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-style:italic;font-size:16px;color:var(--ink-soft);transition:opacity .6s ease}.status.gone{opacity:0;pointer-events:none}.status.error{font-style:normal;color:#8a3b2b;max-width:60vw;text-align:center}@media (max-width: 720px){.detail{inset:auto 0 0;width:100%;max-height:46vh;transform:none;padding:20px 22px 28px;background:linear-gradient(to top,rgb(var(--stage-rgb)) 72%,rgba(var(--stage-rgb),0))}.now-showing{max-width:82vw;bottom:clamp(96px,16vh,150px)}.ns-title{font-size:clamp(26px,7vw,40px)}.site-header{flex-direction:column;align-items:flex-start;gap:4px}.inspect-hint{display:none}.detail-title{font-size:clamp(22px,6vw,28px)}body:has(#inspect-ui:not(.hidden)) .site-header{opacity:0}}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2) format("woff2"),url(/assets/dm-serif-display-latin-ext-400-normal-B1toqZab.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2) format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/bitter-cyrillic-ext-wght-normal-sLcV1o1_.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/bitter-cyrillic-wght-normal-7PAZDwbd.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/bitter-vietnamese-wght-normal-Bb7JIhFz.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/bitter-latin-ext-wght-normal-BaDBgC7F.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/bitter-latin-wght-normal-C8X_T8j_.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
