@import url('https://fonts.googleapis.com/css2?family=Mitr:wght@400;500;600;700&display=swap');*{box-sizing:border-box}html,body,#app,.screen{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:"Mitr",system-ui,sans-serif;color:#203d58}button{font:inherit;cursor:pointer}.screen{position:fixed;inset:0;background:url('assets/platform-world-bg.png') center/cover no-repeat}.hidden{display:none!important}.intro{display:grid;place-items:center;padding:12px}.intro:after{content:"";position:absolute;inset:0;background:#158dd533}.intro-card{z-index:1;width:min(620px,92vw);max-height:calc(100dvh - 26px);padding:clamp(13px,2.7vh,31px);text-align:center;background:#fffdf1f1;border:5px solid #fff;border-radius:37px;box-shadow:0 12px 0 #236aa0,0 23px 50px #164b7077}.hero{font-size:clamp(52px,11vh,94px);line-height:1;animation:bob 2s ease-in-out infinite}.intro p{margin:4px;color:#e85c45;font-weight:700}.intro h1{margin:3px;font-size:clamp(34px,6.2vh,58px);line-height:1.08;color:#246a9d}.example{display:inline-block;margin:12px;padding:8px 20px;border-radius:16px;background:#dff8ff;font-size:clamp(20px,3vh,28px);font-weight:700}.example b{color:#ec5741}.intro-card>span{display:block;margin-bottom:17px}.primary{border:0;border-radius:19px;padding:clamp(9px,1.7vh,14px) 42px;background:linear-gradient(#ffd848,#f4a31b);color:#604000;font-size:clamp(18px,2.8vh,23px);font-weight:700;box-shadow:0 7px 0 #bd7010}.hud{position:absolute;z-index:20;top:9px;left:11px;right:11px;height:64px;display:grid;grid-template-columns:1fr minmax(230px,1.2fr) 1fr;align-items:center;gap:16px;padding:8px 15px;background:#fffdf2ed;border:3px solid #fff;border-radius:22px;box-shadow:0 6px 0 #236aa0}.brand{font-size:clamp(15px,1.7vw,23px);font-weight:700}.progress{text-align:center}.progress>div{height:9px;margin-top:4px;border-radius:7px;background:#d4e3e5;overflow:hidden}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#52c9ea,#8ce356);transition:.4s}.stats{display:flex;align-items:center;justify-content:flex-end;gap:9px;font-size:20px}.stats button{width:40px;height:40px;border:2px solid #c3dce5;border-radius:12px;background:#fff;box-shadow:0 3px #8bafbc}.quest{position:absolute;z-index:10;top:91px;left:50%;transform:translateX(-50%);width:min(900px,92vw);padding:10px 25px 12px;text-align:center;background:#fffdf1f5;border:5px solid #fff;border-radius:26px;box-shadow:0 7px 0 #e5a029}.quest>span{display:inline-block;padding:5px 13px;border-radius:13px;background:#3caed6;color:#fff;font-weight:600}.quest p{margin:7px 0 3px;font-size:clamp(19px,2.3vw,29px);font-weight:600;line-height:1.35}.quest small{color:#607785}.builder{position:absolute;z-index:8;top:260px;left:50%;transform:translateX(-50%);width:min(820px,90vw);padding:12px 25px 16px;text-align:center;background:#f9fff2ee;border:5px solid #fff;border-radius:29px;box-shadow:0 11px 0 #398653}.builder h2{margin:0 0 8px;font-size:21px}.sentence{display:flex;align-items:center;justify-content:center;gap:10px}.slot{width:105px;height:70px;border:4px dashed #3a7898;border-radius:15px;background:#fff;color:#21415c;font-size:34px;font-weight:700}.slot.active{outline:6px solid #ffd438;background:#fff9d7}.op-slot{width:72px;color:#ec563f}.sentence>b{font-size:35px}.sentence em{font-style:normal;font-weight:600}.controls{display:flex;justify-content:center;gap:20px;margin:10px 0}.keypad{display:grid;grid-template-columns:repeat(3,55px);gap:5px}.keypad button,.ops button{height:39px;border:2px solid #fff;border-radius:9px;background:#dff4ff;color:#24516b;font-weight:700;box-shadow:0 3px #75a7ba}.keypad .clear{font-size:11px;background:#ffe5dd}.ops{display:grid;grid-template-columns:repeat(2,65px);gap:8px;align-content:center}.ops button{height:62px;background:#ffd847;font-size:32px}.check{border:3px solid #fff;border-radius:14px;padding:8px 34px;background:linear-gradient(#53d67a,#25a950);color:#fff;font-weight:700;font-size:19px;box-shadow:0 5px #18743a}.traveler{position:absolute;z-index:7;left:7%;right:7%;bottom:2%;height:60px}.traveler>span{position:absolute;z-index:2;left:0;bottom:15px;font-size:45px;transform:translateX(-50%);transition:.6s}.path{position:absolute;left:0;right:0;bottom:14px;height:13px;border:3px solid #fff;border-radius:12px;background:#cf8b55;overflow:hidden}.path i{display:block;width:0;height:100%;background:#7bd84f;transition:.6s}.traveler small{position:absolute;right:0;bottom:31px;padding:2px 8px;border-radius:8px;background:#fff}.toast{position:absolute;z-index:40;left:50%;top:51%;transform:translate(-50%,-50%) scale(.7);opacity:0;padding:13px 28px;border-radius:28px;background:#fff;font-size:28px;font-weight:700;pointer-events:none}.toast.show{animation:toast .85s}.modal{position:fixed;z-index:99;inset:0;display:grid;place-items:center;padding:20px;background:#16527c99;backdrop-filter:blur(7px)}.modal-card{width:min(560px,92vw);padding:32px;text-align:center;background:#fffdf0;border:5px solid #fff;border-radius:35px;box-shadow:0 12px 0 #236aa0}.modal-card>div{font-size:75px}.modal h2{margin:0;font-size:clamp(34px,5vw,57px);color:#236d9f}.modal p{font-size:20px}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes toast{20%,75%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:720px){.hud{height:56px;grid-template-columns:1fr 1fr}.brand span{display:none}.progress{position:absolute;left:24%;right:24%;top:6px;font-size:13px}.stats button{width:33px;height:33px}.quest{top:77px;padding:6px 10px}.quest p{font-size:16px}.builder{top:215px;padding:9px}.slot{width:70px;height:55px;font-size:27px}.op-slot{width:55px}.keypad{grid-template-columns:repeat(3,48px)}.ops{grid-template-columns:repeat(2,55px)}.traveler{bottom:1%}.intro-card{padding:9px 20px}}@media(max-height:690px){.intro-card{padding:7px 20px}.hero{font-size:44px}.intro h1{font-size:29px}.example{margin:6px}.hud{height:53px}.quest{top:73px;padding:4px 12px}.quest p{font-size:17px;margin:3px}.builder{top:190px;padding:6px 20px}.builder h2{font-size:17px;margin-bottom:3px}.slot{height:50px}.controls{margin:5px}.keypad button{height:31px}.ops button{height:49px}.check{padding:5px 28px}.traveler{height:48px}.traveler>span{font-size:36px}}
