@charset "UTF-8";
:root{--paper:#fbf7ed;--ink:#493421;--muted:#786650;--line:#e2d8c3;--orange:#a94b24;--green:#4b653c;--yellow:#f4d778;--blue:#466e87;--radius:26px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.7}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:4px solid #387391;outline-offset:5px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800;line-height:1.5;letter-spacing:.045em}h1{font-size:clamp(1.8rem,4.2vw,3rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}.site-header{max-width:1140px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{border:0;background:none;display:flex;gap:12px;align-items:center;font-size:1rem;font-weight:800;padding:0;text-align:left}.brand-dot{background:var(--orange);color:white;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font:italic bold 24px Georgia,serif}.edition{font-size:.875rem;color:var(--muted)}#app{max-width:1080px;margin:auto;padding:0 28px;min-height:70vh}.welcome{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:20px;margin:28px 0 34px}.eyebrow{font-size:.875rem;letter-spacing:.14em;color:var(--orange);font-weight:800;margin-bottom:12px}.intro-copy{margin-top:18px;color:var(--muted)}.lineup{position:relative;aspect-ratio:1536/650;overflow:hidden;mix-blend-mode:multiply}.lineup img{position:absolute;width:100%;height:auto;top:-27.69%;left:0;display:block}.section-label{font-size:1rem;margin:0 0 18px;display:flex;align-items:center;gap:14px}.section-label:after{content:"";height:1px;background:var(--line);flex:1}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{position:relative;padding:0;background:#fffdf8;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:left;box-shadow:0 5px 0 #e8dfcd;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-5px);box-shadow:0 10px 0 #e8dfcd}.card-art{height:182px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#e8ead8}.card-art .character{width:132px;max-height:170px}.card-art.snack-art{background:#f6e2ba;gap:15px}.card-art.memory-art{background:#dce8ec;gap:8px}.art-treat{font-size:3.3rem}.mini-card{width:78px;height:111px;background:#fffdf8;border:2px solid #b8cdd2;border-radius:12px;display:grid;place-items:center;transform:rotate(-9deg)}.mini-card:nth-child(2){transform:rotate(10deg)}.mini-card .character{width:64px}.card-art.garden-art{background-image:url('assets/garden.png');background-size:cover;background-position:center 65%}.card-copy{padding:22px 24px 24px}.card-kicker{font-size:.875rem;color:var(--muted);margin-bottom:7px}.card-copy h3{font-size:1.3rem;margin-bottom:10px}.card-description{font-size:.9375rem;color:var(--muted);min-height:3.4em}.card-play{display:block;margin-top:20px;color:var(--orange);font-weight:800;font-size:1rem}.home-note{text-align:center;margin:32px 0 0;font-size:.875rem;color:var(--muted)}.site-footer{text-align:center;padding:35px 20px 25px;font-size:.875rem;color:var(--muted)}
.character{position:relative;display:inline-block;overflow:hidden;vertical-align:middle;flex-shrink:0;mix-blend-mode:multiply;pointer-events:none}.character img{position:absolute;display:block;max-width:none;height:auto}.character.hina{aspect-ratio:400/420}.character.hina img{width:384%;left:-7.5%;top:-84.286%}.character.small{aspect-ratio:270/370}.character.small img{width:568.889%;left:-161.111%;top:-108.108%}.character.tall{aspect-ratio:580/583}.character.tall img{width:264.828%;left:-113.793%;top:-32.247%}.character.round{aspect-ratio:269/223}.character.round img{width:571.004%;left:-460.223%;top:-247.085%}
.play-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 20px}.quiet-button{border:1px solid var(--line);border-radius:30px;background:#fffdf8;padding:10px 18px;font-size:.9375rem}.play-heading{text-align:center;margin:0 0 20px}.play-heading p{color:var(--muted);margin-top:8px}.progress{font-weight:800;font-size:.9375rem;background:#ebe9d8;padding:8px 16px;border-radius:30px;white-space:nowrap}.play-footer{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0}.primary{background:var(--orange);color:#fffdf8;border:2px solid var(--orange);border-radius:28px;padding:12px 25px;font-weight:800;box-shadow:0 3px 0 #7c341a}.primary:active{transform:translateY(2px);box-shadow:none}.feedback{min-height:2em;text-align:center;margin:15px 0 0;font-weight:700;color:var(--green)}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-content{animation:arrive .25s ease-out}.garden{position:relative;isolation:isolate;aspect-ratio:3/2;background:#e8ead8 url('assets/garden.png') center/100% 100% no-repeat;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);max-width:900px;margin:auto}.garden .seeker{position:absolute;bottom:2%;left:43%;width:16%;pointer-events:none}.hide-spot{position:absolute;background:none;border:0;padding:0;min-width:52px;min-height:52px;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}.hide-spot .character{width:100%;transition:transform .35s ease,opacity .2s}.hide-spot:not(.found) .character{clip-path:inset(0 0 45% 0);transform:translateY(22%)}.hide-spot.found .character{animation:happy .55s ease-out}.hide-spot.found:after{content:'✓';background:var(--green);color:white;position:absolute;right:0;top:15%;width:30px;height:30px;border-radius:50%;font-size:1rem;font-weight:800}.hide-spot.hint{outline:4px dashed #aa4e24;outline-offset:4px;border-radius:20px;animation:hint 1s ease 2}.found-friends{display:flex;align-items:center;gap:12px}.friend-dot{width:50px;height:54px;display:grid;place-items:center;border:1px dashed #bea98e;border-radius:16px;font-size:1.3rem;color:var(--muted)}.friend-dot .character{width:44px}.friend-dot.has-friend{background:#f8efda;border-style:solid}.below-garden{max-width:900px;margin:16px auto 0;display:flex;justify-content:space-between;gap:10px;align-items:center}.success{border-radius:var(--radius);background:#fffdf8;border:1px solid var(--line);padding:28px;text-align:center;margin:22px auto 0;max-width:680px}.success h3{font-size:1.5rem;color:var(--green)}.success p{margin-top:10px}.success .lineup{max-width:460px;margin:10px auto}.success .play-footer{margin-bottom:0}
@keyframes arrive{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes happy{0%,100%{transform:translateY(0)}35%{transform:translateY(-15px)}70%{transform:translateY(-5px)}}@keyframes hint{50%{outline-offset:9px}}
@media(max-width:700px){.site-header{padding:19px 19px}.edition{display:none}#app{padding:0 18px}.welcome{grid-template-columns:1fr;text-align:center;margin:20px 0 28px;gap:5px}.welcome .lineup{max-width:450px;width:100%;margin:auto}.intro-copy{margin-top:10px}.eyebrow{margin-bottom:7px}.game-grid{grid-template-columns:1fr;gap:17px}.game-card{display:grid;grid-template-columns:34% 1fr}.card-art{height:100%;min-height:163px}.card-art .character{width:90px}.card-art.snack-art{gap:0;flex-direction:column}.snack-art .character{width:64px}.art-treat{font-size:2.4rem;line-height:1}.mini-card{width:48px;height:74px;border-radius:9px}.mini-card .character{width:37px}.card-copy{padding:17px 18px}.card-copy h3{font-size:1.2rem;margin-bottom:7px}.card-kicker{font-size:.8125rem;margin-bottom:3px}.card-description{font-size:.875rem;min-height:0}.card-play{margin-top:9px}.home-note{margin-top:24px}.site-footer{font-size:.8125rem;padding:26px 18px}.play-header{margin-top:9px}.quiet-button{padding:10px 14px}.progress{padding:8px 12px;font-size:.875rem}.play-heading p{font-size:.9375rem}.garden{aspect-ratio:1/1.05;background-size:cover}.garden .seeker{width:22%;left:40%}.hide-spot{min-width:60px;min-height:60px}.success{padding:22px 15px}.friend-dot{width:43px;height:46px}.friend-dot .character{width:37px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.snack-scene{position:relative;display:grid;grid-template-columns:1fr 2fr;align-items:end;gap:10px;background:#f6e9cc;border:1px solid #e7d1a2;border-bottom:12px solid #d6a973;border-radius:var(--radius);padding:22px 28px 12px;min-height:310px;max-width:760px;margin:auto}.shopkeeper{display:flex;flex-direction:column;align-items:center;padding-bottom:12px;font-size:.875rem;font-weight:700;color:#875329}.shopkeeper .character{width:min(100%,170px)}#customer-slot{height:100%;min-height:270px;display:flex;justify-content:center;align-items:flex-end}.customer{display:flex;align-items:center;justify-content:center;gap:22px;padding:10px;border-radius:25px;width:100%;min-height:230px}.customer>.character{width:170px;max-width:50%}.customer>.character.round{width:130px}.customer>.character.small{width:108px}.order-bubble{display:flex;align-items:center;flex-direction:column;justify-content:center;border:2px solid #d3ba8e;border-radius:22px;background:#fffdf8;min-width:128px;min-height:163px;padding:14px;font-size:.875rem;line-height:1.5;align-self:flex-start}.order-bubble strong{font-size:1rem}.order-emoji{font-size:3.5rem;line-height:1.5}.thanks{color:var(--green)}.delivered>.character{animation:happy .6s ease-in-out}.drop-ready{outline:4px dashed var(--green);background:#fffae8}.treat-tray{display:flex;justify-content:center;gap:20px;max-width:600px;margin:24px auto 0}.treat-button{background:#fffdf8;border:2px solid #d9c8a8;border-radius:23px;box-shadow:0 4px 0 #ddd0b5;padding:10px 18px 13px;display:flex;flex-direction:column;align-items:center;min-width:115px;touch-action:none;user-select:none;transition:transform .15s}.treat-button:hover{border-color:var(--orange);transform:translateY(-3px)}.treat-button:disabled{opacity:.6;transform:none}.treat-emoji{font-size:3rem;line-height:1.5}.sub-instruction{text-align:center;font-size:.875rem;color:var(--muted);margin-top:16px}.drag-ghost{position:fixed;pointer-events:none;transform:translate(-50%,-65%);font-size:4rem;z-index:30;filter:drop-shadow(0 4px 4px #0003)}.memory-board{max-width:780px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:17px;padding:22px;background:#e7edf0;border:1px solid #c7d6dc;border-radius:var(--radius)}.memory-card{position:relative;aspect-ratio:3/4;background:#72909c;border:3px solid #fffdf8;border-radius:18px;box-shadow:0 4px 0 #b9cbd1;padding:0;overflow:hidden;transition:transform .2s,background .2s;min-width:0}.memory-card:hover:not(:disabled){transform:translateY(-3px)}.card-back{position:absolute;inset:9px;border:1px solid #c9dae0;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fffdf8}.card-back>span{font:italic bold clamp(2.8rem,6vw,4.5rem) Georgia,serif}.card-back small{font-size:.875rem;letter-spacing:.02em}.card-face{display:none;position:absolute;inset:10px;align-items:center;justify-content:center}.card-face .character{width:100%}.card-face .character.small{width:72%}.is-open{background:#fffdf8;border-color:#b3c8cf}.is-open .card-back{display:none}.is-open .card-face{display:flex}.matched{background:#fff9e8;border-color:#bf9c55;box-shadow:0 3px 0 #d4c499}.matched:after{content:'✓';position:absolute;right:5px;top:2px;color:var(--green);font-size:1.25rem;font-weight:bold}.memory-meta{max-width:780px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9375rem}.hide-spot{isolation:auto;mix-blend-mode:multiply}.garden .seeker{mix-blend-mode:multiply}.hide-spot:not(.found) .character{clip-path:inset(0 0 36% 0)}
@media(max-width:700px){.welcome h1{font-size:clamp(1.35rem,6.4vw,1.85rem);letter-spacing:.02em}.welcome h1 br{display:block}.intro-copy{font-size:.9375rem}.snack-scene{padding:14px 10px 10px;grid-template-columns:1fr 2.25fr;min-height:285px}.shopkeeper{font-size:.8125rem}.shopkeeper .character{width:110px;max-width:100%}#customer-slot{min-height:245px}.customer{flex-direction:column;gap:8px;align-items:center;padding:0;min-height:240px}.customer>.character{width:126px;max-width:90%}.customer>.character.round{width:106px}.customer>.character.small{width:77px}.order-bubble{align-self:center;min-height:100px;min-width:118px;padding:8px;display:grid;grid-template-columns:auto auto;gap:0 8px}.order-bubble>span:first-child{grid-column:1/-1;text-align:center}.order-bubble .order-emoji{font-size:2.5rem;grid-row:auto;line-height:1.3}.order-bubble strong{font-size:.9375rem}.order-bubble .thanks{grid-column:1/-1}.order-bubble .thanks+.order-emoji{grid-column:1/-1;text-align:center}.treat-tray{gap:12px;margin-top:20px}.treat-button{min-width:0;flex:1;padding:9px 6px 12px;border-radius:18px;font-size:.875rem}.treat-emoji{font-size:2.6rem}.sub-instruction{font-size:.8125rem}.memory-board{gap:10px;padding:12px;border-radius:20px}.memory-card{border-width:2px;border-radius:12px;aspect-ratio:3/4.3}.card-back{inset:5px;border-radius:7px}.card-back>span{font-size:2.5rem}.card-back small{display:none}.card-face{inset:5px}.matched:after{font-size:1rem;right:3px;top:-2px}.memory-meta{font-size:.875rem}.found-friends{gap:6px}.below-garden .quiet-button{font-size:.875rem;padding:10px 12px}}
@media(max-width:360px){.brand{font-size:.875rem;gap:8px}.brand-dot{width:30px;height:30px}.game-card{grid-template-columns:32% 1fr}.card-copy{padding:15px 13px}.card-art .character{width:75px}.snack-art .character{width:63px}.memory-art{gap:4px!important}.mini-card{width:35px;height:58px}.mini-card .character{width:29px}.memory-board{gap:7px;padding:9px}.quiet-button{font-size:.8125rem}.progress{font-size:.8125rem}}
/* Source sheet is displayed unchanged; clip adjacent characters out of each viewport. */
.character.small img{clip-path:polygon(0 0,39% 0,39% 56.5%,100% 56.5%,100% 100%,0 100%)}
.character.tall img{clip-path:polygon(0 0,100% 0,100% 100%,49.5% 100%,49.5% 49%,0 49%)}
.garden .seeker{left:17%;width:18%;bottom:19%}.hide-spot.found{bottom:19%!important;top:auto!important;transition:left .4s ease}.hide-spot.found[data-find=small]{left:39%!important}.hide-spot.found[data-find=tall]{left:53%!important}.hide-spot.found[data-find=round]{left:82%!important}
.shopkeeper .character{width:150px}.customer>.character.tall{width:205px;max-width:52%}.customer>.character.round{width:98px}.customer>.character.small{width:95px}
@media(max-width:700px){.garden .seeker{left:10%;width:20%;bottom:27%}.hide-spot.found{bottom:27%!important}.hide-spot.found[data-find=small]{left:34%!important}.hide-spot.found[data-find=tall]{left:54%!important}.hide-spot.found[data-find=round]{left:79%!important}.shopkeeper .character{width:100px}.customer>.character.tall{width:132px;max-width:90%}.customer>.character.small{width:67px}.customer>.character.round{width:73px}}
.hide-spot{mix-blend-mode:normal}.hide-spot:not(.found) .character{clip-path:none;transform:none}.hide-spot .bush{position:absolute;pointer-events:none;max-width:none;width:155%;height:auto;left:-27.5%;bottom:-12%;z-index:2}.hide-spot[data-find=round] .bush{width:145%;left:-22.5%;bottom:-28%}.hide-spot.found .bush{display:none}
.welcome h1{font-size:clamp(1.45rem,3.2vw,2.4rem);letter-spacing:.02em}
