:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"PingFang SC",sans-serif;color:#3c4b3b;background:#f5f2e9;font-synthesis:none;--accent:#5b7254;--paper:#f3efde;--game-w:min(394px,calc(100vw - 24px),calc((100svh - 204px - env(safe-area-inset-top) - env(safe-area-inset-bottom))* .56818))}*{box-sizing:border-box}html,body{margin:0;overscroll-behavior:none;touch-action:none;-webkit-text-size-adjust:100%;height:100%;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(ellipse at 45% 25%,#fffdf5,transparent 75%),#f5f2e9}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #6b855c;outline-offset:3px}button{border:0}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button svg,summary svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}#app{height:100svh;padding:calc(14px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center;max-width:1250px;width:100%;margin:0 auto;height:42px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px}.brand img{border-radius:8px}.brand b{font-size:12px;letter-spacing:2px;display:block}.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:#8c927e;margin-top:4px}.tools{display:flex;gap:6px;align-items:center}.tools>button,.tools>.game-seo-info summary{width:36px;height:36px;display:grid;place-items:center;border:1px solid #cad0bd;border-radius:50%;background:#ffffff57;color:#5b6c50;padding:0;min-width:36px}.tools>.game-seo-info{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:20}.tools>.game-seo-info summary svg{width:20px;height:20px}.tools>.game-seo-info summary{color:#5b6c50}.tools>.game-seo-info .game-info-content{top:65px;background:#f9f7ee;color:#42543f;border-color:#c9d0bd}.tools>.game-seo-info .game-info-content p{color:#55634c}.tools>.game-seo-info .game-info-content h2,.tools>.game-seo-info .game-info-content a{color:#57704c}main{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(35px,6vw,110px);min-height:0}.game{width:var(--game-w);flex-shrink:0}.scorebar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px}.scorebar>div{display:flex;align-items:center;gap:10px}.scorebar span{font-size:9px;letter-spacing:2px;color:#8d937f}.scorebar strong{font:500 32px/1 Georgia,serif;font-variant-numeric:tabular-nums}.subtle{font-size:10px;letter-spacing:.6px;border:1px solid #d6d9c9;border-radius:18px;padding:7px 11px;background:transparent}.previewbar{height:34px;display:flex;gap:6px;align-items:center;padding:0 7px;color:#969780;font-size:8px;letter-spacing:1.3px}.previewbar canvas{width:32px;height:32px}.previewbar .next{width:29px;height:29px;opacity:.85}.preview-divider{height:12px;width:1px;background:#d5d7c5;margin:0 5px}.stage{position:relative;width:100%;aspect-ratio:400/704;touch-action:none}#canvas{display:block;width:100%;height:100%;border-radius:14px}.stage #empty-tip{position:absolute;left:15%;right:15%;top:46%;text-align:center;font:italic 15px/1.9 Georgia,"Songti SC",serif;color:#9ca48a;pointer-events:none;white-space:pre-line}#aim-strip{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:5px;background:#e7e9da;border:1px solid #d5dcc7;border-radius:24px;height:38px;padding:0 16px;cursor:ew-resize;touch-action:none;overflow:hidden}#aim-strip>span{font:22px Georgia;color:#9aa58b}#aim-message{font-size:10px;letter-spacing:.4px;z-index:1;pointer-events:none}#aim-dot{position:absolute;left:50%;width:40px;height:40px;border-radius:50%;background:#c7d2b244;pointer-events:none;transform:translateX(-50%)}.under{display:flex;justify-content:space-between;padding:8px 5px 0;font-size:8px;color:#9a9e8d;letter-spacing:.3px}.side{width:210px;flex-shrink:1;align-self:center}.side.left{max-width:230px}.eyebrow{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#8a927b;margin:0 0 22px}h1{font:400 clamp(36px,4.2vw,58px)/1.02 Georgia,"Songti SC",serif;letter-spacing:-2px;margin:0 0 25px;color:#506044}h1 em{font-weight:400;color:#a7b28d}.story{font:13px/1.9 Georgia,"Songti SC",serif;color:#8b917f;max-width:200px}.side-rule{width:35px;height:1px;background:#c5ceb8;margin:28px 0}.milestone span{display:block;font-size:9px;letter-spacing:1.5px;color:#8b957e}.milestone strong{display:block;font:36px/1.6 Georgia}.side p:not(.eyebrow,.story){font-size:11px;line-height:1.9;color:#929982}.keyboard{font-size:10px;line-height:2.7;color:#8d957e;margin:20px 0}kbd{font:9px system-ui;border:1px solid #cbd1bd;border-radius:4px;padding:3px 6px;margin-right:4px}kbd+span{margin-left:8px}.fine{font-size:10px!important;line-height:1.8!important;color:#9ba28d!important}#fruit-chain{display:flex;flex-wrap:wrap;gap:4px;max-width:205px}#fruit-chain canvas{width:46px;height:46px}.text-button{background:none;border-bottom:1px solid #aab699;padding:4px 0;font-size:11px;color:#718166}.side.right{max-width:205px}footer{display:flex;justify-content:space-between;width:100%;max-width:1250px;margin:0 auto;font-size:8px;letter-spacing:2px;color:#a3a894;flex-shrink:0;height:15px;align-items:end}#combo{font:italic 12px Georgia,"Songti SC",serif;color:#c28d47;margin:0;white-space:nowrap}#overlay{position:fixed;z-index:50;inset:0;background:#343e2b5e;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:20px;touch-action:pan-y}#overlay[hidden]{display:none}#dialog{width:min(510px,100%);max-height:calc(100svh - 40px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:#faf7ed;border:1px solid #dedfcb;border-radius:24px;padding:28px;box-shadow:0 20px 100px #25321d22}#dialog h2{font:400 31px/1.1 Georgia,"Songti SC",serif;letter-spacing:-.6px;margin:8px 0 16px}#dialog h3{font-size:13px}#dialog p{font-size:13px;line-height:1.85;color:#838c76}#dialog .eyebrow{font-size:9px;margin-bottom:10px}#dialog .primary,#dialog .secondary{width:100%;border-radius:12px;padding:13px;margin:5px 0;font-size:13px}.primary{background:#657c54;color:#fff9ec}.secondary{background:#e9edde;color:#657750}.dialog-top{display:flex;justify-content:space-between;align-items:center}.close{border:1px solid #d0d7c1;border-radius:50%;width:30px;height:30px;background:transparent;font-size:18px}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.fruit-card{background:#f0f0e3;border-radius:13px;display:flex;flex-direction:column;align-items:center;padding:5px 3px 10px;font-size:10px;border:1px solid transparent}.fruit-card canvas{width:100%;max-width:80px;height:auto}.fruit-card small{font-size:8px;color:#9a9f88;margin-top:4px}.fruit-card.active{border-color:#9db188;background:#eaf0dd}.detail{padding:12px 15px;border:1px solid #d9dfcb;border-radius:12px;min-height:76px;font:12px/1.8 Georgia,"Songti SC",serif;color:#7b886e}.theme-list{display:flex;gap:6px}.theme-list button{flex:1;border:1px solid #d3d9c7;border-radius:10px;background:#e9eede;padding:10px 5px;font-size:10px}.theme-list button[aria-pressed=true]{outline:2px solid #82976e}.achievements{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:10px;margin:15px 0;color:#879477}.achievements span{padding:8px;background:#eef0e3;border-radius:8px}.result-number{font:58px Georgia;color:#657c54}.result-stats{display:flex;gap:20px;margin:15px 0;font-size:12px;color:#869276}#toast{position:fixed;z-index:100;bottom:calc(30px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#596c4ceF;color:#fff9e9;max-width:85vw;text-align:center;border-radius:20px;padding:10px 20px;font-size:12px;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){main{gap:25px}.side{width:170px}.side.right{width:148px}#fruit-chain canvas{width:42px;height:42px}.brand small{font-size:7px}.side.left h1{font-size:40px}}
@media(max-width:700px){:root{--game-w:min(394px,calc(100vw - 20px),calc((100svh - 193px - env(safe-area-inset-top) - env(safe-area-inset-bottom))* .56818))}#app{padding:calc(8px + env(safe-area-inset-top)) 10px calc(5px + env(safe-area-inset-bottom))}header{height:36px}.brand{gap:7px}.brand b{font-size:10px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:1px}.brand img{width:26px;height:26px}.tools{gap:4px}.tools>button,.tools>.game-seo-info summary{width:31px;height:31px;min-width:31px}.tools svg{width:17px;height:17px}.side{display:none}main{align-items:center}.scorebar{height:43px}.scorebar strong{font-size:29px}.scorebar span{font-size:8px;letter-spacing:1px}.previewbar{height:30px;font-size:7px}.previewbar canvas{width:27px;height:27px}.previewbar .next{width:25px;height:25px}.subtle{padding:6px 9px;font-size:9px}#aim-strip{height:35px}#aim-message{font-size:9px}.under{padding-top:6px}footer{font-size:6px;height:9px;letter-spacing:1px}.stage #empty-tip{font-size:13px}#dialog{padding:22px;border-radius:20px}.collection-grid{gap:5px}.fruit-card{font-size:9px}}
@media(max-height:540px) and (min-width:650px){:root{--game-w:min(220px,calc((100svh - 166px)* .56818))}header{height:30px}#app{padding-top:8px}.scorebar{height:32px}.scorebar strong{font-size:24px}.previewbar{height:24px}.previewbar canvas,.previewbar .next{width:22px;height:22px}#aim-strip{height:27px}.side{width:180px}.side h1{font-size:34px!important}.side .side-rule{margin:13px 0}.side .keyboard{margin:8px 0}.under{font-size:7px}.story{font-size:11px}.eyebrow{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){#toast{transition:none}}
