:root{--ink:#294d3b;--green:#3b6349;--muted:#899184;--line:#e6e7dc;--paper:#f8f7f0;--gold:#e6af54}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #d99e42;outline-offset:4px}button{border:0;background:none}button:disabled{cursor:default}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit;text-decoration:none}.header{max-width:1400px;margin:auto;height:102px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;letter-spacing:2px}.brand-icon{font-size:42px;font-weight:400;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:2.6px;font-weight:600;margin-top:3px}nav{display:flex;align-items:center;gap:28px}.nav-note{color:var(--muted);font-size:12px}.text-btn{font-size:12px}.circle-btn{position:relative;border:1px solid var(--line);border-radius:50%;width:35px;height:35px}.sound-off{position:absolute;left:8px;top:5px}.layout{display:grid;grid-template-columns:240px minmax(420px,530px) 230px;gap:48px;max-width:1210px;margin:44px auto 30px;padding:0 24px}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#83907e;font-weight:600}h1{font-size:49px;line-height:1.35;letter-spacing:-2px;margin:22px 0 20px;font-weight:800}h1 span{color:#76945d}.intro{font-size:13px;line-height:2;color:#86907f}.art-card{height:234px;position:relative;margin-top:28px;overflow:hidden;border-radius:100px 100px 14px 14px;background:#dbe5c7}.art-card>img{width:100%;height:100%;object-fit:cover;object-position:75% center;transform:scale(1.05)}.art-caption{position:absolute;bottom:0;left:0;right:0;padding:24px 19px 17px;background:linear-gradient(transparent,#dae2c7f0 35%)}.art-caption span{font-size:13px;font-weight:700}.art-caption small{display:block;font-size:10px;margin-top:6px;color:#70805c}.daily-note{display:flex;gap:15px;padding:22px 10px;border-bottom:1px solid var(--line)}.daily-note>span{font-size:30px;color:#c8a85a}.daily-note p{font-size:12px;font-weight:600;margin:0}.daily-note small{display:block;font-size:11px;color:#939686;line-height:1.9;margin-top:7px;font-weight:400}.offline-tag{font-size:10px;color:#979e90;margin-top:20px;display:flex;align-items:center;gap:7px}.offline-tag i,.field-meta i{width:5px;height:5px;background:#94ac6d;border-radius:50%;display:inline-block}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h2{font-size:24px;letter-spacing:.5px;margin:7px 0 0;font-weight:700}h2>span:first-child{font-size:27px}.level-name{font-size:11px;color:#899481;font-weight:400;margin-left:8px;letter-spacing:0}.level-toggle{border:1px solid var(--line);border-radius:8px;font-size:11px;padding:9px 12px}.level-toggle span{margin-left:10px}.difficulty{display:flex;padding:5px;border-radius:11px;background:#eeeee4;margin-bottom:18px;gap:4px}.difficulty button{flex:1;padding:10px 4px;border-radius:7px;font-size:13px;color:#89917e;transition:.2s}.difficulty small{font-size:9px;margin-left:6px;opacity:.8}.difficulty .active{background:#3e6248;color:#fff;box-shadow:0 3px 6px #294d3b15}.playfield{border:1px solid #cdd8b5;border-radius:18px;background:#e5edcf;position:relative;overflow:hidden;box-shadow:inset 0 0 65px #d5e3b966}.playfield:before,.playfield:after{content:'✽';position:absolute;color:#c8d7b0;font-size:90px;bottom:20px;left:-19px;transform:rotate(14deg)}.playfield:after{font-size:140px;bottom:120px;left:auto;right:-48px;color:#d4e1bb}.field-meta{display:flex;align-items:center;justify-content:space-between;padding:12px 17px 0;font-size:10px;color:#77876a;position:relative;z-index:1}.field-meta i{margin-right:5px}.field-meta b{font-weight:500}.icon-btn{font-size:24px;line-height:1;padding:0 4px}.board{position:relative;width:100%;aspect-ratio:420/355;z-index:2}.tile{position:absolute;width:12.38%;aspect-ratio:52/56;display:flex;justify-content:center;align-items:center;padding:0;border-radius:9px;border:1px solid #ddd9c3;background:#fff9e8;box-shadow:0 4px 0 #b7bc95,0 5px 4px #44553319;transition:filter .16s,transform .16s;user-select:none}.tile:after{content:'';position:absolute;inset:3px;border:1px solid #f0ebd7;border-radius:6px;pointer-events:none}.tile:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.03)}.tile.covered{filter:brightness(.72) saturate(.65);cursor:default}.tile:disabled{opacity:1}.sprite{display:block;width:85%;height:85%;background-image:url('assets/items.webp');background-repeat:no-repeat;background-size:400% 400%;mix-blend-mode:multiply;pointer-events:none}.board-floor{text-align:center;font-size:9px;letter-spacing:1px;color:#9aaa84;padding:6px 0 17px}.tray-panel{padding:18px 0 0}.tray-label{display:flex;justify-content:space-between;font-size:10px;color:#8b9482;margin-bottom:10px}.tray-label b{color:#4c6b45;font-size:12px}.tray{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:#eae9db;border:1px solid #e0dfcf;padding:9px;border-radius:12px;min-height:72px;transition:background .2s}.slot{background:#dedfcf;aspect-ratio:52/56;border-radius:7px;box-shadow:inset 0 2px 3px #35432a0b;display:flex;align-items:center;justify-content:center}.slot.occupied{background:#fff9e8;box-shadow:0 3px 0 #c8c9b1;animation:pop .2s ease-out}.tray.danger{background:#f2d6bb;border-color:#dfb28b}.tray.danger .slot{background:#e7ccb0}.tray.danger .occupied{background:#fff5df}.tools{display:flex;gap:10px;margin-top:20px}.tools>button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;position:relative;background:#f0f0e7;border:1px solid #e2e4d7;border-radius:11px;padding:14px 5px;text-align:left;font-size:12px}.tools>button:disabled{opacity:.4}.tools small{display:block;font-size:9px;color:#929884;margin-top:4px}.tool-symbol{font-size:25px;color:#718866;line-height:1}.tools b{position:absolute;top:-7px;right:8px;border-radius:20px;background:#e9dbb5;color:#887b53;font-size:9px;padding:2px 6px;border:2px solid var(--paper);font-weight:500}.game-foot{text-align:center;color:#a2a794;font-size:10px;margin:18px 0}.game-foot span{margin-left:8px}.journey-heading{padding-top:3px}h3{font-size:19px;margin:11px 0 21px;letter-spacing:.2px}h3 span{font-size:10px;font-weight:400;border:1px solid #dfe4d5;padding:3px 6px;border-radius:5px;margin-left:8px;color:#8d9884}.progress-info{display:flex;justify-content:space-between;color:#929b88;font-size:10px}.progress-info b{color:#4b6b42;font-weight:600}.progress-track{height:5px;background:#e6e8dc;border-radius:9px;margin-top:10px;overflow:hidden}.progress-track i{display:block;background:#8da56f;height:100%;transition:width .4s}.chapter-select{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#849078;margin-top:28px}.chapter-select button{font-size:21px;padding:0 5px}.chapter-select button:disabled{opacity:.2}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:16px 0}.level-cell{border:1px solid #e2e5d8;background:#f1f2e9;border-radius:50%;aspect-ratio:1;font-size:11px;position:relative}.level-cell.current{background:#45684c;color:#fff;border-color:#45684c;box-shadow:0 0 0 3px #dfe6d4}.level-cell.done{color:#5f7a4c;background:#e6ecd9}.level-cell.done:after{content:'✓';position:absolute;font-size:8px;right:-1px;top:-4px;background:#faf9f0;border-radius:50%;padding:1px}.journey-note{text-align:center;padding:27px 0 25px;border-bottom:1px solid var(--line)}.journey-note>span{display:block;font-size:37px;color:#b2c08e}.journey-note strong{display:block;font-size:12px;margin-top:8px}.journey-note p{font-size:11px;color:#949c87;line-height:1.9;margin-bottom:0}.rules-card{margin-top:25px}.rules-card h4{font-size:12px;font-weight:600}.rules-card ol{padding-left:18px;font-size:10px;line-height:2.5;color:#929987}.rules-card button{font-size:10px;padding:10px 0;color:#6f8464}.footer{max-width:1210px;margin:auto;border-top:1px solid var(--line);padding:22px 24px;display:flex;justify-content:space-between;color:#a5ab9b;font-size:9px;letter-spacing:.5px}.reserve-row{display:flex;align-items:center;gap:12px;padding:12px 4px 0;font-size:10px;color:#81916e}.reserve-row[hidden]{display:none}.reserve-row small{display:block;font-size:8px;margin-top:3px}.reserve-row>div{display:flex;gap:7px}.reserve-tile{width:40px;height:43px;background:#fff9e8;border:1px solid #dadac8;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0}.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%,20px);background:#294a38ed;color:white;padding:12px 22px;border-radius:40px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:100}.toast.visible{transform:translate(-50%,0);opacity:1}dialog{border:1px solid #dce0cf;border-radius:24px;padding:30px;width:min(440px,calc(100% - 32px));background:#faf9f0;color:var(--ink);box-shadow:0 25px 100px #183c3325}dialog::backdrop{background:#203c3669;backdrop-filter:blur(6px)}dialog h2{font-size:24px;text-align:center}dialog p{font-size:12px;line-height:1.9;color:#819075;text-align:center}.modal-icon{font-size:48px;display:block;text-align:center;margin-bottom:12px}.modal-actions{display:flex;gap:10px;margin-top:23px}.modal-actions button{flex:1;padding:12px;border-radius:10px;background:#e8ecdd;font-size:12px}.modal-actions .primary{background:#436748;color:white}.rules-list{font-size:12px;color:#76876b;line-height:2;padding-left:20px}.modal-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-height:48vh;overflow:auto;padding:10px;margin-top:14px}.modal-levels .level-cell{border-radius:12px}.rules-sprites{display:flex;justify-content:center;gap:12px;margin:20px auto}.rules-sprites>span{width:50px;height:54px;background:#fff9e8;box-shadow:0 3px #c4c7ac;border-radius:8px;display:flex;align-items:center;justify-content:center}.loading-note{text-align:center;padding:12px;background:#ede6c6}#particles{position:absolute;inset:0;pointer-events:none;z-index:20}.spark{position:absolute;width:7px;height:7px;background:#e3ae4b;animation:burst .7s ease-out forwards}.save-warning{font-size:10px;color:#b07a43}.match-flash{animation:match .4s} @keyframes pop{from{transform:scale(.7)}to{transform:scale(1)}}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) rotate(180deg);opacity:0}}@keyframes match{50%{background:#d8e5c1}}@media(min-width:1500px){.layout{margin-top:60px}.header{height:110px}}@media(max-width:1150px){.layout{gap:26px;grid-template-columns:200px minmax(370px,500px) 200px;padding:0 20px}.header{padding:0 30px}h1{font-size:41px}.difficulty small{font-size:8px;margin-left:3px}.level-name{display:none}.tools{gap:7px}}@media(max-width:960px){.layout{grid-template-columns:190px minmax(360px,500px);max-width:780px;gap:35px}.right-column{display:none}.nav-note{display:none}.footer{max-width:780px}.art-card{height:220px}.game-top{margin-bottom:18px}}@media(max-width:640px){.header{height:74px;padding:0 21px}.brand{font-size:18px;gap:8px}.brand-icon{font-size:35px}.brand small{font-size:7px}.header nav{gap:15px}.text-btn{font-size:11px}.circle-btn{width:31px;height:31px}.left-column,.right-column{display:none}.layout{display:block;margin:24px auto 0;max-width:490px;padding:0 19px}.game-top .eyebrow{font-size:9px}h2{font-size:21px;margin-top:6px}h2>span:first-child{font-size:24px}.level-name{display:inline;font-size:10px;margin-left:5px}.difficulty{margin-bottom:15px}.difficulty button{padding:9px 1px;font-size:12px}.difficulty small{font-size:8px;margin-left:4px}.game-top{margin-bottom:17px}.field-meta{padding:10px 13px 0}.playfield{border-radius:15px}.board-floor{font-size:8px;padding-bottom:15px}.tray-panel{padding-top:15px}.tray-label{font-size:9px}.tray{padding:8px;gap:5px;min-height:60px}.tools{margin-top:18px;gap:8px}.tools>button{padding:12px 5px;gap:7px;font-size:11px}.tools small{font-size:8px}.tool-symbol{font-size:22px}.footer{margin:15px 20px 0;padding:18px 0 22px;justify-content:center}.footer>span:first-child,.footer>span:last-child{display:none}.game-foot{margin-bottom:10px}.toast{bottom:24px;width:max-content;max-width:90vw;text-align:center}dialog{padding:26px 22px}.tile{border-radius:7px}.tile:after{inset:2px;border-radius:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition:none!important}}
.slot{min-width:0;width:100%}.tray{grid-template-columns:repeat(7,minmax(0,1fr))}.brand>span:last-child{white-space:nowrap}@media(max-width:360px){.header{padding:0 16px}.brand{font-size:16px;letter-spacing:1px;gap:6px}.header nav{gap:8px}.text-btn span{display:none}}

.board.six-rows{aspect-ratio:1}.board.six-rows .tile{width:14.285714%;aspect-ratio:60/64}.board.six-rows .sprite{width:92%;height:92%}
.board.six-rows .sprite{clip-path:inset(4% 3% 5% 3%)}

.board.six-rows .tile.covered{filter:brightness(.86) saturate(.7)}.board.six-rows .tile.covered .sprite{opacity:.58}
