:root{--bg:#07080a;--ink:#f4efe6;--muted:#f4efe6a8;--faint:#f4efe624;--accent:#ff8a66;--glass:#090a0d99;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font:15px/1.45 var(--sans);margin:0;overflow:hidden}a{color:var(--ink);text-underline-offset:3px}button{font:inherit;color:inherit}#app{-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.backdrop{position:absolute;inset:0;overflow:hidden}.backdrop img,.backdrop video{object-fit:cover;filter:blur(30px)brightness(.5)saturate(1.1);width:112%;height:112%;position:absolute;inset:-6%}.backdrop video{visibility:hidden}.backdrop video.on{visibility:visible}.frame{aspect-ratio:var(--aspect);width:min(100vw, calc(100dvh * var(--ratio)));background:#000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 90px #0000008c}.layer{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.loop,.film{visibility:hidden}.loop.on,.film.on{visibility:visible}.overlay{position:absolute;inset:0}.in-film .overlay,.hotspots[hidden]{display:none}.hotspot .outline{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hotspot path{fill:#0000;stroke:#0000;stroke-width:2.2px;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}.hotspot.lit path{fill:#ffffff1a;stroke:#fffffff2;filter:drop-shadow(0 0 5px #ffffff8c)}.hotspot path.hit,.hotspot.lit path.hit{fill:#0000;stroke:#0000;stroke-width:44px;stroke-linejoin:round;filter:none}.label{z-index:2;text-align:left;cursor:pointer;border:1px solid var(--faint);background:var(--glass);-webkit-backdrop-filter:blur(8px);opacity:0;border-radius:12px;gap:1px;max-width:min(240px,42%);padding:6px 11px 7px;transition:opacity .16s;display:grid;position:absolute;transform:translate(-50%,-50%)}.labels-on .label,.hotspot.lit .label,.label:focus-visible{opacity:1}.label:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.label .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.next .label .eyebrow{color:var(--accent)}.label .action{font-size:14px;font-weight:600;line-height:1.25}.label .hint{color:var(--muted);font-size:12px;display:none}.hotspot.lit .label .hint{display:block}.bar{z-index:5;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;left:0;right:0}.bar>*{pointer-events:auto}.bar.top{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 28px max(16px, env(safe-area-inset-left));background:linear-gradient(#0000008c,#0000);justify-content:space-between;top:0}.bar.bottom{padding:24px max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:linear-gradient(#0000,#00000080);justify-content:center;bottom:0}.where{min-width:0;display:grid}.where .world-title,.where .place{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.where .world-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.where .place{font-family:var(--serif);font-size:19px}.buttons{flex-shrink:0;align-items:center;gap:4px;display:flex}.icon-button{cursor:pointer;width:38px;height:38px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button:hover,.icon-button:focus-visible{background:#ffffff1a}.icon-button svg{width:21px;height:21px}.icon-button.text{letter-spacing:.04em;border-radius:19px;width:auto;padding:0 9px;font-size:12px;font-weight:600}.music-control{align-items:center;display:flex;position:relative}.music-control .volume{width:110px;accent-color:var(--accent);display:none}.music-control.open .volume{display:block}.pill{border:1px solid var(--faint);cursor:pointer;background:var(--glass);-webkit-backdrop-filter:blur(8px);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:9px 16px;font-size:14px;overflow:hidden}.pill:hover,.pill:focus-visible{border-color:#fff6}.pill.primary{background:var(--ink);color:#111;border-color:var(--ink);font-weight:600}.pill.primary:hover{background:#fff}.pill.big{padding:13px 34px;font-size:16px}.pill[hidden]{display:none}.caption{max-width:min(460px,100%);font-family:var(--serif);color:var(--muted);text-shadow:0 1px 12px #000;margin:6px 0 0;font-size:16px;font-style:italic}.caption[hidden]{display:none}.subtitle{z-index:4;left:50%;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 62px);background:#0000009e;border-radius:14px;align-items:center;gap:10px;width:max-content;max-width:min(92vw,780px);padding:9px 16px;font-size:17px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%)}.subtitle[hidden]{display:none}.subtitle .who{flex-shrink:0;align-items:center;gap:8px;display:flex}.subtitle .avatar{object-fit:cover;border-radius:50%;width:30px;height:30px}.subtitle .name{color:var(--accent);font-weight:600}.panel{z-index:10;background:#0000008c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.panel[hidden]{display:none}.panel-card{border:1px solid var(--faint);-webkit-user-select:text;user-select:text;background:#111317f0;border-radius:18px;width:min(460px,100%);max-height:82dvh;padding:22px 22px 18px;overflow:auto}.panel-card h2{font:400 24px/1.2 var(--serif);margin:0 0 10px}.panel-card p{color:var(--muted);margin:0 0 12px}.panel-card .lede{color:var(--ink)}.small{font-size:12.5px}.places{counter-reset:place;gap:2px;margin:0;padding:0;list-style:none;display:grid}.place-link{text-align:left;cursor:pointer;counter-increment:place;background:0 0;border:0;border-radius:10px;grid-template-columns:26px 1fr;column-gap:8px;width:100%;padding:8px 10px;display:grid}.place-link:before{content:counter(place);color:var(--muted);grid-row:span 2;padding-top:2px;font-size:12px}.place-link .chapter{color:var(--muted);font-size:12px}.place-link:hover{background:#ffffff0f}.place-link.visited .title:after{content:" ✓";color:var(--muted);font-size:12px}.place-link.current{background:#ff8a6624}.begin{z-index:20;background:#000 50%/cover no-repeat;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.begin:before{content:"";background:radial-gradient(#00000059,#000c);position:absolute;inset:0}.begin-card{text-align:center;max-width:560px;position:relative}.begin-card .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.begin-card h1{font:400 clamp(36px, 7vw, 64px)/1.05 var(--serif);text-shadow:0 2px 30px #0009;margin:0 0 12px}.begin-card .lede{color:var(--ink);text-shadow:0 1px 16px #000;margin:0 0 26px;font-size:18px}.begin-card .small{color:var(--muted);margin-top:16px}.begin.error .begin-card{border:1px solid var(--faint);background:#111317f0;border-radius:18px;padding:24px}.ending{z-index:8;background:radial-gradient(#00000059,#000000d1);place-items:center;padding:20px;animation:.7s both ending-in;display:grid;position:absolute;inset:0}.ending[hidden]{display:none}.ending[data-kind=death]{background:radial-gradient(#28000066,#080000e6)}.ending-card{text-align:center;max-width:520px}.ending-card .eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:12px}.ending[data-kind=death] .ending-card .eyebrow{color:#ff4d4d}.ending-card h2{font:400 clamp(32px, 6vw, 54px)/1.05 var(--serif);text-shadow:0 2px 30px #000000b3;margin:0 0 10px}.ending-card .lede{color:var(--muted);margin:0 0 24px;font-size:18px}.ending-card .choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@keyframes ending-in{0%{opacity:0}to{opacity:1}}.collection-pill,.draft-chip{letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.collection-pill{color:var(--accent);background:#ff8a662e;margin-right:4px}.collection-pill[hidden]{display:none}button.collection-pill{cursor:pointer;border:0;font-family:inherit}button.collection-pill:hover,button.collection-pill:focus-visible{background:#ff8a664d}.inspector{z-index:15;background:radial-gradient(#282a30f0,#050608f7);grid-template-rows:1fr auto;animation:.3s both ending-in;display:grid;position:absolute;inset:0}.inspector-stage{min-height:0;position:relative}.inspector-stage model-viewer{--poster-color:transparent;background:0 0;width:100%;height:100%}.inspector-state{color:var(--muted);pointer-events:none;place-items:center;margin:0;font-size:15px;display:grid;position:absolute;inset:0}.inspector-state[hidden]{display:none}.inspector-bar{padding:14px 16px max(16px, env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;display:flex}.inspector-name{font:400 22px/1.2 var(--serif)}.inspector-help{color:var(--muted);font-size:12.5px}.found-card{z-index:9;text-align:center;background:#111317f0;border:1px solid #ffd27866;border-radius:16px;width:min(380px,100vw - 32px);padding:16px 18px;animation:.4s both ending-in;position:absolute;top:18%;left:50%;transform:translate(-50%);box-shadow:0 12px 44px #0000008c}.found-card .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ffd278;margin:0 0 6px;font-size:11px}.found-name{font:400 24px/1.2 var(--serif);display:block}.found-left{color:var(--muted);margin:6px 0 12px;font-size:13.5px}.found-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.figure-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.figure-tile{border:1px solid var(--faint);width:100%;color:var(--ink);cursor:pointer;font:inherit;background:#ffffff0a;border-radius:12px;justify-items:center;gap:6px;padding:10px 8px;display:grid}.figure-tile:hover:not(:disabled),.figure-tile:focus-visible{border-color:#ffd27899}.figure-tile img{object-fit:contain;width:88px;height:88px}.figure-tile .figure-name{text-align:center;font-size:12.5px;line-height:1.25}.figure-tile.hidden-figure{cursor:default}.figure-tile.hidden-figure img{filter:brightness(0)opacity(.45)}.figure-tile.hidden-figure .figure-name{color:var(--muted)}.figure-unknown{width:88px;height:88px;font:400 40px var(--serif);color:var(--muted);place-items:center;display:grid}.draft-chip{color:#ffd278;border:1px dashed #ffd278b3;margin-right:6px}.toast{z-index:9;border:1px solid var(--faint);text-align:center;background:#111317eb;border-radius:14px;margin:0;padding:12px 20px;font-size:16px;font-weight:600;position:absolute;top:22%;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.toast[hidden]{display:none}.collectible .label .eyebrow{color:#ffd278}.begin-card .warning{color:#ff9a8a;letter-spacing:.02em;max-width:460px;margin:-12px auto 24px;font-size:13px}@media (width<=640px),(height<=480px){.bar.top{gap:6px}.where .world-title{font-size:10px}.where .place{font-size:16px}.where .chapter{display:none}.icon-button{width:32px;height:32px}.icon-button svg{width:19px;height:19px}.icon-button.text{padding:0 6px}.label{border-radius:9px;max-width:46%;padding:3px 7px 4px}.label .action{font-size:11.5px}.label .eyebrow{letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;overflow:hidden}.hotspot.lit .label .hint{display:none}.subtitle{padding:7px 12px;font-size:14.5px}.subtitle .avatar{width:24px;height:24px}.caption{font-size:14px}.pill{padding:8px 13px;font-size:13px}}@media (height<=480px){.bar.top{padding-bottom:12px}.bar.bottom{padding-top:10px}.subtitle{max-width:72vw;bottom:calc(max(8px, env(safe-area-inset-bottom)) + 48px);font-size:13.5px}.caption{display:none}}@media (prefers-reduced-motion:reduce){.label{transition:none}}.slow{z-index:9;border:1px solid var(--faint);text-align:center;background:#111317eb;border-radius:14px;align-items:center;gap:14px;max-width:calc(100% - 32px);margin:0;padding:11px 16px;font-size:14px;display:flex;position:absolute;bottom:92px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.slow[hidden]{display:none}.slow .spinner{border:1px solid #ffffff40;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:1s linear infinite slow-spin}.slow button{font:inherit;color:#ffd278;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600}.slow button[hidden]{display:none}@keyframes slow-spin{to{transform:rotate(360deg)}}.panel-card.map-card{width:min(920px,100%)}.map-close{float:right;z-index:2;color:#efe6d0b3;cursor:pointer;background:0 0;border:0;border-radius:50%;width:44px;height:44px;margin:-14px -14px 0 8px;font-size:28px;line-height:1;position:sticky;top:-10px}.map-close:hover,.map-close:focus-visible{color:#fff;background:#ffffff14}.trip{counter-reset:place;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.trip-stop{width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;counter-increment:place;background:0 0;border:1px solid #0000;border-radius:12px;gap:5px;padding:6px;display:grid}.trip-stop img{width:100%;aspect-ratio:var(--ratio);object-fit:cover;background:#000;border-radius:8px;display:block}.trip-stop .title{font-size:13px;line-height:1.25}.trip-stop .title:before{content:counter(place) " · ";color:var(--muted)}.trip-stop .chapter{color:var(--muted);font-size:11px}.trip-stop:hover{background:#ffffff0f}.trip-stop.visited .title:after{content:" ✓";color:var(--muted);font-size:12px}.trip-stop.current{background:#ff8a661a;border-color:#ff8a66b3}.trip.free .trip-stop .title:before{content:none}@media (width<=640px){.trip{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px}}.note-card{max-width:min(460px,100%)}.note-card .note-line{white-space:pre-wrap;margin:0 0 .7em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13.5px;line-height:1.55}.note-card.with-image{max-width:min(640px,100%);max-height:92%;overflow-y:auto}.note-card .note-image{background:#111;border-radius:4px;width:100%;height:auto;margin:0 0 12px;display:block}.note-card .note-figure{margin:0 0 14px}.note-card .note-figure figcaption{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4}.note-card h2,.video-card h2{font-family:var(--serif);margin:0 0 .5em;font-weight:500}.note-card .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:10.5px}.video-card{width:min(760px,100%)}.video-card video{background:#000;border-radius:10px;width:100%;max-height:62dvh;margin-bottom:12px;display:block}.note-close{margin-top:10px}.companion{z-index:30;background:#000;position:absolute;inset:0}.companion iframe{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.companion-close{z-index:2;position:absolute;top:14px;left:14px}.hotspot .projection{cursor:pointer;pointer-events:auto;transition:left 1.9s cubic-bezier(.45,.05,.25,1),bottom 1.9s cubic-bezier(.45,.05,.25,1),height 1.9s cubic-bezier(.45,.05,.25,1);position:absolute;transform:translate(-50%)}.hotspot .projection img{opacity:.72;filter:brightness(1.15)drop-shadow(0 0 6px #82fff5cc)drop-shadow(0 0 20px #50dcff8c);width:auto;height:100%;animation:5.5s step-end infinite projection-flicker;display:block;-webkit-mask-image:linear-gradient(#000 88%,#0000008c 97%,#00000040);mask-image:linear-gradient(#000 88%,#0000008c 97%,#00000040)}.hotspot.lit .projection img{opacity:.95;filter:brightness(1.25)drop-shadow(0 0 8px #82fff5)drop-shadow(0 0 28px #50dcffcc)}.projection-shadow{filter:blur(2px);background:radial-gradient(#0000008c 0%,#00000040 45%,#0000 72%);width:78%;height:7%;position:absolute;bottom:-3%;left:50%;transform:translate(-50%)}.projection-base{background:radial-gradient(#96fff58c 0%,#50dcff47 40%,#0000 70%);border-radius:50%;width:95%;height:6%;animation:3.1s ease-in-out infinite projection-base-pulse;position:absolute;bottom:-2.5%;left:50%;transform:translate(-50%);box-shadow:0 0 14px #6ef0ff73}@keyframes projection-base-pulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes projection-flicker{0%{opacity:.72}8%{opacity:.3}10%{opacity:.78}31%{opacity:.68}33%{opacity:.18}35%{opacity:.72}62%{opacity:.78}64%{opacity:.4}66%{opacity:.72}90%{opacity:.64}92%{opacity:.82}to{opacity:.72}}.dialogue-card{border-color:#82fff559;max-width:min(440px,100%);box-shadow:0 0 40px #50dcff1f}.dialogue-head{align-items:center;gap:10px;margin:0 0 12px;display:flex}.dialogue-avatar{object-fit:cover;object-position:top;background:#0b1a1c;border:1px solid #82fff580;border-radius:50%;width:40px;height:40px;box-shadow:0 0 12px #82fff566}.dialogue-name{letter-spacing:.4em;text-transform:uppercase;color:#8fe9e0;font-size:11px}.dialogue-card .dialogue-line{min-height:4.2em;font:400 18px/1.5 var(--serif);color:var(--ink);margin:0 0 14px}.folio{z-index:14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e0c14f0;border-left:1px solid #e7b56559;width:min(300px,84vw);padding:14px 14px 18px;animation:.35s folio-in;position:absolute;top:64px;bottom:0;right:0;overflow-y:auto}@keyframes folio-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.folio[hidden]{display:none}.folio-head{align-items:baseline;gap:10px;margin:0 0 12px;display:flex}.folio-head b{font:400 13px var(--serif);letter-spacing:.35em;text-transform:uppercase;color:#e7b565}.folio-head span{color:var(--muted);font-size:12px}.folio-briefing{width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#e7b5650f;border:1px solid #e7b56573;border-radius:8px;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 10px;padding:10px 12px;display:flex}.folio-briefing b{letter-spacing:.18em;text-transform:uppercase;color:#e7b565;font:600 11px/1.3 ui-monospace,IBM Plex Mono,Menlo,monospace}.folio-briefing span{color:var(--muted);font-size:11px}.folio-briefing:hover{box-shadow:0 0 18px #e7b56540}.folio-sub{color:var(--muted);margin:-4px 0 12px;font-size:12px;line-height:1.45}.folio-close{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:22px;line-height:1}.folio-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.folio-slot{aspect-ratio:3/4;cursor:default;color:var(--ink);background:#15101e;border:1px solid #ffffff1a;border-radius:8px;padding:0;position:relative;overflow:hidden}.folio-slot.have{cursor:pointer;border-color:#e7b56599}.folio-slot.have:hover{box-shadow:0 0 18px #e7b5654d}.folio-slot img{object-fit:cover;object-position:top;width:100%;height:100%}.folio-name{text-align:left;background:linear-gradient(#0000,#000000e0);padding:18px 8px 6px;font-size:11px;line-height:1.25;position:absolute;bottom:0;left:0;right:0}.folio-lock{color:#4a4160;justify-content:center;align-items:center;height:100%;font-size:26px;display:flex}.folio-note{color:var(--muted);margin:12px 0 6px;font-size:11px}.folio-reset{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.folio-badge{color:#1a1220;text-align:center;background:#e7b565;border-radius:99px;min-width:16px;height:16px;padding:0 4px;font:700 10px/16px sans-serif;position:absolute;top:-4px;right:-4px}.icon-button{position:relative}.icon-button.pulse{animation:.6s 3 folio-pulse}@keyframes folio-pulse{50%{filter:drop-shadow(0 0 8px #e7b565);transform:scale(1.3)}}.dialogue-card.mono .dialogue-line{white-space:pre-wrap;letter-spacing:.04em;font:400 14px/1.7 ui-monospace,SF Mono,Menlo,monospace}.dialogue-card.mono{border-color:#e7b56566;box-shadow:0 0 40px #e7b5651a}.dialogue-card.mono .dialogue-name{color:#e7b565}.copy-fallback{width:100%;color:var(--ink);resize:none;-webkit-user-select:text;user-select:text;background:#0e0c14;border:1px solid #ffffff26;border-radius:8px;margin:10px 0 0;padding:8px 10px;font:12px/1.5 ui-monospace,Menlo,monospace;display:block}.specimen{z-index:12;-webkit-backdrop-filter:blur(14px)saturate(1.3);pointer-events:none;background:linear-gradient(135deg,#1a18228c,#0a0a10b8);border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:12px;max-width:min(340px,80vw);padding:8px 18px 8px 8px;animation:.9s cubic-bezier(.16,1,.3,1) both specimen-in;display:flex;position:absolute;bottom:96px;left:22px;box-shadow:0 18px 50px #0000008c,inset 0 1px #ffffff1f}.specimen:before{content:"";opacity:0;border:1px solid #ff785ae6;border-radius:12px;animation:1.5s ease-out .1s both specimen-ring;position:absolute;inset:-1px}.specimen img{object-fit:cover;filter:saturate(.85)contrast(1.05);border-radius:7px;width:64px;height:44px}.specimen-words{flex-direction:column;gap:3px;min-width:0;display:flex}.specimen-eyebrow{font:500 10px var(--sans,sans-serif);letter-spacing:.28em;text-transform:uppercase;color:#ffffff8c}.specimen b{font:400 17px/1.2 var(--serif,Georgia, serif);color:#fff;letter-spacing:.01em}.specimen.last{padding:10px 22px 10px 10px}.specimen.last b{font-size:20px}.specimen.last img{width:84px;height:56px}.specimen.leaving{animation:.7s cubic-bezier(.5,0,.75,0) both specimen-out}@keyframes specimen-in{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.97)}to{opacity:1;filter:none;transform:none}}@keyframes specimen-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.18,1.5)}}@keyframes specimen-out{to{opacity:0;filter:blur(4px);transform:translate(60vw,-62vh)scale(.35)}}@media (prefers-reduced-motion:reduce){.specimen,.specimen:before,.specimen.leaving{animation-duration:10ms}}.overlay{z-index:10}.frame[data-look=film1979] .layer{filter:sepia(.38)saturate(.72)contrast(1.1)brightness(.97)blur(.3px);animation:.18s steps(2,end) infinite film-flicker}.frame[data-look=film1979]:before,.frame[data-look=film1979]:after{content:"";pointer-events:none;z-index:5;position:absolute;inset:0}.frame[data-look=film1979]:before{background:radial-gradient(#0000 52%,#1e0e0080 100%)}.frame[data-look=film1979]:after{opacity:.2;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 0.92  0 0 0 0 0.78  0 0 0 1.4 -0.2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px;animation:.5s steps(5,end) infinite film-grain}@keyframes film-grain{0%{background-position:0 0}20%{background-position:-37px 21px}40%{background-position:53px -44px}60%{background-position:-21px -63px}80%{background-position:71px 30px}to{background-position:0 0}}@keyframes film-flicker{0%{opacity:1}50%{opacity:.965}to{opacity:1}}@media (prefers-reduced-motion:reduce){.frame[data-look=film1979] .layer,.frame[data-look=film1979]:after{animation:none}}.enquiry-stamp,.enquiry-postmark{display:none}.enquiry{z-index:9500;-webkit-backdrop-filter:blur(6px);background:#14110d6b;justify-content:center;align-items:center;padding:20px;animation:.35s enq-in;display:flex;position:fixed;inset:0}@keyframes enq-in{0%{opacity:0}}.enquiry-card{color:#2a2420;text-align:left;background:#fbf8f2;width:min(32rem,100%);max-height:calc(100dvh - 40px);padding:3rem 2.8rem;position:relative;overflow:auto;box-shadow:0 40px 90px #1e1a1557}.enquiry-close{color:#8a8175;cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-size:30px;line-height:1;transition:color .3s;position:absolute;top:12px;right:14px}.enquiry-close:hover,.enquiry-close:focus-visible{color:#2a2420}.enquiry-eyebrow{text-align:center;letter-spacing:.24em;text-transform:uppercase;color:#8a8175;font:500 10.5px/1 Inter,Helvetica Neue,Arial,sans-serif;display:block}.enquiry-title{text-align:center;color:#2a2420;margin:.7rem 0 0;font:italic 500 1.6rem/1.2 Cormorant Garamond,Georgia,serif}.enquiry-sub{text-align:center;color:#8a8175;margin:.5rem 0 0;font:400 16px/1.5 Cormorant Garamond,Georgia,serif}.enquiry-field{margin-top:1.4rem}.enquiry-field label{letter-spacing:.14em;text-transform:uppercase;color:#8a8175;margin-bottom:.45rem;font:500 10px/1 Inter,Helvetica Neue,Arial,sans-serif;display:block}.enquiry-field input,.enquiry-field textarea{box-sizing:border-box;color:#2a2420;background:#f3ede1;border:1px solid #2a24201f;border-radius:0;width:100%;padding:.75rem .85rem;font:400 16px/1.4 Cormorant Garamond,Georgia,serif;transition:border-color .3s}.enquiry-field input:focus,.enquiry-field textarea:focus{border-color:#b8985a;outline:none}.enquiry-field input.bad{background:#f7ebd2;border-color:#b8985a}.enquiry-field textarea{resize:vertical;min-height:4.6rem}.enquiry-trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.enquiry-send{color:#fbf8f2;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:#2a2420;border:0;border-radius:0;width:100%;margin-top:1.6rem;padding:.95rem;font:500 11px/1 Inter,Helvetica Neue,Arial,sans-serif;transition:background .4s}.enquiry-send:hover,.enquiry-send:focus-visible{background:#b8985a}.enquiry-send:disabled{opacity:.5;cursor:default}.enquiry-state{text-align:center;color:#3a342c;padding:1.4rem 0 .6rem;font:400 17px/1.6 Cormorant Garamond,Georgia,serif}.enquiry-state[hidden],.enquiry-body[hidden]{display:none}.enquiry-lead{color:#2a2420;margin:0 0 .7rem;font-size:1.4rem;font-style:italic}@media (width<=560px){.enquiry-card{padding:2.6rem 1.4rem 2rem}.enquiry-field input,.enquiry-field textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){.enquiry{animation:none}}.enquiry-foot{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:#b3a995;margin:1.5rem 0 0;font:500 8px/1 Inter,Arial,sans-serif}.enquiry-foot:empty{display:none}.enquiry-note{text-align:center;color:#8e6a3a;min-height:1.2em;margin:.9rem 0 0;font:italic 15px/1.4 Cormorant Garamond,Georgia,serif}.enquiry-note:empty{min-height:0;margin:0}.enquiry-back{width:auto;min-width:11rem;margin-top:1.6rem;padding:.9rem 1.6rem}@media (width<=560px){.enquiry-card{padding-top:3.8rem}}.post-stage{z-index:2;cursor:pointer;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.post-msg{z-index:3;text-align:center;color:#fbf8f2;opacity:0;pointer-events:none;padding:0 22px;transition:opacity .7s,transform .7s;position:absolute;top:13%;left:0;right:0;transform:translateY(8px)}.post-msg.on{opacity:1;pointer-events:auto;transform:none}.post-msg h3{letter-spacing:.22em;text-transform:uppercase;color:#fbf8f2;margin:0;font:500 clamp(11px,2.6vmin,14px)/1.6 Inter,Helvetica Neue,Arial,sans-serif}.post-msg p{color:#efe6d0;max-width:28rem;margin:.9rem auto 0;font:italic 400 clamp(19px,3.4vmin,24px)/1.4 Cormorant Garamond,Georgia,serif}.post-msg .enquiry-send{color:#2a2420;background:#fbf8f2}.post-msg .enquiry-send:hover,.post-msg .enquiry-send:focus-visible{color:#fbf8f2;background:#b8985a}@media (prefers-reduced-motion:reduce){.post-msg{transition:none;transform:none}}.artist-about button.about-link{font:inherit;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;width:100%;font-size:12px}.portals{z-index:9400;-webkit-backdrop-filter:blur(5px);background:radial-gradient(at 50% 40%,#3c0c0c6b,#060505db 70%);justify-content:center;align-items:center;padding:18px;animation:.45s pt-in;display:flex;position:fixed;inset:0}@keyframes pt-in{0%{opacity:0}}.portals-card{color:#efe6d0;text-align:center;background:linear-gradient(#14110d,#0d0b09);border:1px solid #efe6d029;width:min(30rem,100%);max-height:calc(100dvh - 36px);padding:2.6rem 2rem 1.6rem;position:relative;overflow:auto;box-shadow:0 30px 80px #000000b3,inset 0 0 0 4px #0d0b09,inset 0 0 0 5px #cf3a2c38}.portals-close{color:#efe6d0b3;cursor:pointer;background:0 0;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;top:8px;right:10px}.portals-close:hover,.portals-close:focus-visible{color:#fff;background:#ffffff14}.portals-eyebrow{letter-spacing:.5em;text-transform:uppercase;color:#cf3a2c;padding-left:.5em;font:11px/1 Special Elite,Georgia,monospace;display:block}.portals-title{color:#efe6d0;margin:1rem 0 0;font:italic 400 26px/1.2 Georgia,serif}.portals-sub{color:#efe6d08c;margin:.5rem 0 0;font:italic 400 16px/1.4 Georgia,serif}.portals-sub:empty{display:none}.portals-list{text-align:left;margin:1.6rem 0 .2rem;padding:0;list-style:none}.portals-list li{border-top:1px solid #efe6d01f}.portals-list li:last-child{border-bottom:1px solid #efe6d01f}.portal{color:inherit;align-items:center;gap:18px;padding:16px 6px;text-decoration:none;transition:background .35s;display:flex;position:relative}.portal-ring{background:radial-gradient(circle,#000000e6 0 38%,#cf3a2c00 62%);border:1px solid #efe6d052;border-radius:50%;flex:none;width:46px;height:46px;transition:border-color .5s,box-shadow .5s,transform .6s cubic-bezier(.2,.8,.2,1);position:relative}.portal-ring:before{content:"";opacity:0;background:conic-gradient(#cf3a2c00,#cf3a2cd9,#efe6d0e6,#78aac899,#cf3a2c00);border-radius:50%;transition:opacity .5s;position:absolute;inset:-5px;-webkit-mask:radial-gradient(circle,#0000 0 62%,#000 64% 72%,#0000 74%);mask:radial-gradient(circle,#0000 0 62%,#000 64% 72%,#0000 74%)}.portal-ring:after{content:"";background:#efe6d080;border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;transition:transform .6s,background .5s,box-shadow .5s;position:absolute;top:50%;left:50%}.portal-text{flex:1;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 12px;min-width:0;display:grid}.portal-num{letter-spacing:.2em;color:#cf3a2c;font:11px/1 Special Elite,Georgia,monospace}.portal-name{letter-spacing:.26em;text-transform:uppercase;color:#efe6d0;font-size:14px}.portal-line{color:#efe6d094;grid-column:2;font:italic 400 15px/1.35 Georgia,serif;transition:color .4s}.portal-go{color:#efe6d073;opacity:.6;flex:none;font-size:18px;transition:transform .35s,color .35s,opacity .35s;transform:translate(-4px,4px)}a.portal:hover,a.portal:focus-visible{background:linear-gradient(90deg,#cf3a2c17,#0000 70%);outline:none}a.portal:hover .portal-ring,a.portal:focus-visible .portal-ring{border-color:#efe6d0b3;transform:scale(1.06);box-shadow:0 0 22px #cf3a2c73,inset 0 0 14px #cf3a2c59}a.portal:hover .portal-ring:before,a.portal:focus-visible .portal-ring:before{opacity:1;animation:5s linear infinite pt-spin}a.portal:hover .portal-ring:after,a.portal:focus-visible .portal-ring:after{background:#fff;transform:scale(1.6);box-shadow:0 0 10px 3px #efe6d099}a.portal:hover .portal-line,a.portal:focus-visible .portal-line{color:#efe6d0e6}a.portal:hover .portal-go,a.portal:focus-visible .portal-go{color:#efe6d0;opacity:1;transform:none}@keyframes pt-spin{to{transform:rotate(360deg)}}.portal-off{cursor:default}.portal-off .portal-ring{border-style:dashed;border-color:#efe6d033;animation:4.5s ease-in-out infinite pt-breathe}.portal-off .portal-name{color:#efe6d080;letter-spacing:.4em}.portal-off .portal-num{color:#cf3a2c8c}.portal-off .portal-line{color:#efe6d057}@keyframes pt-breathe{50%{opacity:.45;transform:scale(.94)}}@media (width<=520px){.portals-card{padding:2.4rem 1.1rem 1.2rem}.portal{gap:14px;padding:14px 2px}.portal-ring{width:40px;height:40px}.portal-name{letter-spacing:.2em;font-size:13px}}@media (prefers-reduced-motion:reduce){.portals,.portal-off .portal-ring,a.portal:hover .portal-ring:before,a.portal:focus-visible .portal-ring:before{animation:none}}.begin-ring{pointer-events:none;opacity:0;mix-blend-mode:screen;filter:blur(1.5px);border:2px solid #ff463200;border-radius:50%;position:absolute}.begin.hot .begin-ring{animation:3s ease-in-out infinite begin-ring}@keyframes begin-ring{0%,to{opacity:.1;border-color:#ff463226;box-shadow:0 0 14px #ff3c281a}50%{opacity:.75;border-color:#ff5a4680;box-shadow:0 0 34px 3px #ff3c2847}}.begin-badge{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;pointer-events:none;border:1px solid #ffffff38;border-radius:999px;padding:5px 9px;font-size:10px;position:absolute}.begin-peek{pointer-events:none;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.begin.crossing{pointer-events:none;transform-origin:var(--cross-x,50%) var(--cross-y,55%);animation:1.3s cubic-bezier(.4,0,.2,1) forwards begin-cross}.begin.crossing .begin-card{opacity:0;transition:opacity .45s,transform .6s;transform:translateY(-10px)}.begin.crossing .begin-ring{animation:1.1s ease-out forwards begin-flare}.begin.crossing .begin-peek{opacity:0;transition:opacity .3s}@keyframes begin-cross{0%{opacity:1;filter:brightness();transform:scale(1)}45%{opacity:1;filter:brightness(.85)}to{opacity:0;filter:brightness(.6);transform:scale(1.09)}}@keyframes begin-flare{0%{opacity:.3}35%{opacity:1;box-shadow:0 0 80px 14px #ff46328c}to{opacity:0;box-shadow:0 0 120px 30px #ff463200}}@media (prefers-reduced-motion:reduce){.begin.crossing{animation:.3s forwards begin-fade;transform:none}.begin.hot .begin-ring{opacity:.5;animation:none}.begin.crossing .begin-ring{animation:none}@keyframes begin-fade{to{opacity:0}}}.arcade-list{gap:8px;display:grid}.arcade-row{text-align:left;color:var(--ink);cursor:default;font:inherit;background:#15101e;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:56px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}.arcade-row.have{cursor:pointer;border-color:#e7b5658c}.arcade-row.have:hover,.arcade-row.have:focus-visible{box-shadow:0 0 18px #e7b56547}.arcade-row b{font:400 15px/1.2 var(--serif);letter-spacing:.02em}.arcade-row span{color:var(--muted);font-size:12px;line-height:1.4}.arcade-row .arcade-lock{font:400 15px/1.2 var(--serif);color:#5b5275}.arcade-text{gap:3px;min-width:0;display:grid}.arcade-thumb{width:56px;height:56px;font:400 20px/1 var(--serif);color:#3d3556;background:#0c0813;border:1px solid #ffffff14;border-radius:8px;place-items:center;font-style:normal;display:grid;position:relative;overflow:hidden}.arcade-row.have .arcade-thumb{border-color:#e7b5658c;width:64px;height:64px;box-shadow:0 0 0 1px #e7b56540,0 0 16px #e7b56547}.arcade-row.have{grid-template-columns:64px 1fr}.arcade-thumb img{object-fit:cover;filter:saturate(1.45)contrast(1.1)brightness(1.05);width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.arcade-row.have:hover .arcade-thumb img,.arcade-row.have:focus-visible .arcade-thumb img{transform:scale(1.14)}.arcade-row.have .arcade-thumb:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 38%,#fff4d661 50%,#0000 62%);animation:7s ease-in-out infinite arcade-sheen;position:absolute;inset:0;transform:translate(-120%)}.arcade-row.have:nth-child(2n) .arcade-thumb:after{animation-delay:1.6s}.arcade-row.have:nth-child(3n) .arcade-thumb:after{animation-delay:3.2s}@keyframes arcade-sheen{0%,55%{transform:translate(-120%)}80%,to{transform:translate(120%)}}.arcade-row[data-id=infinite] .arcade-thumb img{animation:9s ease-in-out infinite alternate arcade-hue,12s ease-in-out infinite alternate arcade-drift}@keyframes arcade-hue{0%{filter:saturate(1.5)contrast(1.1)hue-rotate(-30deg)}to{filter:saturate(1.7)contrast(1.1)hue-rotate(40deg)}}@keyframes arcade-drift{0%{transform:scale(1.12)translate(-4%,2%)}to{transform:scale(1.3)translate(4%,-3%)}}.arcade-row[data-id=oracle-door] .arcade-thumb img{animation:3.4s ease-in-out infinite arcade-eye}@keyframes arcade-eye{0%,to{filter:saturate(1.2)brightness()drop-shadow(0 0 #ffd24a00)}50%{filter:saturate(1.5)brightness(1.3)drop-shadow(0 0 6px #ffd24ae6)}}.arcade-row[data-id=switches] .arcade-thumb img,.arcade-row[data-id=scratch] .arcade-thumb img,.arcade-row[data-id=canister] .arcade-thumb img{animation:14s ease-in-out infinite alternate arcade-zoom}@keyframes arcade-zoom{0%{transform:scale(1.02)}to{transform:scale(1.16)translate(-2%,1%)}}.arcade-row[data-id=canister] .arcade-thumb img{filter:sepia(.55)saturate(2)brightness(1.12)contrast(1.15)}.arcade-row[data-id=canister] .arcade-thumb:before{content:"";z-index:1;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle,#ffe0968c,#0000 62%);animation:3.6s ease-in-out infinite arcade-glow;position:absolute;inset:0}@keyframes arcade-glow{0%,to{opacity:.2}50%{opacity:1}}.arcade-row[data-id=scratch] .arcade-thumb img{filter:saturate(1.2)contrast(1.25)brightness(1.15)}.arcade-row[data-id=scratch] .arcade-thumb:before{content:"";z-index:1;pointer-events:none;border:2px solid #ff4a3a;border-radius:50%;width:15px;height:15px;animation:2.4s ease-in-out infinite arcade-ring;position:absolute;top:7px;right:7px;box-shadow:0 0 9px #ff4a3a,inset 0 0 6px #ff4a3a99}@keyframes arcade-ring{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.arcade-thumb:before,.arcade-thumb img,.arcade-row.have .arcade-thumb:after{animation:none!important}}.arcade-thumb.gold{background:radial-gradient(circle,#ffe9a8 0 7%,#e7b565 8% 17%,#6d4a1a 18% 36%,#1a1020 37%)}
