:root{--room: #0b0908;--ink: #ddd3c2;--muted: #92887a;--line: #2b2520;--panel: rgba(20, 16, 13, .82);--paper: #e2d2b1;--pencil: #4c4236;--red: #b4321f;--lamp: 255, 206, 140;--type: "Special Elite", "Courier New", ui-monospace, monospace;--hand: "Reenie Beanie", "Bradley Hand", cursive;--old: "IM Fell English", Georgia, serif;--sans: "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--room);color:var(--ink);font-family:var(--type);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 62% 58% at 50% 40%,rgba(var(--lamp),.16),rgba(var(--lamp),.05) 55%,transparent 78%);animation:lamp 11s linear infinite}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background:radial-gradient(ellipse 85% 80% at 50% 42%,transparent 55%,rgba(0,0,0,.55) 85%,rgba(0,0,0,.85))}@keyframes lamp{0%,38%{opacity:1}39%{opacity:.72}40%{opacity:1}41%{opacity:.85}42%,77%{opacity:1}78%{opacity:.6}79.5%{opacity:.92}81%{opacity:.7}82%,to{opacity:1}}.page{position:relative;z-index:1;min-height:100svh;max-width:1040px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:center;justify-content:center}.eyebrow{font-family:var(--type);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);min-height:40px;display:flex;align-items:center;margin-bottom:14px}.eyebrow--glitch{color:#c9b9a3;text-shadow:1px 0 rgba(180,50,31,.7),-1px 0 rgba(120,170,200,.4);transform:translate(1px) skew(-4deg)}.pile{position:relative;width:min(100%,1180px,calc((100svh - 262px)*1.333));min-width:min(100%,320px);touch-action:pan-y;filter:drop-shadow(0 18px 26px rgba(0,0,0,.7)) drop-shadow(0 2px 3px rgba(0,0,0,.6))}.pile:before,.pile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper);filter:brightness(.42) sepia(.4)}.pile:before{transform:rotate(-2.6deg) translate(-8px,8px)}.pile:after{transform:rotate(1.8deg) translate(6px,5px);filter:brightness(.55) sepia(.4)}.pile--last:before{display:none}.pile--last:after{transform:rotate(.8deg) translate(3px,3px)}.print{position:relative;z-index:1;margin:0;width:100%;padding:clamp(8px,1.6vw,16px) clamp(8px,1.6vw,16px) 0;background:radial-gradient(circle at 12% 88%,rgba(120,72,25,.38),transparent 7%),radial-gradient(circle at 15% 92%,rgba(120,72,25,.25),transparent 4%),radial-gradient(circle at 86% 7%,rgba(120,72,25,.32),transparent 6%),radial-gradient(circle at 4% 30%,rgba(110,66,22,.22),transparent 8%),radial-gradient(circle at 93% 90%,rgba(110,66,22,.28),transparent 15%),radial-gradient(ellipse 30% 18% at 70% 97%,transparent 58%,rgba(110,70,28,.32) 64%,transparent 72%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0 0.2 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"),var(--paper);box-shadow:inset 0 0 50px #5a37148c,inset 0 0 8px #50321473;clip-path:polygon(0 0,100% 0,100% 93%,98.6% 94.5%,99.2% 96%,97.4% 97.2%,97.9% 98.6%,95.8% 100%,0 100%)}.print:before{content:"";position:absolute;z-index:4;top:2px;left:50%;width:104px;height:30px;transform:translate(-50%) rotate(-3deg);background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 12%,transparent 88%,rgba(0,0,0,.08)),#e2d09eb8;box-shadow:0 1px 3px #00000059;clip-path:polygon(3% 0,97% 4%,100% 30%,97% 60%,99% 100%,2% 96%,0 70%,3% 40%)}.print--v1:before{left:8%;transform:rotate(-38deg);top:4px}.print--v2:before{left:auto;right:4%;transform:rotate(32deg);top:6px}.photo{position:relative;width:100%;overflow:hidden;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none;background:#1a1612;animation:settle .9s ease both}.photo--dark{background:#050404}.photo:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.photo__base,.photo__canvas,.photo__grain{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.photo__base{pointer-events:none}.photo__grain{pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.photo__error{position:absolute;inset:auto 0 0 0;margin:0;padding:10px;font-size:12px;color:var(--ink);background:#0b0908d9;text-align:center}.ink__marks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.ink__circle{fill:none;stroke:var(--red);stroke-width:.45;stroke-linecap:round;stroke-dasharray:1.08 1;stroke-dashoffset:1.08;opacity:.9;animation:ink .7s ease-out forwards}@keyframes ink{to{stroke-dashoffset:0}}.ink__count{position:absolute;right:10px;bottom:4px;font-family:var(--hand);font-size:28px;line-height:1;color:#d0503a;pointer-events:none}.photo--sequence{cursor:pointer}.sequence__frame{opacity:0}.sequence__white{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffdf7;opacity:0;pointer-events:none}.photo--candle{cursor:pointer}.candle__stack{position:absolute;top:0;right:0;bottom:0;left:0}.candle__ghost{opacity:0;transition:opacity .12s linear}.candle__miss{position:absolute;left:50%;bottom:14%;transform:translate(-50%);font-family:var(--hand);font-size:clamp(24px,3.4vw,34px);color:#e8dcc6;text-shadow:0 0 10px rgba(0,0,0,.9);pointer-events:none;animation:miss .9s ease-out forwards}@keyframes miss{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}.photo--still{cursor:default}.still__stack{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 45%;will-change:transform}.still__hidden{opacity:0}.caption{font-family:var(--hand);font-size:clamp(24px,3vw,30px);line-height:1;color:var(--pencil);padding:8px 6px 10px;transform:rotate(-.6deg);animation:settle 1.4s ease both}@keyframes settle{0%{opacity:0}to{opacity:1}}.print--drag{transition:none;cursor:grabbing}.print:not(.print--drag){transition:transform .25s ease}.print--leave{position:absolute;inset:0 0 auto 0;z-index:2;pointer-events:none;animation:leave .65s cubic-bezier(.4,0,.7,.2) forwards}@keyframes leave{to{transform:translate(calc(var(--dir, -1) * 120%),-4%) rotate(calc(var(--dir, -1) * 14deg));opacity:.2}}.print--enter{animation:enter .6s ease-out both}@keyframes enter{0%{transform:translateY(6px) scale(.97) rotate(-.8deg);filter:brightness(.6)}}.below{margin-top:34px;width:min(100%,680px);text-align:center;display:grid;gap:14px}.story{min-height:3.2em}.narration{margin:0;font-family:var(--type);font-size:clamp(16px,2.1vw,19px);line-height:1.55;color:var(--ink);text-shadow:0 0 12px rgba(var(--lamp),.12)}.caret{display:inline-block;width:.55em;height:2px;margin-left:2px;vertical-align:-.05em;background:currentColor;animation:blink 1s steps(1) infinite}.caret--idle{opacity:.5}@keyframes blink{50%{opacity:0}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hint{margin:0;font-size:12px;letter-spacing:.04em;color:var(--muted)}.next,.open{justify-self:center;font-family:var(--type);font-size:15px;letter-spacing:.06em;color:var(--ink);background:none;border:0;border-bottom:1px solid rgba(221,211,194,.5);padding:8px 2px 4px;cursor:pointer;animation:settle .6s ease both;transition:color .2s,border-color .2s,text-shadow .2s}.next:hover,.open:hover{border-color:var(--ink);text-shadow:0 0 14px rgba(var(--lamp),.45)}.next:focus-visible,.open:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.swipe-hint{margin-top:-6px}.cover{margin:auto 0;max-width:36rem;display:grid;gap:28px;justify-items:center;text-align:center;padding:40px 0}.cover__title{margin:0;font-family:var(--old);font-weight:400;font-style:italic;font-size:clamp(38px,6.4vw,60px);line-height:1.05;color:#e6dccb;text-shadow:0 0 30px rgba(var(--lamp),.18),0 2px 0 rgba(0,0,0,.6)}.open{font-size:17px;opacity:.25;transition:opacity .8s ease;animation:none}.open--ready{opacity:1}.link{font:inherit;font-size:13px;color:var(--ink);background:none;border:0;padding:6px 2px;border-bottom:1px solid currentColor;cursor:pointer}.link:disabled{opacity:.4;cursor:default}.link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.small{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.link.small{color:var(--ink)}.warn{color:#c98a63}.privacy{margin-top:10px;max-width:38ch}.actions{display:flex;gap:22px;margin-top:4px}.status{margin:0;font-size:13px;display:inline-flex;align-items:center;gap:8px}.dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.dot--on{background:#a4b97e;box-shadow:0 0 6px #a4b97ecc}.meter{position:relative;width:140px;height:3px;background:var(--line);margin:6px 0 4px}.meter__fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--muted);transition:width 80ms linear}.meter__fill--on{background:#a4b97e}.meter__mark{position:absolute;top:-3px;width:1px;height:9px;background:var(--ink)}.debug{font-family:ui-monospace,monospace;font-size:11px}.topbar{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:5;display:flex;gap:8px;align-items:flex-start}.chip-wrap{position:relative}.chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;font:12px var(--type);letter-spacing:.04em;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:999px;cursor:pointer;white-space:nowrap}.chip--on{color:var(--ink)}.chip--warn{color:#c98a63}.chip svg{flex:none}.chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (max-width: 560px){.chip{width:40px;padding:0;justify-content:center;position:relative}.chip__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.chip .dot{position:absolute;top:7px;right:7px;margin:0}}.chip-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(270px,calc(100vw - 32px));display:grid;gap:8px;justify-items:start;padding:14px 16px;text-align:left;background:#15110e;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 34px -12px #000c}.chip-menu .meter{width:100%}.chip-menu .privacy{margin-top:2px}.music-toggle{display:grid;place-items:center;width:40px;height:40px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:50%;cursor:pointer}.music-toggle[aria-pressed=true]{color:var(--ink)}.music-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.credits{margin-top:40px;max-width:560px;font-size:11px;color:var(--muted);text-align:center}.credits summary{cursor:pointer;letter-spacing:.12em;text-transform:uppercase}.credits p{margin:8px 0 0;line-height:1.6;font-family:var(--sans)}.camframe{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:5;width:clamp(160px,calc((100vw - min(100vw - 32px,1180px,(100svh - 262px) * 1.333))/2 - 24px),340px);padding:8px 8px 30px;background:var(--paper);box-shadow:inset 0 0 14px #5a371473,0 10px 22px #000000b3;transform:rotate(2.5deg);pointer-events:none;transition:box-shadow .2s ease}.camframe__video{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transform:scaleX(-1);filter:grayscale(1) sepia(.45) contrast(1.15) brightness(1.05);background:#050404}.camframe__label{position:absolute;left:8px;bottom:1px;font-family:var(--hand);font-size:clamp(20px,2.2vw,28px);line-height:1;color:var(--pencil)}@media (max-width: 560px){.camframe{width:132px;padding:6px 6px 24px}}.camframe--lit{box-shadow:inset 0 0 14px #5a371473,0 0 0 2px rgba(var(--lamp),.9),0 0 28px rgba(var(--lamp),.55)}.dust{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.55}.lurker{position:fixed;z-index:2;top:30%;width:clamp(90px,14vw,170px);pointer-events:none;opacity:0;filter:blur(1.5px) brightness(.8);mix-blend-mode:screen}.lurker--left{left:-1%}.lurker--right{right:-1%;transform:scaleX(-1)}.lurker--show{animation:lurk .32s steps(4) forwards}@keyframes lurk{0%{opacity:0}25%{opacity:.55}50%{opacity:.15}75%{opacity:.45}to{opacity:0}}@media (max-width: 600px){.page{padding-top:max(12px,env(safe-area-inset-top))}.eyebrow{margin-bottom:12px;align-self:flex-start}.print{width:100%}}@media (prefers-reduced-motion: reduce){body:before{animation:none}.caption,.photo,.next{animation:none}.ink__circle{animation:none;stroke-dashoffset:0}.print--leave{animation-duration:.01s}.print--enter,.caret{animation:none}.dust,.lurker{display:none}}
