:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#34543c;background:#e6eadc;font-synthesis:none;--paper:#f8f5e9;--green:#34543c;--sage:#8ea47a;--orange:#d98743;--muted:#969a7d;--line:#dce0cb;--soft:#eef0df}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{overscroll-behavior:none}button{font:inherit;color:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px) scale(.97)}button:disabled{opacity:.35;cursor:default}svg{width:22px;height:22px;flex-shrink:0}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.game-shell{width:100%;max-width:460px;height:100%;height:100dvh;margin:0 auto;background:var(--paper);display:flex;flex-direction:column;position:relative;padding:calc(18px + env(safe-area-inset-top,0px)) 24px calc(10px + env(safe-area-inset-bottom,0px));overflow:hidden;box-shadow:0 0 100px #5c704719}.game-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.24' filter='url(%23n)'/%3E%3C/svg%3E");z-index:101}.masthead{flex-shrink:0}.brand-top{display:flex;align-items:center;justify-content:space-between;height:32px}.club{font-family:Trebuchet MS,sans-serif;font-size:9px;font-weight:700;letter-spacing:2.1px;display:flex;align-items:center;gap:5px;color:#7a9169}.club svg{width:14px;height:14px;stroke-width:1.5}.top-actions{display:flex;gap:7px;margin-right:-6px}.icon-button{background:transparent;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#687e59}.top-actions svg{width:21px;height:21px}.brand-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0 21px}h1{font-size:36px;letter-spacing:3px;margin:0;line-height:1.15;font-weight:850;position:relative;white-space:nowrap}.title-spark{font-size:21px;color:#d99c50;display:inline-block;transform:translate(9px,-12px) rotate(18deg);letter-spacing:0}.edition{font-size:10px;line-height:1.7;letter-spacing:2px;color:#92967e;border-left:1px solid #d7ddc7;padding-left:13px;margin-left:10px}.scoreboard{display:grid;grid-template-columns:1.2fr 1fr .85fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0 12px}.eyebrow{display:flex;align-items:center;gap:4px;font-size:10px;letter-spacing:1px;color:#7e8d72;white-space:nowrap}.eyebrow svg{width:12px;height:12px;stroke-width:1.4}.score-main strong{font-family:Trebuchet MS,sans-serif;font-size:37px;letter-spacing:-1.5px;line-height:1.28;display:block;color:var(--orange)}.best{padding-left:15px;border-left:1px solid var(--line)}.best strong{display:block;font-family:Trebuchet MS,sans-serif;font-weight:500;font-size:23px;margin-top:6px;letter-spacing:-.7px;color:#627956}.next{border-radius:30px;background:#ecefdb;display:flex;align-items:center;justify-content:space-around;padding:6px 5px 6px 12px;min-height:50px;position:relative}.next .eyebrow{font-size:10px;letter-spacing:0}#next-fruit{width:38px;height:38px}#next-fruit img{width:100%;height:100%;object-fit:contain;transform:scale(1.13)}.play-section{position:relative;display:flex;flex-direction:column;flex:1;min-height:120px;margin:0 -24px}.play-note{display:flex;align-items:center;justify-content:center;gap:10px;height:32px;flex-shrink:0;color:#9ba084;font-size:10px;letter-spacing:1.5px;padding-top:9px}.note-line{height:1px;background:#dce0ce;width:21px}#stage{width:100%;flex:1;min-height:120px;position:relative;touch-action:none}#stage canvas{display:block;touch-action:none}.first-hint{position:absolute;bottom:39%;left:0;right:0;text-align:center;color:#a3ab8e;font-size:11px;letter-spacing:1.5px;pointer-events:none;transition:opacity .4s}.hint-dot{display:inline-block;background:#c5cdb0;width:4px;height:4px;border-radius:50%;vertical-align:middle;margin-right:7px}.hidden{opacity:0}#toast{position:absolute;top:25%;left:50%;transform:translate(-50%,8px);font-size:12px;color:#48623e;background:#eef0dded;border:1px solid #dce1c6;border-radius:24px;padding:10px 18px;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap;z-index:110;box-shadow:0 5px 14px #3b58350a}#toast.show{opacity:1;transform:translate(-50%)}.bottom{flex-shrink:0;padding-top:3px}.evolution{display:block;background:none;width:100%;padding:0;text-align:left}.evolution-label{display:flex;justify-content:space-between;font-size:9px;color:#8f997e;letter-spacing:1px;margin-bottom:3px;padding:0 2px}.evolution-label>span:last-child{font-family:Trebuchet MS,sans-serif;letter-spacing:2px;font-size:9px}.fruit-chain{display:flex;align-items:center;justify-content:space-between;height:43px}.chain-fruit{width:calc((100% - 48px)/9);height:auto;flex-shrink:0;transform:scale(1.23)}.chain-fruit.undiscovered{opacity:.36;filter:saturate(.55)}.chain-arrow{font-size:13px;color:#b7bfa4;margin-top:3px}.bottom-actions{display:flex;justify-content:space-around;border-top:1px solid var(--line);margin-top:8px;padding-top:12px;gap:12px}.tool{background:none;display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;white-space:nowrap;padding:3px 4px;font-size:11px;color:#61734f}.tool svg{width:19px;height:19px;stroke-width:1.5}.tool small{display:inline-grid;place-items:center;font-family:Trebuchet MS,sans-serif;font-size:9px;min-width:15px;height:15px;border-radius:50%;background:#e8ebd8;margin-left:2px}.footer-note{color:#b0b49c;font-size:8px;letter-spacing:1.7px;text-align:center;margin:10px 0 0}.footer-note span{color:#c3a56c;margin-left:7px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#30463047;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .2s}.modal{width:100%;max-width:368px;max-height:calc(100dvh - 40px);overflow:auto;background:#fbf8ed;border:1px solid #e1e4d0;border-radius:26px;box-shadow:0 20px 70px #2f432d2b;text-align:center;position:relative;padding:35px 27px 26px;animation:rise-in .25s}.modal-close{position:absolute;right:10px;top:10px;width:32px;height:32px}.modal-close svg{width:18px;height:18px}.modal-kicker{display:block;letter-spacing:2px;color:#a2a889;font-size:8px;font-family:Trebuchet MS,sans-serif;margin:0 0 12px}.modal h2{font-size:23px;letter-spacing:1px;font-weight:750;margin:0 0 12px}.modal-sub{font-size:12px;line-height:1.9;color:#899076;margin:0 0 24px}.primary{width:100%;background:#537343;color:#fcf9e9;border-radius:14px;min-height:49px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;font-weight:600;letter-spacing:1px;box-shadow:0 4px #3d5b31}.primary svg{width:18px;height:18px}.secondary{background:none;display:block;width:100%;padding:17px 0 0;font-size:12px;color:#99a084}.help-fruits{display:flex;align-items:center;justify-content:center;margin:16px 0 24px;gap:5px;color:#a5ad8c}.help-fruits img{width:66px;height:66px}.instructions{padding:0;list-style:none;text-align:left;counter-reset:step}.instructions li{counter-increment:step;padding:0 0 16px 35px;position:relative}.instructions li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font-family:Trebuchet MS,sans-serif;font-size:13px;color:#c69a5b}.instructions b{font-size:12px;letter-spacing:.6px}.instructions p{color:#92977f;font-size:11px;line-height:1.8;margin:5px 0 0}.keyboard-tip{font-size:9px;color:#a4aa94;line-height:1.8;margin:0 0 23px;padding-top:12px;border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 9px;margin:20px 0}.gallery-fruit{position:relative;background:#f0f0df;border-radius:13px;padding:8px 0 10px;display:flex;align-items:center;flex-direction:column}.gallery-fruit img{width:70px;height:70px}.gallery-fruit b{font-size:11px;margin-top:2px;letter-spacing:.5px}.gallery-fruit small{font-size:9px;color:#a1a58d;margin-top:3px}.fruit-number{position:absolute;top:7px;left:8px;color:#aeb69b;font-size:8px;font-family:Trebuchet MS,sans-serif}.gallery-fruit.locked img{filter:saturate(.15);opacity:.23}.gallery-fruit.locked b{color:#a7ad98;font-weight:400}.collection-tip{font-size:10px;color:#9ba387;margin:0 0 22px}.modal-fruit{margin:3px auto 12px;width:120px;height:120px}.modal-fruit img{width:100%;height:100%}.result-score{display:flex;flex-direction:column;align-items:center;margin:25px 0 30px;gap:7px}.result-score>span{font-size:11px;color:#99a084}.result-score strong{font-size:48px;font-family:Trebuchet MS,sans-serif;font-weight:600;color:#d38b4e}.result-score small{font-size:10px;color:#99a084}.pop{animation:score-pop .28s}@keyframes score-pop{50%{transform:scale(1.12);transform-origin:left center}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:600px){.game-shell{border-inline:1px solid #d6ddca}body{background:radial-gradient(ellipse at 50% 30%,#f0f1e6,#dde3d0)}}@media(max-height:730px){.game-shell{padding-top:10px;padding-bottom:7px}.brand-line{padding:6px 0 12px}h1{font-size:30px}.brand-top{height:26px}.scoreboard{padding:9px 0 8px}.score-main strong{font-size:30px}.best strong{font-size:20px}.play-note{height:25px;padding-top:6px;font-size:9px}.fruit-chain{height:35px}.bottom-actions{margin-top:4px;padding-top:6px}.footer-note{margin-top:4px;font-size:7px}.evolution-label{font-size:8px}.tool{font-size:10px;min-height:33px}.modal{padding-top:28px}.modal-fruit{width:90px;height:90px}.gallery-fruit img{width:60px;height:60px}}@media(max-width:350px){.game-shell{padding-left:18px;padding-right:18px}.play-section{margin-inline:-18px}h1{font-size:29px;letter-spacing:2px}.title-spark{font-size:16px;transform:translate(5px,-10px)}.edition{font-size:8px;padding-left:8px;letter-spacing:1px}.club{font-size:8px;letter-spacing:1.5px}.tool{gap:4px;font-size:10px}.bottom-actions{gap:2px}.best{padding-left:12px}.next{padding-left:6px}.eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.top-actions .icon-button{width:44px;height:44px}.top-actions{gap:1px;margin-right:-10px}.tool{min-height:44px}.modal-close{width:40px;height:40px;right:6px;top:6px}@media(max-height:620px){.modal{padding:24px 20px 20px}.modal-kicker{margin-bottom:9px;font-size:7px}.modal h2{font-size:21px;margin-bottom:10px}.modal-sub{margin-bottom:15px}.help-fruits{margin:8px 0 16px;gap:2px}.help-fruits img{width:52px;height:52px}.instructions li{padding-bottom:12px;padding-left:30px}.instructions b{font-size:11px}.instructions p{font-size:10px;line-height:1.7;margin-top:3px}.keyboard-tip{font-size:8px;margin:0 0 16px;padding-top:9px}.gallery-grid{gap:7px;margin:13px 0}.gallery-fruit{padding:6px 0 8px}.gallery-fruit img{width:49px;height:49px}.gallery-fruit b{font-size:10px}.gallery-fruit small{font-size:8px}.collection-tip{font-size:9px;margin-bottom:15px}.primary{min-height:45px;font-size:12px}}
