:root{color-scheme:light;--ink:#382d27;--muted:#796c5f;--paper:#f9eed8;--paper2:#fff9eb;--rust:#ad7554;--gold:#e4ad55;--moss:#68836c;--line:#ead4b8;--shadow:0 16px 45px #37291e18;font-family:ui-rounded,"Trebuchet MS",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:radial-gradient(ellipse 90% 50% at 50% -20%,#fbf1dc 5%,transparent),#e9dec9;min-width:310px}
button,a{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.6}
button:focus-visible,a:focus-visible{outline:3px solid #aa6232;outline-offset:3px}
a{color:inherit}
[hidden]{display:none!important}
.skip{position:absolute;left:1rem;top:-6rem;z-index:999;background:white;padding:12px;border-radius:8px}.skip:focus{top:10px}
.app{max-width:1800px;margin:auto;padding:0 25px 10px}
.masthead{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #a98c6950}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px}
.brand-icon{display:grid;place-items:center;width:51px;height:51px;border-radius:16px;background:#4c6657;color:#f9eac3;font-size:30px;transform:rotate(-8deg);box-shadow:0 4px #334b3b}
.brand strong{display:block;font-family:Georgia,serif;font-size:27px;letter-spacing:-1.3px}.brand small{display:block;font-size:9px;font-weight:800;letter-spacing:2px;color:#8a725b;margin-top:2px}
.header-center{font-size:12px;font-weight:700;letter-spacing:1px;color:#88755f}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8aab78;margin-right:7px;box-shadow:0 0 0 4px #8aa77d24}
.header-right{display:flex;align-items:center;gap:10px}.badge{padding:11px 16px;border:1px solid #e0be81;border-radius:40px;background:#fff7df;color:#885d2e;font-weight:800;white-space:nowrap}.badge--gold>span:first-child{color:#d39836}
.icon-button{border:1px solid #d6c6ae;border-radius:40px;background:#fff9ed;color:#66594c;font-weight:700;padding:11px 14px}
.game-shell{display:grid;grid-template-columns:minmax(245px,280px) minmax(430px,1fr) minmax(245px,285px);gap:21px;padding:25px 0 18px;align-items:start}
.scroll-card{border:1px solid #d8bc91;background:linear-gradient(135deg,#f9e9c7,#fbf1d9 35%,#f3deb9);border-radius:12px 12px 22px 22px;box-shadow:var(--shadow),inset 0 0 0 7px #fff6e24a;min-height:678px;padding:23px 22px 22px;position:relative;overflow:hidden}
.scroll-card:before,.scroll-card:after{content:"";height:8px;background:linear-gradient(90deg,#8e5835,#be8f57,#8e5835);position:absolute;left:-5px;right:-5px;border-radius:10px}.scroll-card:before{top:0}.scroll-card:after{bottom:0}
.scroll-ribbon,.eyebrow,.chapter-label,.event-tag{font-size:10px;font-weight:900;letter-spacing:1.8px;color:#986b44}
.scroll-ribbon{background:#9a6547;color:#fff0d5;display:table;padding:8px 13px;margin:-3px auto 28px;border-radius:2px 2px 10px 10px}
.quest-greeting{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:16px;line-height:1.45}.greeting-sun{font-size:32px;color:#c9944a}.quest-greeting strong{font-style:italic;font-weight:600}
.divider{text-align:center;color:#c99b6b;margin:25px 0 21px;position:relative}.divider:before{content:"";height:1px;background:#ddc49e;left:0;right:0;top:50%;position:absolute}.divider span{position:relative;background:#f6e6c8;padding:0 11px}
.chapter-label{text-align:center;letter-spacing:2.8px}
.quest h1{font:normal 34px/1.11 Georgia,serif;letter-spacing:-1.3px;text-align:center;margin:12px 0}.quest h1 em{color:#a76553}
.quest-intro{text-align:center;color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0 25px}
.quest-section{border-top:1px dashed #d3b996;padding-top:17px}
.quest-title,.closet-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.quest-title h2,.closet-head h2{font:normal 19px Georgia,serif;margin:0}.quest-title span{font-size:12px;background:#e8d6b5;border-radius:16px;padding:5px 8px;font-weight:900;color:#84603b}
.quest-list{list-style:none;padding:0;margin:14px 0 18px;display:grid;gap:10px}.quest-list li{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;line-height:1.4}.quest-check{width:23px;height:23px;border:1.5px solid #bd9a73;border-radius:7px;display:grid;place-items:center;flex:none;background:#fff6de;color:#4d795b;font-weight:900;font-size:13px}.quest-check.done{background:#d7e5cd;border-color:#83a37d}.quest-task-name{flex:1}.quest-task-count{font-size:11px;color:#907a62;white-space:nowrap}
.quest-progress,.xp-track{height:8px;border-radius:20px;overflow:hidden;background:#dfc6a0}.quest-progress>span,.xp-track>span{height:100%;display:block;width:0;background:linear-gradient(90deg,#a3b786,#5a876f);border-radius:20px;transition:width .35s}
.reward-notice{display:flex;gap:10px;align-items:center;margin-top:24px;padding:13px;background:#eedbb6;border:1px solid #debc84;border-radius:12px}.reward-notice.awarded{background:#d9e8cd;border-color:#9dbb95}.tiny-flower{font-size:25px;color:#b87c48}.reward-notice strong,.reward-notice small{display:block}.reward-notice strong{font-size:12px}.reward-notice small{font-size:11px;color:#7f705d;line-height:1.4;margin-top:4px}
.scroll-bottom{margin-top:23px;display:grid;gap:7px}.secondary-button,.primary-button{background:#617f69;color:#fffdf2;border:0;border-radius:12px;padding:12px 14px;font-weight:900;box-shadow:0 4px #3f6349}.secondary-button:hover,.primary-button:hover{background:#4b7357}.text-button{background:transparent;border:0;color:#8d6c52;text-decoration:underline;text-underline-offset:4px;padding:10px 4px;font-size:12px;text-align:left}
.play-area{min-width:0}
.scene-head{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 0 17px}
.scene-head h2{font:normal 27px Georgia,serif;margin:5px 0 0;letter-spacing:-.7px}
.scene-head h2 span{color:#d58a99;font-size:19px}
.mood-chip{display:block;background:#fff8df;border:1px solid #deceb0;border-radius:30px;padding:10px 13px;color:#7d6a52;font-size:11px;font-weight:800;white-space:nowrap}
.scene{position:relative;overflow:hidden;border:8px solid #fff6e5;border-radius:23px;background:#bfd7be;box-shadow:0 18px 43px #4b584638,0 1px 0 #fff;aspect-ratio:1.34;isolation:isolate}
.scene:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 85px #6c67423e}
.scene-art{width:100%;height:100%;display:block}
.scene.resting #monk{transform:translate(447px,485px) rotate(-70deg);transform-origin:center}
.scene #monk{transition:transform .45s ease;transform-origin:center}
.scene.pulse #monk{animation:monk-bounce .42s ease}
.scene.scent #incense-art .smoke{animation:smoke-up 1.4s ease infinite}
.scene .leaf{position:absolute;z-index:2;color:#f5b4bb;pointer-events:none;opacity:.75;animation:leaf-drift 12s linear infinite}.leaf-one{left:19%;top:10%}.leaf-two{left:49%;top:16%;animation-delay:-5s!important}.leaf-three{left:77%;top:9%;animation-delay:-9s!important}
.hotspot{position:absolute;border:1px solid #f3dbad;background:#594637d9;color:#fff4d4;box-shadow:0 6px 15px #26281b66;display:flex;align-items:center;gap:5px;border-radius:30px;font-weight:900;font-size:12px;min-height:44px;padding:7px 14px;z-index:4;transform:translate(-50%,-50%);white-space:nowrap}
.hotspot:hover,.hotspot:focus-visible{background:#a16a3e}
.hotspot-wood{left:23%;top:60%}.hotspot-incense{left:68%;top:52%}.hotspot-pond{left:80%;top:82%}
.catch-fish{position:absolute;z-index:10;left:75%;top:79%;border:3px solid #fff8dd;border-radius:30px;padding:13px;background:#f7c95d;color:#503823;font-weight:900;box-shadow:0 8px 22px #203e3b80;animation:fish-jump 1s ease-in-out infinite alternate}
.interaction-toast{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);width:max-content;max-width:85%;text-align:center;padding:11px 18px;border-radius:22px;color:#fff5e4;background:#382e2ac9;backdrop-filter:blur(7px);font-size:13px;font-weight:800;z-index:5;box-shadow:0 9px 25px #3333}
.scene-attribution{position:absolute;left:16px;bottom:14px;color:#fff9eb;font-size:10px;letter-spacing:.7px;text-shadow:0 1px 8px #34473a;z-index:2}
.action-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.action-btn{background:#fffbf0;border:1px solid #e4d1b8;border-bottom:4px solid #d3b88f;border-radius:17px;padding:13px 7px 11px;min-height:93px;display:grid;justify-items:center;gap:5px;color:#654e3d;box-shadow:0 7px 15px #6a513013;font-weight:900;font-size:13px;position:relative}
.action-btn:hover,.action-btn:focus-visible,.action-btn.active{transform:translateY(-3px);background:#f4e4c0;border-color:#c89d63}
.action-btn--rest{background:#f0e5ec;border-color:#d9bbcf}
.action-emoji{font-size:24px;display:block;color:#a47f51}.action-btn--rest .action-emoji{color:#88678d}
.action-btn kbd{position:absolute;right:9px;top:8px;display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid #e2cfb6;border-radius:5px;color:#9c8973;font:10px ui-monospace,monospace}
.right-panel{display:grid;gap:15px}
.player-card,.event-card,.closet-card{background:#fff7e8;border:1px solid #e6d2b8;border-radius:19px;padding:17px;box-shadow:var(--shadow)}
.player-card{display:flex;align-items:center;gap:12px;padding:14px 16px}
.avatar-mark{background:#eed2a9;border:3px solid #f8e9d4;box-shadow:0 0 0 1px #c9a780;width:54px;height:54px;display:grid;place-items:center;font-size:27px;border-radius:50%}.player-info{min-width:0;flex:1}.player-info strong{display:block;margin:5px 0 8px;font-size:13px}.player-info strong small{font-size:10px;color:#8c775d}.xp-track{height:7px;background:#ecdabe}
.event-card{background:linear-gradient(145deg,#f6e6cf,#fff8e9 70%);padding:18px}
.event-tag{font-size:9px;line-height:1.5}
.event-illustration{display:flex;align-items:center;justify-content:center;height:110px;background:radial-gradient(ellipse,#f2d4b3,transparent 60%);position:relative}
.letter-emoji{font-size:62px;display:block;transform:rotate(-11deg);filter:drop-shadow(2px 7px 4px #a973564b)}.event-sparks{position:absolute;color:#c99749;font-size:18px;top:10px;right:38px}
.event-card h2{font:normal 23px/1.2 Georgia,serif;margin:2px 0 10px}.event-card p{font-size:12px;line-height:1.6;color:#806d5c;margin:0 0 13px}
.event-choices{display:grid;gap:8px}.choice-button{border:1px solid #c89f6d;background:#f8e5bd;border-radius:12px;padding:12px 9px;min-height:44px;font-size:12px;font-weight:900;color:#69422f;text-align:left}.choice-button:hover{background:#e8c993}
.event-card .event-result{font-style:italic;font-size:11px;color:#986a45;min-height:21px;margin:12px 0 0}
.closet-card h2{font-size:20px}.closet-head span{color:#9d835f;font-weight:800;font-size:10px}
.closet-card>p{color:#897661;font-size:11px;line-height:1.5;margin:7px 0 14px}
.treasure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.treasure{display:grid;gap:4px;justify-items:center;align-content:center;min-height:86px;padding:10px 4px;border:1px solid #e4d2b9;border-radius:12px;background:#fffdf5;color:#7f634c}
.treasure .treasure-icon{font-size:23px}.treasure strong{font-size:11px}.treasure small{font-size:10px;color:#8e826d}.treasure.unlocked{border-color:#95b294;background:#f3f8ec}.treasure.selected{outline:2px solid #6c927b}.treasure.locked{filter:saturate(.35)}.treasure.locked .treasure-icon{opacity:.47}
.utility-links{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 7px}.utility-links a{font-size:11px;color:#7a654f;text-underline-offset:3px}
.footer{border-top:1px solid #c6b79b9c;padding:18px 0 5px;display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#796c58}
dialog{border:0;border-radius:22px;background:#fff7e9;max-width:450px;width:calc(100% - 32px);padding:0;box-shadow:0 20px 80px #201f1ea8;color:var(--ink)}dialog::backdrop{background:#172921a1;backdrop-filter:blur(5px)}.dialog-inner{padding:28px;position:relative}.dialog-inner h2{font:normal 29px Georgia,serif;margin:12px 0}.dialog-inner p{font-size:14px;line-height:1.8;color:#75604e}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:28px;color:#806d59}.dialog-inner kbd{background:#eee1cf;padding:3px 7px;border-radius:4px}.primary-button{width:100%;margin-top:11px}
@keyframes monk-bounce{0%,100%{transform:translate(447px,454px)}50%{transform:translate(447px,429px)}}@keyframes leaf-drift{0%{transform:translateY(-30px) rotate(0deg);opacity:0}15%{opacity:.8}100%{transform:translate(-80px,420px) rotate(290deg);opacity:0}}@keyframes fish-jump{0%{transform:translateY(0) rotate(-4deg)}100%{transform:translateY(-17px) rotate(4deg)}}@keyframes smoke-up{0%,100%{opacity:.2;transform:translateY(3px)}50%{opacity:.85;transform:translateY(-8px)}}
@media (max-width:1260px){.app{padding:0 14px}.game-shell{grid-template-columns:minmax(210px,245px) minmax(360px,1fr);gap:14px}.right-panel{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start}.player-card{grid-column:1/-1}.utility-links{grid-column:1/-1}.scroll-card{min-height:0}.scene{aspect-ratio:1.25}.mood-chip{display:none}}
@media (max-width:760px){.app{padding:0 10px}.masthead{min-height:66px;gap:6px}.brand-icon{width:41px;height:41px;font-size:23px}.brand strong{font-size:21px}.brand small{font-size:8px;letter-spacing:1.2px}.header-center{display:none}.badge{padding:9px 8px;font-size:10px}.icon-button{font-size:10px;padding:9px 8px}.game-shell{display:flex;flex-direction:column;padding-top:12px;gap:17px}.play-area{order:0;width:100%}.quest{order:1;width:100%}.right-panel{order:2;width:100%;display:flex;flex-direction:column}.right-panel>*{width:100%}.scene-head{padding-bottom:12px}.scene-head h2{font-size:22px}.eyebrow{font-size:9px}.scene{border-width:5px;border-radius:16px;aspect-ratio:.93}.scene-art{transform:scale(1.42);transform-origin:49% 54%}.hotspot{font-size:10px;min-height:38px;padding:6px 9px}.hotspot-wood{left:17%;top:63%}.hotspot-incense{left:81%;top:47%}.hotspot-pond{left:78%;top:79%}.hotspot span{display:none}.interaction-toast{bottom:10%;font-size:11px;padding:9px 12px}.scene-attribution{left:9px;bottom:7px;font-size:8px}.action-bar{gap:6px;margin-top:10px}.action-btn{min-height:73px;padding:10px 3px 8px;font-size:11px;border-radius:12px}.action-emoji{font-size:21px}.action-btn kbd{display:none}.scroll-card{min-height:0}.quest h1{font-size:30px}.footer{font-size:10px;flex-direction:column;gap:5px;padding:14px 4px}.catch-fish{left:64%;top:76%;font-size:12px}.event-illustration{height:90px}}
@media (max-width:390px){.brand strong{font-size:18px}.badge{font-size:9px}.scene-head h2{font-size:19px}.action-btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

.garden-object{position:absolute;z-index:3;font-size:38px;filter:drop-shadow(0 5px 4px #273d3c77);pointer-events:none}.garden-lotus{left:76%;top:79%}.garden-lantern{left:35%;top:48%}
@media(max-width:760px){.garden-object{font-size:31px}.garden-lotus{left:67%;top:77%}}

/* High-contrast small UI labels and captions, verified against warm paper backgrounds. */
:root{--muted:#54453b}
.brand small,.header-center,.chapter-label,.eyebrow,.event-tag,.scroll-ribbon{color:#614330}
.scroll-ribbon{color:#fff8e9}
.quest-intro,.quest-task-count,.reward-notice small,.closet-card>p,.closet-head span,.treasure small,.player-info strong small,.event-card p,.event-card .event-result,.footer,.utility-links a,.quest-title span,.action-btn kbd,.text-button,.closet-card p,.event-card p{color:#514237}
.quest-section .quest-task-name{color:#342a24}
.scene-attribution{background:#263f39e8;color:#ffffff;border-radius:12px;padding:6px 9px;text-shadow:none}
.action-btn kbd{border-color:#bca58a}
.hotspot{background:#44342ef2;color:#fff9ed}
.hotspot:hover,.hotspot:focus-visible{background:#78421e}
