*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#5b4632;--ink-soft:#8a7158;--cream:#fffdf6;--paper:#fffdf6f0;--accent:#f2a65a;--green:#6fbf5a;--shadow:0 4px 14px #5a3c142e, 0 1px 3px #5a3c141f}html,body{height:100%;overflow:hidden}body{color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;background:#9fd9ef;font-family:"Baloo 2",PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,Comic Sans MS,Chalkboard SE,sans-serif}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#hud>*{pointer-events:auto}.hidden{display:none!important}.pill{background:var(--paper);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;align-items:center;gap:14px;padding:8px 22px;font-size:19px;font-weight:700;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.stat{align-items:center;gap:6px;display:flex}.stat .ico{font-size:16px}.sep{background:#5b463226;width:1px;height:20px}.ebar{background:#efe4cf;border-radius:999px;width:92px;height:14px;display:inline-block;overflow:hidden;box-shadow:inset 0 1px 3px #5a3c142e}#efill{background:linear-gradient(90deg,#ffd23e,#ff9f43);border-radius:999px;width:100%;height:100%;transition:width .4s;display:block}#tasks-card{background:var(--paper);width:240px;box-shadow:var(--shadow);border-radius:18px;padding:12px 14px;position:absolute;top:14px;right:14px}#tasks-head{color:var(--ink);margin-bottom:8px;font-size:16px;font-weight:800}#tasks-list{list-style:none}#tasks-list li{color:var(--ink);align-items:center;gap:8px;padding:5px 2px;font-size:15px;font-weight:600;display:flex}#tasks-list li .box{color:#fff;background:#fff;border:2px solid #cbb593;border-radius:5px;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;transition:background .25s,border-color .25s;display:inline-flex}#tasks-list li.done .box{background:var(--green);border-color:var(--green)}#tasks-list li.done .label{color:#b3a289;text-decoration:line-through}#tasks-list li.flash{animation:.5s taskFlash}@keyframes taskFlash{0%{background:#fff3c9}to{background:0 0}}#villager-bar{gap:10px;display:flex;position:absolute;bottom:14px;left:14px}.vchip{flex-direction:column;align-items:center;gap:2px;width:58px;display:flex}.vface{background:var(--paper);width:46px;height:46px;box-shadow:var(--shadow);border:3px solid var(--ring,#ddd);border-radius:50%;justify-content:center;align-items:center;font-size:24px;line-height:1;transition:transform .2s;display:flex}.vchip.met .vface{transform:scale(1.06)}.vname{color:var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:999px;padding:0 8px;font-size:12px;font-weight:700}#round-btns{gap:10px;display:flex;position:absolute;bottom:14px;right:14px}.rbtn{background:var(--c,#fff);width:46px;height:46px;box-shadow:var(--shadow);color:var(--ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:21px;font-weight:800;transition:transform .12s;display:flex}.rbtn:hover{transform:scale(1.1)}.rbtn:active{transform:scale(.94)}#prompt{color:#fff8ec;box-shadow:var(--shadow);white-space:nowrap;background:#423224e0;border-radius:999px;align-items:center;gap:9px;padding:8px 18px 8px 10px;font-size:16px;font-weight:700;animation:.18s promptIn;display:flex;position:absolute;bottom:128px;left:50%;transform:translate(-50%)}@keyframes promptIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.key{color:#4a3413;background:#f6b73c;border-radius:7px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 6px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 2px #c78f22}.key.wide{padding:0 9px}#toasts{flex-direction:column-reverse;align-items:center;gap:8px;display:flex;position:absolute;bottom:186px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{background:var(--paper);box-shadow:var(--shadow);white-space:nowrap;animation:toastIn .25s cubic-bezier(.34,1.56,.64,1), toastOut .3s ease forwards var(--life,2.2s);border-radius:999px;padding:7px 18px;font-size:15px;font-weight:700}.toast.gold{background:#fff3c9}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(-10px)}}#dialog{background:var(--paper);width:min(620px,100vw - 32px);box-shadow:var(--shadow);cursor:pointer;border-radius:20px;padding:14px 20px 12px;animation:.22s cubic-bezier(.34,1.56,.64,1) dialogIn;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}#dialog-name{color:var(--accent);margin-bottom:2px;font-size:15px;font-weight:800}#dialog-text{min-height:26px;font-size:18px;font-weight:600;line-height:1.45}#dialog-hint{text-align:right;color:var(--ink-soft);margin-top:4px;font-size:12px;font-weight:600}#banner{background:var(--paper);text-align:center;box-shadow:var(--shadow);z-index:30;border-radius:24px;padding:18px 36px;font-size:26px;font-weight:800;animation:.45s cubic-bezier(.34,1.56,.64,1) bannerIn;position:absolute;top:34%;left:50%;transform:translate(-50%)}#banner small{color:var(--ink-soft);margin-top:4px;font-size:15px;font-weight:600;display:block}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-18px)scale(.9)}to{opacity:1;transform:translate(-50%)scale(1)}}.panel{background:var(--paper);width:250px;box-shadow:var(--shadow);z-index:25;border-radius:18px;padding:14px 16px;animation:.18s dialogIn;position:absolute;bottom:74px;right:74px}.panel-title{margin-bottom:8px;font-size:16px;font-weight:800}#bag-items{flex-direction:column;gap:6px;font-size:15px;font-weight:600;display:flex}#bag-items .row{justify-content:space-between;display:flex}#bag-items .empty{color:var(--ink-soft);font-size:14px}.help-rows{flex-direction:column;gap:8px;font-size:14px;font-weight:600;display:flex}.help-rows .dim{color:var(--ink-soft);font-size:13px}.confetti{z-index:50;pointer-events:none;width:10px;height:14px;animation:confettiFall var(--t) linear forwards;border-radius:3px;position:fixed;top:-20px}@keyframes confettiFall{to{opacity:.9;transform:translateY(110vh)rotate(720deg)}}#stick{z-index:40;background:#fffdf659;border:2px solid #fff9;border-radius:50%;width:110px;height:110px;position:absolute;bottom:90px;left:26px}#stick-nub{width:48px;height:48px;box-shadow:var(--shadow);background:#fffdf6e6;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#touch-e{color:#4a3413;width:66px;height:66px;box-shadow:0 3px 0 #c78f22, var(--shadow);z-index:40;background:#f6b73c;border:none;border-radius:50%;font-size:26px;font-weight:800;position:absolute;bottom:96px;right:26px}@media (width<=720px){.pill{gap:8px;padding:6px 14px;font-size:15px}.ebar{width:56px}#tasks-card{width:190px;padding:10px}#tasks-list li{font-size:13px}#dialog-text{font-size:16px}}
