@font-face{font-family:Display;src:url('/public/display.ttf') format('truetype');font-display:swap}@font-face{font-family:Jost;src:url('/public/body.ttf') format('truetype');font-display:swap}@font-face{font-family:Jost;src:url('/public/body-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Accent;src:url('/public/accent.ttf') format('truetype');font-style:italic;font-display:swap}
:root{--ink:#111110;--paper:#f1f1ed;--yellow:#e3f509;--pad:clamp(22px,4.5vw,78px)}*{box-sizing:border-box}body{margin:0;background:var(--yellow);font-family:Jost,Arial,sans-serif;color:var(--ink)}[hidden]{display:none!important}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid currentColor;outline-offset:5px}.entry-header{display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:5;padding:20px var(--pad)}.entry-brand{display:block;width:106px;flex:none}.entry-brand img{display:block;width:100%;height:61px;object-fit:contain}.header-kicker{font-size:13px;margin-right:auto;letter-spacing:.3px}.skip-intro,.replay-intro{background:transparent;color:inherit;border:1px solid currentColor;padding:11px 17px;min-height:44px;font-size:13px}.intro{min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--yellow)}.intro-scene{flex:1;min-height:580px;position:relative;display:grid;place-items:center;padding:40px 24px 70px}.intro-copy{position:relative;z-index:3;text-align:center}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 22px}.intro h1{font-family:Display,Arial,sans-serif;font-size:clamp(57px,8.5vw,145px);font-weight:400;line-height:.98;letter-spacing:-3px;margin:0;transform:rotate(-3deg);animation:title-arrive .75s cubic-bezier(.2,.7,.2,1.15) both}.intro h1 span{display:inline-block;color:var(--paper);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:5px 6px 0 var(--ink)}.intro-line{font-size:20px;margin:30px 0 26px;animation:copy-arrive .6s .25s both}.intro-line em{font-family:Accent,Georgia,serif;font-size:1.25em}.enter-button{display:inline-flex;gap:38px;align-items:center;padding:18px 23px;min-height:60px;border:2px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font-size:15px;font-weight:700;box-shadow:6px 6px 0 var(--paper);transition:transform .2s,box-shadow .2s;animation:copy-arrive .6s .4s both}.enter-button:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--paper)}.enter-button span{font-size:22px}.press-enter{font-size:12px;margin:20px 0 0;animation:copy-arrive .6s .5s both}.intro-footer{display:flex;justify-content:space-between;gap:20px;padding:20px var(--pad);border-top:1px solid #1115;font-size:10px;font-weight:700;letter-spacing:1.3px}.format-float{position:absolute;display:flex;flex-direction:column;justify-content:space-between;border:2px solid var(--ink);background:var(--paper);box-shadow:7px 7px 0 var(--ink);z-index:1;padding:17px;color:var(--ink)}.format-float span{font-size:8px;font-weight:700;letter-spacing:1px}.format-float b{font-family:Accent,Georgia,serif;font-size:47px;font-style:italic;font-weight:400}.format-float i{font-size:9px;font-style:normal;font-weight:700;letter-spacing:1px}.portrait-float{width:140px;aspect-ratio:9/16;left:5%;top:18%;transform:rotate(-11deg);animation:portrait-float 8s ease-in-out infinite}.mini-play{width:40px;height:40px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:15px;position:absolute;right:15px;bottom:36px}.wide-float{width:205px;aspect-ratio:16/9;right:3.5%;top:3%;transform:rotate(9deg);animation:wide-float 9s ease-in-out infinite}.wide-float b{font-size:36px}.mini-timeline{height:11px;display:flex;gap:3px}.mini-timeline i{background:var(--ink);flex:1}.mini-timeline i:nth-child(2n){background:var(--yellow);border:1px solid var(--ink)}.play-pal{position:absolute;width:145px;right:9%;bottom:4%;z-index:2;transform:rotate(8deg)}.pal-body{transform-origin:50% 85%;animation:pal-rock 4s ease-in-out infinite}.handwritten-note{position:absolute;right:23%;bottom:7%;font-family:Accent,Georgia,serif;font-style:italic;font-size:19px;transform:rotate(-8deg);line-height:1.1}.scene-star{position:absolute;font-size:45px;font-weight:700}.star-one{left:22%;top:0;transform:rotate(10deg);animation:star-turn 18s linear infinite}.star-two{left:12%;bottom:7%;font-size:29px}.intro.leaving .intro-copy{animation:exit-copy .35s ease-in both}.intro.leaving .format-float{opacity:0;transition:opacity .25s}
.lobby{min-height:100svh;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;position:relative;overflow:hidden}.lobby::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.9%,#ffffff04 50%,transparent 50.1%),linear-gradient(transparent 49.9%,#ffffff04 50%,transparent 50.1%);background-size:80px 80px;opacity:.65}.lobby .entry-header{border-bottom:1px solid #f1f1ed20}.lobby-layout{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,7vw,120px);width:min(1260px,100%);margin:auto;padding:55px var(--pad) 65px;align-items:center;flex:1}.lobby-copy .eyebrow{color:var(--yellow)}.lobby h2{font-family:Display,Arial,sans-serif;font-size:clamp(40px,4.7vw,74px);font-weight:400;line-height:1.05;letter-spacing:-1.5px;margin:0}.lobby h2 span{color:var(--yellow)}.welcome-script{font-family:Accent,Georgia,serif;font-size:45px;font-style:italic;margin:22px 0 17px;transform:rotate(-4deg);color:var(--paper)}.lobby-description{font-size:19px;line-height:1.5;max-width:400px;color:#c2c2b7;margin:0 0 28px}.format-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:420px}.format-tags span{font-size:9px;letter-spacing:1px;border:1px solid #f1f1ed4d;padding:8px 10px;transform:rotate(-1deg)}.format-tags span:nth-child(2n){transform:rotate(2deg)}.lobby-aside{font-size:13px;margin-top:30px;color:#99998e}.pin-machine{background:var(--paper);color:var(--ink);padding:24px;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--yellow);transform:rotate(2deg);max-width:400px;width:100%;margin-inline:auto;transition:transform .25s;animation:machine-arrive .55s cubic-bezier(.2,.7,.2,1.12) backwards}.pin-machine:focus-within{transform:rotate(0deg)}.machine-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1113;padding-bottom:15px;font-size:10px;letter-spacing:1.3px;font-weight:700}.machine-light{width:8px;height:8px;background:var(--yellow);border:1px solid var(--ink);border-radius:50%;box-shadow:0 0 0 4px #e3f50944}.pin-machine form>label{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;margin:23px 0 12px}.pin-input-wrap{position:relative}.pin-input-wrap:focus-within{outline:3px solid var(--ink);outline-offset:5px}.pin-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.pin-slots>span{height:65px;border:1px solid #1118;display:grid;place-items:center;background:#e6e6df;transition:background .15s,transform .15s}.pin-slots>span i{width:8px;height:2px;background:#1115}.pin-slots>span.filled{background:var(--yellow);transform:translateY(-2px)}.pin-slots>span.filled i{width:11px;height:11px;border-radius:50%;background:var(--ink)}#pin{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:text;font-size:20px}.pin-status{font-size:12px;line-height:1.4;min-height:34px;margin:13px 0 12px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.keypad button{border:1px solid #1115;background:transparent;color:var(--ink);min-height:46px;font-size:20px;transition:background .12s,transform .12s}.keypad button:hover{background:var(--yellow)}.keypad button:active{transform:translateY(2px)}.keypad .key-utility{font-size:10px;font-weight:700;letter-spacing:.6px}.keypad #backspace-pin{font-size:23px}.keypad button:disabled{opacity:.4}.unlock-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:54px;background:var(--ink);color:var(--paper);padding:14px 17px;margin-top:14px;border:1px solid var(--ink);font-size:12px;font-weight:700;letter-spacing:.6px}.unlock-button span{font-size:22px}.unlock-button:disabled{background:#d7d7ce;color:#77776c;border-color:#c3c3b8}.machine-bottom{margin-top:20px;padding-top:13px;border-top:1px solid #1113;display:flex;gap:10px;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:.8px}.machine-bottom span:last-child{letter-spacing:2px}.lobby-footer{position:relative;padding:20px var(--pad);display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #f1f1ed20;font-size:12px}.lobby-footer a{color:var(--yellow);min-height:30px;display:inline-flex;align-items:center;text-underline-offset:5px}.lobby-footer>span{color:#99998e;font-size:11px}.pin-machine.wrong{animation:wrong-pin .35s ease-in-out}.lobby.entering .lobby-copy{animation:copy-arrive .5s .08s both}.unlock-scene{position:fixed;inset:0;background:var(--yellow);color:var(--ink);z-index:20;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;animation:unlock-in .2s both}.unlock-scene p{font-family:Display,Arial,sans-serif;font-size:clamp(55px,8vw,110px);line-height:1.05;margin:0 0 25px}.unlock-scene em{font-family:Accent,Georgia,serif;font-style:italic;font-weight:400;font-size:1.17em}.unlock-scene>span{font-size:10px;font-weight:700;letter-spacing:2px}.unlock-line{position:absolute;left:0;right:0;top:0;height:8px;background:var(--ink);transform-origin:left;animation:unlock-progress .6s ease-in-out both}
@keyframes title-arrive{from{opacity:0;transform:translateY(35px) rotate(3deg) scale(.95)}to{opacity:1;transform:translateY(0) rotate(-3deg) scale(1)}}@keyframes copy-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-float{0%,100%{transform:rotate(-11deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-14px)}}@keyframes wide-float{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(5deg) translateY(12px)}}@keyframes pal-rock{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}@keyframes star-turn{to{transform:rotate(370deg)}}@keyframes exit-copy{to{transform:translateY(-40px) rotate(-3deg);opacity:0}}@keyframes machine-arrive{from{opacity:0;transform:translateY(25px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(2deg)}}@keyframes wrong-pin{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@keyframes unlock-in{from{opacity:0}to{opacity:1}}@keyframes unlock-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1050px){.portrait-float{left:1%;width:110px;top:22%}.wide-float{width:155px;right:2%;top:1%}.format-float b{font-size:37px}.format-float span{font-size:7px}.play-pal{right:7%;width:112px;bottom:2%}.handwritten-note{right:21%;font-size:16px;bottom:4%}.lobby-layout{gap:35px}.pin-machine{padding:21px}.lobby h2{font-size:47px}.lobby-description{font-size:18px}.format-tags span{font-size:8px}}
@media(max-width:700px){.entry-header{padding:15px 22px;gap:15px}.entry-brand{width:82px}.entry-brand img{height:47px}.header-kicker{display:none}.skip-intro,.replay-intro{font-size:11px;padding:9px 12px}.intro-scene{padding:30px 20px 100px;min-height:600px}.intro h1{font-size:clamp(44px,11.8vw,78px);letter-spacing:-1.2px}.intro h1 span{-webkit-text-stroke:1px var(--ink);text-shadow:3px 4px 0 var(--ink)}.intro .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:24px}.intro-line{font-size:17px;margin-top:24px}.enter-button{font-size:12px;min-height:55px;gap:30px;padding:14px 18px}.press-enter{font-size:10px}.format-float{padding:10px;box-shadow:4px 4px 0 var(--ink)}.portrait-float{width:68px;left:-15px;top:3%}.portrait-float b{font-size:26px}.portrait-float span,.portrait-float i{font-size:5px}.mini-play{width:21px;height:21px;font-size:9px;right:8px;bottom:23px}.wide-float{width:105px;right:-12px;top:4%;padding:9px}.wide-float span{font-size:5px}.wide-float b{font-size:24px}.mini-timeline{height:6px;gap:2px}.play-pal{width:82px;right:12%;bottom:2%}.handwritten-note{font-size:15px;right:39%;bottom:4%}.scene-star.star-one{font-size:24px;left:24%;top:1%}.scene-star.star-two{font-size:20px;left:9%;bottom:6%}.intro-footer{padding:17px 22px;font-size:8px;gap:15px;line-height:1.4;letter-spacing:.6px}.intro-footer span{max-width:105px}.lobby-layout{grid-template-columns:1fr;gap:34px;padding:35px 26px 48px;max-width:480px}.lobby h2{font-size:clamp(34px,9.1vw,52px);letter-spacing:-.8px}.lobby-copy .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:20px}.welcome-script{font-size:34px;margin:15px 0 12px}.lobby-description{font-size:16px;line-height:1.45;margin-bottom:20px}.format-tags{gap:6px}.format-tags span{font-size:7px;letter-spacing:.6px;padding:6px 8px}.lobby-aside{display:none}.pin-machine{padding:20px;max-width:340px;box-shadow:7px 7px 0 var(--yellow)}.pin-machine form>label{margin-top:20px;font-size:9px}.pin-slots>span{height:58px}.pin-status{font-size:11px;min-height:30px}.keypad button{min-height:45px;font-size:19px}.machine-bottom{font-size:7px;letter-spacing:.5px}.lobby-footer{display:block;padding:18px 22px}.lobby-footer>span{display:block;margin-top:10px;font-size:10px}.unlock-scene p{font-size:56px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.intro h1{transform:rotate(-3deg)}.pal-body{transform:none}}

.pin-countdown{font-size:11px;margin:-8px 0 12px}@media(max-width:700px){.lobby-layout{padding-top:24px;padding-bottom:34px;gap:25px}.lobby h2{font-size:33px}.lobby-copy .eyebrow{margin-bottom:14px}.lobby-copy .welcome-script,.lobby-copy .lobby-description,.lobby-copy .format-tags{display:none}.pin-machine{padding:18px}.lobby-footer{padding-top:12px;padding-bottom:12px}.lobby-footer>span{margin-top:4px}}
