:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#243f39;background:#f5f5ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #df8f56;outline-offset:4px}button{transition:background .18s,transform .18s}button:hover{transform:translateY(-1px)}button:disabled{opacity:.5;cursor:default}.topbar{height:96px;border-bottom:1px solid #dfe4d9;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,24px)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:inherit;font-size:13px;letter-spacing:2px;font-weight:800}.brand small{display:block;letter-spacing:1.5px;font-size:10px;font-weight:400;color:#84918a;margin-top:7px}.brand-icon{font-family:Georgia,serif;font-size:47px;background:#246c51;color:#f5f5ee;width:45px;height:45px;border-radius:16px;line-height:42px;text-align:center;letter-spacing:-8px;padding-right:9px}.brand-icon span{font-size:30px;vertical-align:top}.top-actions{display:flex;gap:22px;align-items:center}.local-tag{font-size:11px;color:#7b8a7c;letter-spacing:1px}.local-tag i,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#64a783;margin-right:8px}.icon-button{border:0;background:transparent;color:#4f665b;font-size:12px;padding:9px 0}main{max-width:1160px;margin:0 auto;padding:43px 30px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:#7c9483}h1{font-size:35px;font-weight:500;letter-spacing:-1px;margin:12px 0}h1>span:first-child{font-weight:800;margin-left:8px}.title-dot{display:inline-block;font-size:40px;color:#dcac65;margin-left:16px;vertical-align:middle}.intro p{font-size:12px;letter-spacing:1px;color:#7c897e;margin:0}.edition{text-align:right;padding-top:22px}.edition>span{font-family:Georgia,serif;display:block;font-size:30px;font-style:italic;color:#748675}.edition small{font-size:10px;color:#8c978a;display:block;margin-top:8px}.arcade{border:1px solid #d5dfd4;border-radius:19px;overflow:hidden;background:#fffdf5;box-shadow:0 12px 30px #314e3810}.dashboard{height:77px;display:flex;gap:55px;padding:16px 29px;align-items:center;border-bottom:1px solid #d9e2d4}.stat{min-width:96px}.level-stat{margin-right:auto}.stat-label{display:block;font-size:9px;letter-spacing:1.5px;color:#8b978b;margin-bottom:7px}.stat strong{font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:1px;font-weight:600}.level-stat strong{font-size:14px;letter-spacing:.5px}.lives-stat strong{color:#db947f;letter-spacing:5px}.stage-wrap{position:relative;background:#e8efdd;aspect-ratio:960/600;overflow:hidden}#game{position:absolute;inset:0}#game canvas{display:block;width:100%;height:100%}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#eaf1df48;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:5}.overlay[hidden]{display:none}.overlay-card{text-align:center;width:410px;max-width:90%;padding:30px 25px 25px;background:#fffef5f0;border:1px solid #ffffff;border-radius:24px;box-shadow:0 18px 80px #3754411c}.mascot{width:94px;height:94px;display:block;margin:13px auto 0;filter:drop-shadow(0 10px 7px #52755126)}h2{font-size:28px;letter-spacing:-.7px;margin:8px 0 13px}.overlay-card p{font-size:12px;color:#7a8b7a;line-height:1.95;margin:0 0 23px}.primary-button{background:#24694e;border:0;color:#fffdf3;border-radius:12px;padding:15px 25px;font-size:14px;width:240px;max-width:100%;box-shadow:0 4px #164d3b}.primary-button:hover{background:#307b5f}.primary-button span{float:right}.secondary-button{display:block;margin:17px auto 0;background:transparent;color:#758475;border:0;font-size:12px}.secondary-button[hidden]{display:none}.overlay-hint{display:block;font-size:9px;letter-spacing:.5px;color:#9ba590;margin-top:20px}.game-footer{padding:13px 25px;display:flex;justify-content:space-between;font-size:10px;color:#7b8f7b;letter-spacing:.4px}.below{display:flex;justify-content:space-between;align-items:center;padding:24px 3px}.controls{display:flex;gap:20px;align-items:center}.controls-label{font-size:10px;color:#819080;margin-right:1px}.controls>div{display:flex;gap:4px;align-items:center}.controls>div>span{font-size:10px;margin-left:5px;color:#6f806f}kbd{font-family:inherit;font-size:10px;min-width:24px;height:25px;padding:5px 7px;border:1px solid #dce1d5;border-bottom:3px solid #dce1d5;border-radius:5px;background:#fffef8;text-align:center}.tip{font-size:10px;color:#98a18f}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.guide-cards article{border:1px solid #dfe4d7;border-radius:12px;padding:20px 17px;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden}.card-number{font-family:Georgia,serif;font-size:13px;font-style:italic;color:#99a591;align-self:flex-start;margin-top:2px}.guide-cards h3{font-size:12px;font-weight:600;margin:0 0 7px}.guide-cards p{font-size:9px;color:#879381;margin:0}.card-symbol{font-size:44px;color:#b7c69b;margin-left:auto;line-height:1}.bubble-symbol{color:#95bbbc}.fruit-symbol{font-size:33px;color:#dfa98c}.page-footer{display:flex;justify-content:space-between;padding:28px 0 22px;color:#a0aa98;font-size:8px;letter-spacing:1.2px}.toast{position:absolute;left:50%;top:22px;transform:translate(-50%,-10px);opacity:0;transition:.2s;background:#fffef4ee;box-shadow:0 4px 15px #23442b15;border:1px solid #fff;border-radius:20px;padding:10px 22px;color:#3c6751;font-size:13px;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}dialog{border:1px solid #d9e3d2;background:#fffdf4;color:#324f3f;border-radius:20px;max-width:500px;padding:35px;box-shadow:0 30px 120px #284c3844}dialog::backdrop{background:#203a3266;-webkit-backdrop-filter:none;backdrop-filter:none}dialog h2{margin-top:17px}dialog p{font-size:13px;line-height:1.9;color:#70816b}.dialog-close{float:right;border:0;background:none;font-size:27px;color:#70816b}.help-enemies{display:flex;gap:12px;font-size:11px;color:#98775b;margin-top:25px}@media(max-width:800px){main{padding:25px 15px 0}.topbar{height:76px;padding:0 18px}.local-tag,.edition,.tip{display:none}.top-actions{gap:13px}.brand{font-size:10px;letter-spacing:1px}.brand-icon{width:36px;height:36px;font-size:39px;line-height:33px;border-radius:12px}.brand small{font-size:8px}h1{font-size:26px}.title-dot{font-size:28px}.dashboard{height:65px;padding:10px 15px;gap:14px}.stat{min-width:60px}.stat strong{font-size:14px}.level-stat strong{font-size:11px}.stat-label{font-size:8px}.lives-stat strong{letter-spacing:2px}.controls{gap:12px}.guide-cards{gap:8px}.guide-cards article{padding:14px 10px;gap:7px}.card-symbol{display:none}.guide-cards p{line-height:1.7}.guide-cards h3{font-size:10px}.overlay-card{padding:20px}.mascot{width:60px;height:60px;margin:5px auto}.overlay-card h2{font-size:23px}.overlay-card p{margin-bottom:15px}.overlay-hint{margin-top:13px}.page-footer{font-size:7px;gap:15px}}@media(max-width:520px){.intro p{font-size:10px}.intro{margin-bottom:20px}.stat:nth-child(3){display:none}.stage-wrap{min-height:300px}.overlay-card{padding:16px;width:290px}.overlay-card .eyebrow{font-size:8px}.mascot{width:48px;height:48px}.overlay-card p{font-size:10px}.overlay-card h2{font-size:21px}.primary-button{padding:11px 20px}.overlay-hint{font-size:8px}.game-footer{padding:10px;font-size:8px}.controls{gap:9px}.controls-label{display:none}.guide-cards{grid-template-columns:1fr}.guide-cards article{padding:13px 16px}.card-symbol{display:block;font-size:28px}.page-footer>span:last-child{display:none}}:root .level-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-footer{justify-content:flex-end}.level-choice{border:1px solid #d5dfcd;border-radius:10px;padding:13px 15px;background:#f2f5e9;color:#365540;text-align:left;font:inherit;font-size:13px;cursor:pointer}.level-choice:hover{background:#e3ecd7;border-color:#93ad87}.level-choice:focus-visible{outline:2px solid #527c58;outline-offset:2px}#level-dialog{width:min(470px,calc(100vw - 32px));max-height:85vh;overflow:auto}@media(max-width:520px){.top-actions{gap:8px}.top-actions .icon-button{font-size:10px}#level-dialog{padding:22px}.level-choice{padding:12px 8px;font-size:12px}}:root{--topbar-height:40px;--dashboard-height:64px;--controls-height:0px;--game-gap:12px}html,body{height:100%}#app{height:100dvh;display:flex;flex-direction:column;min-width:0}#app:fullscreen{background:#f5f5ee}.topbar{height:auto;min-height:var(--topbar-height);flex-shrink:0;gap:16px}.top-actions{margin-left:auto;height:39px}.top-actions .icon-button{padding-block:6px}main{container-type:size;width:100%;max-width:none;margin:0;flex:1;min-height:0;padding:12px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--game-gap)}.arcade{container:arcade / inline-size;flex:0 0 auto;width:min(100cqw,calc((100cqh - var(--controls-height) - var(--game-gap) - 2px)*960/664 + 2px))}.dashboard{height:var(--dashboard-height)}.best-stat strong{font-size:14px;font-weight:500;color:#70816f}.stage-wrap{width:100%;min-height:0;max-height:none}.below{padding:0;flex:0 0 auto;justify-content:center;max-width:100%}@media(orientation:portrait){.topbar{flex-wrap:wrap;padding:0 12px;gap:0 12px}.topbar .below{order:3;flex-basis:100%;min-height:28px}}@container arcade (max-width:800px){.dashboard{padding:10px 15px;gap:14px}.stat{min-width:60px}.stat strong{font-size:14px}.best-stat strong{font-size:12px}.level-stat strong{font-size:11px}.stat-label{font-size:8px}.lives-stat strong{letter-spacing:2px}.overlay-card{padding:20px}.mascot{width:60px;height:60px;margin:5px auto}.overlay-card h2{font-size:23px}.overlay-card p{margin-bottom:15px}}@container arcade (max-width:520px){.stat:nth-child(3){display:none}.dashboard{padding:8px 12px;gap:10px}.overlay-card{padding:12px;width:290px}.mascot{width:36px;height:36px;margin:0 auto}.overlay-card h2{font-size:19px;margin:6px 0 9px}.overlay-card p{font-size:10px;margin-bottom:10px}.primary-button{padding:9px 16px;font-size:12px}.secondary-button{margin-top:10px}}@media(max-width:600px){.topbar{padding:0 12px}.controls{gap:8px}.controls-label{display:none}.controls kbd{min-width:20px;height:23px;padding:4px 5px;font-size:9px}.controls>div>span{margin-left:2px;font-size:9px}}@media(max-height:600px){:root{--topbar-height:40px;--dashboard-height:52px;--controls-height:0px;--game-gap:8px}main{padding:8px 12px}.topbar{padding-inline:12px}.brand-icon{width:36px;height:36px;font-size:39px;line-height:33px;border-radius:12px}}.touch-controls[hidden]{display:none}.touch-controls{width:100%;height:var(--controls-height);flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;align-content:end;gap:8px;user-select:none;-webkit-user-select:none}.touch-group{display:flex;gap:8px;pointer-events:auto}.touch-actions{justify-content:flex-end}.touch-controls .touch-actions button{width:68px;height:136px;font-size:18px;border-radius:20px;flex-shrink:0}.touch-group button{width:52px;height:52px;border:1px solid #b9cdb5;border-bottom:4px solid #99b394;border-radius:16px;background:#e8efdd;color:#345a45;font-size:15px;font-weight:700;touch-action:none;-webkit-touch-callout:none;transition:background .1s}.touch-directions button{font-size:24px}.touch-group button:hover{transform:none}.touch-group button.held{background:#c2d6b5;border-bottom-width:1px;transform:translateY(2px)}.touch-directions{width:112px;justify-content:center}.touch-group{align-items:flex-end}.touch-directions .joystick{position:relative;width:104px;height:52px;padding:0;border:1px solid #b9cdb5;border-radius:26px;background:#e2ebd8;box-shadow:inset 0 2px 8px #345a4515;flex-shrink:0}.touch-directions .joystick.held{transform:none;background:#d8e5cb}.joystick-track{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 7px;color:#6e8b6a;font-size:14px;pointer-events:none}.joystick-knob{position:absolute;left:50%;top:50%;width:34px;height:34px;border:1px solid #8fac88;border-bottom:3px solid #8fac88;border-radius:50%;background:#f2f7eb;box-shadow:0 2px 5px #345a4520;transform:translate(calc(-50% + var(--stick-x,0px)),-50%);pointer-events:none}.touch-enabled{--controls-height:162px}.touch-enabled .arcade{margin-block:auto}.touch-enabled #app{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.touch-enabled .below{display:none}.touch-enabled .topbar{flex-wrap:nowrap;padding-block:0}.touch-enabled .top-actions .icon-button{height:39px}.touch-enabled .top-actions .icon-button:hover{transform:none}@media(orientation:landscape)and (min-width:600px){.touch-enabled{--topbar-height:40px;--dashboard-height:48px;--controls-height:0px;--game-gap:0px}.touch-enabled main{position:relative;padding:6px 160px}.touch-enabled .topbar{padding:0 16px}.touch-enabled .brand-icon{width:30px;height:30px;font-size:33px;line-height:28px;border-radius:10px}.touch-enabled .touch-controls{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:calc(min(100cqw,calc((100cqh - 2px)*960/664 + 2px)) + 320px);height:auto;display:block;pointer-events:none}.touch-enabled .touch-group{position:absolute;bottom:20px}.touch-enabled .touch-directions{left:8px}.touch-enabled .touch-actions{right:8px}.touch-enabled .dashboard{padding:2px 10px;gap:8px}.touch-enabled .stat{min-width:0}.touch-enabled .lives-stat strong{font-size:12px;letter-spacing:0}}.arcade .dashboard{position:relative;height:calc(100cqw * 64 / 960);padding:calc(100cqw * 16 / 960) calc(100cqw * 29 / 960);gap:calc(100cqw * 55 / 960)}.arcade .dashboard .level-stat{position:absolute;left:50%;transform:translate(-50%);margin:0;text-align:center}.arcade .dashboard .best-stat{margin-left:0}.arcade .dashboard .lives-stat{margin-left:auto}.arcade .dashboard .stat{display:block;min-width:10cqw;white-space:nowrap}.arcade .dashboard .stat strong{font-size:calc(100cqw * 19 / 960);letter-spacing:calc(100cqw / 960);line-height:1.2}.arcade .dashboard .level-stat strong{font-size:calc(100cqw * 14 / 960);letter-spacing:calc(100cqw * .5 / 960)}.arcade .dashboard .best-stat strong{font-size:calc(100cqw * 14 / 960)}.arcade .dashboard .best-label{font-size:calc(100cqw * 10 / 960)}.arcade .dashboard .lives-stat strong{letter-spacing:calc(100cqw * 5 / 960)}.arcade .overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.arcade .overlay-card{width:calc(100cqw * 410 / 960);max-width:none;padding:3.125cqw calc(100cqw * 25 / 960) calc(100cqw * 25 / 960);border-width:calc(100cqw / 960);border-radius:2.5cqw;box-shadow:0 1.875cqw calc(100cqw * 80 / 960) #3754411c}.arcade .overlay-card h2{font-size:calc(100cqw * 28 / 960);line-height:1.2;letter-spacing:calc(100cqw * -.7 / 960);margin:calc(100cqw * 8 / 960) 0 calc(100cqw * 13 / 960)}.arcade .overlay-card p{font-size:1.25cqw;margin:0 0 calc(100cqw * 23 / 960)}.arcade .overlay-card .primary-button{width:31.25cqw;padding:calc(100cqw * 20 / 960) calc(100cqw * 25 / 960);font-size:calc(100cqw * 22 / 960);line-height:1.4;border-radius:1.25cqw;box-shadow:0 calc(100cqw * 4 / 960) 0 #164d3b}.arcade .overlay-card .secondary-button{width:31.25cqw;max-width:100%;margin:calc(100cqw * 17 / 960) auto 0;padding:1.25cqw calc(100cqw * 16 / 960);font-size:calc(100cqw * 20 / 960);line-height:1.4}.arcade .overlay-card button:hover{transform:translateY(calc(-100cqw / 960))}.touch-enabled #app{touch-action:none}.touch-directions{display:none}.touch-enabled .touch-directions{display:block;position:fixed;inset:0;width:auto;height:auto;overflow:hidden;pointer-events:none;z-index:20}.touch-directions .joystick{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%)}.touch-directions .joystick.held{visibility:visible;transform:translate(-50%,-50%)}.touch-controls .touch-actions{grid-column:2}
