.new-york{--cream:#fff7e9;--coral:#ecc58d;--ink:#293d45;background:#29383f}.new-york .vignette{background:linear-gradient(0deg,#152b34f5,transparent 84%)}.new-york.playing .vignette{opacity:.04}.new-york .intro{max-width:650px}.new-york .intro h1 em{color:#ffdaa0}.new-york .intro .location{color:#fff0cc}.new-york .intro-copy{color:#ffefda}.new-york .primary{background:#eed1a1;color:#2a414a}.new-york .objective{background:#fcf6ecef;color:#2b434b;border-color:#fff5df;max-width:335px}.new-york .objective .eyebrow{color:#687c80;font-size:11px;letter-spacing:1.5px}.new-york .objective p{color:#2b434b}.new-york .objective-icon{color:#947046}.new-york #guide{position:static;width:auto;height:auto;padding:3px 0 0;min-height:40px;font-size:13px;color:#596d71;pointer-events:auto;text-align:left}.new-york .icon-button{background:#29444dda;border-color:#fff4d94d}.new-york .dialogue,.new-york .ending,.new-york dialog{background:#fff8ecef;color:#29434b;border-color:#c6bc9c}.new-york .dialogue .eyebrow,.new-york .ending .eyebrow{color:#967446}.new-york .dialogue-next,.new-york .text-button{color:#516b70}.new-york .ending p,.new-york dialog p{color:#5f7276}.new-york .ending h2 em{color:#a17844}.new-york .ending{inset:50% 4% auto auto;transform:translateY(-50%);width:min(410px,calc(100% - 32px));padding:23px}.new-york .ending h2{font-size:31px}.new-york .ending-heart{font-size:32px;margin-bottom:5px}.new-york .ending p{margin:12px 0 16px}.new-york .ending .chapter-link{display:block;color:#657778;margin-top:14px}.new-york .option-button{color:#314e57;border-color:#d6cebc}.new-york .world-label{color:#314b53;background:#fff6e4ee;border-color:#d6c292}.new-york .interact{color:#294451;background:#f3d7a8}.new-york .joystick{background:#e8f2f240;border-color:#fff6dc88}.new-york .move-hint{color:white;text-shadow:0 1px 5px #163843}.new-york .move-hint span{color:#fff5e5}.new-york .toast{background:#294650ee;color:#fff3d9}.new-york .error{background:#294650}.new-york .dialogue{max-width:510px}.new-york #line{font-size:17px}.new-york .tools{position:relative;z-index:30}.new-york .chapter-link{font-size:14px}.mini{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(20px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));color:#28444e}.mini-heading{text-align:center;background:#eef3eced;border:1px solid #fff9ee;border-radius:20px;padding:14px 22px;max-width:min(460px,calc(100vw - 138px));align-self:center}.mini-heading h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:6px 0}.mini-heading p{margin:4px 0;line-height:1.4;font-size:15px}.mini-heading .eyebrow{font-size:11px;color:#697f81}.mini-bottom{width:min(420px,100%);text-align:center;background:#f8f9f1ee;border-radius:20px;padding:13px 20px;box-shadow:0 8px 30px #28465012}.mini-meter span{display:block;min-height:23px;font-size:14px;line-height:1.5}.mini-meter progress{width:100%;height:9px;margin:8px 0;accent-color:#357d83;border:0;display:block;border-radius:8px;overflow:hidden}.mini-meter progress::-webkit-progress-bar{background:#dce3da}.mini-meter progress::-webkit-progress-value{background:#357d83;transition:width .15s}.mini-pad{display:flex;justify-content:center;gap:12px;pointer-events:auto}.mini-pad button{font:22px Arial;width:50px;height:44px;border:1px solid #c9d5d0;border-radius:14px;background:#e3ece6;color:#365761;touch-action:none;user-select:none}.mini-pad button:active{background:#ccdcd3}.mini-note{margin:8px 0 0;color:#657879;font-size:12px}.mini .primary{pointer-events:auto;margin:6px auto;min-height:44px}.new-york.testing .vignette{display:none}.new-york.testing #world{touch-action:none}.new-york.testing #overview{visibility:hidden}.new-york #world canvas{touch-action:none}.new-york button:focus-visible,.new-york a:focus-visible{outline:3px solid #56a5b0;outline-offset:4px}
@media(max-width:600px){.new-york .hud{gap:8px}.new-york .objective{max-width:calc(100vw - 128px);padding:10px 11px;gap:7px}.new-york .objective-icon{display:none}.new-york .objective p{font-size:14px}.new-york #guide{font-size:12px}.new-york .intro h1{font-size:40px}.new-york .intro .location{font-size:10px;letter-spacing:1.4px}.new-york #line{font-size:16px}.new-york .ending{inset:auto 16px max(18px,env(safe-area-inset-bottom));width:auto;transform:none;padding:18px}.new-york .ending h2{font-size:27px}.new-york .ending-heart{display:none}.mini{padding-top:14px}.mini-heading{margin-right:42px;max-width:calc(100vw - 95px);padding:10px 13px}.mini-heading h2{font-size:25px}.mini-heading p{font-size:14px}.mini-bottom{padding:11px 16px}.mini-heading .eyebrow{font-size:10px;letter-spacing:1px}.new-york.testing .hud{right:12px;left:auto}.new-york.testing .tools{gap:0}.new-york.testing #overview{display:none}}
@media(max-height:550px) and (min-width:600px){.new-york .intro{bottom:18px}.new-york .intro h1{font-size:36px}.new-york .intro-copy{margin:10px 0}.new-york .intro .small-note{display:none}.new-york .dialogue{bottom:10px;padding:8px 14px 4px;width:460px}.new-york #line{font-size:15px}.new-york .ending{width:310px;padding:15px}.new-york .ending h2{font-size:25px}.new-york .ending-heart{display:none}.mini{padding:12px}.mini-heading{align-self:flex-start;width:230px;padding:10px;max-width:230px}.mini-heading h2{font-size:23px}.mini-heading p{font-size:13px}.mini-bottom{align-self:flex-end;width:235px;padding:10px 12px}.mini-note{display:none}.mini-pad{gap:6px}.mini-pad button{width:44px;height:42px}.mini-meter span{font-size:13px}.mini .primary{font-size:14px;padding:10px 14px}.new-york .objective{padding:8px 11px}.new-york dialog{padding:16px 22px}}
@media(max-width:600px) and (max-height:620px){.mini-heading h2{font-size:22px}.mini-heading p{font-size:12px}.mini-bottom{padding:8px 12px}.mini-note{display:none}.mini-meter span{font-size:12px}.mini-pad button{height:42px}.new-york .intro h1{font-size:34px}.new-york .intro-copy{font-size:16px}.new-york .ending h2{font-size:24px}.new-york .ending p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.mini-meter progress::-webkit-progress-value{transition:none}}
.new-york .final-letter{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;padding-top:calc(72px + env(safe-area-inset-top));background:#1b303cd9;backdrop-filter:blur(8px)}
.letter-scroll{min-height:0;flex:1;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:8px max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.new-york.letter-visible .hud{z-index:25}
.letter-paper{flex:none;width:min(650px,100%);margin:auto;padding:36px 46px 32px;border:1px solid #e4ccab;border-radius:8px;background:#fff7e8;box-shadow:0 22px 75px #061e2a50;color:#30454b}
.letter-heart{display:block;color:#a65168;font-size:38px;line-height:1;margin-bottom:18px}
.letter-date{margin:0 0 8px;color:#956c52;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.letter-paper h2{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2;margin:0 0 28px;color:#34494d}
.letter-copy{font:19px/1.65 Georgia,serif;overflow-wrap:break-word}
.letter-copy p{margin:0 0 22px}
.letter-copy .letter-signature{margin:30px 0 0;font-style:italic;line-height:1.7}
.letter-signature span{font-size:31px;color:#985365}
.letter-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid #dfcdb0}
.letter-actions .primary{min-height:48px;font-size:15px}
.new-york .letter-actions .chapter-link{margin:0;color:#596e72;font-size:14px;line-height:1.5}
@media(max-width:600px){.new-york .final-letter{padding-top:calc(64px + env(safe-area-inset-top))}.letter-scroll{padding:8px 14px max(18px,env(safe-area-inset-bottom))}.letter-paper{padding:28px 24px 26px}.letter-paper h2{font-size:29px;margin-bottom:24px}.letter-copy{font-size:18px;line-height:1.6}.letter-heart{font-size:32px;margin-bottom:14px}.letter-actions{margin-top:26px}}
@media(max-width:350px){.letter-paper{padding:24px 19px}.letter-paper h2{font-size:26px}.letter-copy{font-size:17px}.letter-actions .primary{padding:13px 17px}}
@media(max-height:550px) and (min-width:600px){.new-york .final-letter{padding-top:0}.letter-scroll{padding-top:24px;padding-left:max(68px,env(safe-area-inset-left));padding-right:max(68px,env(safe-area-inset-right))}.letter-paper{padding-top:28px}.letter-copy{font-size:18px}}
