:root{font-family:ui-rounded,Trebuchet MS,system-ui,sans-serif;font-weight:550;color:#fff6dd;background:#182642;font-synthesis:none;--navy: #182642;--deep: #101c34;--paper: #fff5db;--ink: #263249;--muted: #506071;--gold: #ffcf65;--teal: #176d63}*,*:before,*:after{box-sizing:border-box}html,body{height:100dvh}body{margin:0;min-width:280px;overflow:hidden}#app{height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ed784e;outline-offset:3px}h1,h2,h3,p,dl,dd{margin:0}p{line-height:1.45}h1,h2,h3,strong{font-weight:850}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border:1px solid transparent;border-radius:12px;min-height:46px;padding:8px 14px;color:var(--ink);font-size:14px;font-weight:850;line-height:1.16;background:#e7edd7}.button.primary{background:var(--gold);color:#302340;border-color:#e8aa4e;box-shadow:0 3px #b6713d}.button.primary:hover{background:#ffde8b}.button.secondary{background:#fff9e7;border-color:#b9c3ac}.button.secondary:hover,.option:hover{background:#eff6df}.button.utility{color:var(--paper);background:#253651;border-color:#7a89a257}.button.utility:hover{background:#354a68}.button.quiet{color:var(--teal);background:transparent;border-color:#c9cdb7}.button.quiet:hover{background:#fff8e5}.actions{display:flex;flex-wrap:wrap;gap:9px}.eyebrow{color:#81513e;font-size:11px;font-weight:900;letter-spacing:.16em;line-height:1.24}.small{color:var(--muted);font-size:13px}.scene-art{background:#d08e69 url(/assets/sekolah-atlas-D_oENzn0.jpg) var(--scene-x, 0%) var(--scene-y, 0%) / 300% 200% no-repeat}.map-mark{display:grid;place-items:center;border-radius:50%;width:36px;height:36px;background:#f9d478;color:var(--deep);font-size:19px;font-weight:900}.game-home{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:#7fb069 url(/assets/pekan--m_ZD3Qv.jpg) center / cover no-repeat;color:var(--ink)}.game-home:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#101c3440 0%,transparent 30%)}.game-home:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 44%,#18264259 70%,#101c34e0 100%)}.home-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom))}.home-logo{text-align:center;flex:none}.home-wordmark{font-size:clamp(40px,11vw,82px);font-weight:900;line-height:1;letter-spacing:.01em;color:#fff;text-shadow:3px 3px 0 #ff9f43,6px 6px 0 #1f8a70,0 12px 22px #1d4e7966}.home-pill{display:inline-block;margin-top:clamp(6px,1.2dvh,11px);background:#fff6dd;color:var(--ink);font-weight:850;font-size:clamp(12px,2.6vw,15px);padding:6px 14px;border-radius:999px;border:2px solid #f2d492;box-shadow:0 3px #d9b96a}.home-parents{position:absolute;z-index:2;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));height:40px;min-height:40px;padding:0 15px;display:inline-flex;align-items:center;border-radius:999px;border:2px solid #fff1cf99;background:#182741d9;color:#fff6dd;font-weight:850;font-size:14px;box-shadow:0 4px 14px #101c3440}.home-actions{display:grid;justify-items:center;gap:clamp(8px,1.6dvh,14px);flex:none}.home-bubu{position:absolute;z-index:1;right:max(4px,env(safe-area-inset-right));top:46%;width:clamp(60px,15vw,92px);height:auto;animation:home-bob 2.6s ease-in-out infinite}@keyframes home-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.home-stamps{display:flex;gap:clamp(6px,2vw,12px);flex:none}.home-stamp{display:grid;place-items:center;width:clamp(38px,6.2dvh,50px);aspect-ratio:1;border-radius:50%;font-size:clamp(17px,3dvh,22px);font-weight:900;background:#ffffff80;color:#33506e;border:3px dashed #ffffffd9}.home-stamp.earned{background:#f9d478;color:var(--deep);border:3px solid #fff0bc;box-shadow:0 3px #b6713d}.stamp-icon{display:grid;place-items:center}.stamp-icon svg{width:100%;height:100%;display:block}.home-stamp .stamp-icon{width:56%;height:56%}.home-play{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:72px;padding:12px clamp(26px,7vw,44px);font-size:clamp(24px,6vw,33px);font-weight:900;line-height:1.1;color:#302340;background:var(--gold);text-decoration:none;border:2px solid #e8aa4e;border-radius:22px;box-shadow:0 6px #b6713d}.home-play:hover{background:#ffde8b}.home-play:active{transform:translateY(4px);box-shadow:0 2px #b6713d}.home-row{display:flex;gap:10px;flex:none;flex-wrap:wrap;justify-content:center;align-items:center}.home-mini{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:9px 18px;font-size:15px;font-weight:850;color:var(--ink);background:#fff9e7;font-family:inherit;border:2px solid #b9c3ac;border-radius:16px;box-shadow:0 4px #9db38a;text-decoration:none;cursor:pointer}.home-mini:active{transform:translateY(3px);box-shadow:0 1px #9db38a}.home-foot{flex:none;color:#fff6dd;font-size:13px;font-weight:700;text-align:center}.home-dialog .panel-body .button{justify-self:start}@media(max-height:540px){.home-bubu{display:none}}@media(prefers-reduced-motion:reduce){.home-bubu{animation:none}}.game-shell{max-width:min(1210px,max(940px,calc((100svh - 156px)*1.695 + 52px)));margin:auto;padding:13px max(19px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(19px,env(safe-area-inset-left))}.trail{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:11px}.trail-stop{min-height:44px;padding:5px 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff2d;border-radius:11px;background:#253650;color:#fff4d5;font-size:13px}.trail-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff9e6;background:#485a73;font-weight:850}.trail-stop.here{background:#f9d06f;border-color:#f9d06f;color:var(--ink);font-weight:850}.trail-stop.here .trail-mark{color:var(--paper);background:#704a43}.trail-stop.done:not(.here) .trail-mark{background:var(--teal)}.play-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:14px;align-items:start}.world-frame{position:relative;aspect-ratio:1;width:100%;overflow:hidden;isolation:isolate;border-radius:20px;border:3px solid #fff1d7;box-shadow:0 6px #101b31;background:#b37658}.world-canvas,.world-markers{position:absolute;inset:0}.world-canvas canvas{display:block;width:100%!important;height:100%!important}.world-markers{pointer-events:none}.pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:grid;place-items:center;padding:0;width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:#fff8df}.pin-dot{display:grid;place-items:center;width:18px;height:18px;font-weight:900;border-radius:50%;background:#192744dd;border:2px solid #fff4d8;box-shadow:0 2px 5px #12182b77}.pin.target{z-index:2}.pin.target .pin-dot{width:39px;height:39px;font-size:23px;color:#33243e;background:var(--gold);border-color:#fff6de;animation:ping 2s ease-out infinite}.pin-label{position:absolute;top:calc(100% + 1px);width:max-content;max-width:108px;padding:5px 7px;border-radius:7px;color:var(--paper);background:#192744eb;line-height:1.08;font-size:12px;font-weight:850;opacity:0;pointer-events:none}.pin.target .pin-label,.pin:hover .pin-label,.pin:focus-visible .pin-label{opacity:1}.pin.edge-right .pin-label{right:-5px}.pin.edge-left .pin-label{left:-5px}@keyframes ping{0%,to{box-shadow:0 0 0 3px #fff7d599,0 2px 5px #12182b77}55%{box-shadow:0 0 0 9px #fff7d520,0 2px 5px #12182b77}}.scene-time,.scene-place,.scene-hint{position:absolute;pointer-events:none;color:var(--paper);background:#14223eea;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:850}.scene-time{top:10px;right:10px}.scene-place{top:10px;left:10px}.scene-hint{bottom:9px;left:10px;font-size:11px}.activity{position:relative;color:var(--ink);background:var(--paper);border:1px solid #f7dba6;border-radius:20px;padding:clamp(16px,2.3vw,29px);box-shadow:0 6px #101b31;display:grid;gap:12px;align-content:start;min-width:0}.activity h1,.panel h2{font-family:Georgia,serif;font-size:clamp(27px,4vw,44px);letter-spacing:-.041em;line-height:1.04}.activity h1:focus,.panel h2:focus{outline:none}.activity>.button{justify-self:start}.mission-dots{display:flex;flex-wrap:wrap;gap:5px}.mission-dots span{width:15px;height:15px;border-radius:50%;background:#dcd6bd;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900}.mission-dots .filled{background:var(--teal)}.mission-prompt{color:#394b5a;font-size:clamp(15px,1.9vw,19px)}.result-note{color:#1f4c46;background:#dcebd3;border-left:4px solid #548b72;padding:8px 10px;border-radius:8px;font-size:14px}.result-note p{font-size:12px;margin-top:3px}.practice{color:#425468}.chapter-stamp{width:66px;height:66px;display:grid;place-items:center;background:#ffcf68;color:#694459;border:3px dashed #a57147;border-radius:50%;font-size:35px}.medals{display:flex;gap:6px;flex-wrap:wrap}.medals .chapter-stamp{width:45px;height:45px;font-size:23px}.choices,.passport-list{display:grid;gap:7px}.option{color:var(--ink);background:#fdfbe9;border:1px solid #c2c6a9;border-radius:10px;min-height:46px;padding:8px 11px;font-weight:800;text-align:left}.option:disabled,.option[aria-pressed=true]{background:#dcebd3;border-color:#6b9c83}.option:disabled:before,.food-option[aria-pressed=true] strong:before{content:"✓ "}.feedback{color:#803922;font-size:14px;font-weight:800;margin-top:7px}.feedback:empty{display:none}.slots{display:flex;gap:6px;margin:0 0 9px;padding:0;list-style:none}.slots li{flex:1 1 0;display:grid;place-items:center;min-height:47px;padding:5px;border:1px dashed #939b82;border-radius:8px;text-align:center;color:var(--muted);font-size:12px;background:#f5edd1}.slots li.filled{color:#264e43;border-style:solid;background:#dcebd3}.sort-items{grid-template-columns:repeat(2,1fr)}.sort-items .option{display:flex;align-items:center;gap:6px}.item-glyph{color:#884e4a;font-size:23px;line-height:1}.money-strip{display:grid;grid-template-columns:repeat(3,1fr);border-radius:10px;background:#253651;color:var(--paper)}.money-strip div{text-align:center;padding:6px 3px}.money-strip div+div{border-left:1px solid #7c8caa}.money-strip dt{font-size:11px}.money-strip dd{font-size:clamp(15px,2.5vw,21px);font-weight:900}.shop-prompt{margin:9px 0 7px;font-size:16px}.menu-items{grid-template-columns:repeat(3,1fr)}.food-option{text-align:center;display:grid;justify-items:center;align-content:start;gap:4px;padding:6px 3px;font-size:13px}.food-art{display:block;width:38px;height:29px;margin:2px 0}.food-art.rice{border-radius:50% 50% 45% 45%;background:#fffefa;box-shadow:inset 0 -9px #63ab95;border:1px solid #6e8d7d}.food-art.bread{width:32px;border-radius:11px 11px 6px 6px;border:4px solid #bc7c43;background:#f6d486}.food-art.water{width:17px;border-radius:5px 5px 7px 7px;background:#73c5c7;box-shadow:inset 0 -11px #bce5d9;border-top:5px solid #3e7e7d}.coin-row{display:flex;flex-wrap:wrap}.coin{min-width:46px;height:46px;padding:3px;border:2px solid #ac7636;border-radius:50%;color:#57371f;font-size:11px;font-weight:900;background:#f9d47a;box-shadow:inset 0 0 0 3px #fff0ad}.mission-area .actions{margin-top:9px}.tray{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-height:40px;margin:8px 0 0;padding:5px 8px;border-radius:9px;background:#d7eae4;color:#1c534e;font-size:12px}.tray-token{display:inline-flex;align-items:center;padding:4px 6px;background:#fff5d7;border-radius:6px;font-weight:850}.panel{color:var(--ink);background:var(--paper);border:2px solid #bdb18f;padding:0;border-radius:22px;width:min(565px,calc(100% - 20px));max-height:calc(100dvh - 22px);margin:auto;box-shadow:0 18px 50px #101c3466}.panel::backdrop{background:#0e192db0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel-body{display:grid;gap:12px;padding:16px}.panel-cap{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel h2{font-size:clamp(25px,5vw,37px)}.map-list{display:grid;gap:7px;list-style:none;margin:0;padding:0}.map-list li{display:flex;align-items:center;flex-wrap:wrap;gap:7px;background:#f2e9ce;border-radius:10px;padding:6px}.map-list strong{flex:1 1 105px}@media(max-width:700px){.game-shell{padding-top:6px;padding-inline:max(7px,env(safe-area-inset-left)) max(7px,env(safe-area-inset-right))}.trail{flex-wrap:nowrap;margin-bottom:7px}.trail-stop{flex:1;justify-content:center;padding:3px;min-width:0}.trail-stop span:last-child{display:none}.play-layout{grid-template-columns:minmax(0,1fr);gap:8px}.world-frame{border-radius:14px}.play-layout.playing .world-frame{width:min(100%,40svh);margin-inline:auto}.activity{padding:12px;border-radius:14px;gap:8px}.pin.target .pin-dot{width:33px;height:33px;font-size:19px}.pin-label{top:39px}.scene-hint{display:none}}@media(prefers-reduced-motion:reduce){.pin.target .pin-dot{animation:none}}.game-page{background:#202e46;overflow:hidden}.game-page .site-head{min-height:58px}.game-page .game-shell{max-width:none;height:calc(100dvh - 58px);padding:0;margin:0}.game-page .play-layout{position:relative;display:block;width:100%;height:100%}.game-page .world-frame{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:#25334b;isolation:isolate;touch-action:none}.world-surface{position:absolute;left:0;top:0;width:720px;height:720px}.game-page .scene-place{left:12px;top:10px}.game-page .scene-time{left:12px;top:42px;right:auto}.game-page .scene-hint{left:50%;bottom:65px;transform:translate(-50%);width:max-content;max-width:min(72%,440px);text-align:center;font-size:14px;z-index:3}.objective{position:absolute;z-index:3;top:11px;left:50%;transform:translate(-50%);width:min(47%,430px);display:flex;gap:8px;align-items:center;min-height:44px;padding:6px 11px;color:#332b43;background:#fff7df;border:2px solid #5a4a61;box-shadow:0 4px #18213670;border-radius:14px}.objective strong{flex:1;line-height:1.1}.objective{text-align:left}.objective-star{color:#8b5725;font-size:20px}.objective>span:last-child{font-size:13px;font-weight:900;white-space:nowrap}.mini-map{position:absolute;right:13px;top:11px;width:108px;height:83px;overflow:hidden;border:2px solid #fff1ce;border-radius:12px;background:#182744ee;z-index:3}.mini-rooms{position:absolute;inset:0}.mini-zone{position:absolute;border:1px solid #31405b;border-radius:2px;opacity:.85}.mini-player,.mini-target{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.mini-player{width:9px;height:9px;border:2px solid #fff;background:#fe8d68}.mini-target{font-size:14px;color:#ffd267;text-shadow:0 1px #524451}.mini-target[hidden],.world-action[hidden],.activity[hidden]{display:none}.joystick{position:absolute;z-index:4;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));display:grid;place-items:center;width:102px;height:102px;border-radius:50%;background:#182741b8;border:2px solid #fff1cfbd;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.joystick-knob{width:49px;height:49px;display:grid;place-items:center;border-radius:50%;color:#553f4b;background:#ffd36a;border:2px solid #fff3d0;font-size:23px;font-weight:900;pointer-events:none}.world-action{position:absolute;z-index:4;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));min-width:94px;min-height:53px;color:#302640;background:#ffd36a;border:2px solid #fff2cf;border-radius:14px;box-shadow:0 4px #513c50;font-weight:900;padding:7px 13px}.world-action:disabled{opacity:.58}.control-help{position:absolute;bottom:13px;left:50%;transform:translate(-50%);z-index:3;width:max-content;max-width:calc(100% - 255px);padding:5px 8px;border-radius:7px;background:#192743e8;color:#fff7df;font-size:12px;text-align:center}.pin.checkpoint .pin-dot{background:#a4e4ad;color:#234e44}.pin.checkpoint .pin-dot:before{content:"⚑";font-size:23px}.pin.checkpoint .pin-dot{font-size:0}.game-page .activity{position:absolute;z-index:5;right:13px;bottom:13px;width:min(410px,calc(100% - 26px));max-height:calc(100% - 77px);overflow-y:auto;overscroll-behavior:contain;padding:15px;gap:8px}.game-page .activity h1{font-size:clamp(24px,4vw,35px)}.game-page .activity:not([hidden]){animation:mission-enter .18s ease-out both}@keyframes mission-enter{0%{opacity:.45;transform:translateY(9px)}}.game-page .play-layout.playing .joystick,.game-page .play-layout.playing .control-help{opacity:.42}.game-page .play-layout.spatial .activity{bottom:84px}.game-page .play-layout.spatial .joystick,.game-page .play-layout.spatial .control-help{opacity:1}.game-page .world-feedback{background:#27544c}.game-page .panel .trail-stop{color:#2d3a52;background:#eee5cc}.game-page .panel .trail-stop.here{background:#ffd36a}@media(max-width:700px){.game-page .site-head{min-height:55px}.game-page .game-shell{height:calc(100dvh - 55px)}.game-page .scene-place,.game-page .scene-time{font-size:10px;padding:4px 6px}.game-page .scene-time{top:34px}.objective{top:9px;left:50%;width:min(53%,270px);min-height:42px;font-size:13px;gap:5px;padding:5px 7px}.mini-map{right:8px;top:9px;width:61px;height:53px;border-radius:8px}.game-page .scene-hint{display:block;bottom:132px;font-size:12px}.control-help{bottom:87px;max-width:calc(100% - 190px);font-size:10px}.joystick{width:92px;height:92px;bottom:max(14px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left))}.world-action{bottom:max(20px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}.game-page .activity{right:7px;bottom:max(7px,env(safe-area-inset-bottom));width:calc(100% - 14px);max-height:47%;padding:11px}.game-page .play-layout.playing .world-frame{width:100%;margin:0}.game-page .play-layout.playing .joystick,.game-page .play-layout.playing .control-help,.game-page .play-layout.playing .scene-hint{visibility:hidden}.game-page .play-layout.spatial .activity{top:66px;bottom:auto;max-height:28%}.game-page .play-layout.spatial .joystick,.game-page .play-layout.spatial .control-help,.game-page .play-layout.spatial .scene-hint{visibility:visible}.game-page .panel .trail-stop span:last-child{display:inline}.game-page .panel .trail{flex-wrap:wrap}.game-page .panel .trail-stop{flex:0 1 auto;padding-inline:6px}}@media(prefers-reduced-motion:reduce){.game-page .activity:not([hidden]){animation:none}}.game-page{background:#221b42}.game-page #app{display:flex;flex-direction:column;height:100dvh}.game-page .game-shell{flex:1 1 auto;height:auto;min-height:0;width:100%}.game-page .site-head{flex:0 0 auto;padding-top:max(6px,env(safe-area-inset-top));background:#291e50;border-bottom:2px solid #7761a4}.game-page .brand{color:#fff4d9}.game-page .brand-mark{background:#ffc968;border-color:#ffe6a2}.game-page .tools{gap:6px}.game-page .tools .utility{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;min-height:42px;color:#fff4db;background:#43346d;border:1px solid #8d76b7;border-radius:12px;box-shadow:0 3px #1c153b}.tool-icon{color:#ffe097;font-size:17px;line-height:1}.game-page .world-frame{background:#25204b}.place-strip{position:absolute;z-index:3;top:15px;left:14px;display:flex;gap:6px;align-items:center;padding:5px 8px;border:1px solid #8a72b8;border-radius:10px;background:#352653;color:#fff4dc}.game-page .place-strip .scene-place,.game-page .place-strip .scene-time{position:static;padding:0;background:none;font-size:11px;white-space:nowrap}.game-page .place-strip .scene-time{color:#e8cafa}.game-page .place-strip .scene-time:before{content:"•";margin-right:6px;color:#ffc967}.objective{width:min(53%,452px);min-height:61px;gap:8px;top:10px;padding:3px 11px 3px 5px;background:linear-gradient(180deg,#fff9e8,#ffe5b8);border:2px solid #a379bc;border-radius:18px;box-shadow:0 4px #201835,inset 0 2px #fff9e5}.hud-mascot{width:54px;height:54px;object-fit:contain;flex:0 0 auto}.objective-copy{display:grid;flex:1;min-width:0;gap:2px}.objective-copy small{color:#6b437c;font-weight:900;letter-spacing:.07em;font-size:9px}.objective-copy strong{font-size:clamp(13px,2vw,17px)}.objective-progress{display:grid;gap:4px;text-align:center}.objective-track{width:36px;height:6px;overflow:hidden;border-radius:10px;background:#d4bfd0}.objective-track>span{display:block;height:100%;background:#168578;border-radius:inherit;transition:width .24s}.mini-map{border:2px solid #cba8ec;border-radius:15px;background:#3d2d68}.sticker-count{position:absolute;right:14px;top:102px;z-index:3;min-height:39px;min-width:68px;color:#ffebaa;background:#49306e;border:1px solid #bd9ce0;border-radius:12px;font-weight:900}.secret-pin .pin-dot{width:30px;height:30px;background:#753c9c;color:#fff0b5;border-color:#e8bdff;font-size:20px;box-shadow:0 0 10px #d9a1fa,0 2px 4px #271d4e;animation:twinkle 1.65s ease-in-out infinite alternate}@keyframes twinkle{to{transform:translateY(-4px) scale(1.13)}}.joystick{background:radial-gradient(circle,#7065a6a8,#34265bbb);border:3px solid #cbb4ecaf;box-shadow:inset 0 0 0 6px #2a1e5452,0 4px #2518418a}.joystick-knob{color:#332451;box-shadow:0 3px #8b5488}.world-action{background:linear-gradient(#ffe28b,#ffb95c);border:2px solid #fff4d1;border-radius:24px;box-shadow:0 5px #77416b;font-size:16px}.game-page .scene-hint{background:#352654;border:1px solid #9d7fb8}.game-page .world-feedback{background:#17685d;color:#fff8df;border-color:#93ecd1;box-shadow:0 4px #172e44}.game-page .activity{background:linear-gradient(155deg,#fff8e8 66%,#f8e6ff);border:2px solid #9c79bc;border-radius:22px;box-shadow:0 5px #34265b,0 12px 30px #1b123b73;scrollbar-color:#b694ca #f6e9f3}.game-page .activity h1{font-family:system-ui,sans-serif;font-weight:950;letter-spacing:-.04em;color:#3d2b60}.mission-guide{display:flex;align-items:center;gap:8px;border-radius:13px;background:#ebdef8;padding:4px 8px}.mission-mascot{width:53px;height:53px;object-fit:contain;flex:0 0 auto}.mission-guide p{font-size:15px;font-weight:750;color:#432f63}.play-meter{color:#604579;font-size:13px;font-weight:900;margin:0 0 7px}.picture-board,.bubble-board{grid-template-columns:repeat(4,minmax(0,1fr))}.picture-board .picture-option{display:grid;place-items:center;text-align:center;align-content:start;gap:3px;min-height:86px;padding:4px 3px;font-size:12px;overflow-wrap:anywhere;background:#ffebbd;border:2px solid #dfab75;box-shadow:0 2px #c69683}.picture-board .picture-option:nth-child(2n){background:#e6dcff;border-color:#c4a3dd}.picture-board .picture-option.collected{background:#c3eedb;border-color:#7fb7a6;color:#305c57}.picture-board .picture-option.collected:before{display:none}.play-picture{display:block;font-size:clamp(23px,5vw,32px);line-height:1.2}.bubble-board{border-radius:15px;padding:10px 7px;background:#d4f6f7;gap:5px}.bubble-option{width:min(100%,62px);aspect-ratio:1;justify-self:center;border-radius:50%;border:2px solid #6eaaec;color:#285e90;background:radial-gradient(circle at 29% 24%,#fff 0 10%,#e3faff 11%,#a5e2f1 66%,#bd98e7);box-shadow:inset 0 0 0 3px #fff9,0 3px #5298b86b}.bubble-option.collected{animation:bubble-pop .24s ease-out forwards}@keyframes bubble-pop{65%{transform:scale(1.23)}to{transform:scale(.3);opacity:0}}.sticker-album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sticker-tile{display:grid;place-items:center;gap:4px;text-align:center;min-height:67px;padding:5px;border:1px dashed #ad91c1;border-radius:10px;color:#604675;background:#f6edfb}.sticker-tile.found{background:#ffe8a7;border-style:solid;color:#51335f}.sticker-tile span{font-size:22px;font-weight:900}.sticker-tile .stamp-icon{width:26px;height:26px}@media(max-width:700px){.game-page .site-head .utility{flex-direction:column;justify-content:center;gap:1px;min-width:48px;padding:4px;font-size:10px}.place-strip{top:6px;left:8px;padding:3px 6px}.objective{left:8px;right:77px;top:37px;width:auto;transform:none;min-height:51px;gap:5px}.hud-mascot{width:43px;height:43px}.mini-map{top:38px;width:61px;height:52px}.sticker-count{top:3px;right:8px;min-height:31px;min-width:57px;font-size:12px}.game-page .activity{padding:10px;max-height:min(60%,calc(100% - 99px))}.game-page .play-layout.spatial .activity{top:96px;max-height:32%}.world-action{min-width:88px;min-height:57px}.mission-guide p{font-size:14px}.mission-mascot{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.secret-pin .pin-dot,.bubble-option.collected{animation:none}.bubble-option.collected{opacity:0}}.adventure-page{--room-accent: #ffc777;--room-tint: #38244c;min-height:100dvh;background:radial-gradient(ellipse at 50% 0,#4b2d61 0,#281a43 58%,#1d1635);color:#fff3de}.adventure-nav{display:flex;align-items:center;gap:6px}.nav-key{border:1px solid #89649d;border-radius:11px;background:#4c3066;color:#fff3db;min-height:44px;padding:6px 11px;font-weight:850;white-space:nowrap}.nav-key:hover{background:#633f80}.settings-key{min-width:44px}.adventure{position:fixed;inset:0;overflow:hidden}.adventure h1{font-family:system-ui,sans-serif;line-height:1.06;color:#fff1d8;letter-spacing:-.05em}.adventure h1:focus{outline:none}.adventure .eyebrow{color:var(--room-accent);letter-spacing:.12em}.mode-screen{max-width:700px;margin:clamp(10px,5vh,55px) auto}.mode-intro{text-align:center;margin-bottom:22px}.mode-intro h1{font-size:clamp(36px,8vw,58px);margin:6px 0 8px}.mode-intro>p:last-child,.map-intro>p:not(.eyebrow){color:#e2cce7}.mode-bubu{width:clamp(86px,24vw,145px);height:auto;filter:drop-shadow(0 7px 16px #16112c)}.mode-picks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-pick{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:106px;text-align:left;border:2px solid #ffe5a0;border-radius:19px;background:linear-gradient(140deg,#ffda8b,#ffad73);color:#3e223f;padding:11px;box-shadow:0 5px #79395e}.mode-pick.free{border-color:#94efd8;background:linear-gradient(140deg,#b0ead7,#61c9c2);box-shadow:0 5px #246563}.mode-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#5e3761;color:#fff1b1;font-size:24px}.mode-pick.free .mode-icon{background:#29535d}.mode-copy{display:grid;gap:4px}.mode-copy strong{font-size:19px;line-height:1.1}.mode-copy small{font-size:13px;font-weight:650;line-height:1.25}.mode-arrow{font-size:21px;font-weight:900}.map-intro{margin:6px 0 16px}.map-intro h1{font-size:clamp(31px,7vw,50px);margin:4px 0}.room-map{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0}.sunrise{--room-accent: #ffd076;--room-tint: #542b46}.garden{--room-accent: #9ee7af;--room-tint: #203f43}.violet{--room-accent: #e7b5ff;--room-tint: #342558}.market{--room-accent: #ffbc82;--room-tint: #632f3d}.rain{--room-accent: #b5defc;--room-tint: #273f5d}.night{--room-accent: #cbbdff;--room-tint: #292046}.room-art,.map-art:before,.room-close:before{background:var(--room-tint) var(--room-image, url(/assets/ruang-duniamisi-Bi5gma88.jpg)) var(--art-x, 0%) var(--art-y, 0%) / var(--art-size, 300% 200%) no-repeat}.detail-art{--room-image: url(/assets/aktiviti-duniamisi-DuYoa67P.jpg);--art-size: 200% 200%}.map-tile{position:relative;display:grid;grid-template-rows:126px 1fr;width:100%;padding:0;overflow:hidden;border:2px solid var(--room-accent);border-radius:17px;background:var(--room-tint);color:#fff4e0;text-align:left;box-shadow:0 4px #170e2b}.map-tile:disabled{opacity:.69}.map-tile.next{box-shadow:0 0 0 3px #ffdf9263,0 4px #170e2b}.map-art{position:relative;overflow:hidden;background:var(--room-tint)}.map-art:before{content:"";position:absolute;left:0;top:50%;width:100%;aspect-ratio:1;transform:translateY(-50%)}.map-number{position:absolute;top:7px;left:7px;padding:4px 7px;border-radius:7px;background:#251a39db;font-size:12px;color:#fff3db;font-weight:900}.map-copy{display:grid;padding:7px 10px;gap:2px}.map-copy strong{font-size:clamp(14px,2vw,19px);line-height:1.12}.map-copy small,.map-state{font-size:11px;color:var(--room-accent);font-weight:800}.room-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,350px);align-items:start;gap:13px;padding:12px;border:1px solid color-mix(in srgb,var(--room-accent) 48%,transparent);border-radius:23px;background:var(--room-tint)}.room-heading{grid-column:1 / -1;display:flex;align-items:center;gap:10px}.room-heading .eyebrow{margin:0}.room-scene{position:relative;aspect-ratio:1;isolation:isolate;overflow:hidden;border-radius:15px;border:2px solid var(--room-accent);box-shadow:0 5px #211633a0;animation:room-reveal .32s ease-out both}@keyframes room-reveal{0%{opacity:.55;transform:scale(.986)}}.room-spot{position:absolute;display:grid;justify-items:center;min-width:48px;min-height:48px;gap:2px;transform:translate(-50%,-50%);border:0;padding:0;background:transparent;color:#fff2db;cursor:pointer;z-index:1}.room-spot:hover,.room-spot:focus-visible{z-index:2}.room-pulse{display:grid;place-items:center;width:47px;height:47px;background:transparent;border:0;box-shadow:none;animation:medallion-pulse 1.55s ease-in-out infinite alternate}.room-pulse svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 7px #37214b66) drop-shadow(0 0 10px #ffec82a6)}@keyframes medallion-pulse{to{transform:scale(1.09)}}.room-spot-label{display:block;max-width:112px;padding:4px 9px;border-radius:999px;background:#182741eb;color:#fff6dd;font-size:11px;text-align:center;font-weight:850;line-height:1.15}.room-sticker{position:absolute;bottom:6px;right:6px;z-index:2;min-width:44px;min-height:44px;color:#fff2af;background:#5d307a;border:1px solid #e0b3ff;border-radius:50%;font-size:23px}.room-dock{display:grid;gap:9px;padding:12px;border:1px solid var(--room-accent);border-radius:16px;color:#362b49;background:#fff2dc;box-shadow:0 4px #1d1433a0}.room-dock h1{color:#342342;font-size:clamp(21px,5vw,33px)}.room-dock .eyebrow{color:#724668}.room-lead{display:flex;align-items:center;gap:8px}.room-bubu{width:clamp(48px,13vw,70px);height:auto;flex:0 0 auto}.room-lead-copy{display:grid;gap:4px}.room-lead-copy p{line-height:1.28}.room-meter{height:7px;background:#dac9da;border-radius:9px;overflow:hidden}.room-meter span{display:block;height:100%;border-radius:inherit;background:#218e79;transition:width .24s}.room-action{width:100%}.free-spots,.activity-heading,.end-card{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.activity-heading{justify-content:space-between;flex-wrap:nowrap}.activity-heading .nav-key{font-size:12px}.journey-toast{margin:5px 0 0;padding:6px 8px;border:1px solid #91caac;border-radius:9px;background:#d2f1da;color:#215349!important;font-size:13px;font-weight:800}.end-card{margin-top:16px;border:1px solid #ae80c9;background:#4c3066;border-radius:14px;padding:8px}.end-bubu{width:52px}.adventure-dialog .panel-body{color:#362b49}@media(max-width:700px){.adventure-nav{gap:4px}.adventure-nav .nav-key{padding:4px 6px;font-size:11px}.room-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-tile{grid-template-rows:93px 1fr}.map-copy{padding:6px 7px}.room-screen{grid-template-columns:minmax(0,1fr);padding:7px;gap:8px;border-radius:14px}.room-scene{width:min(100%,42dvh);margin-inline:auto;border-radius:11px}.has-activity .room-scene{width:min(100%,24dvh)}.has-activity .room-close{width:100%;height:clamp(105px,24dvh,210px);aspect-ratio:auto;background:var(--room-tint)}.room-close:before{content:"";position:absolute;left:0;top:50%;width:100%;aspect-ratio:1;transform:translateY(-50%)}.room-dock{padding:8px;gap:6px}.room-heading .nav-key{font-size:12px}.mode-picks{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.room-pulse,.room-scene{animation:none}}.character-editor{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #a87db6;border-radius:18px;background:#34214d;margin-bottom:15px}.character-preview{display:grid;align-content:center;justify-items:center;gap:5px;background:radial-gradient(ellipse at 50% 35%,#8d598e,#4a315f 75%);border:1px solid #ba8cc3;border-radius:13px;padding:7px;text-align:center;min-width:0}.character-portrait{width:min(100%,138px);height:auto;display:block}.character-preview strong,.walk-player span,.player-tag{overflow-wrap:anywhere}.character-fields{display:grid;gap:7px;min-width:0}.character-fields h2{margin:0;font-size:18px}.character-name{display:grid;gap:3px;font-weight:800;color:#f4d8ee;font-size:12px}.character-name input{width:100%;min-height:44px;padding:7px 9px;font:inherit;font-size:16px;border:1px solid #be94c3;border-radius:9px;background:#fff1df;color:#362445}.character-options{border:0;min-width:0;padding:0;margin:0}.character-options legend{font-size:12px;font-weight:800;color:#f4d8ee;margin-bottom:3px}.character-choices{display:flex;flex-wrap:wrap;gap:4px}.character-choice{border:1px solid #a87db6;min-height:42px;padding:5px 7px;border-radius:9px;color:#fff1df;background:#503469;font-weight:750;font-size:12px}.character-choice[aria-pressed=true]{border:2px solid #ffdb8d;background:#70456e}.character-choice.swatch{display:inline-flex;align-items:center;gap:4px}.character-choice.swatch:before{content:"";width:14px;height:14px;border:1px solid #fff0d7;border-radius:50%;background:var(--swatch)}.player-tag{margin-left:auto;color:#ffdfab;background:#302443;border:1px solid #a983a6;border-radius:9px;padding:4px 7px;max-width:28%;font-size:12px;text-align:center}.voice-status{color:#654a70;font-weight:750;font-size:13px}.voice-status:empty{display:none}.walk-stage{position:fixed;inset:0;overflow:hidden;touch-action:none;background:#25204b}.walk-canvas{position:absolute;inset:0}.walk-canvas canvas{display:block;width:100%!important;height:100%!important}.walk-hint{color:#ffefd6;font-size:13px;text-align:center}.walk-stage .joystick{position:absolute;left:12px;bottom:12px;z-index:5}.walk-stage .world-action{position:absolute;right:12px;bottom:12px;z-index:5}@media(max-width:700px){.mode-intro{margin-bottom:11px}.mode-bubu{width:72px}.mode-intro h1{font-size:clamp(28px,8vw,41px)}.character-editor{grid-template-columns:90px minmax(0,1fr);gap:7px;padding:7px}.character-preview{padding:3px}.character-preview strong{font-size:12px}.character-choice{padding-inline:5px;font-size:11px}}.mode-start{width:100%;margin-bottom:12px;font-size:20px;min-height:56px}.character-fold{margin-bottom:15px}.character-fold-summary{cursor:pointer;padding:10px 12px;border:1px solid #a87db6;border-radius:13px;background:#34214d;color:#fff1df;font-weight:850;list-style:none}.character-fold-summary::-webkit-details-marker{display:none}.character-fold .character-editor{margin-top:10px;margin-bottom:0}.map-tile.locked{opacity:.69}@keyframes tile-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.tile-shake{animation:tile-shake .38s ease}.mission-guide .mission-prompt{flex:1 1 auto}.mission-listen{margin-left:auto;flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:2px solid #fff4db;background:#ffcf73;font-size:24px;cursor:pointer;box-shadow:0 3px #79395e}.mission-listen:active{transform:translateY(2px);box-shadow:none}.why-note{padding:8px 10px;border:1px solid #d9b96a;border-left:5px solid #e8aa4e;border-radius:9px;background:#ffedbe;color:#4c3a14;font-size:13px;line-height:1.35}.why-note strong{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a6414}.why-note p{margin:0}.celebration{position:fixed;inset:0;z-index:60;display:grid;place-items:center;pointer-events:none}.celebration-stamp{display:grid;place-items:center;width:108px;height:108px;border-radius:50%;border:5px solid #ffdf92;background:#218e79;color:#fff7df;font-size:52px;box-shadow:0 10px 30px #170e2b80;animation:celebration-pop .55s cubic-bezier(.2,1.6,.4,1) both}.celebration-stamp .stamp-icon{width:54px;height:54px}@keyframes celebration-pop{0%{transform:scale(.3) rotate(-14deg);opacity:0}}.celebration-star{position:absolute;left:50%;top:50%;font-size:30px;color:#ffcf73;animation:celebration-rise 1.5s ease-out both}.celebration-star.star-1{--burst-x: -128px;--burst-y: -96px}.celebration-star.star-2{--burst-x: 118px;--burst-y: -108px;color:#f49bc4;animation-delay:.05s}.celebration-star.star-3{--burst-x: -138px;--burst-y: 62px;color:#87e2cb;animation-delay:.1s}.celebration-star.star-4{--burst-x: 128px;--burst-y: 74px;animation-delay:.03s}.celebration-star.star-5{--burst-x: -36px;--burst-y: -142px;color:#f49bc4;animation-delay:.08s}.celebration-star.star-6{--burst-x: 44px;--burst-y: 128px;color:#87e2cb;animation-delay:.12s}@keyframes celebration-rise{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(calc(-50% + var(--burst-x, 0px)),calc(-50% + var(--burst-y, 0px))) scale(1.15);opacity:0}}@media(prefers-reduced-motion:reduce){.tile-shake,.celebration-stamp,.celebration-star{animation:none}}.game-hud{position:absolute;z-index:6;top:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));pointer-events:none}.hud-pill,.hud-place,.hud-btn,.hud-back,.hud-place-pill{height:40px;min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1.5px solid #fff1cf99;background:#182741d9;color:#fff6dd;font-weight:850;font-size:13.5px;line-height:1;white-space:nowrap;box-shadow:0 4px 14px #101c3433}button.hud-pill,.hud-btn,.hud-back{cursor:pointer}button.hud-pill:active,.hud-btn:active,.hud-back:active{transform:translateY(1px)}.hud-place{grid-column:1;justify-self:start;max-width:100%}.hud-place-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.hud-stars{display:inline-flex;align-items:center;gap:5px;color:var(--gold);white-space:nowrap}.hud-star-icon{display:grid;place-items:center;width:16px;height:16px;flex:0 0 auto}.hud-star-icon svg{width:100%;height:100%;display:block}.hud-buttons{grid-column:3;justify-self:end;display:flex;gap:6px;pointer-events:auto}.hud-btn{pointer-events:auto}.hud-round{width:40px;padding:0;font-size:16px}.hud-back{position:absolute;z-index:6;top:calc(max(10px,env(safe-area-inset-top)) + 48px);left:max(12px,env(safe-area-inset-left))}.screen-tools{position:absolute;z-index:5;display:flex;gap:6px;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.walk-stage .walk-hint{position:absolute;z-index:6;pointer-events:none;top:calc(max(10px,env(safe-area-inset-top)) + 48px);left:50%;transform:translate(-50%);width:max-content;max-width:min(88%,470px);background:#182741cc;color:#fff6dd;border:1px solid #fff1cf66;border-radius:999px;padding:6px 13px;font-size:12.5px;line-height:1.3;transition:opacity .5s ease}.walk-stage .walk-hint.hint-fade{opacity:.35}.bubu-dialog{position:absolute;z-index:9;left:50%;transform:translate(-50%,12px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 118px);width:min(92%,430px);display:flex;gap:9px;align-items:center;background:#fff6dd;color:#362b49;border:2px solid #e8aa4e;border-radius:18px;padding:8px 13px 8px 8px;box-shadow:0 10px 28px #101c3459;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;text-align:left;font:inherit}.bubu-dialog.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.bubu-face{width:52px;height:52px;object-fit:contain;flex:0 0 auto}.bubu-copy{display:grid;gap:1px;min-width:0}.bubu-name{font-size:11px;font-weight:900;letter-spacing:.09em;color:#b6713d}.bubu-line{font-weight:750;line-height:1.3}.walk-stage .joystick{width:118px;height:118px;z-index:8;left:max(14px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 42%,#35486ecc,#182741b8);border:2px solid #fff1cf80;box-shadow:0 6px 18px #101c3440,inset 0 0 0 6px #ffffff14}.walk-stage .world-action{width:84px;height:84px;min-width:0;min-height:0;z-index:8;right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;border-radius:50%;padding:0;background:radial-gradient(circle at 50% 38%,#ffde8b,#f5b942);border:2px solid #fff2cf;color:#302640;font-size:17px;box-shadow:0 5px #77416b88,0 10px 20px #101c3433}.walk-stage .end-card{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,430px);margin:0;justify-content:center;text-align:center;box-shadow:0 16px 44px #101c3466}.room-screen{position:fixed;inset:0;display:block;padding:0;border:0;border-radius:0;gap:0;overflow:hidden}.room-screen .room-heading{position:absolute;z-index:4;top:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.hud-pill-back{grid-column:1;justify-self:start}.hud-place-pill{grid-column:2;justify-self:center;color:#ffd9a0;letter-spacing:.04em;max-width:min(48vw,340px);overflow:hidden;text-overflow:ellipsis;display:inline-flex}.hud-head-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:6px}.room-screen .player-tag{margin-left:0;height:40px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1.5px solid #fff1cf66;background:#182741d9;color:#ffdfab;font-size:13px;max-width:24vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-screen .room-scene{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:var(--room-tint) var(--room-image, url(/assets/ruang-duniamisi-Bi5gma88.jpg)) var(--art-x, 0%) var(--art-y, 0%) / var(--art-size, 300% 200%) no-repeat}.room-screen .room-scene:before{content:none}.room-screen .room-sticker{top:calc(max(10px,env(safe-area-inset-top)) + 48px);right:max(12px,env(safe-area-inset-right));bottom:auto}.room-screen .room-dock{position:absolute;z-index:3;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));max-height:68dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:10px;align-content:start;margin:0;padding:16px;border:2px solid color-mix(in srgb,var(--room-accent) 60%,#ffffff);border-radius:24px;background:linear-gradient(180deg,#fffaf0,#fff2dc);box-shadow:0 22px 48px #101c3859,0 6px 18px #101c3833}.room-dock h1{font-size:clamp(20px,5.4vw,27px)}.room-dock .eyebrow{justify-self:start;background:#f3e2bd;padding:4px 10px;border-radius:999px}.room-dock .button{min-height:50px}.room-dock .button.primary{min-height:54px;font-size:16.5px;border-radius:14px}.room-dock .choices{gap:8px}.room-dock .option{min-height:50px;padding:10px 13px;border-radius:14px;font-size:15px;display:flex;align-items:center;gap:8px}.room-dock .option.food-option,.room-dock .option.picture-option{display:grid}@media(min-width:700px){.room-screen .room-dock{left:50%;right:auto;transform:translate(-50%);width:min(520px,calc(100% - 28px))}}.mode-screen{position:relative;height:100%;max-width:700px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:max(14px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow:hidden}@media(max-height:540px){.mode-screen{justify-content:flex-start}.mode-intro{margin-bottom:10px}.mode-bubu{width:54px}.mode-intro h1{font-size:clamp(26px,6vw,36px)}.mode-pick{min-height:76px}}.hero-name-box{margin-bottom:12px;padding:10px 12px;border:1px solid #a87db6;border-radius:13px;background:#34214d}.hero-name-label{display:grid;gap:4px;font-weight:800;color:#f4d8ee;font-size:13px}.hero-name-input{width:100%;min-height:48px;padding:8px 11px;font:inherit;font-size:17px;border:1px solid #be94c3;border-radius:10px;background:#fff1df;color:#362445}.say-row{display:flex;align-items:center;gap:9px;padding:7px 10px 7px 7px;border:1px solid #ecd9a8;border-radius:14px;background:#fff8e5;color:#362b49}.npc-avatar{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:2px solid #fff6dd;box-shadow:0 2px 7px #101c3840;color:#fff;font-size:19px;font-weight:900}.npc-avatar-bubu{background:#ffe9bd}.npc-avatar-img{width:34px;height:34px;object-fit:contain}.say-copy{display:grid;gap:1px;min-width:0}.say-name{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#b6713d}.say-text{margin:0;font-size:15px;font-weight:700;line-height:1.32;color:#362b49}.story-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;background:#170e2bb8;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.story-card{width:100%;display:grid;gap:12px;align-content:start;padding:16px;color:#362b49;border:2px solid color-mix(in srgb,var(--room-accent) 60%,#ffffff);border-radius:24px;background:linear-gradient(180deg,#fffaf0,#fff2dc);box-shadow:0 22px 48px #101c3859,0 6px 18px #101c3833}.story-card .say-text{font-size:17px}.story-card .say-row{border:0;background:transparent;padding:0}.story-next{width:100%;min-height:54px;font-size:16.5px;border-radius:14px}.story-choices{display:grid;gap:8px}.story-option{min-height:54px;padding:10px 13px;border-radius:14px;font-size:16px;border:2px solid #b9c3ac;background:#fff9e7;color:#362b49;font-weight:800;cursor:pointer;text-align:center}.story-option:hover{background:#eff6df}@media(min-width:700px){.story-overlay{align-items:center}.story-card{max-width:520px}}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.value-tile{display:grid;justify-items:center;gap:2px;padding:9px 6px;border:1.5px dashed #c9b8d9;border-radius:12px;text-align:center;color:#51335f;opacity:.48;filter:grayscale(.7)}.value-tile.earned{opacity:1;filter:none;background:#ffe8a7;border-style:solid}.value-tile strong{font-size:12.5px;line-height:1.15}.value-tile small{font-size:11px}.value-icon{display:grid;place-items:center;width:30px;height:30px;color:#d98a16}.value-icon svg{width:100%;height:100%;display:block}@media(max-height:540px){.hero-name-box{margin-bottom:8px;padding:7px 9px}.hero-name-input{min-height:42px}}
