:root{font-family:"Avenir Next","Trebuchet MS",system-ui,sans-serif;color:#193f43;background:#eff9e9;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 10% 0,#d8f5d8,transparent 55%),#f6f9e9}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:4px solid #bd3d86;outline-offset:4px}button:disabled{cursor:default;opacity:.45}.game-shell{max-width:1440px;margin:auto;padding:20px 30px 12px;min-height:100svh}.topbar{height:64px;margin-bottom:18px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:1.5px;margin:0 0 5px;color:#4e7867}h1{font-size:29px;letter-spacing:-1.2px;margin:0;line-height:1.1}.edition{font-size:10px;font-weight:800;letter-spacing:1.5px;display:flex;align-items:center;gap:12px}.edition>span{display:grid;place-items:center;background:#f6cb47;color:#725719;width:36px;height:36px;border-radius:50%;font-size:23px}.expedition{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;height:calc(100svh - 142px);min-height:500px;max-height:780px}.stage{position:relative;overflow:hidden;border:6px solid white;border-radius:24px;background:#58dbde;box-shadow:0 10px 25px #305a3e15;min-width:0}canvas{display:block;width:100%;height:100%;object-fit:fill;touch-action:none}.scene-label{position:absolute;left:20px;top:17px;display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.1px;font-weight:900;color:#165366;background:#ffffffe8;border-radius:30px;padding:10px 12px}.location-dot{width:7px;height:7px;background:#0da48e;border-radius:50%}.scene-stamp{position:absolute;right:18px;top:19px;transform:rotate(9deg);width:69px;height:69px;border:2px dashed #fff9cb;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:23px;line-height:1;color:#fff9cb}.scene-stamp span{font-size:8px;font-weight:900;letter-spacing:1px;text-align:center;line-height:1.4}.lane-picker{position:absolute;bottom:15px;left:24%;right:24%;display:flex;justify-content:space-between;gap:5px}.lane-picker button{width:35px;height:35px;background:#fff4d8cf;border:2px solid #fff5de;border-radius:50%;font-weight:900;color:#835239;box-shadow:0 3px 0 #a9633933}.lane-picker .selected{background:#214e62;color:white;transform:translateY(-4px);border-color:#c9f7e9}.trail-card{padding:21px 21px 17px;border-radius:24px;background:#fffef7;box-shadow:0 8px 28px #2a593a0b;display:flex;flex-direction:column;min-height:0;border:1px solid #e4eace}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.route-tag{width:27px;height:27px;display:grid;place-items:center;border:1px solid #c2d3bc;border-radius:50%;font-size:11px;color:#6d8570;font-weight:800}h2{font-size:32px;letter-spacing:-1.1px;line-height:1.08;margin:0 0 10px;color:#204e49}.intro{font-size:12px;line-height:1.6;color:#62776e;margin:0 0 20px}.progress-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:750}.progress-heading strong{font-size:28px;letter-spacing:-1px}.progress-heading small{font-size:14px;margin-left:2px}.progress{height:12px;border-radius:20px;background:#e7edda;margin:7px 0;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#36b29a,#97ce54);border-radius:20px;transition:width .2s}.milestones{display:flex;justify-content:space-between;font-size:8px;font-weight:850;letter-spacing:1px;color:#7b8c72}.lives-card{display:flex;align-items:center;justify-content:space-between;border:1px solid #f6dfb8;background:#fff4db;border-radius:15px;padding:13px 12px;margin:20px 0 13px}.lives-card .eyebrow{font-size:8px;letter-spacing:1px;color:#957046}.lives-card>strong{font-size:10px;color:#a27744}.hearts{color:#ee6968;font-size:23px;white-space:nowrap;letter-spacing:1px;line-height:1.2}.heart-lost{color:#dbcdb4}.guide{display:flex;align-items:center;gap:10px;min-height:50px;margin-bottom:13px}.guide-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e1f2df;color:#379475;flex-shrink:0}.guide p{font-size:11px;line-height:1.5;color:#526e60;margin:0}.primary{background:#e66a3c;color:#fff;border:0;border-bottom:4px solid #b94629;border-radius:12px;min-height:48px;width:100%;font-weight:850;font-size:15px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;margin-top:auto;box-shadow:0 4px 12px #dc723c25}.primary span{font-size:23px}.primary:hover{background:#f17a42}.primary:active,.movement button:active{transform:translateY(2px)}.movement{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:8px;margin-top:13px}.movement button{height:44px;border:1px solid #c2d7c2;background:#edf5e7;border-bottom:3px solid #bdd0b5;border-radius:10px;color:#255a50;font-size:23px;font-weight:750;white-space:nowrap}.movement button span{font-size:11px;vertical-align:middle}.movement>div{text-align:center;line-height:1}.movement>div span{font-size:7px;letter-spacing:1px;display:block;font-weight:800;color:#78917e;margin-bottom:5px}.movement>div strong{font-size:20px}.utility{display:flex;gap:8px;justify-content:space-between;margin-top:13px}.utility button{background:none;border:0;color:#617b6e;font-size:11px;font-weight:750;padding:5px 0}.utility button:hover{color:#df5d35}.keyboard-hint{font-size:9px;line-height:1.6;color:#728676;text-align:center;margin:10px 0 0}footer{display:flex;justify-content:space-between;margin-top:14px;font-size:10px;font-weight:650;color:#6b8575;letter-spacing:.1px}footer i{padding:0 8px;font-style:normal;color:#b3bca1}.celebration{position:absolute;left:50%;top:22%;transform:translateX(-50%) rotate(-5deg);padding:16px 24px;border-radius:20px;background:#fff8cf;box-shadow:0 6px 0 #e9bb55;color:#496645;text-align:center;white-space:nowrap}.celebration[hidden]{display:none}.celebration span{display:block;font-size:38px;color:#efaf23}.celebration strong{font-size:23px;letter-spacing:2px}@media(max-height:760px) and (min-width:801px){.game-shell{padding-top:13px}.topbar{height:54px;margin-bottom:13px}.expedition{height:calc(100svh - 120px);min-height:490px}.trail-card{padding:17px 20px 13px}.card-heading{margin-bottom:8px}h2{font-size:29px}.intro{margin-bottom:12px}.lives-card{margin:13px 0 7px;padding:10px}.guide{margin-bottom:9px;min-height:44px}.keyboard-hint{margin-top:6px}.utility{margin-top:8px}footer{margin-top:10px}}@media(max-width:800px){.game-shell{padding:12px}.topbar{height:auto;margin-bottom:15px}.edition{display:none!important}h1{font-size:25px}.expedition{grid-template-columns:1fr;height:auto;max-height:none;gap:12px;min-height:0}.stage{height:420px;min-height:320px}.trail-card{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:18px}.card-heading,.intro,.milestones,.keyboard-hint{display:none}h2{font-size:23px;grid-column:1/-1;margin:0}h2 br{display:none}.progress-heading{grid-column:1}.progress{grid-column:1;margin:0;height:10px}.lives-card{grid-column:2;grid-row:2/4;margin:0;padding:7px}.guide{grid-column:1/-1;margin:0;min-height:25px}.primary{grid-column:1/-1;margin:0}.movement{grid-column:1/-1;margin:0}.utility{grid-column:1/-1;margin:0}.hearts{font-size:20px}.scene-label{font-size:7px;left:10px;top:12px;padding:9px}.scene-stamp{width:55px;height:55px;right:12px;top:12px}footer{font-size:8px}footer>span:last-child{display:none}}@media(max-width:440px){.stage{height:360px}.scene-stamp{display:none}.lane-picker{left:18%;right:18%}.scene-label{font-size:6px}.lives-card>strong{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
