@charset "UTF-8";
:root{--ink:#41453e;--muted:#95978d;--paper:#f6f4ee;--purple:#9782ce;--green:#78956d;--border:#e9e8e0;--tile-gap:6px;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #9678d2;outline-offset:4px}button{transition:background .2s,transform .2s,opacity .2s}button:active:not(:disabled){transform:scale(.96)}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(75px);opacity:.4;pointer-events:none}.ambient-one{width:440px;height:440px;top:60px;right:-250px;background:#e3dcf4}.ambient-two{width:360px;height:360px;bottom:-160px;left:-180px;background:#dce7c6}.app{max-width:1280px;margin:auto;padding:30px 46px 0}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:27px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-icon{width:45px;height:45px}.brand strong{display:block;font-size:21px;letter-spacing:3px;font-weight:800}.brand small{display:block;font-size:9px;font-weight:700;letter-spacing:2.7px;margin-top:3px;color:#838877}.header-actions{display:flex;gap:14px;align-items:center}.offline{font-size:11px;color:#90968a;margin-right:12px}.offline i,.board-top i{display:inline-block;width:6px;height:6px;background:#8da57e;border-radius:50%;margin-right:6px}.icon-button{height:36px;width:36px;border-radius:50%;background:#fff;border:1px solid var(--border);display:grid;place-items:center}.icon-button svg{width:17px;height:17px}.help-button{height:36px;background:white;border:1px solid var(--border);border-radius:30px;padding:0 15px;font-size:12px;display:flex;gap:7px;align-items:center}.help-button span{border:1px solid #92988c;width:14px;height:14px;border-radius:50%;font-size:10px;display:grid;place-items:center}.intro{display:flex;justify-content:space-between;align-items:center;padding:33px 0 30px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:700;color:#89927c;margin:0 0 11px}h1{font-size:30px;letter-spacing:1px;font-weight:800;margin:0 0 10px}h1 span{color:#a18cd0}.subtitle{font-size:12px;color:#8c8f82;margin:0;letter-spacing:.6px}.intro-sticker{font-size:11px;color:#9c915e;background:#faf0cf;text-align:center;padding:14px 18px;line-height:1.8;transform:rotate(8deg);border-radius:14px 14px 14px 2px;margin-right:12px;box-shadow:2px 3px 0 #eae2c8}.intro-sticker b{font-size:14px;letter-spacing:1px}.game-layout{display:grid;grid-template-columns:226px minmax(0,1fr) 222px;gap:22px;align-items:start}.left-column,.right-column{display:flex;flex-direction:column;gap:16px}.level-card{background:#eae7f3;border:1px solid #e0ddec;padding:21px 21px 19px;border-radius:19px;position:relative;overflow:hidden}.card-caption{font-size:11px;display:flex;align-items:center;gap:7px;color:#777b6e;font-weight:600}.tiny-spark{color:#9882be;font-size:17px}.pill{background:#f8f6fd;color:#9c8cb5;font-size:9px;border-radius:10px;padding:4px 7px;margin-left:auto;font-weight:400}.level-heading{display:flex;align-items:baseline;gap:10px;color:#8672ad;margin:20px 0 8px}.level-heading>span:first-child{font-size:11px}.level-heading strong{font-size:57px;letter-spacing:-3px;font-weight:600;line-height:1}.level-flower{position:absolute;right:15px;top:47px;color:#d6cbe9;font-size:81px;line-height:1;transform:rotate(13deg)}.level-card h2{font-size:16px;font-weight:600;margin:15px 0 8px;position:relative}.level-card>p{font-size:10px;line-height:1.9;color:#8f859f;margin:0;max-width:170px}.level-path{display:flex;gap:11px;align-items:center;margin-top:22px}.path-dot{width:22px;height:22px;border:1px solid #d1c8e1;background:#f1edf7;display:grid;place-items:center;border-radius:50%;font-size:9px;color:#ac9dbd;position:relative}.path-dot:not(:last-child)::after{content:"";height:1px;width:10px;position:absolute;left:22px;background:#d2c8e0}.path-dot.active{background:#9a83c5;border-color:#9a83c5;color:white;box-shadow:0 0 0 4px #ddd4ec}.path-dot.done{color:#7f68a9;background:#e0d6ee}.guide-card{padding:7px 8px 0}.section-label{font-size:11px;letter-spacing:1px;margin:0 0 20px;font-weight:600;color:#777f6d}.instruction{display:flex;gap:11px;align-items:center;margin-bottom:20px}.step{color:#b7bcad;font-size:10px;letter-spacing:1px;font-family:monospace;border:1px solid #e1e4d9;border-radius:9px;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.instruction b{font-size:11px;font-weight:600;display:block}.instruction p{font-size:10px;color:#9ca092;margin:6px 0 0}.match-example{display:flex;align-items:center;gap:7px;padding-left:39px}.match-example span{width:27px;height:27px;display:grid;place-items:center;background:#ece5f4;color:#a48bc6;font-size:21px;border-radius:7px}.match-example i{font-size:10px;font-style:normal;color:#98a484;margin-left:2px}.best-card{border:1px solid #e4e5da;border-radius:14px;padding:13px;display:flex;gap:11px;align-items:center;margin-top:5px;background:#f8f8f2}.best-icon{font-size:24px;color:#b5a674}.best-card div>span{font-size:10px;color:#979b8e;display:block}.best-card strong{display:block;font-size:17px;margin-top:5px;font-weight:600}.best-card small{font-size:8px;letter-spacing:1.4px;color:#b0b4a6;margin-left:auto}.play-card{padding:20px 19px 0;background:#fffefb;border:1px solid #e6e5dc;border-radius:22px;box-shadow:0 10px 35px #5b614c07;min-width:0}.board-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;margin:0 0 18px;color:#808775}.board-top>span:last-child{font-size:8px;letter-spacing:1.3px;color:#b2b3a7;white-space:nowrap}.board-wrap{position:relative}.board{padding:10px;background:#eaece3;border:1px solid #e0e4d8;border-radius:15px;display:grid;grid-template-columns:repeat(8,1fr);gap:var(--tile-gap);aspect-ratio:1;touch-action:none;position:relative;isolation:isolate;user-select:none}.tile{padding:0;border-radius:11px;position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;background:#fff;aspect-ratio:1;box-shadow:0 3px 0 var(--shadow),inset 0 1px 0 #ffffffa0;transition:transform .17s,filter .17s,box-shadow .17s;touch-action:none;-webkit-user-drag:none}.tile svg{width:89%;height:89%;overflow:visible;pointer-events:none}.tile:hover{filter:brightness(1.035);transform:translateY(-2px)}.tile[data-type="0"]{background:#f9ccbd;--shadow:#e9b6a7}.tile[data-type="1"]{background:#f4df9e;--shadow:#e7d18e}.tile[data-type="2"]{background:#d4dcb5;--shadow:#bdc99c}.tile[data-type="3"]{background:#d8ccec;--shadow:#c4b3dc}.tile[data-type="4"]{background:#bfdae1;--shadow:#a7c7cf}.tile[data-type="5"]{background:#efc6d4;--shadow:#dfafbf}.tile.selected{outline:3px solid #8f76c4;outline-offset:1px;transform:scale(1.06);z-index:2;box-shadow:0 0 0 5px #ffffffc0}.tile.hinted{animation:hintPulse .65s ease-in-out infinite alternate;z-index:1}.tile.popping{animation:pop .26s ease-in both;pointer-events:none}.tile.falling{animation:drop .32s cubic-bezier(.22,.65,.35,1) both}.tile.invalid{animation:shake .28s ease-in-out}.board.is-busy .tile{pointer-events:none}.board.is-busy .tile:hover{transform:none}.board-bottom{display:flex;gap:7px;align-items:center;justify-content:center;min-height:53px;padding:10px 2px;font-size:10px;line-height:1.7;color:#999c90;text-align:center}.status-dot{width:5px;height:5px;background:#c0c6b3;border-radius:50%;flex-shrink:0}.score-card{border:1px solid #e5e6db;background:#fffef9;border-radius:19px;padding:22px 21px}.small-stars{margin-left:auto;font-size:20px;color:#c9b778}.score-value{font-size:44px;letter-spacing:-1.5px;line-height:1.2;margin:17px 0 24px;font-weight:600;color:#6f8563;font-variant-numeric:tabular-nums}.target-line{font-size:10px;color:#a1a591;display:flex;justify-content:space-between;margin-bottom:11px}.target-line strong{color:#7c856e;font-size:11px;font-weight:500}.progress-track{height:7px;border-radius:10px;background:#edf0e5;overflow:hidden}.progress-track>div{height:100%;width:0;background:#a3b48b;border-radius:10px;transition:width .4s}.progress-note{font-size:9px;margin:10px 0 0;color:#aaae9c}.card-divider{height:1px;background:#eeeee4;margin:25px 0 22px}.moves-row{display:flex;align-items:center;justify-content:space-between}.moves-row span{font-size:11px;color:#7f8573}.moves-row p{margin:7px 0 0;font-size:9px;color:#abae9f}.moves-row strong{font-size:37px;font-weight:500;color:#858971;font-variant-numeric:tabular-nums}.moves-row strong.low{color:#ca806b}.tools-card{padding:5px 0 0}.tools-card .section-label{padding-left:2px;margin-bottom:12px}.tool-button{display:flex;align-items:center;gap:9px;width:100%;background:#fdfcf8;border:1px solid #e5e5dc;border-radius:13px;padding:13px 10px;margin-bottom:9px;text-align:left}.tool-button:hover:not(:disabled){background:#fff;box-shadow:0 3px 10px #444a3206}.tool-icon{font-size:22px;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border-radius:9px}.hint-icon{background:#faf0d1;color:#b8a260}.shuffle-icon{background:#eee8f4;color:#9d87bd}.tool-button b{font-size:11px;display:block;font-weight:500}.tool-button small{font-size:8px;display:block;color:#a9ad9d;margin-top:5px;white-space:nowrap}.tool-count{font-size:10px;color:#a1a592;min-width:19px;height:19px;background:#f0f1e9;border-radius:50%;display:grid;place-items:center;margin-left:auto}.restart-button{background:#e6e9dd;border:1px solid #dce1d1;border-radius:12px;padding:13px;width:100%;font-size:11px;color:#747f64;margin-top:-7px}.restart-button span{font-size:18px;vertical-align:-1px;margin-right:5px}.restart-button:hover{background:#dce2cf}.gentle-note{font-size:10px;color:#a8ad9c;line-height:2;text-align:center;margin:0;font-weight:300}footer{margin-top:33px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 0;color:#acb1a2;font-size:9px}footer>span:first-child{font-size:8px;letter-spacing:1.3px}footer b{font-weight:400}footer>span:nth-child(2){color:#929d86}dialog{border:1px solid #e6e1d8;background:#fffdf8;color:var(--ink);border-radius:25px;width:min(430px,calc(100vw - 32px));padding:35px;text-align:center;box-shadow:0 25px 100px #45403333;max-height:90vh;overflow:auto}dialog::backdrop{background:#41423860;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:14px;top:14px;background:#f1eee7;border-radius:50%;height:28px;width:28px;font-size:20px;color:#8f9284;line-height:1}.modal-symbol{color:#ac93d0;background:#eee7f5;border-radius:24px;width:74px;height:74px;display:grid;place-items:center;font-size:51px;margin:0 auto 21px}.modal-eyebrow{margin-top:10px}dialog h2{font-size:25px;margin:10px 0 16px}#modal-body{font-size:12px;line-height:2;color:#8b907e}#modal-body p{margin:8px 0}#modal-body strong{color:#7b9369}#modal-body ul{text-align:left;padding-left:20px}.result-score{font-size:39px;color:#80966e;font-weight:600;line-height:1.4;margin:13px 0}.result-sub{font-size:10px;color:#a2a591}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.modal-actions button{border-radius:12px;background:#e9e6f1;color:#8872af;padding:12px 20px;min-width:100px;font-size:12px}.modal-actions .primary{background:#9e88c8;color:white;flex:1}.modal-actions .secondary{background:#f0eee7;color:#90947f}.modal-actions button:hover{filter:brightness(1.025)}.help-row{display:flex;gap:12px;text-align:left;margin:13px 0}.help-row>span{background:#f1ece0;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:#a4956e;font-size:10px}.help-row p{margin:0!important}.help-row b{color:#747f66}body.reduce-motion *,body.reduce-motion *::before{animation-duration:.01ms!important;transition-duration:.01ms!important}
@keyframes hintPulse{from{outline:2px solid #fff8df;outline-offset:0;transform:scale(.95)}to{outline:3px solid #a88bda;outline-offset:2px;transform:scale(1.07)}}@keyframes pop{30%{transform:scale(1.18);filter:brightness(1.15)}100%{transform:scale(.2);opacity:0}}@keyframes drop{from{transform:translateY(var(--drop-y,-60px));opacity:.2}to{transform:translateY(0);opacity:1}}@keyframes shake{25%,75%{transform:translateX(-4px)}50%{transform:translateX(4px)}}
@media(min-width:1500px){.app{padding-top:42px}.intro{padding-top:43px;padding-bottom:40px}footer{margin-top:40px}}
@media(max-width:1100px){.app{padding:25px 25px 0}.game-layout{grid-template-columns:190px minmax(0,1fr) 190px;gap:15px}.play-card{padding:16px 13px 0}.level-card,.score-card{padding:18px 16px}.board{gap:5px;padding:8px}.tile{border-radius:8px}.tool-button{padding:12px 7px;gap:6px}.tool-button small{font-size:7px}.tool-icon{width:26px}.board-top{font-size:9px}.board-top>span:last-child{font-size:6px}.level-card>p{font-size:9px}.score-value{font-size:38px}.guide-card{padding-left:0;padding-right:0}.instruction{gap:7px}.instruction b{font-size:10px}.instruction p{font-size:9px}.intro{padding:28px 0}.match-example{padding-left:32px}}
@media(max-width:900px){.app{max-width:740px;padding:22px 24px 0}.game-layout{grid-template-columns:minmax(0,1fr) 180px;gap:18px}.left-column{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center}.level-card{padding:12px 18px;display:flex;align-items:center;gap:14px;border-radius:14px}.level-card .card-caption,.level-card>p,.level-flower,.level-path{display:none}.level-heading{margin:0;gap:7px;align-items:center}.level-heading strong{font-size:26px;letter-spacing:-1px}.level-card h2{margin:0;font-size:12px}.guide-card{display:none}.best-card{margin:0;padding:10px 13px;min-width:158px}.best-card .best-icon{font-size:21px}.best-card div>span{font-size:8px}.best-card strong{font-size:15px}.best-card small{display:none}.play-card{grid-column:1}.right-column{grid-column:2}.intro-sticker{display:none}.intro{padding:26px 0}h1{font-size:27px}.score-card{padding:19px 15px}.score-value{font-size:35px}.card-divider{margin:20px 0}.tools-card .section-label{margin-bottom:11px}.tool-button{padding:10px 7px}.tool-button small{display:none}.tool-icon{width:25px;height:25px}.board-top>span:last-child{display:none}.play-card{padding:16px 13px 0}.gentle-note{font-size:9px}footer>span:first-child{display:none}.offline{display:none}.right-column{gap:15px}.intro .eyebrow{font-size:8px}.board-bottom{font-size:9px}.instruction{margin-bottom:15px}}
@media(max-width:580px){.app{padding:16px 14px 0}.topbar{padding-bottom:17px}.brand-icon{width:37px;height:37px}.brand{gap:8px}.brand strong{font-size:18px}.brand small{font-size:7px;letter-spacing:2.4px}.header-actions{gap:8px}.intro{padding:23px 3px}.intro .eyebrow{font-size:7px;letter-spacing:1.8px;margin-bottom:9px}h1{font-size:23px;letter-spacing:0;margin-bottom:8px}.subtitle{font-size:10px}.game-layout{display:flex;flex-direction:column;gap:13px}.left-column{width:100%;display:flex;flex-direction:row;gap:9px}.level-card{flex:1;padding:12px 13px;gap:10px}.level-heading>span:first-child{font-size:10px}.level-heading strong{font-size:24px}.level-card h2{font-size:11px}.best-card{min-width:111px;padding:9px 10px;gap:8px}.best-card strong{font-size:13px;margin-top:3px}.best-card .best-icon{font-size:19px}.play-card{width:100%;padding:14px 12px 0;border-radius:18px;order:2}.board{gap:5px;padding:8px;border-radius:12px}.tile{border-radius:8px}.board-top{margin-bottom:12px}.board-top>span:last-child{display:block;font-size:7px}.board-bottom{min-height:43px}.right-column{display:contents}.score-card{width:100%;order:1;padding:13px 16px;border-radius:14px;display:grid;grid-template-columns:1fr 1fr auto;column-gap:15px;align-items:center}.score-card .card-caption{font-size:9px;grid-column:1;grid-row:1}.small-stars{display:none}.score-value{font-size:28px;margin:5px 0 0;grid-column:1;grid-row:2/4;letter-spacing:-.6px}.target-line{grid-column:2;grid-row:1;font-size:9px;margin:0}.target-line strong{font-size:9px}.progress-track{grid-column:2;grid-row:2;margin-top:6px;height:5px}.progress-note{grid-column:2;grid-row:3;margin:3px 0 0;font-size:7px}.card-divider{display:none}.moves-row{grid-column:3;grid-row:1/4;gap:10px;border-left:1px solid #eeeee4;padding-left:14px}.moves-row p{display:none}.moves-row span{font-size:9px;writing-mode:vertical-rl;letter-spacing:2px}.moves-row strong{font-size:30px}.tools-card{order:3;width:100%;display:flex;gap:10px;padding:0}.tools-card .section-label{display:none}.tool-button{margin:0;padding:11px 13px;gap:9px}.tool-button small{display:none}.tool-count{margin-left:auto}.tool-icon{width:26px;height:26px}.restart-button{order:4;margin:0;padding:10px}.gentle-note{order:5;align-self:center;font-size:9px}.gentle-note br{display:none}.gentle-note{margin-top:2px}footer{margin-top:19px;padding:18px 0;gap:5px;font-size:8px}.tile svg{width:94%;height:94%}.intro-sticker{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(min-width:901px){.app{max-width:1120px;padding-left:32px;padding-right:32px}.game-layout{grid-template-columns:206px minmax(0,1fr)202px;gap:20px}.level-card,.score-card{padding:19px 17px}.tool-button{gap:7px;padding:12px 9px}.tool-button small{font-size:7px}.board{gap:5px;padding:9px}.tile{border-radius:9px}.guide-card{padding-left:2px;padding-right:0}.instruction{gap:8px}.instruction b{font-size:10px}.instruction p{font-size:9px}.match-example{padding-left:36px}}
@media(min-width:901px) and (max-height:1000px){.app{max-width:min(1120px,calc(100vh + 266px));padding-top:16px}.topbar{padding-bottom:14px}.brand-icon{height:36px;width:36px}.brand strong{font-size:18px}.brand small{font-size:7px;letter-spacing:2.5px}.intro{padding:19px 0 20px}.intro .eyebrow{font-size:8px;line-height:1;margin-bottom:8px}h1{font-size:25px;line-height:1.3;margin-bottom:7px}.subtitle{font-size:10px;line-height:1.5}.intro-sticker{padding:9px 14px;font-size:9px}.intro-sticker b{font-size:12px}.play-card{padding:15px 14px 0}.board-top{margin-bottom:13px;font-size:9px;line-height:1.5}.board-top>span:last-child{font-size:7px}.board-bottom{min-height:43px;font-size:9px}.left-column,.right-column{gap:14px}.level-card{padding:16px}.level-heading{margin-top:14px}.level-heading strong{font-size:42px}.level-card h2{font-size:14px;margin-top:12px}.level-card>p{font-size:9px}.level-flower{font-size:65px}.level-path{margin-top:17px}.guide-card{padding-top:1px}.guide-card .section-label{margin-bottom:16px}.instruction{margin-bottom:16px}.score-card{padding:18px 17px}.score-value{font-size:37px;margin:12px 0 19px}.card-divider{margin:19px 0}.moves-row strong{font-size:32px}.moves-row p{font-size:8px}.tools-card{padding:0}.tools-card .section-label{margin-bottom:12px}.gentle-note{font-size:9px}.best-card{padding:11px;margin-top:0}footer{margin-top:22px;padding:18px 0}}


/* Fruit adventure: frame-driven movement preserves the real gravity path. */
.board{overflow:hidden}.tile{transition:none!important}.tile:hover{filter:brightness(1.045)}.tile .fruit-image{width:92%;height:92%;object-fit:contain;pointer-events:none;user-select:none;filter:none}.tile.selected{outline:3px solid #9173c9;outline-offset:-1px}.tile.hinted{animation:fruitHint .65s ease-in-out infinite alternate}.tile[data-type="4"]{background:#c9e3cb;--shadow:#aac9ad}.tile[data-special="1"],.tile[data-special="2"]{background:repeating-linear-gradient(135deg,#f7e6b9 0 8px,#fff5d6 8px 14px);--shadow:#dabd7c}.tile[data-special="3"]{box-shadow:inset 0 0 0 2px #ffd466,0 3px 0 #d3aa67}.tile[data-special="4"]{background:conic-gradient(#ffc3c1,#ffedb9,#cbe7b4,#baddf1,#d7c2f3,#ffc3c1);--shadow:#c2afd5}.special-badge{position:absolute;right:-2px;bottom:-1px;width:42%;height:42%;min-width:17px;min-height:17px;border-radius:50%;display:grid;place-items:center;pointer-events:none;z-index:2}.tile .special-badge svg{width:100%;height:100%}.rocket-badge{background:#fff4c2;border:1.5px solid #fff;color:#ac6f24;font-size:clamp(14px,1.6vw,23px);font-weight:900;box-shadow:0 1px 4px #8b632433}.rainbow-badge{background:#fff6;color:#fff;font-size:25px;text-shadow:0 1px 4px #775587}.tile.reward-bloom{filter:brightness(1.08)}
#board-effects{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:visible}.board-top .combo-active{color:#b27d32!important;font-weight:700}.match-example img{width:27px;height:27px;object-fit:contain}.difficulty-tip{font-size:9px;color:#9c9e90;line-height:1.7;margin:15px 0 0;text-align:center}.level-mission{display:flex;align-items:center;justify-content:center;gap:28px;background:#f4f1e8;border-radius:16px;padding:17px 12px;margin-bottom:17px}.level-mission div{display:flex;flex-direction:column}.level-mission strong{font-size:29px;line-height:1.35;color:#8c75b5!important}.level-mission span{font-size:10px;letter-spacing:1px;margin-top:3px}.level-mission i{font-size:23px;font-style:normal;color:#c8bea8}.mission-note{color:#ae9668;font-size:10px;letter-spacing:1px}#sound-button[aria-pressed="true"]{background:#eef2e8;color:#728963}.moves-row strong.low{color:#d48064}
@keyframes fruitHint{from{outline:2px solid #fff8df;outline-offset:-1px;filter:brightness(1)}to{outline:3px solid #a88bda;outline-offset:0;filter:brightness(1.15)}}


@media(max-width:580px){.special-badge{right:-1px;bottom:0}.level-mission{gap:23px}dialog{padding:29px 24px}.difficulty-tip{display:none}}

@media(prefers-reduced-motion:reduce){.tile.hinted{animation:fruitHint 1.5s ease-in-out infinite alternate!important}}


/* Feedback stays in the header, outside all playable fruit cells. */
#combo-label{display:block;font-size:11px;line-height:1.5;letter-spacing:0;color:#a09c89;pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
#combo-label.combo-active{color:#a18a63!important;font-weight:500}
#combo-label.feedback{animation:subtleFeedback .65s ease-out both}
@keyframes subtleFeedback{0%{opacity:.35}18%,65%{opacity:1}100%{opacity:.65}}
@media(max-width:580px){#combo-label{font-size:10px}.board-top{gap:6px}}
@media(prefers-reduced-motion:reduce){#combo-label.feedback{animation:none;opacity:.85}}

/* Eight columns, nine rows: preserve square touch cells on narrow screens. */
.board{aspect-ratio:auto;grid-template-columns:repeat(var(--board-cols,8),minmax(0,1fr));grid-auto-rows:auto;align-items:start}
.ice-layer .ice-cracks{opacity:0;stroke:#fff;stroke-width:3;stroke-dasharray:none;filter:drop-shadow(0 0 1px #4da6c7)}
.tile.is-thawing .ice-layer{box-shadow:inset 0 0 8px #fff,0 0 4px #b3efff}
.tile{height:auto;aspect-ratio:1;min-height:0}
.reserve-panel{margin-top:17px;padding-top:12px;border-top:1px solid #eeeee4;font-size:10px;color:#8c8f82}
.reserve-panel>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.reserve-panel strong{font-size:13px;color:#8c78ac;font-variant-numeric:tabular-nums}
.reserve-panel p{margin:6px 0 0;font-size:9px;line-height:1.6}
.reserve-explainer{background:#f3efdf;border-radius:12px;padding:10px 12px;font-size:11px!important;line-height:1.7!important;color:#8d7e62!important}
@media(max-width:580px){
  .app{padding-left:10px;padding-right:10px}
  #game-screen>.intro{padding:12px 2px}
  #game-screen>.intro .eyebrow{display:none}
  #game-screen h1{font-size:19px;margin-bottom:4px}
  .game-layout{gap:10px}
  .play-card{padding:10px 7px 0}
  .board{padding:5px;gap:3px;border-radius:11px}
  .tile{border-radius:7px}
  .tile .fruit-image{width:94%;height:94%}
  .score-card{padding:11px 13px;column-gap:10px}
  .reserve-panel{grid-column:1/-1;grid-row:4;margin-top:9px;padding-top:7px;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .reserve-panel>div{gap:8px;flex-shrink:0}
  .reserve-panel strong{font-size:11px}
  .reserve-panel p{font-size:8px;margin:0;text-align:right;max-width:180px}
  .board-bottom{min-height:34px;padding:7px 2px}
  .board-top{margin-bottom:8px}
}
@media(min-width:901px) and (max-height:900px){.app{max-width:min(1080px,calc(88vh + 266px))}}
@media(max-width:580px){#game-screen>.intro{display:none}.topbar{padding-bottom:10px}.game-layout{margin-top:10px}.left-column{gap:7px}.board-top{font-size:9px}.reserve-panel p{max-width:165px}dialog{max-height:calc(100dvh - 24px);overflow-y:auto}}
@media(max-width:360px){body{min-width:0}body[data-screen="game"] .brand{gap:4px}body[data-screen="game"] .brand strong{font-size:14px}body[data-screen="game"] .help-button{font-size:10px}body[data-screen="game"] .left-column{gap:5px}body[data-screen="game"] .left-column .level-card{min-width:0;padding-left:10px;padding-right:8px}body[data-screen="game"] .collection-button{min-width:90px;padding-left:8px;padding-right:8px}}
@media(max-width:580px) and (max-height:650px){body[data-screen="game"] .app{padding-top:8px}body[data-screen="game"] .game-layout{gap:8px;margin-top:8px}body[data-screen="game"] .score-card{padding:8px 12px}body[data-screen="game"] .reserve-panel{margin-top:5px;padding-top:5px}body[data-screen="game"] .board-top,body[data-screen="game"] .orchard-strip{display:none}body[data-screen="game"] .board-bottom{min-height:30px;padding:6px 2px}}
@media(max-width:360px){body[data-screen="game"] .topbar .brand strong{font-size:13px;letter-spacing:1px;white-space:nowrap}body[data-screen="game"] .topbar .brand small{font-size:6px;letter-spacing:1px}body[data-screen="game"] .topbar .brand-icon{width:25px;height:25px;flex-shrink:0}body[data-screen="game"] .topbar .header-actions{gap:4px;flex-shrink:0}body[data-screen="game"] .topbar .home-nav-button{padding:8px 6px;font-size:9px}body[data-screen="game"] .topbar .help-button{padding:0 7px;gap:4px;white-space:nowrap}}
.board-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 1px 8px;font-size:10px;color:#79909a;min-height:26px}
#board[data-obstacle-style="frost"] .ice-layer{background:radial-gradient(circle at 35% 30%,#ffffffd9,#d8f0f1aa);border-color:#f1ffff;box-shadow:inset 0 0 9px #fff}#board[data-obstacle-style="frost"] .ice-layer svg{stroke:#83c7d4;stroke-dasharray:3 2}
#board[data-obstacle-style="crystal"] .ice-layer{background:conic-gradient(from 25deg,#edddffb0,#bde5ffbf,#ead9ffb3,#cfcbffb8,#edddffb0);border-color:#e4d2fb}#board[data-obstacle-style="crystal"] .ice-layer svg{stroke:#fff;stroke-width:2.3}#board[data-obstacle-style="stone"] .tile-wood{background:#dde2df;--shadow:#a0aaa4;border-color:#b2bdb5}#board[data-obstacle-style="iron"] .tile-wood{background:#d0dfe3;--shadow:#8b9fa6;border-color:#a2b4bb}
.board-controls button{background:#eef2f1;color:#728981;border:1px solid #dce5df;border-radius:9px;font-size:10px;padding:7px 9px;white-space:nowrap}
.board-viewport{max-width:100%;border-radius:12px}.board-viewport.is-zoomed{overflow:auto;max-height:65svh;border:1px solid #dbe3dd;overscroll-behavior:contain}.board-viewport.is-zoomed .board-wrap{min-width:570px}.board-viewport.is-zoomed .board{touch-action:pan-x pan-y}
.board{gap:3px;padding:6px}.tile{border-radius:6px}.tile-wood{background:#ecdac3;--shadow:#bf9d78;border:1px solid #d7b994;box-shadow:0 2px 0 #c4a280}.tile-wood .wood-art{width:96%;height:96%}.tile-ice .fruit-image{opacity:.68}.ice-layer{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#defaff99,#b3e5f099);border:2px solid #c4f3fc;box-shadow:inset 0 0 5px #fff;pointer-events:none}.ice-layer svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round}.obstacle-explainer{padding:10px;background:#edf6f6;border-radius:10px;color:#76929b;font-size:11px!important;line-height:1.8}
@media(min-width:901px){.game-layout{grid-template-columns:184px minmax(0,1fr)184px;gap:15px}.play-card{padding:12px 11px 0}.board-controls{font-size:9px}.board-top{margin-bottom:9px}.tile .special-badge{width:35%;height:35%;min-width:11px;min-height:11px}}
@media(max-width:580px){.play-card{padding:6px 5px 0}.board{gap:2px;padding:4px;border-radius:9px}.tile{border-radius:4px}.board-controls{font-size:9px;margin-bottom:5px;min-height:24px}.board-controls button{font-size:9px;padding:6px 8px}.ice-layer{border-width:1px}.tile .special-badge{width:40%;height:40%;min-width:9px;min-height:9px}.board-viewport.is-zoomed .board-wrap{min-width:552px}}
@media(max-width:580px) and (max-height:650px){body[data-screen="game"] .game-layout{gap:5px;margin-top:5px}body[data-screen="game"] .left-column .level-card{padding-top:8px;padding-bottom:8px}body[data-screen="game"] .left-column .collection-button{padding-top:5px;padding-bottom:5px}body[data-screen="game"] .score-card{padding:6px 10px}body[data-screen="game"] .score-value{font-size:24px}body[data-screen="game"] .moves-row strong{font-size:26px}body[data-screen="game"] .reserve-panel p{display:none}body[data-screen="game"] .reserve-panel{margin-top:3px;padding-top:3px}body[data-screen="game"] .board-controls{min-height:20px;margin-bottom:3px}body[data-screen="game"] .board-controls button{padding:4px 7px}body[data-screen="game"] .topbar{padding-bottom:6px}body[data-screen="game"] .board{gap:1px;padding:3px}}
@media(max-width:580px) and (max-height:650px){body[data-screen="game"] .app{padding-top:4px}body[data-screen="game"] .topbar .help-button,body[data-screen="game"] .topbar .icon-button{height:30px}body[data-screen="game"] .topbar .icon-button{width:30px}body[data-screen="game"] .topbar .home-nav-button{padding-top:6px;padding-bottom:6px}body[data-screen="game"] .left-column .level-card{padding-top:4px;padding-bottom:4px}body[data-screen="game"] .left-column .collection-button{padding-top:3px;padding-bottom:3px}body[data-screen="game"] .score-value{margin-top:2px}body[data-screen="game"] .board-controls{min-height:18px;margin-bottom:2px}body[data-screen="game"] .board-controls button{padding-top:3px;padding-bottom:3px}}
@media(min-width:901px) and (max-height:850px){body[data-screen="game"] #game-screen>.intro{display:none}body[data-screen="game"] .game-layout{margin-top:10px}body[data-screen="game"] .play-card{padding-top:9px}body[data-screen="game"] .board-top{display:none}body[data-screen="game"] .orchard-strip{margin-top:0;margin-bottom:5px;min-height:24px}body[data-screen="game"] .board-controls{margin-bottom:6px}body[data-screen="game"] .board-controls button{padding-top:5px;padding-bottom:5px}}
#hint-button.idle-hint-glow,#mobile-hint-button.idle-hint-glow{outline:2px solid #b99a56;outline-offset:2px;filter:brightness(1.05);box-shadow:0 0 0 4px rgba(213,190,122,.18)}
