:root{font-family:'Avenir Next','Nunito','PingFang SC',system-ui,sans-serif;color:#244b40;background:#e4f1e7;font-synthesis:none;--forest:#244b40;--berry:#d56a86;--mint:#d9efe1;--yellow:#f3c966;--white:#fffdf8}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 13% 63%,#b8ddc579,transparent 40%),repeating-linear-gradient(0deg,#fff2 0 22px,transparent 22px 44px),repeating-linear-gradient(90deg,#fff2 0 22px,transparent 22px 44px),#e4f1e7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:var(--white);border:1px solid #c1d4c7;border-radius:12px;padding:10px 16px;touch-action:manipulation}button:hover:not(:disabled){background:#f5ecd5}button:focus-visible,a:focus-visible{outline:3px solid var(--berry);outline-offset:3px}button:disabled{opacity:.48;cursor:default}a{color:inherit}.shell{max-width:1120px;margin:auto;padding:22px 38px 30px}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #bcd3c2}.brand{font-size:17px;font-weight:900;letter-spacing:1px;text-decoration:none}.brand span{color:var(--berry)}.brand small{margin-left:18px;font-size:10px;font-weight:500;letter-spacing:0;color:#718e7c}.header-actions{display:flex;gap:8px}.header-actions button{font-size:12px;min-width:42px;padding:8px 12px;background:#ffffff6b}.heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0}.heading p{font-size:11px;letter-spacing:3px;color:#6b8b77;margin:0 0 6px}.heading h1{font-size:43px;font-weight:900;letter-spacing:-2px;margin:0;line-height:1.3}.heading h1 span{font-size:12px;font-weight:500;letter-spacing:1px;display:inline-block;margin-left:18px;color:#74927e}.map-link{font-size:12px;background:#f6fbf4}.play-layout{display:grid;grid-template-columns:220px minmax(0,520px);gap:42px;justify-content:center;align-items:start}.trail{padding:18px 0;position:sticky;top:20px}.chapter{border-left:3px solid var(--berry);padding-left:18px}.chapter>span{font-size:12px;letter-spacing:2px}.chapter strong{display:block;font-size:76px;font-weight:800;line-height:1.2;letter-spacing:-5px;color:#48725c}.chapter p{font-size:12px;margin:4px 0;color:#71917b}.trail>p{font-size:13px;line-height:1.9;max-width:190px;color:#6e8b76;margin:24px 0}.mascot{width:145px;transform:rotate(-8deg);margin:20px 0}.mascot svg{width:100%;filter:drop-shadow(0 9px 0 #a8c5a64a)}.trail button{font-size:11px;background:transparent;border-color:#abc7b6}.trail-stars{margin-top:22px;font-size:12px;color:#718977}.game-panel{min-width:0;background:var(--white);padding:18px;border-radius:26px;box-shadow:0 7px 0 #bacfbd,0 18px 40px #4a785818;border:1px solid #c5dbc6}.hud{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:0 3px 14px}.hud span{font-size:10px;color:#788d78}.moves{text-align:center;min-width:65px;border-right:1px solid #e4e8d9;padding-right:15px}.moves strong{display:block;font-size:36px;line-height:1.15;font-weight:900;color:var(--berry);font-variant-numeric:tabular-nums}.moves.urgent strong{color:#b84054}.mission{flex:1}.mission>span{display:block;margin-bottom:5px}#goals{display:flex;gap:10px;align-items:center}.goal{display:flex;align-items:center;gap:3px;position:relative}.goal svg{width:32px;height:32px}.goal b{font-size:12px;white-space:nowrap}.goal.done b{color:#5d9669}.goal.done::after{content:'✓';font-size:10px;color:#68a06d;position:absolute;left:20px;top:-2px}.honey-icon{font-size:23px;color:#d9a42c!important}.score{text-align:right;min-width:65px}.score strong{display:block;font-size:19px;line-height:1.8;font-variant-numeric:tabular-nums}.board-frame{position:relative;background:#c7dcc9;border:6px solid #bdd1bd;border-radius:17px;padding:7px;overflow:hidden;box-shadow:inset 0 2px 4px #6b88682a}#board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;touch-action:none}.tile{padding:0;position:relative;width:100%;aspect-ratio:1;border-radius:12px;background:var(--tile-bg);border:0;border-bottom:3px solid #718c4825;display:grid;place-items:center;user-select:none;transition:transform .12s,opacity .12s;min-width:0}.tile:disabled{opacity:1}.tile svg{width:88%;height:88%;overflow:visible;pointer-events:none}.tile[data-kind="0"]{--tile-bg:#f8dfbf}.tile[data-kind="1"]{--tile-bg:#f2dce7}.tile[data-kind="2"]{--tile-bg:#d9edb9}.tile[data-kind="3"]{--tile-bg:#ede1cc}.tile[data-kind="4"]{--tile-bg:#dce5f8}.tile[data-kind="5"]{--tile-bg:#fff0b8}.tile:hover:not(:disabled){background:var(--tile-bg);transform:translateY(-2px)}.tile.selected{outline:3px solid #c95579;outline-offset:-1px;transform:scale(.93)}.tile.hinted{box-shadow:inset 0 0 0 3px #fff9dd,0 0 0 2px #8caf66;animation:breathe .9s ease-in-out infinite}.tile.honey{box-shadow:inset 0 0 0 3px #e8b645}.tile.honey::before{content:'';position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(45deg,#eec24626 0 5px,transparent 5px 12px);pointer-events:none}.tile .layer{position:absolute;left:2px;bottom:1px;border-radius:4px;background:#dba634;color:#fffbea;font:bold 9px system-ui;padding:0 3px}.special{position:absolute;right:-1px;bottom:0;font-size:14px;background:#fcfaf4;color:#b8507d;box-shadow:0 2px 3px #7773;border-radius:6px;padding:0 3px;line-height:1.3;pointer-events:none}.tile.rainbow{background:conic-gradient(from 40deg,#f8dda3,#e4c4e8,#bcdcf3,#c6e2b5,#f8dda3)}.tile.rainbow .special{inset:auto 5px 3px;text-align:center}.tile.clearing{transform:scale(.2) rotate(12deg);opacity:0}.tile.falling{animation:fall .22s ease-out}.tile.bad{animation:shake .25s}.tile.swapping{transform:scale(.9)}#combo{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-6deg);font-weight:900;font-size:32px;color:#fffdf7;text-shadow:0 3px #bd577c,2px 0 #bd577c,-2px 0 #bd577c;pointer-events:none;white-space:nowrap;z-index:4}#cover{position:absolute;inset:0;z-index:5;background:#edf7edee;backdrop-filter:blur(7px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}#cover[hidden]{display:none}.cover-flower{font-size:52px;color:var(--berry)}#cover h2{font-size:26px;margin:10px 0}#cover p{max-width:330px;font-size:13px;line-height:1.9;margin:0 0 22px;color:#6d8975}.primary{background:var(--berry);color:white;border:0;font-weight:700;box-shadow:0 4px 0 #b75772}.primary:hover:not(:disabled){background:#c45d7a}.status-row{display:flex;align-items:center;gap:10px;min-height:47px;padding:7px 2px}.status-row p{margin:0;flex:1;color:#72896e;font-size:11px;line-height:1.6}.status-row button{font-size:11px;border:0;background:transparent;padding:6px}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tools button{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 3px;font-size:11px;background:#f5f4e8;border:1px solid #e6e8d7}.tools b{font-size:18px;color:#ac7386}.tools button.active{background:#f5d8e0;border-color:var(--berry)}footer{text-align:center;margin-top:27px;font-size:10px;letter-spacing:1px;color:#76947d}dialog{border:0;border-radius:25px;width:min(560px,calc(100vw - 28px));padding:32px;max-height:88dvh;overflow:auto;color:var(--forest);background:var(--white);box-shadow:0 20px 80px #21493733}dialog::backdrop{background:#234c4366;backdrop-filter:blur(5px)}#close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:23px;padding:4px 12px}dialog h2{font-size:28px;letter-spacing:-1px;margin:12px 0}dialog p{font-size:13px;line-height:1.8;color:#718a78}.dialog-eyebrow{font-size:10px!important;letter-spacing:2px;color:#bb6d85!important}.stars{font-size:45px;color:#e9b64c;letter-spacing:6px;margin:16px 0}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.dialog-actions button{font-size:12px}.level-map{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:20px}.level-map button{padding:12px 2px;display:grid;gap:5px;background:#eff4e7}.level-map strong{font-size:21px}.level-map span{font-size:9px;white-space:nowrap}.level-map small{color:#c6a047;letter-spacing:1px}.level-map .current{outline:2px solid var(--berry)}.help-grid{display:grid;gap:12px}.help-grid div{padding:13px;background:#f0f4e9;border-radius:12px;font-size:13px;line-height:1.8}.help-grid b{display:block;color:#ae607c}.storage-warning{color:#ad5269!important}
@keyframes fall{from{transform:translateY(-14px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes breathe{50%{transform:scale(.93)}}@keyframes shake{25%,75%{transform:translateX(3px)}50%{transform:translateX(-3px)}}@keyframes spawn{from{transform:scale(0);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1}}.tile.spawning{animation:spawn .42s cubic-bezier(.34,1.56,.64,1) backwards}
@media(max-width:800px){.shell{padding:16px 20px 28px;max-width:640px}.play-layout{display:block}.trail{position:static;padding:0;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.chapter{display:flex;align-items:center;gap:8px;padding:0;border:0}.chapter strong{font-size:24px;letter-spacing:0}.chapter>span{font-size:11px}.chapter p{font-size:10px}.trail>p,.mascot,.trail-stars{display:none}.trail button{padding:7px 10px}.heading{margin:20px 0 14px}.heading h1{font-size:34px;letter-spacing:-1px}.heading h1 span{display:block;margin:3px 0 0;font-size:10px}.heading p{font-size:9px}.brand small{display:none}.game-panel{padding:12px;border-radius:20px}.hud{gap:8px}.moves{min-width:48px;padding-right:10px}.score{min-width:50px}.score strong{font-size:15px}#goals{gap:7px}.goal svg{width:27px;height:27px}.goal b{font-size:10px}.board-frame{border-width:4px;padding:5px;border-radius:13px}#board{gap:4px}.tile{border-radius:8px}.tile .special{font-size:11px}.tools button{font-size:10px}.status-row p{font-size:10px}}
@media(max-width:420px){.shell{padding:12px 10px 25px}.heading h1{font-size:29px}.map-link{font-size:10px;padding:9px 11px}.game-panel{padding:10px}.hud{gap:5px}.moves{padding-right:7px;min-width:43px}.moves strong{font-size:29px}.goal svg{width:22px;height:22px}.goal{gap:1px}#goals{gap:4px}.score{min-width:42px}.score strong{font-size:13px}.hud span{font-size:9px}.tile .layer{font-size:7px}#board{gap:3px}.tools{gap:5px}.tools b{font-size:15px}.tools button{gap:4px}.level-map{grid-template-columns:repeat(3,1fr)}dialog{padding:25px}.status-row{min-height:46px}.chapter>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
