.garden-memory{background:#0e2834!important;display:flex;flex-direction:column;height:100dvh;overflow:hidden;padding:10px;gap:8px;box-sizing:border-box}
.garden-memory .garden-scene{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:24px;isolation:isolate;background:#103d46 url('assets/memory-garden/night-garden-v187.webp') center/cover;display:flex;flex-direction:column;padding:12px 3% 14px;box-sizing:border-box;color:#fff9da}
.garden-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(#0b263b55,#123a4744 50%,#07272a99);pointer-events:none}
.garden-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:0 8px 10px;text-shadow:0 2px 6px #061d2c}
.garden-heading strong{font-size:clamp(18px,2vw,28px);display:block;color:#fff3b6}
.garden-heading span{display:block;font-size:clamp(12px,1.2vw,17px)}
.garden-path{display:flex;gap:8px;align-items:center}
.garden-path span{display:grid;place-items:center;border:2px solid #8bcbb2;border-radius:50%;background:#183d47;width:30px;height:30px;font-size:16px;color:#fff;box-shadow:0 3px 7px #0018}
.garden-path .current{background:#fff0a7;color:#254b3b;border-color:#fff9d1;box-shadow:0 0 15px #ffd87266}
.garden-path .grown{background:#438c68;color:#fff4aa}
.garden-board{display:grid;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(8px,1.4vw,20px);flex:1;min-height:0;width:min(1120px,100%);margin:0 auto;position:relative}
.garden-tile{position:relative;border:2px solid #8edabb;border-radius:28px 10px 28px 10px;min-width:0;min-height:0;overflow:hidden;padding:0;background:linear-gradient(135deg,#25675f,#123d48);box-shadow:inset 0 0 25px #63dcb21c,0 6px 0 #082e33,0 10px 18px #041b2d66;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;touch-action:manipulation}
.garden-tile:disabled{opacity:1;cursor:default}
.garden-tile:not(:disabled):hover{border-color:#ffed9e;box-shadow:0 0 18px #b8fbd477}
.garden-tile:focus-visible,.garden-memory button:focus-visible{outline:4px solid #ffe792;outline-offset:3px}
.garden-back{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .25s,scale .25s}
.garden-bud{height:82%;width:82%;max-width:190px;filter:drop-shadow(0 0 9px #a3ffbe55)}
.garden-back>span{position:absolute;bottom:6px;right:12px;color:#d9f7e3;font-size:15px;font-weight:700}
.garden-front{position:absolute;inset:5px;display:flex;flex-direction:column;background:#fffcf2;border-radius:22px 6px 22px 6px;padding:7px;box-sizing:border-box;opacity:0;transform:scale(.94);transition:opacity .22s,transform .22s}
.garden-picture{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.garden-picture img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;padding:0!important;transform:none!important}
.garden-word{color:#203d4a;font-weight:800;font-size:clamp(12px,1.4vw,20px);line-height:1.15;flex:none;padding:5px 0 1px;text-align:center;overflow-wrap:normal;word-break:normal;hyphens:none}
.garden-word .article-het{color:#d6281e}
.garden-tile.revealed .garden-front{opacity:1;transform:none}
.garden-tile.revealed .garden-back{opacity:0;scale:.75}
.garden-tile.matched{border-color:#ffe194;box-shadow:0 0 16px #ffe18c66,0 5px 0 #387758}
.garden-match-mark{position:absolute;top:7px;right:7px;display:grid;place-items:center;border-radius:50%;width:25px;height:25px;background:#2f8a62;color:white;font-size:18px}
.garden-bed{height:45px;flex:none;display:flex;align-items:center;justify-content:center;gap:2px;padding-top:8px}
.garden-bed>span{width:clamp(20px,3vw,40px);height:40px;animation:garden-grow .55s both}
.garden-flower{width:100%;height:100%;filter:drop-shadow(0 2px 3px #143e3255)}
.garden-next{position:absolute;left:50%;bottom:12px;translate:-50% 0;display:flex;align-items:center;gap:14px;padding:8px 16px;border-radius:40px;background:#143c36;border:1px solid #97d9ad;box-shadow:0 3px 14px #0018;white-space:nowrap}
.garden-next button,.garden-final-actions button{border:2px solid #bedba4;border-radius:30px 6px 30px 6px;background:linear-gradient(135deg,#417d49,#245638);color:#fff9de;font:inherit;font-weight:800;padding:12px 22px;cursor:pointer;box-shadow:0 4px 0 #153e2c}
.garden-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.garden-finale{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
.garden-bouquet{position:relative;z-index:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-content:center;max-width:1080px;width:100%;margin:auto;flex:1;min-height:0}
.garden-word-flower{position:relative;aspect-ratio:1;border:0;background:none;padding:0;cursor:pointer;max-height:30vh;animation:garden-grow .9s var(--delay) both;touch-action:manipulation}
.garden-word-flower>span{position:absolute;inset:26%;border-radius:50%;background:#fffefa;overflow:hidden;display:grid;place-items:center;box-shadow:0 0 10px #fff6}
.garden-word-flower img{width:95%;height:95%;object-fit:contain}
.garden-word-flower.singing{animation:garden-sing .7s ease}
.garden-final-actions{display:flex;justify-content:center;gap:25px;padding:12px;z-index:2}
.garden-final-actions button{font-size:clamp(16px,1.6vw,24px);min-width:160px}
.garden-final-actions button:last-child{background:linear-gradient(135deg,#655c95,#403b69)}
.garden-final-actions button span{padding-right:10px}
.garden-fireflies{position:absolute;inset:0;pointer-events:none}
.garden-fireflies i{position:absolute;left:var(--x);top:var(--y);width:6px;height:6px;border-radius:50%;background:#fff6a0;box-shadow:0 0 14px 5px #f8df8666;animation:garden-firefly var(--d) var(--delay) ease-in-out infinite alternate}
@keyframes garden-firefly{from{translate:-12px 20px;opacity:.25}to{translate:16px -20px;opacity:1}}
@keyframes garden-grow{from{scale:.15;opacity:0;rotate:-15deg}to{scale:1;opacity:1;rotate:0deg}}
@keyframes garden-sing{50%{scale:1.12;rotate:6deg}}
@media(orientation:portrait){.garden-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:9px}.garden-bud{max-width:110px}.garden-memory .garden-scene{padding:10px 3%}.garden-bouquet{grid-template-columns:repeat(4,minmax(0,1fr))}.garden-word-flower{max-height:18vh}.garden-heading strong{font-size:19px}.garden-path{gap:4px}.garden-path span{width:23px;height:23px;font-size:12px}.garden-next>span{display:none}.garden-word{font-size:14px}.garden-bed{height:32px}.garden-bed>span{height:30px}.garden-heading{gap:6px}}
@media(max-height:620px) and (orientation:landscape){.garden-heading{padding-bottom:5px}.garden-heading strong{font-size:18px}.garden-heading span{font-size:12px}.garden-bed{height:30px}.garden-bed>span{height:28px}.garden-front{padding:3px}.garden-word{font-size:12px}.garden-final-actions{padding:4px}}
@media(prefers-reduced-motion:reduce){.garden-memory *, .garden-memory *:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

.garden-word-flower:before{content:"";position:absolute;z-index:-1;left:49%;top:68%;width:4px;height:46%;border-radius:8px;background:linear-gradient(#a6d98c,#3d7953);transform:rotate(-4deg);transform-origin:top}
.garden-word-flower:after{content:"";position:absolute;z-index:-1;left:51%;top:87%;width:23%;height:10%;border-radius:100% 0 100% 0;background:linear-gradient(140deg,#b1df8c,#438b63);transform:rotate(-20deg)}
.garden-word-flower .garden-flower{filter:drop-shadow(0 3px 3px #153e4a88) drop-shadow(0 0 12px #fffa9a33)}
.garden-word-flower>span{inset:23%}

/* Persistent board and natural border flowers, v188. */
.garden-board-wrap{position:relative;flex:1;min-height:0;padding:0 clamp(48px,6vw,96px) 8px;display:flex}
.garden-board{grid-template-columns:repeat(var(--columns),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:clamp(7px,1vw,14px);width:100%;max-width:1250px}
.garden-border{position:absolute;inset:0;pointer-events:none}
.garden-plant{position:absolute;top:var(--plant-y);width:clamp(65px,8vw,130px);height:clamp(85px,13vh,145px);translate:0 -50%}
.garden-plant.left{left:-14px}.garden-plant.right{right:-14px}
.garden-plant img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity 1.1s ease,transform 1.4s ease;pointer-events:none}
.garden-plant .plant-open{opacity:0;transform:scale(.65);transform-origin:50% 80%}
.garden-plant.bloomed .plant-closed{opacity:0}
.garden-plant.bloomed .plant-open{opacity:1;transform:scale(1);filter:drop-shadow(0 0 12px #ffe29a66)}
.garden-bud{max-width:100px}.garden-word{font-size:clamp(12px,1.1vw,17px)}
@media(orientation:portrait){.garden-board{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.garden-board-wrap{padding-inline:38px}.garden-plant{width:65px;height:100px}.garden-plant.left{left:-20px}.garden-plant.right{right:-20px}.garden-front{inset:3px;padding:3px}.garden-word{font-size:12px}.garden-bud{max-width:90px}}
@media(prefers-reduced-motion:reduce){.garden-plant img{transition:none}}
