@charset "UTF-8";:root{font-family:Inter,Segoe UI,sans-serif;color:#2e4038;background:#f6f5ef;font-synthesis:none;--cell-h:84px;--accent:#42664e;--muted:#6d766c;--line:#dbddd2}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fcfcf7;color:inherit;padding:10px 16px;font-weight:500;transition:background .15s,transform .15s}button:hover{background:#e9eddf}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.42}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a07528;outline-offset:3px}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.secondary{background:#fff;width:100%}.quiet{border:0;background:transparent}.topbar{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:27px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:650;font-size:20px;color:inherit;text-decoration:none;line-height:1.06}.brand small{display:block;font-size:17px;font-weight:450}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#dde5cc;border-radius:12px;font-size:34px;font-weight:400}.tagline{font-size:14px;color:var(--muted)}.layout{display:grid;grid-template-columns:215px minmax(340px,520px) 215px;gap:44px;max-width:1210px;padding:48px 32px 10px;margin:auto;align-items:start}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.14em;color:var(--muted)}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;font-weight:550;margin:20px 0}h2{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin:8px 0;font-weight:550}h3{font-size:18px;margin:12px 0;font-weight:550}p{font-size:14px;line-height:1.75;color:var(--muted)}.intro{padding-top:45px}.small{font-size:12px;line-height:1.65}.progress-card{margin:32px 0;padding:20px;background:#e9eddf;border-radius:16px;font-size:12px;display:flex;flex-direction:column;gap:12px}.progress-card strong{font-size:16px}.progress-track{height:5px;background:#d4dcc7;border-radius:10px;overflow:hidden}.progress-track>div{height:100%;background:#6f885a;border-radius:10px}.text-button{padding:0;min-height:36px;font-size:12px;border:0;background:transparent;text-align:left;color:var(--accent)}.level-heading{display:flex;align-items:center;justify-content:space-between}.icon-button{width:48px;padding:10px;background:transparent}.mode-chip{display:block;min-height:36px;font-size:12px;color:#526750;background:#e9edde;border:0;border-radius:20px;margin:12px 0 22px;padding:6px 15px}.play-stats{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.play-stats #timer{color:#456448}.instruction{font-size:13px;min-height:22px;margin:14px 0 16px;color:#5a6b58;text-align:center}.board-surface{position:relative;width:100%;isolation:isolate}#canvas{position:absolute;left:0;top:0;width:100%;z-index:-1;pointer-events:none}canvas{display:block}.cells{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--rows),var(--cell-h));column-gap:8px;row-gap:24px;padding:8px;touch-action:pan-y}.cell{position:relative;min-width:0;height:var(--cell-h);min-height:48px;border:0;padding:12px 2px 6px;border-radius:12px;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;touch-action:none;user-select:none}.cell:hover{background:#ffffff24}.cell.selected{transform:scale(1.035)}.glyph{font-size:29px;line-height:1.1;font-weight:600;color:#3f5046}.item-name{font-size:10px;line-height:1.2;max-width:100%;overflow-wrap:anywhere;font-weight:500}.rear-tag{position:absolute;top:-15px;left:0;font-size:9px;white-space:nowrap;color:#65705e;pointer-events:none}.message{height:48px;font-size:12px;line-height:1.45;text-align:center;color:#54704c;padding:10px 0}.toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 0 0;border-top:1px solid var(--line)}.toolbar button{display:flex;flex-direction:column;gap:7px;align-items:center;border:0;background:#ecefe3;padding:10px 2px;font-size:10px;min-height:67px}.toolbar button>span:first-child{font-size:24px;line-height:1}#save-status{text-align:center;font-size:10px;line-height:1.4;color:#7b8374;margin:14px 0;min-height:15px}.error{color:#9b4132!important}.comfort{background:#fdfdf8;border:1px solid #e5e6dc;border-radius:18px;padding:20px;margin-top:14px}.aside-heading{display:flex;align-items:center;justify-content:space-between}.aside-heading h3{font-size:16px}.comfort #current-mode{white-space:pre-line;font-size:12px}.comfort button.secondary{font-size:12px}.divider{height:1px;background:#e5e7dd;margin:24px 0}#collection-count{font-size:11px;color:var(--muted)}.mini-album{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.mini-item{background:#eef0e8;border-radius:8px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#9ca58e;font-size:11px}.mini-item.unlocked{background:#e6edda;color:#456044;font-size:9px}.weekly-card{border:0;text-align:left;padding:0;background:transparent;width:100%;display:flex;flex-direction:column;gap:10px}.weekly-card strong{font-size:14px;font-weight:500}.weekly-card>span:last-child{font-size:10px;color:var(--muted)}.weekly-card .eyebrow{font-size:8px}footer{max-width:1210px;margin:25px auto;padding:18px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:#7d8376;align-items:center}dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);border:1px solid #d9ddce;border-radius:24px;background:#fafaf3;padding:26px;color:#2e4038;box-shadow:0 24px 100px #1d2c322b}dialog::backdrop{background:#29352c77;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading h2{font-size:26px}.dialog-actions{display:flex;flex-direction:column;gap:10px;margin:22px 0}.dialog-actions button{width:100%}.win-symbol{width:70px;height:70px;background:#dee8cf;border-radius:50%;font-size:40px;display:flex;justify-content:center;align-items:center;margin:22px auto;color:#567847}.reward{text-align:center;background:#e9edde;border-radius:12px;padding:16px;font-size:18px}.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.level-grid button{padding:12px 5px;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:90px}.level-grid strong{font-size:23px}.level-grid span{font-size:10px}.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.album-item{background:#e9ebe2;border-radius:12px;display:flex;flex-direction:column;align-items:center;padding:14px 3px;gap:10px;color:#8a9282}.album-item strong{font-size:25px}.album-item span{font-size:9px}.album-item.unlocked{background:#dfe8d0;color:#42664e}form label{display:flex;flex-direction:column;gap:8px;font-size:13px;margin:16px 0}select{width:100%;min-height:48px;border-radius:10px;background:#fff;border:1px solid var(--line);padding:10px;color:inherit}.check-label{flex-direction:row;align-items:center}.check-label input{width:24px;height:24px;accent-color:var(--accent)}input[type=range]{width:100%;height:30px;accent-color:var(--accent)}form button.primary{width:100%}.preset-row{display:flex;gap:10px}.preset-row button{flex:1}.settings-notice{background:#e9eddf;padding:12px;border-radius:12px;font-size:12px}.control-demo{display:flex;align-items:center;gap:10px;padding:10px;background:#edf0e5;border-radius:12px;font-size:13px}.control-demo span{padding:6px 14px;background:#d7e2c7;border-radius:8px}.demo-moving{animation:demo 2.5s ease-in-out infinite}@keyframes demo{50%{transform:translate(8px)}}@media (max-width:1080px){.layout{grid-template-columns:minmax(340px,540px) 215px;max-width:860px;gap:30px}.intro{display:none}.topbar{padding:20px 28px}}@media (max-width:690px){:root{--cell-h:74px}.layout{display:block;padding:22px 16px 0;max-width:480px}.comfort{display:none}.topbar{padding:16px 20px}.tagline{display:none}.brand{font-size:17px}.brand small{font-size:14px}.brand-mark{width:36px;height:36px;font-size:29px}.topbar>button{font-size:12px;padding:8px;min-height:40px}.level-heading h2{font-size:23px}.mode-chip{margin:10px 0 16px}.instruction{margin:12px 0 14px;font-size:12px}.glyph{font-size:25px}.item-name{font-size:9px}.toolbar{position:sticky;bottom:0;background:#f6f5ef;padding:10px 0 calc(8px + env(safe-area-inset-bottom));z-index:2}.toolbar button{min-height:64px}footer{padding:12px 20px;margin-top:10px;font-size:10px;gap:10px}footer .text-button{font-size:10px}.play-stats{font-size:10px}.message{height:46px}#save-status{margin:5px 0 10px}dialog{padding:20px}.dialog-heading h2{font-size:23px}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-item span{font-size:10px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}:root{--cell-h:96px;background:#f6f2e8;color:#34493d}body{background:radial-gradient(ellipse at 45% 0,#fffdf5 0,transparent 65%),#f6f2e8;min-height:100vh}.topbar{border-bottom-color:#dedbc9}.brand-mark{background:#dfe8cf;border:1px solid #cedbb9;box-shadow:inset 0 1px #fff9}.brand-mark img{width:27px;height:27px}.header-actions{display:flex;align-items:center;gap:10px}.icon-button img{width:23px;height:23px;vertical-align:middle}.icon-button.muted{opacity:.55;position:relative}.icon-button.muted:after{content:"";position:absolute;left:10px;top:22px;right:10px;height:2px;background:#8e5c46;transform:rotate(-38deg)}.intro h1{font-size:35px;line-height:1.24;letter-spacing:-1.2px;color:#3f5b43}.progress-card{background:#e7edda;box-shadow:inset 0 1px #fff8}.comfort{background:#fffdf6;border-color:#e4dfce;box-shadow:0 8px 28px #80683e08}.mode-chip{background:#e7edda;box-shadow:inset 0 1px #fff8;color:#48613e}.level-heading h2{color:#3e5644}.board-surface{margin-top:22px}.cells{isolation:isolate}.cell{justify-content:flex-end;padding-bottom:10px}.cell.selected{transform:none}.art-ready .glyph{visibility:hidden}.item-name{font-size:11px;line-height:1.2;color:#64583f;font-weight:550;min-height:13px}.cell:focus-visible{outline-color:#6d8958;outline-offset:-2px}.cell.selected .item-name{color:#42664e}.rear-tag{top:-17px;padding:2px 7px;background:#f0e4ce;border-radius:8px;color:#89795b;font-size:9px;box-shadow:0 1px 2px #80683e0d}.cell:hover{background:#ffffff0d}.toolbar{border-color:#d9dcca}.toolbar button{background:#e9eddd;box-shadow:inset 0 1px #fff8,0 2px 4px #4f624507;border:1px solid #e0e5d3;border-radius:14px;color:#4c6345}.toolbar button:hover{background:#dde7cc}.toolbar button>span:first-child{height:26px;display:flex;align-items:center}.toolbar img{width:26px;height:26px}.mini-item{min-height:52px;background:#eeefe4}.mini-item.unlocked{background:#f6efdf;box-shadow:inset 0 1px #fff}.mini-item img{width:48px;height:48px;object-fit:contain}.album-item{padding:8px 3px 12px;background:#edece1}.album-item strong{height:70px;min-width:65px;display:flex;align-items:center;justify-content:center}.album-item strong img{width:70px;height:70px}.album-item.unlocked{background:#faf2df;box-shadow:inset 0 1px #fff}.album-item span{font-size:10px}.win-symbol{background:#e3edcf;border:1px solid #d4e1b9;box-shadow:inset 0 2px #fff8,0 8px 16px #53633d0c;color:#64824c}.reward{background:#f1e5c4;color:#795e2e;border:1px solid #e7d7a9}.dialog-heading .icon-button{background:#f2f3e8}.dialog-heading h2{color:#405a43}dialog{background:#fffdf5;border-color:#dedfc9}dialog::backdrop{background:#3c473770;backdrop-filter:blur(5px)}.control-demo{background:#edf0e1}.control-demo span{background:#dfe8cc}.settings-notice{background:#edf0df}.vfx-layer{position:fixed;inset:0;pointer-events:none;z-index:10000;overflow:hidden}.drag-proxy,.flying-item{position:absolute;left:0;top:0;object-fit:contain;pointer-events:none;user-select:none}.drag-proxy{width:80px;height:80px;filter:drop-shadow(0 10px 7px #69573b30);opacity:.96;will-change:transform}.flying-item{width:68px;height:68px;opacity:.9}.vfx-ring{position:absolute;width:54px;height:54px;border-radius:50%;border:2px solid #d8b265;box-shadow:0 0 18px #e9cc8140;transform:translate(-50%,-50%)}.vfx-particle{position:absolute;width:6px;height:10px;border-radius:3px;box-shadow:0 1px 1px #79673714}@media (max-width:690px){:root{--cell-h:88px}.header-actions{gap:4px}.header-actions .icon-button{width:42px;min-height:42px;padding:8px}.topbar{padding:14px 18px}.board-surface{margin-top:21px}.item-name{font-size:10px}.cell{padding-bottom:9px}.toolbar{background:#f6f2e8}.message{font-size:11px;height:50px}.brand-mark img{width:25px;height:25px}.album-item strong img{width:72px;height:72px}}@media (prefers-reduced-motion:reduce){.drag-proxy,.flying-item,.vfx-particle{display:none}.control-demo .demo-moving{animation:none}}[hidden]{display:none!important}.boot-status{margin:20vh auto;text-align:center;font-size:20px}.cells{row-gap:var(--row-gap,24px)}.capacity-hole{visibility:hidden;pointer-events:none}.cell.allowed-target{box-shadow:inset 0 0 0 2px #89a57585;background:#e6efc826}.cell.allowed-target:after{content:"";position:absolute;right:7px;top:8px;width:7px;height:7px;border-radius:50%;background:#7d9c5f}.cell.selected{box-shadow:inset 0 0 0 3px #42664e}.cell:not(.selected).allowed-target:hover{background:#dce9bf55}.rear-tag{z-index:1;top:-14px}.item-name{position:relative;z-index:2;text-shadow:0 1px #fff9}.lesson-card{background:#edf2e1;border:1px solid #dbe5c7;padding:16px;border-radius:16px;margin:18px 0}.lesson-card h3{margin:0 0 8px}.lesson-card p{margin:0 0 12px}.lesson-card>div{display:flex;gap:8px;flex-wrap:wrap}.lesson-card button{flex:1;min-width:100px;background:#fffdf5;font-size:12px;padding:8px}fieldset{margin:16px 0;border:1px solid #e0e2d3;border-radius:16px;padding:4px 16px 12px;min-width:0}legend{padding:0 8px;font-weight:650;font-size:15px;color:#42664e}fieldset label{margin:12px 0}.control-demo{padding:4px 12px;justify-content:center;min-height:82px;overflow:hidden}.control-demo img{width:64px;height:64px;object-fit:contain}.control-demo span{padding:0;background:transparent}.demo-arrow{font-size:24px}.demo-empty{width:46px;height:46px;border:2px dashed #c0cbb1;border-radius:10px}.control-demo[data-control$=swap] .demo-empty{display:none}.control-demo[data-control$=empty]>img:not(.demo-moving){opacity:.25}.control-demo[data-control^=tap] .demo-moving{animation:tap-demo 2.5s ease-in-out infinite}.control-demo[data-control^=drag] .demo-moving{animation:drag-demo 2.5s ease-in-out infinite}.demo-caption{margin:5px 0;text-align:center}.triple-pop{position:absolute;object-fit:contain;pointer-events:none;transform-origin:center}@keyframes drag-demo{0%,20%,to{transform:translate(0) scale(1)}40%,60%{transform:translate(22px,-8px) scale(1.07)}}@keyframes tap-demo{0%,25%,to{transform:translateY(0) scale(1)}35%,65%{transform:translateY(-5px) scale(1.07)}}@media (max-width:690px){.layout{padding-top:16px}.play-stats{font-size:10px}.instruction{line-height:1.45;min-height:18px}.rear-tag{font-size:8px;top:-13px}.item-name{font-size:9px;padding:0 1px}.toolbar{padding-bottom:8px}.message{height:42px}.preset-row{flex-wrap:wrap}.preset-row button{min-width:80px}}@media (prefers-reduced-motion:reduce){.triple-pop{display:none}.control-demo .demo-moving{animation:none!important}}body[data-theme=clothes]{background:radial-gradient(ellipse at 45% 0,#f7fbf8 0,transparent 65%),#edf1eb}.achievement{padding:10px 14px;border:1px solid #ddc88c;border-radius:12px;color:#7e672f;background:#faf2d9;text-align:center}.cell.allowed-target:hover:after{animation:target-breathe 1.1s ease-in-out infinite}@keyframes target-breathe{50%{transform:scale(1.25);opacity:.6}}#canvas{overflow:visible!important}@media (max-width:690px){.toolbar{position:relative;bottom:auto}.compact-board .topbar{padding:8px 18px}.compact-board .layout{padding-top:10px}.compact-board .level-heading h2{font-size:20px;margin:4px 0}.compact-board .mode-chip{min-height:28px;margin:6px 0 10px;padding:4px 12px}.compact-board .instruction{font-size:11px;margin:8px 0;min-height:0}.compact-board .board-surface{margin-top:16px}}:root{--accent:#397954;--line:#dedcc9}.topbar{padding-top:20px;padding-bottom:20px;background:#fffdf539}.layout{padding-top:30px;gap:32px;grid-template-columns:205px minmax(340px,540px) 205px}.level-heading h2{font-weight:700;letter-spacing:-.7px;color:#254b3d}.mode-chip{background:#ede3c7;color:#355448;font-weight:600}.instruction{color:#3c5547}.cell .item-name{color:#fff9eb;text-shadow:0 1px 2px #49301dc9;font-weight:600}.rear-tag{background:#f6ead6eb;color:#77552e;box-shadow:0 1px 3px #60441f26}.toolbar button{border:1px solid #dddbcb;box-shadow:inset 0 2px 1px #fff9,0 3px #b8bda926;min-height:70px;font-weight:650;color:#2d5140}.toolbar [data-action=undo]{background:#f2d9ce}.toolbar [data-action=hint]{background:#f5e7bb}.toolbar [data-action=tools]{background:#dce9d6}.toolbar [data-action=settings]{background:#e5e6da}.comfort,.progress-card{border-radius:22px}.progress-card{background:#f1e8d1}.comfort{background:#fffdf5e8}button.primary{background:linear-gradient(#57956b,#347650);border:1px solid #3b7652;box-shadow:inset 0 2px #ffffff3b,0 3px #295b3c26}.win-symbol,.quiet-seal{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 25%,#fff2a4,#f3bd3f 60%,#d49a23);border:3px solid #ecc25c;box-shadow:inset 0 0 0 3px #fff1b7,0 8px 24px #d1aa4a26;color:#986a17;font-size:36px}.win-symbol{width:84px;height:84px}.quiet-seal{width:70px;height:70px;border-radius:50%;margin:16px auto}.quiet-purchase{text-align:center}.quiet-purchase>.primary{width:100%}.purchase-price{font-size:24px;font-weight:700;color:#355d40}@media (max-width:1080px){.layout{grid-template-columns:minmax(340px,540px) 205px;gap:24px}}@media (max-width:690px){.layout{display:block;padding-top:16px}.topbar{padding-top:12px;padding-bottom:12px}.toolbar button{min-height:64px}.cell .item-name{font-size:9px}.level-heading h2{font-size:23px}}.cells.short-shelves{grid-template-columns:repeat(3,minmax(0,1fr)) 14px repeat(3,minmax(0,1fr));column-gap:4px}.shelf-trial .cell .item-name{font-size:9px}.shelf-trial .rear-tag{font-size:8px;padding:2px 3px}.currency-icon{width:25px;height:25px;object-fit:contain;vertical-align:middle}.cells.short-shelves{padding-bottom:calc(8px + var(--stagger-y,0px))}.shelf-trial .board-surface{border-radius:16px;background:repeating-linear-gradient(90deg,#fff0 0px 37px,#bf813b12 39px,#fff2,#fff0 45px),linear-gradient(90deg,#f1cd91,#e3b36b 55%,#f0cb8b);box-shadow:inset 0 1px 8px #94643214}.shelf-trial .cell .item-name{color:#61431f;text-shadow:0 1px #fff8}@font-face{font-family:Game;src:url(../assets/fonts/balsamiq-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Game;src:url(../assets/fonts/balsamiq-bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{font-family:Game,Trebuchet MS,sans-serif;background:#faefd9;color:#583a23;--accent:#387b4c;--line:#d5b985}body,body[data-theme=clothes]{background:radial-gradient(ellipse at 50% 10%,#fffdf3 0,#fff3d7 45%,#ecd5ab);min-height:100dvh}button,select,input{font-family:inherit}button{font-weight:700}.sr-only,.item-name,.rear-tag{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;min-height:0!important}.topbar{position:relative;max-width:690px;padding:20px 14px 8px!important;min-height:90px;border:0;gap:12px;justify-content:space-between}.header-actions{gap:8px}.topbar .icon-button,.game-menu{width:54px;height:54px;min-height:54px;flex-shrink:0;border-radius:18px;background:linear-gradient(#fffdf4,#f4dca8);border:2px solid #cf9c56;box-shadow:inset 0 2px #fff,0 4px #a8793b,0 6px 9px #744c2520;color:#754d26}.game-menu{padding:4px;font-size:30px;line-height:1}.topbar .icon-button img{width:29px;height:29px}.topbar .icon-button:hover,.game-menu:hover{background:linear-gradient(#fffef9,#ffe9ae)}.level-badge{position:absolute;left:50%;transform:translate(-50%);text-align:center;min-width:125px;padding:9px 15px 8px;border-radius:22px;background:linear-gradient(#ffeb90,#f6c34c);border:2px solid #c9942d;box-shadow:inset 0 2px #fff7c8,0 4px #be862a,0 6px 12px #82501a22;color:#724716;font-size:27px;text-shadow:0 2px #ffeab0}.layout{display:block!important;width:100%;max-width:690px!important;padding:6px 14px 24px!important;margin:0 auto;min-width:0}.game-column{width:100%;min-width:0}.play-stats{margin:12px 7px 0;font-size:20px;color:#937344;justify-content:center;gap:38px;min-height:30px}.play-stats>span{display:flex;align-items:center;gap:7px}.play-stats>span:before{display:inline-block;width:21px;height:22px;content:"";background:var(--stat-icon) center/contain no-repeat;opacity:.8}#goal{--stat-icon:url(../assets/ui/shelf.svg)}#moves{--stat-icon:url(../assets/ui/undo.svg)}#timer{color:#937344}.board-surface,.shelf-trial .board-surface{margin-top:20px!important;background:transparent;box-shadow:none;border-radius:0}.cell{padding:0;overflow:visible}.cell:hover{background:#fff5}.cell.selected{box-shadow:inset 0 0 0 3px #3b9b59,0 0 12px #52bb5140}.cell.allowed-target{box-shadow:inset 0 0 0 2px #ffce47;background:#fff2}.cell.allowed-target:after{background:#ffc53e}.toolbar{display:flex;justify-content:center;gap:22px;border:0;background:transparent!important;position:relative!important;padding:24px 0 12px!important;z-index:2}.toolbar button{position:relative;flex:0 1 78px;width:78px;height:72px;min-height:72px!important;border-radius:22px;padding:10px!important;justify-content:center;gap:0;box-shadow:inset 0 2px #fff9,0 5px #ad7a3b,0 8px 12px #69462225!important;border:2px solid #c79753!important;background:linear-gradient(#fff2bf,#e6bb75)!important}.toolbar [data-action=undo]{background:linear-gradient(#ffddd1,#e8a28c)!important;border-color:#c78d71!important;box-shadow:inset 0 2px #fff9,0 5px #b5795c,0 8px 12px #69462225!important}.toolbar [data-action=hint]{background:linear-gradient(#fff1a1,#f9cc53)!important}.toolbar [data-action=tools]{background:linear-gradient(#dceec3,#a6c27f)!important;border-color:#8aa36a!important;box-shadow:inset 0 2px #fff9,0 5px #738d54,0 8px 12px #69462225!important}.toolbar [data-action=settings]{background:linear-gradient(#e1e9df,#b9c6af)!important;border-color:#8c9b84!important;box-shadow:inset 0 2px #fff9,0 5px #78866f,0 8px 12px #69462225!important}.toolbar button>span:first-child{height:44px}.toolbar img{height:43px;width:43px;filter:drop-shadow(0 2px 0 #fff8)}.toolbar .tool-count{position:absolute;right:-5px;top:-9px;background:#f6c750;color:#684819;border:2px solid #fff3b7;border-radius:50%;width:25px;height:25px;line-height:21px;font-size:17px;box-shadow:0 2px 3px #7c542a33}.toolbar button:disabled{opacity:.48;filter:saturate(.6)}.icon-button.muted:after{top:25px}.save-alert{position:relative!important;clip:auto!important;width:auto!important;height:auto!important;white-space:normal!important;margin:12px!important;padding:10px!important;background:#ffe8ce;border-radius:10px}dialog{font-family:Game,Trebuchet MS,sans-serif;background:linear-gradient(#fffaf0,#fff1d5);border:3px solid #d2aa67;box-shadow:inset 0 2px #fff,0 12px #a8783a44,0 25px 100px #38261555;border-radius:28px;color:#68482c;padding:22px}dialog p{color:#896a44;line-height:1.45}dialog h2{color:#674327;letter-spacing:0;font-size:29px}dialog::backdrop{background:#3f2b185e;backdrop-filter:blur(6px)}dialog button{border:2px solid #d8bd8a;background:linear-gradient(#fffef8,#f3e3c0);box-shadow:inset 0 2px #fff,0 3px #bd9a60;border-radius:16px;color:#735331;font-size:18px}dialog button.primary{background:linear-gradient(#79b778,#3e874d);border-color:#3c7845;box-shadow:inset 0 2px #b7e5a6,0 4px #2e653a;color:#fff;text-shadow:0 2px #356d3e;font-size:22px}dialog .dialog-actions{gap:14px}dialog .dialog-heading .icon-button{border-radius:50%;background:#eddfbb}.level-grid button{font-size:24px}.album-item.unlocked{background:#f3dfb8;border:1px solid #dfc38f}.album-item strong img{width:80px;height:80px}@media (max-width:690px){.topbar{max-width:480px;min-height:80px;padding:12px 14px 8px!important}.topbar .icon-button,.game-menu{width:46px;height:46px;min-height:46px;border-radius:16px}.header-actions{gap:7px}.level-badge{font-size:24px;min-width:105px;padding:7px 10px}.layout{max-width:480px!important;padding:4px 14px 12px!important}.play-stats{font-size:17px;margin-top:8px;min-height:24px;gap:28px}.board-surface,.shelf-trial .board-surface{margin-top:16px!important}.toolbar{gap:18px;padding-top:22px!important}.toolbar button{flex-basis:66px;width:66px;height:64px;min-height:64px!important;border-radius:19px}.toolbar img{width:39px;height:39px}dialog{padding:18px}.dialog-heading h2{font-size:25px}}.win-symbol{background:none;border:0;box-shadow:none;width:140px;height:120px;margin:16px auto}.win-symbol img{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 8px 6px #79572e33)}.reward{background:none;border:0;font-size:32px;padding:8px;color:#835520;display:flex;align-items:center;justify-content:center;gap:10px}.reward img{width:44px;height:44px;object-fit:contain}.play-stats #goal{--stat-icon:url(../assets/ui/shelf-v2.png)}.play-stats #moves{--stat-icon:url(../assets/ui/undo-v2.png)}.win-links{display:flex;align-items:center;gap:12px}.win-links button{flex:1}.action-icon{width:32px;height:32px;vertical-align:middle}.lock-badge{position:absolute;z-index:5;left:80%;top:20%;display:flex;align-items:end;gap:2px;pointer-events:none;filter:drop-shadow(0 3px 3px #67401660)}.lock-badge img{width:36px;height:41px}.lock-badge b{font-size:17px;color:#70471f;background:#ffe29a;border:2px solid #fff2bc;border-radius:50%;width:24px;height:24px;line-height:20px;margin-left:-10px;margin-bottom:-3px}.tutorial-cue{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6;filter:drop-shadow(0 2px 2px #74401388)}.tutorial-cue>path{animation:cue-dash 1.2s linear infinite}@keyframes cue-dash{to{stroke-dashoffset:-30}}@media (prefers-reduced-motion:reduce){.tutorial-cue>path{animation:none}}.game-column{position:relative}.feedback{position:absolute;left:50%;transform:translate(-50%);bottom:105px;z-index:20;width:max-content;max-width:90%;text-align:center;padding:10px 16px;border:2px solid #dab05f;border-radius:18px;background:#fff3ce;box-shadow:0 4px 12px #704a2930;color:#75502b;font-size:17px;pointer-events:none}dialog .feedback{position:sticky;left:auto;bottom:0;transform:none;margin:12px auto 0}.unlock-pop{position:absolute;width:36px;height:41px;pointer-events:none;filter:drop-shadow(0 3px 3px #67401660)}.soft-showcase{--accent:#4e8357}.soft-showcase .toolbar button,.soft-showcase .topbar button{box-shadow:inset 0 2px #fff9,0 4px #b7946440,0 7px 14px #79572c16!important}.soft-showcase .toolbar img,.soft-showcase .topbar img{filter:saturate(.82) contrast(.93) drop-shadow(0 2px 1px #79572c20)}.soft-showcase .board-surface{filter:drop-shadow(0 5px 5px #855d2a10)}.shelf-trial .lock-badge{left:50%;transform:translate(-50%)}#moves[hidden],#mode-chip[hidden]{display:none!important}.extra-settings{margin:16px 0 20px;padding:12px 14px;border:1px solid #ddc89f;border-radius:14px;background:#fff7e5}.extra-settings summary{cursor:pointer;min-height:32px;display:list-item;padding:4px 0;font-size:17px}.extra-settings .preset-row{margin-top:14px}.extra-settings label{margin:16px 0 4px}dialog fieldset{margin:12px 0;padding-bottom:8px}dialog legend{color:#70542f}dialog .settings-notice{font-size:13px;margin:8px 0 12px;padding:10px}dialog .demo-caption{margin:5px 0;font-size:12px}.extra-settings .preset-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.extra-settings .preset-row button{font-size:15px;min-width:0;padding:8px 3px}@media (max-width:360px){.extra-settings .preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{font-weight:400;font-synthesis:none}h1,h2,h3,legend,.level-badge,.play-stats,.reward,.tool-count{font-weight:700}dialog button,dialog select{font-weight:700}dialog p,dialog .small{font-weight:400;font-size:14px;line-height:1.45}dialog .settings-notice,dialog .demo-caption{font-size:14px}.album-item span{font-size:13px;line-height:1.25;font-weight:400;overflow-wrap:anywhere}.extra-settings summary{font-weight:700;min-height:44px}.extra-settings .check-label{min-height:44px}.level-grid span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.level-grid button{min-height:64px;gap:0}.level-grid strong{font-weight:700}.cell.selected{box-shadow:none;background:radial-gradient(ellipse at 50% 90%,#a5d38d55,transparent 60%)}.cell.allowed-target{box-shadow:none;background:radial-gradient(ellipse at 50% 90%,#f6d77d48,transparent 60%)}.cell.allowed-target:after{inset:auto 32% 2px;width:auto;height:4px;border-radius:50%;background:#9cb87690}.cell:not(.selected).allowed-target:hover{background:#f6d77d38}.remove-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.remove-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:106px;padding:7px 3px;font-size:13px}.remove-choice img{width:64px;height:64px;object-fit:contain}.dialog-actions .action-icon{width:36px;height:36px;object-fit:contain;vertical-align:middle;margin-right:8px}.win-links .action-icon{width:28px;height:28px;margin-right:0}.lock-badge img,.unlock-pop{object-fit:contain}.level-grid button{position:relative}.level-grid button.completed{background:linear-gradient(#e9f2d4,#cfdfa9);border-color:#a7bd7c}.level-grid button.current{border-color:#d39b36;background:linear-gradient(#ffefb2,#f8d374);box-shadow:inset 0 2px #fff6cd,0 3px #b98a35}.game-menu{display:flex;align-items:center;justify-content:center;padding:8px!important}.game-menu img{width:28px;height:28px;object-fit:contain}.play-stats #goal{--stat-icon:url(../assets/ui/inventory-soft.png)}.play-stats #goal:before{width:27px;height:27px;opacity:1}.win-links [data-action=menu] img{width:28px;height:28px;object-fit:contain}.album-item strong{display:flex;align-items:center;justify-content:center;min-height:80px}.album-item strong img{width:80px;height:80px;object-fit:contain}.album-item:not(.unlocked) strong img{filter:brightness(0);opacity:.2}.album-item:not(.unlocked){background:#eeeadc}@media (max-width:360px){.level-badge{left:calc(50% - 20px);min-width:94px;font-size:22px;padding:7px 8px}}dialog.settings-dialog{overflow:hidden}.settings-dialog #modal-content{display:flex;flex-direction:column;height:min(1000px,calc(100dvh - 90px));min-height:0}.settings-dialog .dialog-heading,.settings-dialog .settings-notice{flex-shrink:0}.settings-dialog #settings-form{display:flex;flex-direction:column;min-height:0;flex:1}.settings-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8af78 transparent;padding-right:6px;min-height:0;flex:1}.settings-body::-webkit-scrollbar{width:6px}.settings-body::-webkit-scrollbar-thumb{background:#c8af78;border-radius:6px}.settings-body::-webkit-scrollbar-track{background:transparent}.settings-footer{flex-shrink:0;padding:12px 0 4px;background:#fff4dc}.settings-footer button{width:100%}.control-demo{gap:18px}.control-demo img,.control-demo .demo-arrow{flex-shrink:0}.control-demo .demo-arrow{width:24px;text-align:center}.quiet-seal img{width:70px;height:70px;object-fit:contain}.cell:not(.selected):not(.allowed-target):hover{background:transparent}#app{min-height:100dvh}.topbar{width:100%;max-width:1180px}.layout{max-width:1180px!important;padding:0 24px 12px!important}.play-stats{margin-top:6px}.board-surface,.shelf-trial .board-surface{margin-top:12px!important}.toolbar{padding:18px 0 10px!important}.win-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px}.win-links button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;height:78px;padding:8px 3px;font-size:16px;white-space:nowrap}.win-links .action-icon,.win-links [data-action=menu] img{display:block;width:28px;height:28px;margin:0}.game-home{display:flex;flex-direction:column;gap:14px}.menu-primary>button{width:100%}.menu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-modes button{min-height:66px;padding:10px 6px;font-size:18px}.menu-utilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:8px;border-top:1px solid #dfcda6}.menu-utilities button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:74px;padding:8px 4px;font-size:15px}.menu-utilities .action-icon{width:28px;height:28px;margin:0}.game-home .small{margin:2px 0;font-size:13px}dialog.settings-dialog{width:min(520px,calc(100% - 24px));padding:18px}.settings-dialog #modal-content{height:min(590px,calc(100dvh - 96px))}.settings-dialog .dialog-heading{margin-bottom:8px}.settings-dialog .dialog-heading h2{font-size:25px}.settings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-shrink:0;margin-bottom:12px}.settings-tab{min-height:44px;padding:7px;font-size:18px}.settings-tab[aria-selected=true]{background:#dce9c5;border-color:#8aa35c;box-shadow:inset 0 2px #fff,0 3px #799755;color:#3f6037}.settings-body{padding:2px 3px 6px 0}.settings-body [role=tabpanel]{display:flex;flex-direction:column;gap:9px}.settings-body [hidden]{display:none!important}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-body label{display:flex;flex-direction:column;gap:3px;margin:0;font-size:14px;line-height:20px}.settings-body select{width:100%;height:44px;min-height:44px;margin:0;padding:8px 10px;font-size:15px;border:1px solid #c9ad76;border-radius:12px;background:#fffdf7}.settings-body input[type=range]{width:100%;min-height:42px;margin:0}.settings-body .check-label{flex-direction:row;align-items:center;gap:10px;min-height:44px}.settings-body .control-demo{height:46px;min-height:46px;margin:0;padding:0 12px;background:transparent}.settings-body .control-demo img{width:44px;height:44px}.settings-body .demo-empty{width:36px;height:36px}.settings-body .extra-settings{margin:0;padding:0 10px;border:0;background:#f0ead6}.settings-body .extra-settings summary{min-height:44px;padding:8px 0;font-size:15px;line-height:24px}.settings-body .preset-row{margin:4px 0 10px}.settings-footer{padding:8px 0 2px;background:transparent}.settings-dialog .settings-notice{margin:0 0 8px;padding:0;background:transparent;font-size:13px;line-height:18px}.settings-footer button{min-height:48px;font-size:21px}.settings-body #sound-panel{gap:22px;padding-top:14px}@media (max-width:690px){.topbar{max-width:480px}.layout{max-width:480px!important;padding:0 12px 10px!important}.play-stats{margin-top:4px}.toolbar{padding:16px 0 8px!important}.board-surface,.shelf-trial .board-surface{margin-top:10px!important}.win-links button{font-size:15px;height:76px}.menu-modes button{font-size:17px;min-height:60px}.menu-utilities button{font-size:14px}dialog.settings-dialog{padding:16px}}.icon-button.no-ads-button{width:auto;min-width:0;border-radius:999px;padding:0 14px;font:700 15px Game,Trebuchet MS,sans-serif;color:#68482c;white-space:nowrap}@media (max-width:480px){.topbar{position:relative}.icon-button.no-ads-button{position:absolute;right:12px;top:calc(100% + 4px);height:30px;min-height:0;padding:0 10px;font-size:12px;z-index:2}}.ranked-top h3{margin:10px 0 6px;font-size:18px;color:#674327}.ranked-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}.ranked-list li{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:6px 10px;border-radius:12px;background:#fff7e6;color:#68482c}.ranked-list li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.ranked-list li span:first-child{font-weight:700;color:#a8783a;text-align:center}.ranked-list li.me{background:#e2f2dc;outline:2px solid #6aa86f}@media (orientation: landscape) and (max-height: 520px){body .topbar{min-height:0;padding-top:4px;padding-bottom:2px}body .topbar .icon-button,body .topbar .game-menu{width:40px;height:40px;min-height:40px}body .level-badge{transform:scale(.82);transform-origin:center top}body .game-column{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;grid-template-areas:"board stats" "board tools";column-gap:10px;align-items:start}body .game-column>.play-stats{grid-area:stats;margin:0;justify-content:center;flex-direction:column;gap:2px;font-size:15px}body .game-column>.board-surface{grid-area:board}body .game-column>.toolbar{grid-area:tools;display:flex;flex-direction:column;gap:8px;align-self:center;position:static;margin:0;padding:6px;width:auto}body .game-column>.toolbar button{width:46px!important;height:46px!important;min-height:0!important;min-width:0!important;padding:0!important}body .game-column>.toolbar button img{width:30px;height:30px}body .game-column>.toolbar button{flex:0 0 auto!important;border-radius:15px}body .game-column>.toolbar button>span:first-child{height:30px}body .game-column>.toolbar .tool-count{width:20px;height:20px;line-height:16px;font-size:13px;top:-7px;right:-6px}body .icon-button.no-ads-button{position:static;height:40px;padding:0 10px;font-size:12px}}@media (orientation: landscape) and (max-height: 340px){body .game-column>.toolbar{gap:5px;padding:4px}body .game-column>.toolbar button{width:40px!important;height:40px!important}body .game-column>.toolbar button img{width:26px;height:26px}}dialog p{color:#6f5233}dialog .small,dialog .settings-notice{color:#7a5a37}.play-stats{color:#5e4127;text-shadow:0 1px 0 #fff9}.vfx-glow{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#fff6cfcc,#ffe39a66 55%,transparent);mix-blend-mode:screen}.vfx-sparkle{position:absolute;pointer-events:none;color:#f3c24f;font-size:22px;text-shadow:0 0 6px #fff3c0,0 2px 0 #b9842f66}.icon-button.no-ads-button{display:inline-flex;align-items:center;gap:5px}.icon-button.no-ads-button img{width:26px;height:26px}@media (max-width:480px){.icon-button.no-ads-button img{width:20px;height:20px}}@media (max-width:480px){dialog .menu-modes button{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:4px;line-height:1.15}dialog .menu-modes .action-icon{margin:0!important}}#moves.low{color:#c2452d;animation:moves-pulse 1s ease-in-out infinite}@keyframes moves-pulse{50%{transform:scale(1.08)}}@media (prefers-reduced-motion: reduce){#moves.low{animation:none}}.pause-home{display:grid;gap:14px}.pause-home .menu-utilities{margin-top:0}
