:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#294b3e;background:#edf0e7;font-synthesis:none;--ink:#294b3e;--muted:#778277;--green:#325846;--line:#d8ded1;--paper:#f9f9f2;--orange:#ad643e}*{box-sizing:border-box}body{margin:0;min-width:360px;background:radial-gradient(ellipse at 80% 42%,#f9f9ed 0,transparent 58%),radial-gradient(ellipse at 8% 95%,#dce7d7 0,transparent 55%),#edf0e7}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b98045;outline-offset:5px}button:disabled{cursor:wait}button:active{transform:translateY(1px)}[hidden]{display:none!important}.app{max-width:1360px;margin:0 auto;padding:0 64px}.header{height:120px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9dfd0}.brand{text-decoration:none;color:var(--ink);display:flex;gap:12px;align-items:center;font-size:24px;letter-spacing:1px;font-weight:650}.brand b{font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#72816e;font-weight:400;margin-top:5px}.brand-mark{display:grid;grid-template-columns:repeat(2,14px);gap:3px;transform:rotate(-8deg);padding:9px;background:#325846;border-radius:14px}.brand-mark i{width:14px;height:14px;border-radius:5px 1px;background:#dce6cc}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.7}.header-right{display:flex;align-items:center;gap:12px}.edition{font-size:12px;letter-spacing:1px;color:#6b7f6e;margin-right:20px;display:flex;gap:8px;align-items:center}.edition span,.status-dot{height:6px;width:6px;border-radius:100%;background:#84a180}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #d1dacb;color:var(--ink);border-radius:50%;width:44px;height:44px;padding:11px;transition:background .2s}.icon-button:hover{background:#e2e9da}.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.game-layout{display:grid;grid-template-columns:minmax(250px,1fr) minmax(480px,630px);gap:7%;align-items:center;padding:44px 0 36px}.intro{padding-bottom:6px}.eyebrow{display:flex;align-items:center;gap:8px;color:#6d8069;font-size:13px;letter-spacing:3px}.tiny-sun{font-size:23px;line-height:1}.intro h1{font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:clamp(38px,4vw,54px);font-weight:600;letter-spacing:2px;line-height:1.42;margin:24px 0 22px}.intro h1 em{font-style:normal;color:#648264}.intro-copy{font-size:14px;line-height:1.95;letter-spacing:.5px;color:#71806f}.instructions{margin-top:40px;display:flex;flex-direction:column;gap:24px}.instructions>div{display:flex;gap:16px;align-items:center}.step-number{font-size:12px;color:#73906e;border:1px solid #ced9c6;width:31px;height:31px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.instructions p{margin:0}.instructions strong{font-size:13px;font-weight:500;letter-spacing:.5px}.instructions small{display:block;margin-top:6px;color:#7f8a79;font-size:11px;letter-spacing:.3px}.personal-best{display:flex;align-items:center;gap:12px;margin-top:42px;padding:18px 0;border-top:1px solid #d1dbc9;max-width:290px}.best-icon{font-size:29px;color:#78916d}.personal-best small{font-size:10px;letter-spacing:.5px;color:#85917e;display:block}.personal-best strong{display:block;font-size:13px;font-weight:500;margin-top:7px}.best-flower{margin-left:auto;font-size:24px;color:#9fb093}.game-panel{background:linear-gradient(160deg,#ffffffb0,#f8f9f19c);border:1px solid #ffffffd9;border-radius:36px;padding:26px 24px 18px;box-shadow:0 16px 55px #485d3010,0 2px 2px #ffffff80 inset;position:relative;min-width:0}.round-meta{display:flex;align-items:center;justify-content:space-between;padding:0 10px;min-height:62px}.meta-label{display:block;font-size:10px;color:#84907c;letter-spacing:2px;margin-bottom:5px}.timer-block>div{display:flex;align-items:baseline;gap:7px}.timer-block strong{font-family:Avenir Next,Avenir,sans-serif;font-size:34px;line-height:1;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.timer-block strong span{font-size:22px;color:#8c9b80}.timer-block small{font-size:11px;color:#8d987f}.round-tag{display:flex;align-items:center;gap:8px;font-size:11px;color:#7d8e73;background:#edf2e5;border:1px solid #e5ebdc;border-radius:20px;padding:8px 12px}.pause-button{width:44px;height:44px}.board-wrap{position:relative;width:100%;max-width:548px;margin:0 auto}#board{position:relative;width:100%;aspect-ratio:1;touch-action:manipulation;isolation:isolate}#board canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}#board button{font-family:Avenir Next,PingFang SC,sans-serif;touch-action:manipulation;user-select:none;-webkit-user-select:none}#board button:focus-visible{z-index:5;outline:3px solid #ba8753;outline-offset:1px}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;background:#f4f7edbb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:6}.countdown span{font-size:13px;letter-spacing:3px;color:#6f8462}.countdown strong{font-family:Avenir Next,sans-serif;font-size:100px;font-weight:400;line-height:1.2;color:#365b40}.play-footer{padding:0 10px}.progress-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7e8c73}.progress-heading strong{font-family:Avenir Next,sans-serif;color:var(--ink);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.muted{color:#96a08e;font-size:12px}.progress-track{height:4px;border-radius:9px;background:#e4e9dd;margin:11px 0 23px;overflow:hidden}#progress-fill{height:100%;width:0;background:#89a47b;border-radius:9px;transition:width .2s}.primary-button{border:0;background:#325846;color:#f4f6e9;border-radius:16px;min-height:56px;width:100%;display:flex;justify-content:center;align-items:center;gap:22px;font-size:15px;letter-spacing:2px;padding:16px 20px;box-shadow:0 4px 8px #32584612;transition:background .2s}.primary-button:hover{background:#244a39}.primary-button>span:last-child:not(:first-child){font-size:21px;line-height:1}.start-note{font-size:10px;text-align:center;color:#9aa38e;letter-spacing:1px;margin:13px 0 0}.start-note span{margin:0 9px}.playing-note{min-height:60px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#87937b}.playing-note span:last-child{color:#6c8c5d}.footer{border-top:1px solid #d6decc;display:flex;justify-content:space-between;align-items:center;padding:24px 0 30px;font-size:10px;letter-spacing:1px;color:#8a967f}.footer-leaf{color:#6e8c67;font-size:14px;margin-right:6px}.version{margin-left:22px;color:#a2ab98}.low-time #timer,.low-time #timer span{color:var(--orange)}#penalty{font-size:12px;color:#b05d44;font-weight:600;min-width:30px}.dialog{border:1px solid #fff;border-radius:28px;padding:40px 34px 24px;width:min(430px,calc(100vw - 32px));color:var(--ink);background:#f9faf3;box-shadow:0 24px 90px #233a2d30;text-align:left;max-height:calc(100dvh - 32px);overflow:auto}.dialog::backdrop{background:#263e3040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:16px;top:16px;width:36px;height:36px;border:none;font-size:26px;color:#84917a}.dialog-kicker{font-size:11px;letter-spacing:2px;color:#7f946f;display:block;margin-bottom:10px}.dialog h2{font-family:Songti SC,STSong,serif;font-size:29px;margin:0 0 22px;font-weight:500;letter-spacing:1px}.dialog>p{font-size:13px;line-height:1.8;color:#7a8871}.setting{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid #e1e7d9;gap:20px}.setting strong{font-size:14px;font-weight:500}.setting small{display:block;font-size:11px;color:#8b9681;margin-top:6px}.setting input{accent-color:#41623d;width:24px;height:24px;cursor:pointer}.dialog .dialog-note{font-size:11px;line-height:1.8;margin:22px 0;color:#94a087}.help-list{padding-left:20px;font-size:13px;color:#6d7e60;line-height:1.9}.help-list li{padding:6px 0}.help-list strong{font-weight:550;color:#416033}.text-button{display:block;margin:14px auto 0;border:0;background:none;color:#819170;font-size:12px;min-height:44px;padding:8px 18px}.pause-dialog,.result-dialog{text-align:center}.pause-symbol{display:block;color:#7b946b;font-family:sans-serif;font-size:48px;margin-bottom:20px}.pause-dialog>p{margin:0 0 26px}.result-flower{display:block;color:#89a16a;font-size:52px;line-height:1.2;margin:0 0 20px}.result-dialog h2{margin-bottom:8px}.result-dialog>p{margin:0}.result-score{margin:20px 0;color:#365b3f}.result-score strong{font-family:Avenir Next,sans-serif;font-size:76px;font-weight:400;line-height:1;letter-spacing:-4px}.result-score>span{font-size:12px;color:#8a9b7c;display:block;letter-spacing:1px;margin-top:7px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 0;border-top:1px solid #e0e7d8;border-bottom:1px solid #e0e7d8}.result-stats strong{display:block;font-family:Avenir Next,sans-serif;font-size:21px;font-weight:500}.result-stats span{display:block;font-size:10px;color:#8b9a7c;margin-top:7px}.result-dialog .result-fact{font-size:11px;margin:19px 0;color:#7e9470}.board-error{position:absolute;top:20px;right:20px;bottom:20px;left:20px;display:grid;place-content:center;text-align:center;color:#8e674d;line-height:1.8;background:#f5f2e5;border-radius:28px;padding:20px}.board-error strong{font-size:18px}.board-error p{font-size:13px}@media(min-width:1440px){.game-layout{padding-top:52px;padding-bottom:44px}.header{height:128px}}@media(max-width:1050px){.app{padding:0 34px}.game-layout{grid-template-columns:1fr 1.5fr;gap:4%}.game-panel{padding:22px 16px 18px}.intro h1{font-size:38px}.edition{display:none}.instructions{margin-top:28px;gap:20px}.personal-best{margin-top:30px}.header{height:96px}}@media(max-width:760px){body{background:radial-gradient(ellipse at 50% 38%,#fbfbef 0,transparent 65%),#edf0e7}.app{max-width:500px;padding:0 12px}.header{height:76px;margin:0 8px;border-bottom:0}.brand{font-size:20px;gap:9px;letter-spacing:.5px}.brand-mark{grid-template-columns:repeat(2,10px);padding:8px;border-radius:11px;gap:2px}.brand-mark i{width:10px;height:10px;border-radius:4px 1px}.brand small{font-size:8px;margin-top:4px;letter-spacing:1px}.header-right{gap:3px}.header-right .icon-button{width:40px;height:40px;padding:10px;border:0}.game-layout{display:flex;flex-direction:column;gap:0;padding:6px 0 14px}.intro{width:100%;text-align:center;padding:0 0 17px}.eyebrow{display:none}.intro h1{font-size:25px;letter-spacing:1px;line-height:1.3;margin:0}.intro h1 br{display:none}.intro-copy{font-size:11px;margin:8px 0 0;line-height:1.6;letter-spacing:.2px}.desktop-break,.instructions,.personal-best{display:none}.game-panel{width:100%;padding:14px 0 16px;background:#ffffff75;border-radius:27px;box-shadow:0 12px 30px #46613109;border:0}.round-meta{padding:0 20px;min-height:53px}.meta-label{font-size:9px;letter-spacing:1px}.timer-block strong{font-size:30px}.timer-block strong span{font-size:19px}.round-tag{font-size:10px;padding:7px 10px}.board-wrap{margin:6px auto 0}#board{aspect-ratio:1}.play-footer{padding:0 20px}.progress-heading{font-size:11px}.progress-track{margin:9px 0 18px}.primary-button{min-height:56px;font-size:14px;border-radius:14px}.start-note{font-size:9px;margin-top:12px;letter-spacing:.5px}.playing-note{min-height:70px;font-size:10px}.footer{margin:0 8px;border:0;padding:6px 0 18px;font-size:9px;letter-spacing:0}.footer>span:last-child{font-size:9px}.version{display:none}.dialog{padding:40px 25px 20px}.dialog h2{font-size:27px}.result-dialog{padding-top:30px}.result-flower{font-size:40px;margin-bottom:15px}.result-score{margin:16px 0}.result-score strong{font-size:68px}}@media(max-height:740px)and (max-width:760px){.header{height:62px}.intro{padding-bottom:9px}.game-layout{padding-top:0}.game-panel{padding-top:9px}.intro-copy{display:none}.footer{padding-top:0}.start-note{margin-top:8px}.progress-track{margin-bottom:12px}.game-layout{padding-bottom:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{transition:none!important;animation:none!important}.app{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(min-width:761px)and (max-height:950px){.header{height:92px}.game-layout{padding-top:28px;padding-bottom:24px}.board-wrap{max-width:440px}.game-panel{padding-top:20px;padding-bottom:16px}.intro h1{font-size:45px;margin-top:18px}.instructions{margin-top:26px;gap:20px}.personal-best{margin-top:30px}.footer{padding-top:18px;padding-bottom:20px}}@media(max-width:760px){.app{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}}.level-picker{display:flex;flex-direction:column;gap:9px;margin-top:26px;max-width:330px}.level-card{display:flex;align-items:center;gap:15px;min-height:65px;border:1px solid #d5decb;background:#f6f8ef75;border-radius:15px;padding:10px 16px;color:#57704c;text-align:left;transition:background .15s,border-color .15s}.level-card[aria-pressed=true]{background:#dce7cf;border-color:#9cb28b;color:#2c503b}.level-card:not(:disabled):hover{background:#e3ecd9}.level-card:disabled{cursor:default;opacity:.6}.level-card[aria-pressed=true]:disabled{opacity:1}.level-index{font-family:Avenir Next,sans-serif;font-size:13px;letter-spacing:1px;color:#8b9e7d}.level-card strong{font-size:14px;letter-spacing:1px;font-weight:550}.level-card small{font-size:10px;color:#7f9270;display:block;margin-top:5px;letter-spacing:1px}.level-details{display:flex;flex-direction:column;gap:9px;margin-top:20px;max-width:330px;line-height:1.5}.level-details strong{font-size:12px;font-weight:500;color:#66805b}.level-details span{font-size:11px;color:#7d8e74}.level-details small{font-size:10px;color:#7b9170;letter-spacing:1px}.target-block{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;margin-left:auto;margin-right:auto;padding:0 10px}.target-block .meta-label{letter-spacing:1px}.target-block>strong{font-family:Avenir Next,sans-serif;font-size:30px;line-height:1;font-weight:600;color:#34563e}.target-block>small{font-size:9px;color:#7e9170;margin-top:4px;letter-spacing:1px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin-top:10px;border:1px solid #cfdcc1;background:transparent;border-radius:14px;color:#60804c;width:100%;font-size:13px}.setting:has(input:disabled){opacity:.7}@media(min-width:761px){.intro h1{font-size:43px;margin-bottom:18px}.intro-copy{font-size:13px}.personal-best{margin-top:25px;padding:14px 0}.level-details{gap:6px}.result-dialog{padding-top:30px}.result-flower{margin-bottom:12px}}@media(max-width:760px){.header{height:62px}.game-layout{padding-top:0}.intro{padding-bottom:10px}.intro h1{font-size:22px;line-height:1.35}.intro-copy{display:none}.level-picker{flex-direction:row;gap:6px;max-width:none;width:100%;margin-top:13px}.level-card{flex:1;min-width:0;min-height:57px;padding:8px 7px;gap:5px;border-radius:12px;justify-content:center}.level-index{font-size:9px}.level-card strong{font-size:11px;letter-spacing:0}.level-card small{font-size:9px;margin-top:3px;letter-spacing:0}.level-details{max-width:none;margin-top:9px;gap:0}.level-details strong{font-size:10px;line-height:1.4;white-space:nowrap}.level-details span,.level-details small{display:none}.game-panel{padding-top:10px;padding-bottom:12px}.round-meta{min-height:58px;padding-left:17px;padding-right:17px}.target-block>strong{font-size:28px}.round-tag{font-size:9px;padding:6px 8px;gap:5px}.progress-track{margin-bottom:12px}.start-note{margin-top:9px}.play-footer{padding:0 17px}.playing-note{min-height:59px}.result-dialog .result-score{margin:12px 0}.result-dialog .result-fact{margin:14px 0}.result-dialog .result-flower{font-size:32px;margin-bottom:10px}.result-dialog h2{font-size:25px}.secondary-button{min-height:46px}.result-stats{padding:14px 0}}
