:root{font-family:'Trebuchet MS',Arial,sans-serif;color:#f9eddf;background:#171b38;font-synthesis:none;--gold:#f1cf91;--lilac:#c7b5fb;--muted:#a5abc9;--line:#ffffff13}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:3px solid #f9d68e;outline-offset:4px}button:active:not(:disabled){filter:brightness(1.1)}.game{height:100svh;min-height:340px;max-width:1920px;margin:auto;position:relative;overflow:hidden;padding:max(0px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 38%,#3b3c65 0,#222744 48%,#171c37 85%)}.sky{position:absolute;inset:0;pointer-events:none;overflow:hidden;background-image:radial-gradient(circle at 16% 26%,#f8dcaab0 0 1px,transparent 2px),radial-gradient(circle at 74% 70%,#a9c7ed80 0 1px,transparent 2px),radial-gradient(circle at 81% 24%,#f8dcaab0 0 1px,transparent 2px);background-size:211px 173px,247px 221px,367px 327px}.moon{position:absolute;right:12%;top:17%;width:75px;height:75px;border-radius:50%;background:#f5d9a0;box-shadow:0 0 65px #f1cf9120;opacity:.15}.moon:after{content:'';position:absolute;left:-12px;top:-9px;width:73px;height:73px;background:#232944;border-radius:50%}.orbit{position:absolute;width:650px;height:650px;border:1px solid #d6b9f10c;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%)}.o2{width:850px;height:850px;border-style:dashed}.hills{position:absolute;left:-15%;right:-15%;height:40%;bottom:-27%;background:#111b35;border-radius:50% 50% 0 0;box-shadow:-300px -18px 0 50px #1a244166,350px -28px 0 20px #1d274666}header{height:90px;flex-shrink:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.brand{display:flex;gap:12px;align-items:center;color:#ffe9c0;font-family:Georgia,serif;letter-spacing:4px;font-size:25px;line-height:1}.brand b{display:block;font:9px 'Trebuchet MS',sans-serif;letter-spacing:4.6px;margin-top:9px}.brand-mark{font-size:42px;font-weight:normal;color:var(--gold)}.tagline{font-size:9px;letter-spacing:2.8px;color:#9da3c2}nav{display:flex;gap:8px}.icon{width:38px;height:38px;border-radius:50%;background:#ffffff05;border:1px solid #e4d7ff22;font:20px Georgia,serif;color:#d8c8ed}.icon:hover{background:#c7b5fb20}.icon[aria-pressed=true]{background:#d3b4ff22;border-color:#c7b5fb80;color:#f9dfad}.play-area{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr) 105px;gap:24px;align-items:center;padding:20px 3.2%;position:relative}.garden-info{align-self:center;min-width:0}.eyebrow{display:block;font-size:9px;color:#c0b3d2;letter-spacing:2px;line-height:1.6}.garden-link{background:none;border:0;text-align:left;padding:0;width:100%}.garden-link:hover #garden-name{color:var(--gold)}#garden-name{display:block;font:30px/1.15 Georgia,serif;color:#f3e3cd;margin:14px 0}.garden-level{display:block;font-size:9px;letter-spacing:1.5px;color:#aaa7c3}.garden-level b{color:var(--gold);font-size:13px;margin-left:7px}.mini-arrow{margin-left:12px}.progress-row{margin-top:24px;font-size:10px;color:#aaaac6}.progress-track{height:4px;border-radius:4px;background:#ffffff13;margin-bottom:10px;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b89ae9,#f4d8a0);transition:width .3s}.guide-character{margin-top:40px;position:relative}.guide-character img{width:105px;filter:drop-shadow(0 12px 15px #070c2033);transform:rotate(-5deg);animation:bob 5s ease-in-out infinite}.guide-character p{font:italic 15px/1.5 Georgia,serif;color:#9c9fb8;margin:3px 0 24px}.mode-label{font-size:8px;letter-spacing:1.5px;color:#c8bad9}.board-section{height:100%;min-height:0;display:flex;flex-direction:column;max-width:760px;width:100%;justify-self:center}.board-heading{height:43px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.level-pill{font-size:8px;letter-spacing:1.7px;color:#c6b1de}.level-pill>span{margin-left:6px}.score-display{display:flex;align-items:center;gap:10px}.score-display>span{font-size:8px;color:#a5abc5;letter-spacing:1px}.score-display strong{font:25px Georgia,serif;color:#f8ddaa}#board-space{flex:1;min-height:0;display:grid;place-items:center;position:relative}#board{position:relative;flex-shrink:0;border:1px solid #d7c6ff29;border-radius:18px;background:#0e143636;box-shadow:0 14px 60px #080e2426,inset 0 0 45px #10142d55;touch-action:none;user-select:none}.tile,.slot{position:absolute;left:0;top:0;border-radius:11px}.tile{padding:0;border:1px solid #f8edcf;background:linear-gradient(145deg,#fffdf4,#f2e9d6);box-shadow:0 5px 0 #b9a98c,0 7px 0 #080e293b,inset 0 0 0 3px #fff8eb99;transition:transform .2s ease,box-shadow .15s,opacity .2s;touch-action:none;cursor:grab;overflow:hidden}.tile:hover{box-shadow:0 5px 0 #b9a98c,0 0 0 2px #d8c5ff,0 10px 15px #080e2933;z-index:3}.tile img{width:88%;height:88%;object-fit:contain;pointer-events:none;position:absolute;left:6%;top:1%}.tile .sign-label{position:absolute;left:0;right:0;bottom:4px;font-size:7px;letter-spacing:1px;text-align:center;color:#71596f;text-transform:uppercase;font-weight:bold;pointer-events:none}.tile.selected{box-shadow:0 5px 0 #a385cb,0 0 0 3px #c3a2ff,0 0 28px #c3a2ff50;z-index:4}.tile.selected:after{content:'✦';position:absolute;right:4px;top:1px;color:#8e62b2;font-size:13px}.tile.hinted{animation:hint 1s ease-in-out infinite}.tile.vanish{opacity:0;scale:.65;transition:opacity .22s,scale .22s;pointer-events:none}.tile.dragging{transition:none;z-index:20;box-shadow:0 8px 0 #b9a98c,0 12px 18px #080e2950}.slot{border:1px solid #cbb8ee0c;background:#cbb8ee04;padding:0;color:transparent}.slot.target{border:1px dashed #cbb8ee99;background:#cbb8ee15;color:#bda6d680;font-size:20px}.slot:hover{background:#cbb8ee12}.board-caption{height:45px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;font-size:11px;color:#c0b4ce;line-height:1.4}.small-star{color:#e0c38d;font-size:19px}.tools{display:flex;flex-direction:column;gap:16px;align-items:center}.tool{width:94px;padding:9px 4px 7px;border:1px solid #c9b4f833;background:linear-gradient(#64517d,#493f64);border-radius:14px;box-shadow:0 4px 0 #29263f;display:flex;align-items:center;flex-direction:column}.tool:hover{background:linear-gradient(#796293,#574c76)}.tool-symbol{font-size:31px;color:#f6deae;line-height:1.1;display:block}.tool b{font-size:12px;margin-top:5px;font-weight:normal}.tool small{font-size:6px;letter-spacing:.8px;margin-top:5px;color:#c6b7d9}.tool.special{background:linear-gradient(#a77a5d,#7d5d57);border-color:#e9b17b44}.tool.special[aria-pressed=true]{box-shadow:0 4px 0 #5c4150,0 0 0 2px #f6d79c}.tool i{font-style:normal;font-size:8px;border-radius:50%;padding:2px 4px;background:#f7dfb9;color:#67526e;margin-left:2px}.undo{background:none;border:0;font-size:11px;color:#c0b4ce;padding:10px}footer{position:relative;height:65px;flex-shrink:0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:8px;color:#838ba9;letter-spacing:.3px}.footer-note{letter-spacing:2px}#collection{display:flex;gap:10px}#collection img{width:31px;height:31px;opacity:.3;filter:grayscale(.6);transition:opacity .3s}#collection img.found{opacity:1;filter:none}.modal-art{font:52px Georgia;color:var(--gold);margin-bottom:17px}dialog{border:1px solid #c7b5fb44;color:#f6ead9;border-radius:23px;background:radial-gradient(ellipse at 50% 0,#464266,#222743 80%);padding:30px 35px;text-align:center;width:min(480px,calc(100% - 30px));max-height:calc(100% - 24px);box-shadow:0 30px 90px #080e29aa}dialog::backdrop{background:#10152ec4;backdrop-filter:blur(7px)}dialog h1{font:normal 31px/1.15 Georgia;margin:13px 0 17px}dialog p{font-size:12px;line-height:1.7;color:#c9c3d3}dialog p b{color:#f6d6a2}#modal-actions{display:flex;flex-direction:column;gap:9px;margin-top:24px}.primary,.secondary{padding:13px 16px;border-radius:10px;font-size:13px}.primary{background:#f1d39d;color:#3d354e;border:1px solid #f9e3bd;box-shadow:0 3px 0 #af9272;font-weight:bold}.primary:hover{background:#ffe2ad}.secondary{border:1px solid #c8b5f033;background:#ffffff05;color:#cbbfdb}.mode-switch{display:flex;gap:8px;margin:18px 0}.mode-switch button{flex:1;border-radius:10px;border:1px solid #c7b5fb30;background:#ffffff05;padding:10px 5px;font-size:12px}.mode-switch button[aria-pressed=true]{border-color:#ddc29c;background:#ddc29c10;color:#ffe1a8}.mode-switch small{display:block;font-size:8px;color:#b0a7c3;margin-top:4px}.rule{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px 0}.rule img{width:58px;background:#f8f0df;border-radius:8px}.rule span{color:var(--gold);font-size:24px}.garden-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.garden-grid button{border:1px solid #c7b5fb22;background:#ffffff05;border-radius:10px;padding:9px 2px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px}.garden-grid button img{width:45px;height:45px}.garden-grid button small{font-size:9px;color:var(--gold)}.result{display:flex;justify-content:center;gap:30px;margin:20px 0}.result b{font:27px Georgia;color:var(--gold);display:block}.result span{display:block;font-size:8px;color:#a8a6bd;margin-top:4px;letter-spacing:1px}.stars{font-size:34px;letter-spacing:9px;color:var(--gold);margin:10px}.muted{color:#7e7897!important}#busy{position:absolute;inset:0;z-index:100;background:#151932eF;place-items:center;font:24px Georgia}#busy:not([hidden]){display:grid}#confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.spark{position:absolute;top:25%;font-size:20px;color:var(--gold);animation:spark 1.5s ease-out forwards}#match-flash{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);pointer-events:none;color:#ffe1a3;font:25px Georgia;opacity:0;text-shadow:0 2px 20px #0f1238}.flash{animation:float 1s ease-out!important}@keyframes float{0%{opacity:0;translate:0 5px}20%{opacity:1}100%{opacity:0;translate:0 -60px}}@keyframes hint{50%{box-shadow:0 5px 0 #b9a98c,0 0 0 3px #f2d092,0 0 25px #f2d09266}}@keyframes bob{50%{translate:0 -7px;rotate:4deg}}@keyframes spark{to{transform:translate(var(--drift),300px) rotate(130deg);opacity:0}}
@media(min-width:1500px){.play-area{gap:40px;grid-template-columns:230px minmax(0,1fr) 130px;padding-left:6%;padding-right:6%}.tool{width:108px;padding:14px 6px}.tool-symbol{font-size:40px}#garden-name{font-size:36px}}
@media(max-width:1000px){.play-area{grid-template-columns:145px minmax(0,1fr) 80px;gap:15px;padding:12px 0}.eyebrow{font-size:7px;letter-spacing:1.5px}#garden-name{font-size:24px}.tool{width:76px}.tool-symbol{font-size:27px}.tool b{font-size:11px}.tool small{font-size:5px}.tagline{display:none}.guide-character img{width:90px}.guide-character p{font-size:13px}footer>span{display:none}footer{justify-content:center}#collection{gap:13px}#collection img{width:27px}}
@media(max-height:580px) and (min-width:600px){.game{padding-left:16px;padding-right:16px}header{height:51px}.brand{font-size:20px;letter-spacing:3px}.brand b{font-size:7px;letter-spacing:3px;margin-top:4px}.brand-mark{font-size:30px}.icon{width:31px;height:31px;font-size:17px}.play-area{grid-template-columns:128px minmax(0,1fr) 70px;gap:10px;padding:6px 0}.guide-character{display:none}.progress-row{margin-top:15px}.mode-label{margin-top:20px;font-size:7px}.board-heading{height:29px}.level-pill{font-size:6px;letter-spacing:1px}.score-display strong{font-size:20px}.score-display>span{font-size:6px}.board-caption{height:27px;font-size:8px}.tools{gap:9px}.tool{width:65px;padding:5px 2px;border-radius:10px}.tool-symbol{font-size:22px}.tool b{font-size:9px;margin-top:2px}.tool small{display:none}.undo{padding:2px;font-size:9px}footer{height:38px}#collection img{width:23px;height:23px}#collection{gap:15px}.tile{border-radius:7px}.tile .sign-label{font-size:5px;letter-spacing:.4px;bottom:2px}.tile img{height:88%}dialog{padding:18px 28px}.modal-art{font-size:27px;margin-bottom:9px}dialog h1{font-size:25px;margin:8px}dialog p{font-size:11px}#modal-actions{margin-top:15px}.primary,.secondary{padding:10px}.rule{margin:8px}.rule img{width:40px}}
@media(max-width:599px){.game{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));min-height:560px}header{height:66px}.brand{font-size:21px;letter-spacing:3px;gap:8px}.brand b{font-size:7px;letter-spacing:3px;margin-top:6px}.brand-mark{font-size:33px}nav{gap:5px}.icon{width:29px;height:29px;font-size:17px}.play-area{display:flex;flex-direction:column;gap:0;padding:15px 0 12px;align-items:stretch}.garden-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;align-self:stretch;padding:0 6px}.garden-link{width:auto}.garden-link .eyebrow{font-size:6px}.garden-level{font-size:7px}.garden-level b{font-size:10px}#garden-name{font-size:23px;margin:4px 0 7px}.progress-row{width:32%;margin-top:0;text-align:right;font-size:9px}.guide-character,.mode-label{display:none}.board-section{flex:1;min-height:0;align-self:center;width:100%}.board-heading{height:39px;margin:0 7px}.level-pill{font-size:6px;letter-spacing:1px}.score-display strong{font-size:22px}.score-display>span{font-size:6px}.board-caption{height:50px;font-size:10px;padding:0 8px}.tools{flex-direction:row;justify-content:center;gap:12px;flex-shrink:0}.tool{width:78px;padding:7px 4px;border-radius:12px}.tool-symbol{font-size:23px}.tool b{font-size:10px;margin-top:2px}.tool small{display:none}.undo{font-size:10px;padding:10px 0}footer{height:53px}#collection{gap:4px}#collection img{width:24px;height:24px}.tile{border-radius:8px}.tile .sign-label{font-size:5px;letter-spacing:.5px;bottom:3px}dialog{padding:24px}.modal-art{font-size:38px}dialog h1{font-size:29px}.moon{top:12%;right:3%}#board{border-radius:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}dialog::backdrop{backdrop-filter:none}}

/* Colorful ceramic memory cards and a bright enchanted garden. */
.game{background:radial-gradient(ellipse at 8% 12%,#db899c66,transparent 42%),radial-gradient(ellipse at 95% 25%,#559cb088,transparent 42%),linear-gradient(145deg,#705096,#5466a2 54%,#347a8a);color:#fff6eb}.sky{background-image:radial-gradient(circle at 16% 26%,#ffe9bccc 0 1px,transparent 2px),radial-gradient(circle at 74% 70%,#c4f6f9b0 0 1px,transparent 2px),radial-gradient(circle at 81% 24%,#fff3c9b0 0 1px,transparent 2px)}.moon{opacity:.6;background:#ffe4aa;top:20%;right:7%;box-shadow:0 0 75px #ffe0ac66}.moon:after{background:#6095ad}.hills{bottom:-27%;background:#28677d;box-shadow:-250px -38px 0 50px #4b8b94,320px -20px 0 40px #5989a6,120px -58px 0 5px #a99ac54d}.cloud{position:absolute;width:150px;height:34px;background:#ecd5ef25;border-radius:80px;box-shadow:40px -15px 0 -3px #ecd5ef25,-20px -13px 0 -2px #ecd5ef20}.cloud-one{top:23%;left:3%;rotate:-7deg}.cloud-two{top:13%;right:18%;scale:.7}.flower{position:absolute;font:140px Georgia;color:#c5b5de22;bottom:1%;left:-2%;rotate:-15deg}.f2{left:auto;right:-2%;bottom:7%;font-size:175px;color:#a1d5cf28;rotate:12deg}.f3{left:14%;bottom:-8%;color:#e3c08b22}header{border-bottom-color:#ffffff21}.eyebrow,.tagline{color:#e5d8ef}.garden-level,.progress-row,.guide-character p,.mode-label,.board-caption,.score-display>span{color:#e3deef}.progress-track{background:#faf0ff25}.progress-track i{background:linear-gradient(90deg,#ffd8a2,#fff1c9)}.brand{color:#ffedc9}.icon{background:#ffffff0a;border-color:#fff0}.icon:hover{background:#ffffff25}.level-pill{color:#f1d7e9}#garden-name{color:#fff1d6}.score-display strong{color:#ffe4ad}.score-display #moves{font:17px Georgia;margin-left:5px;margin-right:7px}.guide-character img{width:116px;filter:drop-shadow(0 12px 15px #332d5533)}#board{background:#353b7940;border-color:#f4ddff4d;box-shadow:0 20px 50px #38245d26,inset 0 0 45px #33497c22}.tile{background:none;border:0;box-shadow:none;overflow:visible;perspective:900px;cursor:pointer}.tile:hover{box-shadow:none}.tile-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.3,.6,.3,1)}.tile.revealed .tile-inner{transform:rotateY(180deg)}.tile-back,.tile-front{position:absolute;inset:0;border-radius:11px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #fff4dc;background:linear-gradient(140deg,#fffdf3,#f3e8d0);box-shadow:0 5px 0 #b9a98b,0 8px 12px #2b2e6333;overflow:hidden}.tile-front{transform:rotateY(180deg)}.tile-back:before{content:'';position:absolute;inset:5px;border:1px solid #ffffff88;border-radius:8px;background:radial-gradient(circle at 30% 20%,#ceaddc,#a69cd4 55%,#829dcb);box-shadow:inset 0 0 0 2px #ffffff12}.tile-back:after{content:'✦';position:absolute;inset:0;display:grid;place-items:center;font:38px Georgia,serif;color:#fff1cd;text-shadow:0 2px 0 #8b80b1}.tile-back i{position:absolute;width:65%;height:65%;left:17.5%;top:17.5%;border:1px solid #fff1cd70;border-radius:50%;z-index:1}.tile-back i:before,.tile-back i:after{content:'';position:absolute;inset:6px;border:1px dashed #fff1cd55;border-radius:50%}.tile-back i:after{inset:13px}.tile:hover .tile-back,.tile:hover .tile-front{box-shadow:0 5px 0 #b9a98b,0 0 0 2px #f9d8b5,0 8px 15px #2b2e6333}.tile.revealed{z-index:2}.tile img{height:88%;width:88%;top:1%;left:6%}.tile.matched .tile-front{background:linear-gradient(140deg,#fff9de,#e5ebc7);border-color:#ffefb3;box-shadow:0 4px 0 #b4b48c,0 0 0 2px #ffe6a16b}.tile.matched .tile-front:after{content:'✓';position:absolute;right:4px;top:2px;color:#7b976d;font-size:11px}.tile.matched{opacity:.86}.tile:disabled{opacity:1;cursor:default}.tile.matched:disabled{opacity:.86}.tool{background:linear-gradient(#b098d1,#896faf);border-color:#e9d0f766;box-shadow:0 4px 0 #675287}.tool:hover{background:linear-gradient(#c5a8dd,#a081c0)}.tool.special{background:linear-gradient(#e5a58c,#c7898a);border-color:#ffdbb666}.tool-symbol{color:#fff1cc}.tool small{color:#fff0e4}.tool i{font-style:normal;font-size:9px;background:#fff1ca;color:#776091;border-radius:50%;padding:1px 5px;margin-left:3px}footer{border-top-color:#ffffff20}footer>span{color:#c3cce4}#collection img{opacity:.38;filter:grayscale(.3)}#collection img.found{opacity:1;filter:drop-shadow(0 2px 5px #ffdf9c44)}.size-option{display:flex;gap:10px;margin-top:18px}.size-option button{flex:1;border-radius:12px;border:1px solid #ead7ff44;background:#ffffff08;padding:13px 4px;color:#f8e9d0}.size-option button[aria-pressed=true]{border-color:#f5d49a;background:#f5d49a18}.size-option b{display:block;font:24px Georgia;color:#ffe4ad}.size-option small{font-size:8px;color:#c5b8d7}.best-note{font-size:10px!important;color:#ebcf9e!important}.peek-active #board{box-shadow:0 0 45px #ffe7aa55}.tile-back,.tile-front{touch-action:manipulation}@media(max-height:580px) and (min-width:600px){.tile-back:after{font-size:26px}.tile-back,.tile-front{border-radius:7px}.tile-back:before{inset:3px;border-radius:5px}.tile-back i:after{display:none}.score-display #moves{font-size:12px}.guide-character{display:none}}@media(max-width:599px){.tile-back:after{font-size:30px}.tile-back,.tile-front{border-radius:8px}.tile-back:before{inset:4px;border-radius:5px}.score-display #moves{font-size:15px}.tile-back i:after{display:none}.tool i{font-size:8px}}@media(prefers-reduced-motion:reduce){.tile-inner{transition:none}}
.score-display{gap:12px}.score-display>span{display:flex;align-items:center;gap:5px}.score-display #time{font:19px Georgia;color:#ffe4ad}.score-display #moves{margin-left:0;margin-right:0}@media(max-width:699px){.score-display{gap:8px}.score-display>span{gap:3px;font-size:6px}.score-display #time{font-size:16px}.score-display #moves{font-size:15px}}
