@font-face{font-family:Merriweather;src:url(/assets/external/textmesh-pro/fonts/merriweather-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url(/assets/external/textmesh-pro/fonts/merriweather-italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Merriweather;src:url(/assets/external/textmesh-pro/fonts/merriweather-bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url(/assets/external/textmesh-pro/fonts/merriweather-bolditalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/external/textmesh-pro/fonts/montserrat-bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--paper: #fdeee6;--paper-light: #fff8f3;--paper-edge: #ffffff;--ink: #3a2e29;--ink-soft: #6e5c54;--outline: #4a3f3a;--taupe: #ae958a;--taupe-dark: #8e756a;--taupe-light: #c9b3a9;--gold: #f0a73a;--gold-dark: #c97f17;--success: #4f8a4b;--danger: #b5483b;--scrim: rgb(27 20 17 / .55);--shadow: 0 10px 0 rgb(74 63 58 / .85);--shadow-soft: 0 18px 40px rgb(30 18 12 / .35);--font-serif: "Merriweather", Georgia, "Times New Roman", serif;--font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#1b1411}body{font-family:var(--font-serif);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit}.shell{position:fixed;inset:0}.device{position:absolute;inset:0}.device__screen{position:absolute;inset:0;overflow:hidden;background:#000}.device__screen:fullscreen{border-radius:0}.device__camera,.shell__fullscreen{display:none}@media(hover:hover)and (pointer:fine)and (min-width:900px)and (min-height:520px){.shell{--bezel: clamp(14px, 1.9vmin, 26px);--screen-w: min(100vw - 2 * var(--bezel) - 120px, (100vh - 2 * var(--bezel) - 150px) * 16 / 9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgb(240 167 58 / .16),transparent 70%),radial-gradient(circle at 15% 85%,rgb(174 149 138 / .18),transparent 45%),linear-gradient(160deg,#3a2c26,#1b1411 70%)}.device{position:relative;inset:auto;padding:var(--bezel);border-radius:calc(var(--bezel) * 2.6);background:linear-gradient(145deg,#3b3836,#161514 55%,#2a2827);box-shadow:inset 0 0 0 2px #ffffff14,inset 0 0 0 calc(var(--bezel) * .35) #0c0b0b,0 2px 0 1px #4d4946,0 40px 80px -20px #000000bf,0 20px 40px #00000059}.device:before,.device:after{content:"";position:absolute;top:-4px;height:5px;border-radius:3px 3px 0 0;background:linear-gradient(#55504c,#2b2826)}.device:before{left:18%;width:9%}.device:after{right:14%;width:5%}.device__camera{display:block;position:absolute;left:calc(var(--bezel) * .5 - 5px);top:50%;width:10px;height:10px;translate:0 -50%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3b4a63,#0a0a0c 60%);box-shadow:0 0 0 2px #0d0c0c}.device__screen{position:relative;inset:auto;width:var(--screen-w);aspect-ratio:16 / 9;border-radius:calc(var(--bezel) * 1.3)}.shell__fullscreen{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border:1px solid rgb(253 238 230 / .25);border-radius:999px;background:#fdeee60f;color:var(--paper);font-family:var(--font-serif);font-size:15px;cursor:pointer;transition:background-color .16s,border-color .16s}.shell__fullscreen:hover{background:#fdeee624;border-color:#fdeee673}.shell__fullscreen:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.shell__fullscreen svg{width:18px;height:18px}.shell__fullscreen[hidden]{display:none}}.ui-layer{overflow:hidden}.device__screen>canvas{display:block}.viewport{position:absolute;inset:0 auto auto 0;width:1920px;height:1080px;transform-origin:0 0;pointer-events:auto;user-select:none;overflow:hidden;font-size:34px;line-height:1.5}.screen{position:absolute;inset:0}.fill-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.panel{position:relative;background:var(--paper);border:6px solid var(--paper-edge);outline:4px solid var(--outline);box-shadow:var(--shadow),var(--shadow-soft)}.panel--light{background:var(--paper-light)}.panel__title{margin:0 0 24px;font-weight:700;font-size:54px;line-height:1.2;color:var(--ink)}.btn{--btn-bg: var(--taupe);--btn-fg: #fff;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:96px;padding:18px 56px;border:4px solid var(--outline);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-serif);font-weight:700;font-size:36px;line-height:1.2;cursor:pointer;box-shadow:0 8px 0 var(--outline);transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out),background-color .16s}.btn:hover{background:var(--taupe-dark)}.btn:active{transform:translateY(6px);box-shadow:0 2px 0 var(--outline)}.btn:focus-visible,.icon-btn:focus-visible,.choice:focus-visible,.card:focus-visible{outline:6px solid var(--gold);outline-offset:6px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--gold{--btn-bg: var(--gold);--btn-fg: var(--ink)}.btn--gold:hover{background:#f6b44d}.btn--paper{--btn-bg: var(--paper-light);--btn-fg: var(--ink)}.btn--paper:hover{background:#fff}.btn--small{min-height:72px;padding:10px 36px;font-size:30px}.icon-btn{display:inline-grid;place-items:center;width:96px;height:96px;border:4px solid var(--outline);background:var(--paper-light);color:var(--ink);cursor:pointer;box-shadow:0 6px 0 var(--outline);transition:transform .12s var(--ease-out)}.icon-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--outline)}.icon-btn svg{width:48px;height:48px}.scrim{position:absolute;inset:0;background:var(--scrim);display:grid;place-items:center;animation:fade-in .24s var(--ease-out)}.fade-curtain{position:absolute;inset:0;background:#000;pointer-events:none;opacity:0;transition-property:opacity;transition-timing-function:ease-in-out;z-index:100}.fade-curtain[data-on=true]{opacity:1;pointer-events:auto}.scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--taupe) transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(40px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.rotate-hint{display:none}@media(orientation:portrait)and (max-width:820px){.rotate-hint{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;gap:16px;padding:32px;text-align:center;background:#1b1411;color:var(--paper);font-family:var(--font-serif);font-size:20px}.rotate-hint svg{justify-self:center;width:72px;height:72px}}.disclaimer{border:0;padding:0;background:#000;cursor:pointer;display:grid;place-items:center;animation:fade-in 1.1s ease-out;transition:opacity 1.1s ease-in-out}.disclaimer[data-leaving]{opacity:0}.disclaimer__card{width:1320px;padding:72px 96px;text-align:center;animation:rise-in .9s var(--ease-out) .2s backwards}.disclaimer__card p{margin:0;font-size:38px;line-height:1.7}.disclaimer__hint{position:absolute;bottom:48px;color:var(--paper-light);font-size:28px;opacity:.85;text-shadow:0 2px 8px rgb(0 0 0 / .6);animation:fade-in .6s ease-out 2s backwards}.menu{animation:fade-in .7s ease-out}.menu__char{position:absolute;bottom:0;height:760px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 24px rgb(40 20 10 / .25));animation:rise-in .9s var(--ease-out) backwards}.menu__char--song{left:-40px;height:640px}.menu__char--pradap{left:200px;height:700px}.menu__char--cj{left:380px;height:820px}.menu__char--tan{right:-30px;height:640px}.menu__char--ott{right:190px;height:760px}.menu__char--irene{right:420px;height:720px}.menu__char--young{left:50%;translate:-50% 0;height:520px;animation-delay:.7s}.menu__title{position:absolute;top:70px;left:50%;translate:-50% 0;margin:0;width:1000px;animation:pop-in .9s var(--ease-out) .3s backwards}.menu__title img{display:block;width:100%;filter:drop-shadow(0 8px 0 rgb(74 63 58 / .25))}.menu__actions{position:absolute;top:400px;left:50%;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:32px;animation:rise-in .7s var(--ease-out) .9s backwards}.menu__start{min-width:420px;min-height:120px;font-size:48px;letter-spacing:.04em}.chapters{background:radial-gradient(ellipse at top,rgb(255 255 255 / .6),transparent 60%),linear-gradient(#f3ddd0,#e6c7b6);padding:48px 96px;animation:fade-in .5s ease-out}.chapters__header{position:relative;display:flex;align-items:center;justify-content:center;height:110px}.chapters__header .btn{position:absolute;left:0}.chapters__header .btn svg{width:32px;height:32px}.chapters__title{margin:0;font-weight:700;font-size:72px;color:var(--ink)}.chapters__grid{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:48px 44px}.chapters__grid li{animation:rise-in .5s var(--ease-out) backwards}.card{display:flex;flex-direction:column;width:100%;padding:0;border:6px solid var(--paper-edge);outline:4px solid var(--outline);background:var(--paper);text-align:left;cursor:pointer;box-shadow:0 10px 0 var(--outline);transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.card:hover:not(:disabled){transform:translateY(-8px) rotate(-.6deg);box-shadow:0 18px 0 var(--outline)}.card:disabled{cursor:not-allowed}.card__image{position:relative;aspect-ratio:1904 / 1376;overflow:hidden}.card__image img{width:100%;height:100%;object-fit:cover}.card:disabled .card__image img{filter:grayscale(1) brightness(.75)}.card__lock,.card__done{position:absolute;display:grid;place-items:center;color:#fff}.card__lock{inset:0;background:#281c1673}.card__lock svg{width:96px;height:96px}.card__done{top:14px;right:14px;width:64px;height:64px;border-radius:50%;background:var(--success);border:4px solid #fff}.card__done svg{width:36px;height:36px}.card__body{display:flex;flex-direction:column;gap:8px;padding:20px 24px 26px}.card__eyebrow{font-family:var(--font-display);font-size:22px;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe-dark)}.card__title{min-height:2.6em;font-weight:700;font-size:28px;line-height:1.3;text-wrap:balance}.progress{height:16px;margin-top:6px;background:#e8d3c8;border:3px solid var(--outline);overflow:hidden}.progress__fill{height:100%;background:var(--gold);transition:width .3s var(--ease-out)}.progress--large{height:30px}.chapter-detail{display:grid;grid-template-columns:760px 1fr;gap:56px;width:1500px;padding:56px;animation:pop-in .36s var(--ease-out)}.chapter-detail__image{width:100%;border:6px solid #fff;outline:4px solid var(--outline)}.chapter-detail__body{display:flex;flex-direction:column;justify-content:center;gap:16px}.chapter-detail__body .panel__title{margin:0 0 16px}.chapter-detail__actions{display:flex;gap:24px;margin-top:40px}.chapter-detail__close{position:absolute;top:-40px;right:-40px}.loading{animation:fade-in .5s ease-out}.loading__bar{position:absolute;left:50%;bottom:64px;translate:-50% 0;width:900px;display:grid;gap:14px;padding:28px 40px;text-align:center}.loading__label{margin:0;font-size:28px;font-variant-numeric:tabular-nums}.end{display:grid;place-items:center;animation:fade-in 1.2s ease-out}.end__card{display:flex;flex-direction:column;align-items:center;gap:40px;width:1200px;padding:72px;animation:pop-in .7s var(--ease-out) .4s backwards}.end__title{margin:0;font-weight:700;font-size:110px;letter-spacing:.08em}.end__actions{display:flex;gap:28px}.end__copyright{font-size:26px;color:var(--ink-soft)}.text-dialog{position:relative;display:flex;flex-direction:column;width:1400px;max-height:940px;padding:56px 72px;animation:pop-in .32s var(--ease-out)}.text-dialog .panel__title{text-align:center}.text-dialog__body{padding-right:24px}.text-dialog__close{position:absolute;top:-40px;right:-40px}.text-dialog__prose{margin:0;font-size:34px;line-height:1.7;white-space:pre-line}.text-dialog__prose--center{text-align:center;font-style:italic}.credits__section{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:56px;text-align:center}.credits__section h3{margin:0;font-family:var(--font-display);font-size:26px;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe-dark)}.credits__big-link{font-weight:700;font-size:48px;color:var(--ink)}.credits__logo{width:460px}.credits__note{max-width:1000px;margin:0;font-size:24px;color:var(--ink-soft)}.credits__section .btn{text-decoration:none}.credits__section .btn svg{width:30px;height:30px}.credits__music{list-style:none;margin:0;padding:0;display:grid;gap:28px;font-size:24px;line-height:1.5;white-space:pre-line;text-align:center;overflow-wrap:anywhere}.text-dialog a,.end__copyright{color:var(--taupe-dark)}.game-host{position:absolute;inset:0;z-index:50;background:#1b1411;animation:fade-in .3s ease-out}.game-host__loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--paper);font-size:40px}.game-frame{position:absolute;inset:0;overflow:hidden}.game-frame__darken{position:absolute;inset:0;background:#140c0880}.game-frame__close{position:absolute;top:32px;right:32px;z-index:10}.intro-card{position:absolute;left:50%;top:50%;translate:-50% -50%;width:1500px;min-height:680px;display:grid;grid-template-columns:520px 1fr;gap:56px;align-items:center;padding:64px 80px;animation:pop-in .42s var(--ease-out)}.intro-card__art{width:100%;max-height:600px;object-fit:contain}.intro-card__body{display:flex;flex-direction:column}.intro-card__text{font-size:32px;line-height:1.6;white-space:pre-line}.intro-card__text p{margin:0 0 20px}.intro-card__actions{display:flex;gap:28px;margin-top:40px}.result-card{width:1100px;max-height:960px;display:flex;flex-direction:column;align-items:center;padding:56px 72px;text-align:center;animation:pop-in .42s var(--ease-out)}.result-card--wide{width:1500px}.result-card__image{max-width:100%;max-height:380px;margin-bottom:32px;object-fit:contain}.result-card__text{font-size:32px;line-height:1.6;white-space:pre-line}.result-card__actions{display:flex;justify-content:center;gap:28px;margin-top:40px}.instruction{position:absolute;top:36px;left:50%;translate:-50% 0;padding:16px 48px;background:var(--paper-light);border:4px solid var(--outline);box-shadow:0 6px 0 var(--outline);font-weight:700;font-size:32px;white-space:nowrap}.timer-badge{display:inline-flex;align-items:center;gap:14px;height:84px;padding:0 32px 0 18px;background:var(--paper-light);border:4px solid var(--outline);box-shadow:0 6px 0 var(--outline);font-family:var(--font-display);font-size:38px;font-variant-numeric:tabular-nums}.timer-badge img{width:52px;height:52px;object-fit:contain}.timer-badge[data-low]{color:var(--danger)}.play{position:absolute;inset:0;animation:fade-in .6s ease-out}.play__story{position:absolute;inset:0}.play__stage{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer}.play__stage:focus-visible{outline:none}.dialogue{position:absolute;left:50%;bottom:36px;width:1600px;min-height:236px;translate:-50% 0;padding:52px 120px 44px 72px;cursor:pointer;animation:rise-in .36s var(--ease-out)}.dialogue__name{position:absolute;top:-56px;left:40px;min-width:240px;padding:10px 40px 12px;background:var(--paper);border:5px solid var(--paper-edge);outline:4px solid var(--outline);box-shadow:10px 10px 0 var(--outline);rotate:-3deg;font-weight:700;font-size:40px;text-align:center}.dialogue__text{margin:0;font-size:38px;line-height:1.55;white-space:pre-line;text-wrap:pretty}.dialogue__text[data-narrator]{font-style:italic;color:var(--ink-soft)}.dialogue__next{position:absolute;right:52px;bottom:36px;width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:26px solid var(--taupe-dark);animation:bob .9s ease-in-out infinite}@keyframes bob{50%{translate:0 8px}}.poem{position:absolute;left:50%;top:80px;width:1240px;min-height:560px;translate:-50% 0;display:grid;place-items:center;padding:72px 96px;cursor:pointer;animation:pop-in .5s var(--ease-out)}.poem__text{margin:0;font-style:italic;font-size:40px;line-height:1.7;text-align:center;white-space:pre-line}.choices{position:absolute;left:50%;bottom:340px;translate:-50% 0;display:grid;gap:28px;width:1120px}.choices[data-grid]{grid-template-columns:1fr 1fr;width:1320px}.choice{min-height:112px;padding:20px 48px;border:5px solid var(--paper-edge);outline:4px solid var(--outline);background:var(--taupe);color:#fff;font-family:var(--font-serif);font-weight:700;font-size:36px;line-height:1.3;text-shadow:0 2px 0 rgb(74 63 58 / .5);cursor:pointer;box-shadow:0 10px 0 var(--outline);animation:rise-in .4s var(--ease-out) backwards;transition:background-color .16s,transform .12s var(--ease-out),box-shadow .12s var(--ease-out)}.choice:hover{background:var(--taupe-dark)}.choice:active{transform:translateY(8px);box-shadow:0 2px 0 var(--outline)}.toolbar{position:absolute;top:28px;right:32px;display:flex;gap:16px}.toolbar__btn{display:inline-flex;align-items:center;gap:12px;height:80px;padding:0 28px 0 22px;border:4px solid var(--outline);background:#fff8f3eb;color:var(--ink);font-family:var(--font-serif);font-weight:700;font-size:28px;cursor:pointer;box-shadow:0 6px 0 var(--outline);transition:transform .12s var(--ease-out)}.toolbar__btn svg{width:36px;height:36px}.toolbar__btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--outline)}.toolbar__btn:disabled{opacity:.45;cursor:default}.toolbar__btn[aria-pressed=true]{background:var(--gold)}.toolbar__btn:focus-visible{outline:6px solid var(--gold);outline-offset:4px}.snow{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(4px 4px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(6px 6px at 70% 10%,#fff 50%,transparent 51%),radial-gradient(3px 3px at 40% 70%,#fff 50%,transparent 51%),radial-gradient(5px 5px at 85% 55%,#fff 50%,transparent 51%),radial-gradient(4px 4px at 10% 85%,#fff 50%,transparent 51%),radial-gradient(7px 7px at 55% 45%,rgb(255 255 255 / .8) 50%,transparent 51%);background-size:480px 480px;animation:snowfall 9s linear infinite;opacity:.9}.snow:after{content:"";position:absolute;inset:0;background-image:inherit;background-size:300px 300px;animation:snowfall 6s linear infinite;opacity:.6}@keyframes snowfall{to{background-position:60px 480px,-40px 480px,30px 480px,-60px 480px,20px 480px,-20px 480px}}
