:root{color-scheme:light;--ink:#203e35;--green:#173d32;--gold:#c4a159;--paper:#f6f5ef;--line:#d5dace;--muted:#56685f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:20px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:#fff;border:1px solid var(--line);border-radius:12px;min-height:56px;padding:10px 23px;touch-action:manipulation}button:hover{border-color:var(--green);background:#edf2e8}button:focus-visible,a:focus-visible{outline:4px solid #b2761d;outline-offset:4px}button:disabled{cursor:default}header{max-width:1280px;margin:auto;padding:22px 40px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:28px;font-weight:600;color:var(--green);text-decoration:none;letter-spacing:.12em}.brand span{color:#937631;font-size:36px}.header-note{margin-left:auto;color:var(--muted);font-size:16px}main{max-width:1280px;margin:auto;padding:30px 40px 40px}h1,h2,p{margin:0}h1,h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:500}h1{font-size:36px;letter-spacing:.05em}h2{font-size:28px}.eyebrow{font-size:14px;letter-spacing:.16em;color:var(--muted);margin-bottom:8px}.garden-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:42px}.garden-picture{position:relative;min-height:520px;border-radius:20px;overflow:hidden;background:#254335}.garden-picture>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 63%;filter:brightness(1.1)}.garden-caption{position:absolute;left:0;right:0;top:0;padding:28px;background:linear-gradient(#10291ddb,transparent);color:white}.garden-caption p{font-size:17px;color:#f0ecd9}.growth-strip{position:absolute;bottom:18px;left:18px;right:18px;padding:18px;background:#f9f8efef;border-radius:12px;backdrop-filter:blur(10px)}.growth-strip strong{font-size:20px}.growth-strip p{font-size:16px}.growth-icons{font-size:29px;letter-spacing:.15em;line-height:1.5;min-height:44px}.home-intro{margin-bottom:22px}.home-intro p{color:var(--muted);font-size:18px;margin-top:8px}.games{display:grid;gap:14px}.game-card{display:flex;align-items:center;gap:22px;text-align:left;width:100%;padding:20px;background:#fffef9;border-radius:16px;min-height:126px}.game-card .mini{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:92px;height:84px;background:#e8eee3;border-radius:12px;font-size:37px;letter-spacing:3px}.game-card:nth-child(1) .mini{color:#93621c;background:#f2e9d5}.game-card:nth-child(2) .mini{background:url('assets/garden.jpg') center 70% / cover}.game-card:nth-child(3) .mini{color:#205446;background:#e4e9e1;font-family:serif}.game-card strong{display:block;font-size:23px;font-weight:500}.game-card small{display:block;font-size:16px;color:var(--muted);margin-top:4px}.game-card .arrow{margin-left:auto;font-size:26px}.home-foot{font-size:16px;color:var(--muted);margin-top:21px}footer{max-width:1280px;margin:auto;padding:18px 40px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}footer a{color:inherit}.play-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.instructions{font-size:22px;margin:8px 0 0}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:28px}.play-surface{background:#e4eadd;border:1px solid #d0dac9;padding:28px;border-radius:20px}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:660px;margin:0 auto}.tile{height:110px;padding:4px;position:relative;box-shadow:0 5px 0 #bbc6b2;transition:transform .15s,background .15s;display:flex;align-items:center;justify-content:center;flex-direction:column}.tile .symbol{font-size:44px;line-height:1.2}.tile small{font-size:15px}.tile.selected{background:#fff4cc;border:3px solid #9e6b13;transform:translateY(-3px)}.tile.hint,.hotspot.hint{outline:5px solid #c28a21;outline-offset:3px}.tile.removed{visibility:hidden}.tile.mahjong{font-family:serif;border-radius:8px;border-bottom:7px solid #25533e;background:#fffdf0}.tile.mahjong .symbol{font-size:43px}.sidebar{background:#fffef9;border:1px solid var(--line);border-radius:16px;padding:24px;height:fit-content}.sidebar p{font-size:17px;margin:12px 0}.sidebar .count{font-family:serif;font-size:36px}.sidebar button{width:100%;margin-top:10px}.progress{height:8px;background:#dce1d6;border-radius:10px;overflow:hidden;margin-top:15px}.progress span{display:block;background:#376e4e;height:100%;transition:width .3s}.status{min-height:64px;font-size:18px;margin:18px 0 0;text-align:center}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#285442;color:#fff}.auto{display:flex;gap:12px;align-items:center;font-size:17px;cursor:pointer;margin-top:22px;min-height:48px}.auto input{width:24px;height:24px;accent-color:var(--green)}.result{max-width:650px;text-align:center;margin:30px auto;background:#fffef9;border:1px solid var(--line);border-radius:20px;padding:44px 32px}.result .result-icon{font-size:65px;margin-bottom:12px}.result p{margin:18px 0 26px}.result-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}.treasure-frame{position:relative;max-width:480px;margin:auto;aspect-ratio:3/4;background:#254335;border-radius:12px;overflow:hidden}.treasure-frame>img{width:100%;height:100%;display:block}.hotspot{position:absolute;background:transparent;border:0;padding:0;border-radius:18px;min-height:48px;min-width:48px}.hotspot:hover{background:#ffffff12;border:2px solid #e6ce91}.hotspot.found{border:3px solid #e9d7a0;background:#ffffff20}.hotspot.found:after{content:'✓';position:absolute;right:0;top:0;font-size:26px;background:var(--green);color:white;padding:0 9px;border-radius:50%}.target{background:#fffdf5;border:1px solid var(--line);border-radius:12px;padding:14px 20px;margin-bottom:18px;font-size:23px;text-align:center}.crop{display:inline-block;width:65px;height:65px;background-image:url('assets/garden.jpg');background-size:240px 320px;border-radius:8px;vertical-align:middle;margin-right:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){header{padding:16px 22px}main{padding:24px 22px}.garden-layout{gap:26px;grid-template-columns:.85fr 1fr}.garden-picture{min-height:520px}.game-card{padding:16px;gap:14px}.game-card .mini{width:64px;height:70px;font-size:29px}.play-layout{grid-template-columns:1fr}.sidebar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sidebar>div{flex:1;min-width:140px}.sidebar button{width:auto;margin:0}.sidebar p{margin:0}.sidebar .count{font-size:28px}.auto{margin:0}.play-surface{padding:20px}.tile{height:100px}.header-note{display:none}#home-button{margin-left:auto}}@media(max-width:600px){body{font-size:18px}header{padding:12px 18px}.brand{font-size:23px}.brand span{font-size:27px}h1{font-size:29px}h2{font-size:25px}main{padding:22px 18px}.garden-layout{display:flex;flex-direction:column;gap:24px}.garden-picture{min-height:280px;order:2}.garden-caption{padding:18px}.growth-strip{padding:12px}.game-card{min-height:102px}.home-intro{margin-bottom:17px}.home-intro p{font-size:17px}.game-card strong{font-size:22px}.game-card small{font-size:16px}.home-foot{margin-top:14px}.board{gap:10px}.tile{height:87px;min-height:64px;min-width:0}.tile .symbol,.tile.mahjong .symbol{font-size:35px}.tile small{font-size:14px}.play-surface{padding:16px 12px}.play-top{display:block}.instructions{font-size:20px}.sidebar{padding:18px}.status{font-size:17px}.result{padding:28px 20px}.target{font-size:21px;padding:12px 6px}footer{padding:18px;flex-direction:column;gap:6px}.crop{width:50px;height:50px;margin-right:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* The living garden: plants represent earned progress, one bed per 18 flowers. */
#living-garden-wrap{overflow:hidden;border-radius:20px;background:#fffdf5;border:1px solid var(--line)}
.living-garden{position:relative;min-height:440px;overflow:hidden;isolation:isolate;background:#294737}
.garden-background{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:brightness(.8)}
.garden-shade{position:absolute;inset:0;background:linear-gradient(0deg,#163528ee 0%,#203b3570 38%,transparent 72%)}
.garden-life{position:absolute;inset:0;pointer-events:none}.garden-flower{position:absolute;transform-origin:50% 100%;filter:drop-shadow(2px 5px 3px #10261e60)}
.garden-flower svg{display:block;width:100%;overflow:visible}.bloom-in{animation:open-flower 1.1s both;animation-delay:var(--delay)}
.garden-butterfly{position:absolute;width:12%;z-index:6;animation:drift 13s ease-in-out infinite;animation-delay:var(--delay);filter:drop-shadow(1px 3px 2px #162b2860)}
.wings{transform-origin:40px 32px;animation:wing-beat 1.8s ease-in-out infinite}.garden-bird{position:absolute;width:16%;left:63%;top:58%;z-index:5}
.garden-summary{padding:18px 20px}.garden-summary strong{font-weight:500;font-size:21px}.garden-summary p{font-size:16px;margin:4px 0 12px}.garden-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.garden-actions button{font-size:17px;padding:8px 14px}.motion-toggle{margin:0;font-size:16px}.bed-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:16px;font-size:15px}.bed-nav button{font-size:16px;padding:8px 12px}.bed-nav button:disabled{opacity:.45}
.empty-garden{position:absolute;bottom:40px;left:0;right:0;text-align:center;color:#faf6df;font-size:20px}.still-garden *{animation:none!important}.scene-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.scene-card{overflow:hidden;text-align:left;padding:0;background:#fffdf7;transition:transform .15s}.scene-card:hover{transform:translateY(-3px)}.scene-card img{width:100%;height:260px;object-fit:cover;object-position:center 65%;display:block}.scene-card>span{display:block;padding:18px}.scene-card strong{display:block;font-size:23px;font-weight:500}.scene-card small{display:block;font-size:17px;margin-top:5px;color:var(--muted)}.resume-scene{margin-top:22px}.target{display:flex;align-items:center;justify-content:center;gap:12px}.target strong{display:block}.crop{flex-shrink:0;margin:0;width:65px;height:65px}.scene-credit{font-size:14px;text-align:center;margin-top:10px;color:var(--muted)}.scene-credit a{color:inherit}.scene-picker .home-foot{max-width:650px}
@keyframes open-flower{from{opacity:0;transform:scale(.1) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes drift{0%,100%{transform:translate(0,0) rotate(-8deg)}35%{transform:translate(20px,-30px) rotate(10deg)}65%{transform:translate(-12px,15px) rotate(-3deg)}}
@keyframes wing-beat{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.5)}}
@media(max-width:850px){.scene-cards{gap:16px;grid-template-columns:repeat(2,1fr)}.scene-card img{height:230px}.living-garden{min-height:380px}}
@media(max-width:600px){.garden-layout #living-garden-wrap{order:0}.living-garden{min-height:360px}.garden-summary{padding:16px}.garden-caption h2{font-size:23px}.garden-summary strong{font-size:20px}.scene-cards{grid-template-columns:1fr}.scene-card{display:flex;align-items:center}.scene-card img{width:38%;height:160px}.scene-card>span{padding:16px;flex:1}.scene-card strong{font-size:21px}.scene-card small{font-size:16px}.target{font-size:19px}.garden-actions{gap:12px}.garden-flower{filter:drop-shadow(1px 3px 2px #10261e60)}}
@media(prefers-reduced-motion:reduce){.garden-flower,.garden-butterfly,.wings{animation:none!important}}
.garden-bird{width:12%;left:63%;top:45%}
/* Choose a way to spend time; calm, user-controlled photo browsing. */
.welcome{max-width:760px;margin:12px auto 28px}.welcome h1{font-size:38px}.welcome-lead{font-size:21px;color:var(--muted);margin:12px 0 26px}.choice-list{display:grid;gap:18px}.choice-card{display:flex;align-items:center;text-align:left;gap:26px;padding:18px;width:100%;background:#fffef9;border-radius:18px}.choice-card>img,.choice-symbol{width:132px;height:108px;object-fit:cover;border-radius:12px;flex-shrink:0}.choice-symbol{display:flex;align-items:center;justify-content:center;gap:12px;background:#e8eee3;font-family:serif;font-size:38px}.choice-symbol>span{color:#885718}.choice-card strong{font-size:27px;display:block;font-weight:500}.choice-card small{font-size:19px;display:block;color:var(--muted);margin-top:6px}.choice-card .arrow{margin-left:auto;font-size:30px}.welcome-note{margin-top:24px;font-size:18px;color:var(--muted)}.rest-view{max-width:760px;margin:auto}.rest-view .living-garden{min-height:470px}.rest-return{display:block;margin:24px auto 0}.photo-view{max-width:820px;margin:auto}.photo-view figure{margin:0}.photo-view figure>img{display:block;width:100%;height:min(60vh,620px);object-fit:contain;background:#e4eadd;border-radius:16px}.photo-view figcaption{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 18px}.photo-view figcaption a{color:inherit}.photo-nav{display:flex;align-items:center;justify-content:center;gap:20px}.photo-nav>span{white-space:nowrap}.game-card .mini.mini-gems{background:#f2e9d5;color:#885718}.game-card .mini.mini-treasure{background:url('assets/garden.jpg') center 70% / cover}.game-card .mini.mini-mahjong{background:#e4e9e1;color:#205446;font-family:serif}.garden-layout>section:last-child{min-width:0}#home-button{font-size:18px;padding:10px 14px}h1:focus{outline:none}
@media(max-width:600px){.welcome{margin-top:0}.welcome h1{font-size:29px}.welcome-lead{font-size:18px;margin-bottom:20px}.choice-list{gap:14px}.choice-card{gap:14px;padding:14px}.choice-card>img,.choice-symbol{width:76px;height:90px}.choice-symbol{font-size:26px;gap:4px}.choice-card strong{font-size:23px}.choice-card small{font-size:17px}.choice-card .arrow{font-size:24px}.welcome-note{font-size:17px}.rest-view .living-garden{min-height:390px}.photo-nav{gap:10px}.photo-nav button{font-size:17px;padding:10px 12px;flex:1}.photo-nav>span{font-size:16px}.photo-view figure>img{height:52vh}.garden-layout #living-garden-wrap{order:2}.garden-layout>section:last-child{order:1}header{gap:10px}.brand{letter-spacing:.04em;font-size:21px}#home-button{font-size:16px;padding:8px 10px}.game-card .mini{width:58px}.game-card{gap:12px}.game-card strong{font-size:21px}}
