:root{--wood-dark:#4a2a12;--wood:#8a4b22;--wood-light:#c7803d;--wood-highlight:#e0a35a;--parchment:#f7e1b5;--parchment-dark:#e2bf86;--ink:#3b2414;--accent-red:#c8433a;--accent-green:#5c9e3b;--sea:#2f6db5;--locked:#9a9088;--outline-ink:#2a1222;--font-pixel:monogram, monospace;--text:32px;--text-l:48px;--text-xl:64px;--text-xxl:96px;--fpx:2px;--px:3px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--sea);height:100%;color:var(--ink);font-family:var(--font-pixel);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;overflow:hidden}body{font-size:var(--text);-webkit-font-smoothing:none;font-synthesis:none;font-weight:400;line-height:1}button{font:inherit}[hidden]{display:none!important}#app,.screen{position:fixed;inset:0}#game-container{background:var(--sea)}#game-container canvas{image-rendering:pixelated;image-rendering:crisp-edges}#overlay-root{pointer-events:none;position:fixed;inset:0}.panel{background:var(--parchment);color:var(--ink);border:calc(var(--px) * 2) solid var(--wood);border-top-color:var(--wood-light);border-left-color:var(--wood-light);box-shadow:0 0 0 var(--px) var(--wood-dark), calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--px) #4a2a1259, inset 0 0 0 var(--px) var(--wood-dark), inset calc(var(--px) * 2) calc(var(--px) * 2) 0 0 var(--parchment-dark)}.plate{background:var(--parchment);color:var(--ink);border:var(--px) solid var(--wood-dark);box-shadow:inset 0 calc(var(--px) * -1) 0 var(--parchment-dark), 0 var(--px) 0 #4a2a1259;padding:.25rem .6rem;line-height:1;display:inline-block}.btn{font:var(--text) / 1 var(--font-pixel);color:var(--parchment);background:var(--wood);border:var(--px) solid var(--wood-dark);cursor:pointer;white-space:nowrap;box-shadow:inset var(--px) var(--px) 0 var(--wood-light), inset calc(var(--px) * -1) calc(var(--px) * -1) 0 #6b3a1a, 0 var(--px) 0 var(--wood-dark);border-radius:0;padding:.5rem 1rem;transition:transform 60ms step-end,filter .1s steps(2,end)}.btn:hover{filter:brightness(1.1)}.btn:active{transform:translateY(var(--px));box-shadow:inset var(--px) var(--px) 0 #6b3a1a, inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--wood-light)}.btn:focus-visible{outline:var(--px) solid var(--parchment);outline-offset:var(--px)}.btn--big{padding:.75rem 1.4rem}.btn--small{padding:.25rem .6rem}.btn--danger{background:var(--accent-red);box-shadow:inset var(--px) var(--px) 0 #e0675d, inset calc(var(--px) * -1) calc(var(--px) * -1) 0 #9e2f2a, 0 var(--px) 0 var(--wood-dark)}.link-btn{font:inherit;color:var(--wood);text-decoration:underline;text-decoration-thickness:var(--fpx);text-underline-offset:calc(var(--fpx) * 2);cursor:pointer;background:0 0;border:none;padding:.25rem}.link-btn:hover{color:var(--accent-red)}.title-screen{pointer-events:auto;background:#18224280;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.title-card{text-align:center;width:min(36rem,100%);padding:2rem 1.5rem 1.6rem}.title-card h1{font:var(--text-xl) / 1 var(--font-pixel);color:var(--wood);text-shadow:4px 4px 0 var(--parchment-dark);margin:0}.title-hearts{height:calc(var(--px) * 6);justify-content:center;gap:1.2rem;margin:.8rem 0 .4rem;display:flex}.pixel-heart{width:var(--px);height:var(--px);margin-right:calc(var(--px) * 6);color:var(--accent-red);box-shadow:calc(var(--px) * 1) 0, calc(var(--px) * 2) 0, calc(var(--px) * 4) 0, calc(var(--px) * 5) 0, 0 var(--px), calc(var(--px) * 1) var(--px), calc(var(--px) * 2) var(--px), calc(var(--px) * 3) var(--px), calc(var(--px) * 4) var(--px), calc(var(--px) * 5) var(--px), calc(var(--px) * 6) var(--px), 0 calc(var(--px) * 2), calc(var(--px) * 1) calc(var(--px) * 2), calc(var(--px) * 2) calc(var(--px) * 2), calc(var(--px) * 3) calc(var(--px) * 2), calc(var(--px) * 4) calc(var(--px) * 2), calc(var(--px) * 5) calc(var(--px) * 2), calc(var(--px) * 6) calc(var(--px) * 2), calc(var(--px) * 1) calc(var(--px) * 3), calc(var(--px) * 2) calc(var(--px) * 3), calc(var(--px) * 3) calc(var(--px) * 3), calc(var(--px) * 4) calc(var(--px) * 3), calc(var(--px) * 5) calc(var(--px) * 3), calc(var(--px) * 2) calc(var(--px) * 4), calc(var(--px) * 3) calc(var(--px) * 4), calc(var(--px) * 4) calc(var(--px) * 4), calc(var(--px) * 3) calc(var(--px) * 5);display:block}.title-hearts .pixel-heart:nth-child(2){color:var(--wood-light)}.title-card .subtitle{color:var(--wood);margin:.4rem 0 1.4rem}.mode-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.mode-buttons .btn{min-width:11rem}.mode-hint{min-height:1em;color:var(--ink);margin:1rem 0 0}.title-footer{border-top:var(--px) dashed var(--parchment-dark);margin-top:1.4rem;padding-top:.9rem}.title-footer:empty{display:none}.title-footer .progress{margin:0 0 .4rem}.reset-confirm{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.map-hud{pointer-events:none;position:absolute;inset:0}.map-hud__top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex;position:absolute;top:.8rem;left:.8rem;right:.8rem}.map-hud__stack{flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.map-hud__left,.map-hud__region{align-items:center;gap:.6rem;min-width:0;display:flex}.map-hud__top>.places,.map-hud__left>*,.map-hud__region>*{pointer-events:auto}.map-hud__mode,.map-hud__region-name,.map-hud__clause{white-space:nowrap}.map-hud__hint{text-align:center;width:max-content;max-width:calc(100% - 1.6rem);margin:0;position:absolute;bottom:.9rem;left:50%;transform:translate(-50%)}.toast{text-align:center;background:var(--parchment);width:max-content;max-width:calc(100% - 2rem);color:var(--ink);border:var(--px) solid var(--wood-dark);box-shadow:inset 0 0 0 var(--px) var(--wood-light), 0 var(--px) 0 #4a2a1259;opacity:0;pointer-events:none;padding:.5rem .9rem;transition:opacity .2s steps(3,end),transform .2s steps(3,end);position:absolute;top:4.4rem;left:50%;transform:translate(-50%,-.5rem)}.toast--visible{opacity:1;transform:translate(-50%)}.places{position:relative}.places__list{width:min(26rem,100vw - 1.6rem);max-height:60vh;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .8rem);right:0;overflow-y:auto}.places__list:not([hidden]){background:var(--parchment);border:calc(var(--px) * 2) solid var(--wood);border-top-color:var(--wood-light);border-left-color:var(--wood-light);box-shadow:0 0 0 var(--px) var(--wood-dark), inset 0 0 0 var(--px) var(--wood-dark), calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--px) #4a2a1259}.places__item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .6rem;padding:.4rem .6rem;display:grid}.places__item:hover:not(:disabled),.places__item:focus-visible{background:var(--parchment-dark);outline:none}.places__item:disabled{opacity:.55;cursor:not-allowed}.places__pin{border:2px solid var(--wood-dark);background:#e8a54b;flex:none;width:.8rem;height:.8rem}.places__item--next .places__pin{background:var(--accent-red)}.places__item--completed .places__pin{background:var(--accent-green)}.places__item--locked .places__pin{background:var(--locked)}.places__item--online .places__pin{border-radius:50%}.places__name{flex:1;min-width:0}.places__item--next .places__name{color:var(--accent-red)}.places__date{color:var(--wood);white-space:nowrap;grid-column:2}.storyboard{--paper:#fff1d2;--gap:1.8rem;pointer-events:auto;background:#1822428c;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.storyboard__book{background-image:repeating-linear-gradient(#0000 0 calc(2rem - 2px),#8a4b2221 calc(2rem - 2px) 2rem);flex-direction:column;width:min(64rem,100%);max-height:100%;padding:1.1rem 1.1rem .9rem;display:flex}.storyboard__header{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;display:grid}.storyboard__heading{text-align:center;min-width:0}.storyboard__heading h1{font:var(--text-xl) / 1 var(--font-pixel);color:var(--wood);text-shadow:4px 4px 0 var(--parchment-dark);margin:0}.storyboard__subtitle{color:var(--wood);margin:.25rem 0 0}.storyboard__timeline{gap:var(--gap);scroll-snap-type:x proximity;scrollbar-color:var(--wood-light) transparent;justify-content:safe center;min-height:0;margin:.6rem 0 0;padding:1.6rem 1.2rem 1.4rem;list-style:none;display:flex;overflow-x:auto}.story-card{scroll-snap-align:center;flex-direction:column;flex:0 0 17rem;display:flex;position:relative}.story-card:not(:last-child):after{content:"";width:var(--gap);border-top:var(--px) dashed var(--wood);position:absolute;top:6rem;left:100%}.story-card__face{isolation:isolate;width:100%;min-height:12rem;font:inherit;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.4rem .95rem .95rem;transition:transform .12s steps(2,end);display:flex;position:relative}.story-card__face:before{content:"";z-index:-1;background:var(--paper);border:var(--px) solid var(--wood-dark);box-shadow:inset 0 calc(var(--px) * -2) 0 var(--parchment-dark), calc(var(--px) * 2) calc(var(--px) * 2) 0 #4a2a124d;transition:transform .12s steps(2,end);position:absolute;inset:0;transform:rotate(-1.5deg)}.story-card:nth-child(2n) .story-card__face:before{transform:rotate(1.3deg)}button.story-card__face{cursor:pointer}button.story-card__face:hover,button.story-card__face:focus-visible{transform:translateY(calc(var(--px) * -2))}button.story-card__face:hover:before,button.story-card__face:focus-visible:before{transform:none}button.story-card__face:focus-visible{outline:var(--px) solid var(--wood-dark);outline-offset:calc(var(--px) * 2)}.story-card__tape{top:calc(var(--px) * -4);border-left:var(--px) dotted #8a4b2259;border-right:var(--px) dotted #8a4b2259;background:#e2bf86cc;width:3.8rem;height:1.1rem;position:absolute;left:50%;transform:translate(-50%)rotate(-4deg)}.story-card__number{letter-spacing:var(--fpx);text-transform:uppercase;color:var(--wood)}.story-card__title{font-size:var(--text-l);line-height:1}.story-card__date{color:var(--wood)}.story-card__place{align-items:center;gap:.4rem;margin-top:auto;display:flex}.story-card__pin{background:var(--accent-red);border:2px solid var(--wood-dark);flex:none;width:.6rem;height:.6rem}.story-card__stamp{width:2.6rem;height:2.6rem;font-size:var(--text-l);color:var(--accent-green);border:var(--px) solid var(--accent-green);box-shadow:inset 0 0 0 var(--px) var(--paper), inset 0 0 0 calc(var(--px) * 2) var(--accent-green);place-items:center;line-height:1;display:grid;position:absolute;top:.6rem;right:.6rem;transform:rotate(-12deg)}.story-card--completed .story-card__pin{background:var(--accent-green)}.story-card--current{animation:1.6s steps(2,end) infinite story-bob}.story-card--current .story-card__face:before{animation:1.6s steps(4,end) infinite story-glow}.story-card__ribbon{top:.7rem;right:calc(var(--px) * -4);color:var(--parchment);background:var(--accent-red);border:var(--px) solid var(--wood-dark);padding:.15rem .5rem;position:absolute}.story-card--draft{animation:none}.story-card--draft .story-card__face:before{box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 #4a2a1233;border-style:dashed;animation:none}.story-card--draft .story-card__ribbon{color:var(--wood-dark);background:var(--wood-light)}.story-card__draft{color:var(--wood);margin-top:auto;font-style:italic}.story-card--locked .story-card__face:before{background:var(--parchment-dark);box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 #4a2a1233}.story-card--locked .story-card__title,.story-card--locked .story-card__place{filter:blur(3px);opacity:.6}.story-card--locked .story-card__number,.story-card--locked .story-card__date{color:var(--wood);opacity:.75}.story-card--locked .story-card__pin{background:var(--locked)}.story-card__seal{background:var(--accent-red);width:2.6rem;height:2.6rem;box-shadow:inset calc(var(--px) * -1) calc(var(--px) * -1) 0 #9e2f2a, inset var(--px) var(--px) 0 #e0675d, 0 var(--px) 0 var(--wood-dark);border-radius:50%;position:absolute;bottom:.8rem;right:.8rem}.story-card__seal .pixel-heart{left:calc(50% - var(--px) * 3.5);top:calc(50% - var(--px) * 3);color:#9e2f2a;margin:0;position:absolute}.story-card__actions{flex-direction:column;gap:.45rem;margin-top:.8rem;display:flex}.story-card--end .story-card__face{text-align:center;justify-content:center;align-items:center}.story-card--end .story-card__face:before{border-style:dashed;border-color:var(--wood-light);box-shadow:none;background:0 0}.story-card--end .story-card__title{color:var(--wood);padding:0}.story-card--stamped .story-card__stamp{animation:.45s steps(4,end) .3s both story-stamp}.story-card--unsealed .story-card__face{animation:.6s steps(5,end) .6s both story-unseal}.story-card--unsealed .story-card__face:before{animation:1.6s steps(4,end) 1.2s infinite story-glow}.story-card--draft.story-card--unsealed .story-card__face:before{animation:none}.storyboard__hint{text-align:center;color:var(--wood);margin:.4rem 0 0}.story-steps__backdrop{z-index:5;background:#1822428c;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.story-steps{flex-direction:column;width:min(40rem,100%);max-height:100%;padding:1rem 1rem .8rem;display:flex}.story-steps__header{grid-template-columns:auto 1fr;align-items:center;gap:.8rem;display:grid}.story-steps__heading{text-align:center;min-width:0}.story-steps__heading h2{font:var(--text-l) / 1 var(--font-pixel);color:var(--wood);text-shadow:3px 3px 0 var(--parchment-dark);margin:0}.story-steps__chapter,.story-steps__status{color:var(--wood);overflow-wrap:anywhere;margin:.25rem 0 0}.story-steps__status{text-align:center;margin-top:.8rem}.story-steps__list{min-height:0;padding:.2rem calc(var(--px) * 2);overscroll-behavior:contain;scrollbar-color:var(--wood-light) transparent;flex-direction:column;gap:.4rem;margin:.8rem 0 0;list-style:none;display:flex;overflow-y:auto}.story-steps__step{width:100%;min-height:2.75rem;font:var(--text) / 1 var(--font-pixel);text-align:left;color:var(--ink);background:var(--paper);border:var(--px) solid var(--wood-light);cursor:pointer;box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 #4a2a1240;border-radius:0;align-items:center;gap:.6rem;padding:.3rem .6rem .3rem .3rem;transition:transform 60ms step-end;display:flex}.story-steps__step:hover{border-color:var(--wood);background:var(--parchment)}.story-steps__step:active{transform:translate(var(--px), var(--px));box-shadow:var(--px) var(--px) 0 #4a2a1240}.story-steps__step:focus-visible{outline:var(--px) solid var(--wood-dark);outline-offset:var(--px);border-color:var(--wood);background:var(--parchment)}.story-steps__number{text-align:center;min-width:2.2rem;color:var(--parchment);background:var(--wood);box-shadow:inset var(--px) var(--px) 0 var(--wood-light), inset calc(var(--px) * -1) calc(var(--px) * -1) 0 #6b3a1a;flex:none;padding:.25rem .3rem}.story-steps__label{overflow-wrap:anywhere;min-width:0;line-height:1.1}@keyframes story-bob{50%{transform:translateY(calc(var(--px) * -2))}}@keyframes story-glow{0%,to{box-shadow:0 0 0 var(--px) var(--wood-highlight), 0 0 .6rem #e0a35a80, calc(var(--px) * 2) calc(var(--px) * 2) 0 #4a2a124d}50%{box-shadow:0 0 0 calc(var(--px) * 2) var(--wood-highlight), 0 0 1.4rem #e0a35af2, calc(var(--px) * 2) calc(var(--px) * 2) 0 #4a2a124d}}@keyframes story-stamp{0%{opacity:0;transform:rotate(-12deg)scale(2.2)}to{opacity:1;transform:rotate(-12deg)scale(1)}}@keyframes story-unseal{0%{filter:grayscale()blur(2px);opacity:.5}to{filter:none;opacity:1}}.cutscene{--letterbox:#0d0709;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--parchment);background:radial-gradient(ellipse at 50% 45%, #4a2a3e 0%, var(--outline-ink) 70%);grid-template-rows:auto 1fr auto;animation:.4s steps(4,end) both cs-fade;display:grid;position:absolute;inset:0}.cutscene__bar{min-height:clamp(3rem,11vh,5.5rem);padding:.6rem max(1rem, env(safe-area-inset-right)) .6rem max(1rem, env(safe-area-inset-left));background:var(--letterbox);align-items:center;gap:1rem;animation:.5s steps(5,end) both cs-bar;display:flex}.cutscene__bar--top{transform-origin:top;padding-top:max(.6rem, env(safe-area-inset-top));justify-content:flex-end}.cutscene__bar--bottom{transform-origin:bottom;padding-bottom:max(.6rem, env(safe-area-inset-bottom));justify-content:space-between}.cutscene__stage{outline:none;place-items:center;min-height:0;padding:1rem;display:grid;overflow:hidden}.cutscene__panel{text-align:center;width:100%;max-width:40rem;animation:.5s steps(5,end) both cs-panel}.cutscene__dots{gap:.45rem;display:flex}.cutscene__dots span{width:calc(var(--px) * 3);height:calc(var(--px) * 3);background:#3f3239}.cutscene__dots span.is-on{background:var(--wood-highlight)}.cutscene__prompt{color:var(--parchment-dark);opacity:0;margin:0}.cutscene__prompt.is-ready{opacity:1;animation:1.2s steps(2,end) infinite cs-blink}.cutscene--map{background:0 0;animation:none}.cutscene--map .cutscene__stage{align-items:end}.cs-map__caption{margin:0 auto}.cs-title__chapter{letter-spacing:calc(var(--fpx) * 2);text-transform:uppercase;color:var(--wood-highlight);margin:0}.cs-title__name{font:var(--text-xxl) / 1 var(--font-pixel);color:var(--parchment);text-shadow:6px 6px 0 var(--wood-dark);margin:.5rem 0 .9rem}.cs-title__rule{height:calc(var(--px) * 6);justify-content:center;align-items:flex-start;gap:.9rem;display:flex}.cs-title__rule:before,.cs-title__rule:after{content:"";width:min(5rem,20vw);margin-top:calc(var(--px) * 2);border-top:var(--px) dashed var(--wood-light)}.cs-title__date{color:var(--parchment-dark);margin:.9rem 0 0}.cs-narration__frame{border:calc(var(--px) * 2) solid var(--wood);box-shadow:0 0 0 var(--px) var(--wood-dark);margin-bottom:1rem;display:inline-block}.cs-narration__image{max-height:38vh;image-rendering:pixelated;display:block}.cs-narration__box{text-align:left;padding:1.2rem 1.4rem}.cs-narration__text{min-height:3lh;margin:0;line-height:32px}.inline-icon{vertical-align:-.125em;background:var(--inline-icons) no-repeat;background-size:calc(var(--inline-icon-count) * 11em / 16) 100%;background-position:calc(var(--icon) * -11em / 16) 0;width:.6875em;height:.75em;image-rendering:pixelated;display:inline-block}.cutscene--letter{cursor:default}.cutscene--letter .cutscene__stage{grid-template-rows:minmax(0,1fr)}.cutscene__panel--letter{text-align:left;transform-origin:top;justify-content:center;align-items:center;max-width:44rem;height:100%;min-height:0;animation:.6s steps(6,end) both cs-letter-unfold;display:flex}.cutscene__panel--letter.is-closing{animation:.4s steps(5,end) both cs-letter-away}.cs-letter__paper{--letter-paper:#fff4dc;--letter-rule:#ecd9b4;--letter-ink:#2d3468;--letter-line:32px;width:100%;max-height:100%;padding:var(--letter-line) 1.6rem;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:var(--letter-ink);-webkit-user-select:text;user-select:text;background: linear-gradient(transparent 33%, #7854281a 33%, #7854281a calc(33% + var(--px)), transparent calc(33% + var(--px))) local, linear-gradient(transparent 66%, #7854281a 66%, #7854281a calc(66% + var(--px)), transparent calc(66% + var(--px))) local, repeating-linear-gradient(transparent 0 calc(var(--letter-line) - var(--fpx)), var(--letter-rule) calc(var(--letter-line) - var(--fpx)) var(--letter-line)) local, var(--letter-paper);box-shadow:0 0 0 var(--px) var(--parchment-dark), 0 0 0 calc(var(--px) * 2) var(--wood-dark), calc(var(--px) * 3) calc(var(--px) * 3) 0 calc(var(--px) * 2) #0d07098c;scrollbar-color:var(--wood-light) transparent;scrollbar-width:thin;outline:none;overflow-y:auto}.cs-letter__paper:focus-visible{box-shadow:0 0 0 var(--px) var(--wood-light), 0 0 0 calc(var(--px) * 2) var(--wood-dark), calc(var(--px) * 3) calc(var(--px) * 3) 0 calc(var(--px) * 2) #0d07098c}.cs-letter__text,.cs-letter__signature{font-style:italic;line-height:var(--letter-line);white-space:pre-line;overflow-wrap:anywhere;margin:0}.cs-letter__text+.cs-letter__text{margin-top:var(--letter-line)}.cs-letter__signature{margin-top:var(--letter-line);text-align:right}.cs-letter__close{margin:calc(var(--letter-line) * 1.5) auto 0;display:block}@keyframes cs-letter-unfold{0%{opacity:0;transform:translateY(1.5rem)scaleY(.06)}40%{opacity:1}to{transform:none}}@keyframes cs-letter-away{to{opacity:0;transform:translateY(2rem)}}.screen-cover{pointer-events:none;background:#000;animation:.5s steps(5,end) both cs-fade;position:absolute;inset:0}.cutscene__panel--picture{max-width:none;animation:none}.cs-picture__frame{margin-bottom:0}.cs-picture__image{object-fit:contain;width:min(56rem,88vw,128vh);image-rendering:pixelated;image-rendering:crisp-edges;display:block}.cs-dialogue{flex-direction:column;align-items:center;display:flex}.cs-dialogue__frame{margin-bottom:1.6rem}.cs-dialogue__image{object-fit:contain;width:min(40rem,86vw);max-height:44vh;image-rendering:pixelated;display:block}.cs-dialogue__box{text-align:left;width:100%;padding:1.3rem 1.4rem 1.1rem;position:relative}.cs-dialogue__name{color:var(--parchment);background:var(--wood);border:var(--px) solid var(--wood-dark);box-shadow:inset 0 var(--px) 0 var(--wood-light);padding:.15rem .7rem .3rem;position:absolute;top:0;left:1rem;transform:translateY(-70%)}.cs-dialogue__name:empty{display:none}.cs-dialogue__text{min-height:2lh;color:var(--ink);margin:0;line-height:32px}.cs-call{flex-direction:column;align-items:center;gap:1rem;display:flex}.cs-phone--call .cs-phone__screen{min-height:min(22rem,46vh);color:var(--parchment);background:linear-gradient(#2c3a6e 0%,#4a3a78 60%,#2a2244 100%);align-items:center;gap:.35rem;padding:1rem .8rem 1.1rem}.cs-call__status,.cs-call__clock,.cs-call__name{margin:0}.cs-call__status{color:var(--parchment-dark)}.cs-call__avatar{background:var(--accent-red);border:var(--px) solid var(--wood-dark);width:4.2rem;height:4.2rem;box-shadow:0 0 0 var(--px) var(--parchment), 0 0 0 calc(var(--px) * 3) #fff2;margin:.6rem 0 .2rem;animation:1.6s steps(4,end) infinite cs-ring;position:relative}.cs-call__avatar .pixel-heart{--px:4px;color:var(--parchment);margin:0;position:absolute;top:calc(50% - 12px);left:calc(50% - 14px)}.cs-call__name{font-size:var(--text-l)}.cs-call__clock{color:#9ee6a8;letter-spacing:var(--fpx)}.cs-call__buttons{gap:1rem;margin-top:auto;padding-top:1rem;display:flex}.cs-call__button,.cs-call__hangup{border:var(--px) solid #fff4;background:#ffffff2a;width:2.4rem;height:2.4rem;position:relative}.cs-call__button:before{content:"";width:var(--px);height:var(--px);color:var(--parchment);background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cs-call__button--mute:before{height:calc(var(--px) * 3);box-shadow:calc(var(--px) * -1) var(--px), var(--px) var(--px), 0 calc(var(--px) * 2.5)}.cs-call__button--keypad:before{box-shadow:calc(var(--px) * -2) calc(var(--px) * -2), 0 calc(var(--px) * -2), calc(var(--px) * 2) calc(var(--px) * -2), calc(var(--px) * -2) 0, calc(var(--px) * 2) 0, calc(var(--px) * -2) calc(var(--px) * 2), 0 calc(var(--px) * 2), calc(var(--px) * 2) calc(var(--px) * 2)}.cs-call__button--speaker:before{height:calc(var(--px) * 2);box-shadow:var(--px) 0, calc(var(--px) * 3) calc(var(--px) * -1), calc(var(--px) * 3) var(--px), calc(var(--px) * 4) 0}.cs-call__hangup{background:var(--accent-red);border-color:#7a1e1a;width:3.4rem;height:2.4rem;margin-top:.8rem}.cs-call__hangup:before{content:"";left:calc(50% - var(--px) * 3);top:calc(50% - var(--px));width:calc(var(--px) * 6);height:var(--px);background:var(--parchment);box-shadow:calc(var(--px) * -1) var(--px) 0 var(--parchment), calc(var(--px) * 6) var(--px) 0 var(--parchment);position:absolute}.cs-call__subtitle{color:#fff;text-align:center;background:#0d0709cc;max-width:min(40rem,92vw);min-height:1lh;margin:0;padding:.35rem .8rem;line-height:32px}.cs-call__speaker{color:var(--wood-highlight)}@keyframes cs-ring{50%{box-shadow:0 0 0 var(--px) var(--parchment), 0 0 0 calc(var(--px) * 5) #ffffff18}}.cs-laptop{text-align:left;width:36rem;max-width:86vw;margin:0 auto;animation:.5s steps(5,end) both cs-phone-in}.cs-laptop__lid{border:var(--px) solid var(--letterbox);border-radius:calc(var(--px) * 3) calc(var(--px) * 3) 0 0;box-shadow:inset var(--px) var(--px) 0 #4a4858, 0 0 2.5rem #e0a35a40;background:#2b2a33;border-bottom:0;padding:.7rem}.cs-laptop__base{border:var(--px) solid var(--letterbox);border-radius:0 0 calc(var(--px) * 3) calc(var(--px) * 3);height:1rem;box-shadow:inset 0 var(--px) 0 #7a7890;background:#57556a;margin:0 -1rem}.cs-laptop__screen{height:min(22rem,56vh);color:var(--ink);background:var(--parchment);border:var(--px) solid var(--letterbox);overflow:hidden}.cs-mail__inbox,.cs-mail__open{flex-direction:column;height:100%;display:flex;position:relative}.cs-mail__inbox[hidden],.cs-mail__open[hidden]{display:none}.cs-mail__open{overflow-y:auto}.cs-mail__bar{color:var(--parchment);white-space:nowrap;background:var(--wood);border-bottom:var(--px) solid var(--wood-dark);flex:none;justify-content:space-between;align-items:center;margin:0;padding:.2rem .6rem;display:flex;overflow:hidden}.cs-mail__badge{min-width:1.6rem;color:var(--parchment);text-align:center;border:var(--px) solid var(--wood-dark);background:#c8433a;animation:.3s steps(3,end) .45s 2 both cs-mail-ping}.cs-mail__row{text-shadow:var(--fpx) 0 0 currentColor;background:var(--parchment-dark);border-bottom:var(--px) solid var(--wood-dark);flex:none;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.5rem;padding:.3rem .6rem;animation:.3s steps(3,end) .45s 2 both cs-mail-ping;display:grid}.is-clicking .cs-mail__row{color:var(--parchment);background:var(--wood-light);transition:background-color 0s linear .4s,color 0s linear .4s}.cs-mail__unread{border:var(--px) solid var(--wood-dark);background:#c8433a;grid-row:span 2;width:.8rem;height:.8rem}.cs-mail__from,.cs-mail__subject{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cs-mail__cursor{background:var(--letterbox);clip-path:polygon(0 0,100% 66%,58% 66%,80% 100%,56% 100%,36% 70%,0 92%);width:1.5rem;height:2.1rem;transition:right .4s steps(6,end),bottom .4s steps(6,end);position:absolute;bottom:12%;right:12%}.is-clicking .cs-mail__cursor{bottom:calc(100% - 6.2rem);right:45%}.cs-mail__field{overflow-wrap:anywhere;flex:none;margin:0;padding:0 .6rem}.cs-mail__field:first-of-type{padding-top:.3rem}.cs-mail__body{border-top:var(--px) solid var(--wood-dark);flex:none;margin:.3rem .6rem .6rem;padding-top:.4rem;line-height:28px}@keyframes cs-mail-ping{50%{transform:translateY(calc(var(--px) * -2))}}.cs-phone{--phone:#2b2a33;background:var(--phone);border:var(--px) solid var(--letterbox);border-radius:calc(var(--px) * 6);width:20rem;max-width:86vw;box-shadow:inset var(--px) var(--px) 0 #4a4858, inset calc(var(--px) * -1) calc(var(--px) * -1) 0 #1a1920, 0 0 0 var(--px) #57556a, 0 0 2.5rem #e0a35a40;margin:0 auto;padding:1rem .7rem .8rem;animation:.5s steps(5,end) both cs-phone-in;position:relative}.cs-phone--message{animation:.5s steps(5,end) both cs-phone-in,.18s steps(2,end) .55s 3 cs-buzz}.cs-phone.is-buzzing{animation:.18s steps(2,end) 3 cs-buzz}.cs-phone__speaker{width:3rem;height:calc(var(--px) * 2);background:var(--letterbox);margin:0 auto .7rem}.cs-phone__screen{background:linear-gradient(180deg, var(--sea) 0%, #7a6aae 55%, var(--wood-highlight) 100%);border:var(--px) solid var(--letterbox);flex-direction:column;align-items:stretch;gap:.6rem;min-height:min(20rem,48vh);padding:.8rem .6rem;display:flex}.cs-phone__date{color:var(--parchment);margin:0 0 .3rem}.cs-phone__notif{color:var(--ink);background:var(--parchment);border:var(--px) solid var(--wood-dark);align-items:center;gap:.45rem;padding:.4rem .5rem;animation:.4s steps(4,end) .35s both cs-notif;display:flex}.cs-phone__app{background:var(--accent-red);border:2px solid var(--wood-dark);flex:none;width:1.4rem;height:1.4rem;position:relative}.cs-phone__app .pixel-heart{--px:2px;color:var(--parchment);margin:0;position:absolute;top:calc(50% - 6px);left:calc(50% - 7px)}.cs-phone__sender{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cs-phone__now{color:var(--wood)}.cs-phone__typing,.cs-phone__bubble{--bubble:var(--parchment);margin-left:calc(var(--px) * 2);color:var(--ink);background:var(--bubble);border:var(--px) solid var(--wood-dark);flex:none;align-self:flex-start;position:relative}.cs-phone__typing:before,.cs-phone__bubble:before{content:"";left:calc(var(--px) * -3);bottom:calc(var(--px) * -1);width:calc(var(--px) * 3);height:calc(var(--px) * 3);background:var(--bubble);border-left:var(--px) solid var(--wood-dark);border-bottom:var(--px) solid var(--wood-dark);position:absolute}.cs-phone__bubble--sent{--bubble:var(--wood);margin-left:0;margin-right:calc(var(--px) * 2);color:var(--parchment);align-self:flex-end}.cs-phone__bubble--sent:before{left:auto;right:calc(var(--px) * -3);border-left:none;border-right:var(--px) solid var(--wood-dark)}.cs-phone__typing{gap:.3rem;padding:.6rem .75rem;animation:.25s steps(3,end) .75s both cs-pop;display:flex}.cs-phone__typing span{width:calc(var(--px) * 2);height:calc(var(--px) * 2);background:var(--wood);animation:.9s steps(2,end) infinite cs-dot}.cs-phone__typing span:nth-child(2){animation-delay:.15s}.cs-phone__typing span:nth-child(3){animation-delay:.3s}.cs-phone__bubble{overflow-wrap:anywhere;text-align:left;max-width:92%;padding:.4rem .6rem;line-height:28px;animation:.25s steps(3,end) both cs-pop}.cs-phone--chat{width:22rem;max-width:90vw}.cs-phone--chat .cs-phone__screen{background:linear-gradient(#3d4f8a 0%,#6a5c9c 100%);gap:0;height:min(24rem,52vh);min-height:0;padding:0}.cs-phone__contact{color:var(--ink);background:var(--parchment);border-bottom:var(--px) solid var(--wood-dark);flex:none;align-items:center;gap:.45rem;padding:.45rem .55rem;display:flex}.cs-phone__back{color:var(--wood);line-height:1}.cs-phone__avatar{background:var(--accent-red);border:2px solid var(--wood-dark);flex:none;width:1.4rem;height:1.4rem;position:relative}.cs-phone__avatar .pixel-heart{--px:2px;color:var(--parchment);margin:0;position:absolute;top:calc(50% - 6px);left:calc(50% - 7px)}.cs-phone__name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cs-phone__thread{scrollbar-width:none;flex-direction:column;flex:1;gap:.55rem;min-height:0;padding:.6rem .55rem .7rem;display:flex;overflow-y:auto}.cs-phone__thread::-webkit-scrollbar{display:none}.cs-phone__stamp{color:var(--parchment);flex:none;margin:auto 0 .2rem}.cs-phone__thread .cs-phone__bubble{max-width:86%}.cs-phone__thread .cs-phone__typing{animation-delay:0s}.cs-phone__compose{background:var(--outline-ink);border-top:var(--px) solid var(--letterbox);flex:none;align-items:flex-end;gap:.4rem;padding:.45rem .5rem;display:flex}.cs-phone__draft{text-align:left;overflow-wrap:anywhere;min-width:0;min-height:2.4rem;color:var(--ink);background:var(--parchment);border:var(--px) solid var(--wood-dark);flex:1;padding:.2rem .4rem;line-height:28px}.cs-phone__draft:empty:before{content:"Message";color:var(--locked)}.cs-phone__compose.is-typing .cs-phone__draft:after{content:"";width:calc(var(--fpx) * 2);height:calc(var(--fpx) * 9);margin-left:var(--fpx);vertical-align:calc(var(--fpx) * -2);background:var(--wood);animation:.8s steps(2,end) infinite cs-blink;display:inline-block}.cs-phone__send{background:var(--locked);border:var(--px) solid var(--letterbox);flex:none;width:2.4rem;height:2.4rem;position:relative}.cs-phone__send:before{content:"";border-left:9px solid var(--parchment);border-top:6px solid #0000;border-bottom:6px solid #0000;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.cs-phone__compose.is-typing .cs-phone__send{background:var(--wood-light)}.cs-phone__home{width:2.2rem;height:calc(var(--px) * 2);background:#57556a;margin:.7rem auto 0}.cutscene--still,.cutscene--still *{transition:none!important;animation:none!important}.cutscene--still .cutscene__prompt.is-ready{opacity:1}@keyframes cs-fade{0%{opacity:0}}@keyframes cs-bar{0%{transform:scaleY(0)}}@keyframes cs-panel{0%{opacity:0;transform:translateY(calc(var(--px) * 4))}}@keyframes cs-blink{50%{opacity:.35}}@keyframes cs-phone-in{0%{opacity:0;transform:translateY(3rem)}}@keyframes cs-buzz{0%{transform:translateX(calc(var(--px) * -1)) rotate(-1deg)}to{transform:translateX(var(--px)) rotate(1deg)}}@keyframes cs-notif{0%{opacity:0;transform:translateY(-1rem)}}@keyframes cs-pop{0%{opacity:0;transform:scale(.6)}}@keyframes cs-dot{50%{transform:translateY(calc(var(--px) * -1));background:var(--wood-light)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.story-card--current,.story-card__face,.story-card__face:before,.story-card__stamp,.cutscene__panel--letter,.cs-laptop,.cs-mail__badge,.cs-mail__row,.screen-cover{transition:none!important;animation:none!important}}.fatal{text-align:center;color:var(--parchment);place-items:center;padding:2rem;display:grid;position:absolute;inset:0}@media (width<=480px){:root{--px:2px}.btn--small,.map-hud__mode{padding:.2rem .45rem}.toast{top:7.5rem}.title-card h1,.storyboard__heading h1{font-size:var(--text-l);text-shadow:3px 3px 0 var(--parchment-dark)}.cs-title__name{font-size:var(--text-xl);text-shadow:4px 4px 0 var(--wood-dark)}.mode-buttons .btn{flex:100%;min-width:0}}@media (width<=640px){.storyboard{padding:.6rem}.storyboard__book{padding:.8rem .7rem .7rem}.storyboard__header{grid-template-columns:1fr 1fr}.storyboard__heading{grid-area:1/1/auto/-1}.storyboard__header>.btn:last-child{justify-self:end}.storyboard__header>.btn:first-child{justify-self:start}.storyboard__timeline{--gap:1.4rem;scroll-snap-type:y proximity;flex-direction:column;padding:1.3rem .8rem 1rem;overflow:hidden auto}.story-card{flex:none}.story-card__face{min-height:0}.story-steps__backdrop{padding:.6rem}.story-steps{padding:.8rem .7rem .7rem}.story-steps__header{grid-template-columns:1fr;gap:.4rem}.story-steps__header>.btn{justify-self:start}.story-steps__heading h2{font-size:var(--text);text-shadow:2px 2px 0 var(--parchment-dark)}.story-card:not(:last-child):after{width:0;height:var(--gap);border-top:none;border-left:var(--px) dashed var(--wood);top:100%;left:50%}}.replay-exit{left:max(1rem, env(safe-area-inset-left));bottom:max(.6rem, env(safe-area-inset-bottom));z-index:50;pointer-events:auto;position:fixed}#overlay-root:has(>.cutscene)>.replay-exit{top:max(.6rem, env(safe-area-inset-top));bottom:auto}.memory-video{object-fit:contain;background:var(--wood-dark);outline:none;display:block}
