@font-face{font-family:'Anuphan';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anuphan-thai-400-normal.woff2') format('woff2');unicode-range:U+0E00-0E7F;}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anuphan-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F;}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/anuphan-thai-600-normal.woff2') format('woff2');unicode-range:U+0E00-0E7F;}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/anuphan-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F;}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/anuphan-thai-700-normal.woff2') format('woff2');unicode-range:U+0E00-0E7F;}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/anuphan-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F;}
:root{--wine:#472938;--petal:#fbe6ed;--gold:#c7a36e}body{transition:background-color .5s}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#fff7fbd9,#fff9f4ed),var(--scene-backdrop);background-size:cover;background-position:center;opacity:0;transition:opacity .6s}body.inStory:before{opacity:1}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ae6986;outline-offset:4px}[hidden]{display:none!important}.sceneNote{background:#fff6e6;border-left:3px solid var(--gold);border-radius:8px;padding:12px 16px;margin:10px 0;color:var(--wine)}.smallLabel{font-size:12px;letter-spacing:.08em;color:#966d7d}.playPreferences{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0;font-size:12px;color:#80636d}.playPreferences input{accent-color:#b9577b}.keepsakeShelf,.supportSection,.epilogue{margin:24px auto;padding:28px;border:1px solid #e6ccd7;border-radius:22px;background:linear-gradient(145deg,#fffdfb,#fff0f5);max-width:100%}.keepsakeShelf h2,.epilogue h2{margin:8px 0;font-size:26px;color:var(--wine)}.supportSection{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;text-align:center}.supportSection small{width:100%;color:#8b737c}.epilogue p{line-height:2;font-size:17px}.upgradeDialog{color:var(--wine);border:1px solid #e2c3ce;border-radius:24px;padding:34px;max-width:700px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;background:#fffafc;box-shadow:0 20px 90px #39232c45;font-family:inherit}.upgradeDialog::backdrop{background:#25192199;backdrop-filter:blur(5px)}.upgradeDialog p{line-height:1.9}.dialogClose{position:absolute;right:14px;top:8px;border:0;background:transparent;font:28px sans-serif;color:#916577;cursor:pointer}.dialogActions,.chapterList{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.endingGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.endingTile{display:grid;gap:10px;text-align:left;padding:20px;border:1px solid #e5ccd5;border-radius:15px;background:white;color:#714858;font:inherit;cursor:pointer}.endingTile:disabled{background:#f3eef0;color:#9a8b92;cursor:default}.endingTile small,.endingTile span{font-size:11px}.chatScene .storyBox{background:#fff8fc}.chatScene #dialogue{background:#f7e4ee;border-radius:20px 20px 20px 4px;padding:22px}.hero{min-height:650px}.hero h1{letter-spacing:-.035em}.supportPending{padding:18px;background:#f5eaf0;border-radius:12px}#saveWarning{color:#923d4d}#sceneImage{transition:opacity .25s}.choice{min-height:54px}.inStory .app{max-width:1200px}.btn{min-height:44px} @media(max-width:650px){.upgradeDialog{padding:30px 20px}.endingGrid{grid-template-columns:1fr}.keepsakeShelf,.supportSection,.epilogue{padding:22px 18px;margin:18px 0}.hero{min-height:580px}.playPreferences{font-size:11px}.epilogue p{font-size:15px}.supportSection .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.utilityDock{flex-wrap:wrap!important;gap:8px!important}#soundBtn{font-size:12px;white-space:normal;max-width:100%;flex-shrink:1}#chapterText,#sceneCount,.chapter,.chapterText{font-family:'Anuphan',sans-serif!important;overflow-wrap:anywhere}.storyBox,.gameHeader{min-width:0}
.topGameTitle,.hero h1,.hearts{font-family:'Anuphan',sans-serif!important}.topGameTitle{font-size:14px;line-height:1.5}.utilityDock #soundBtn{white-space:nowrap;min-width:64px;padding:8px}

/* Show the complete illustration on every viewport; never crop eyes or hair. */
#sceneMedia.sceneMedia{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;overflow:hidden!important;background:#f4e8ec}#sceneImage{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;display:block}body:before{background:linear-gradient(#fff7fbec,#fff9f4f5),var(--scene-backdrop);filter:blur(8px)}
/* PinNerz theme guard: prevent unstyled browser-default buttons */
.btn{appearance:none;-webkit-appearance:none;font-family:inherit}
.btn:not(.primary):not(.gold):not(.ghost){color:#9f456c;background:#fff6f9;border:1px solid #efd5df;box-shadow:0 4px 0 rgba(239,214,225,.48)}
.supportSection .btn:not(.primary):not(.gold):not(.ghost){color:#fff;background:#f45f9c;border:1px solid #ea4e91;box-shadow:0 5px 0 #d94983,0 10px 18px rgba(244,95,156,.16)}
.supportSection .btn:hover{filter:saturate(1.05)}
