@font-face{font-family:Fredoka;src:url('assets/Fredoka.ttf') format('truetype');font-display:swap;font-weight:300 700}
:root{color-scheme:light;--ink:#294735;--muted:#65715e;--paper:#f4eedf;--rose:#a94f68;--edge:#dedcc6;font-family:system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0,#fffbef 0,transparent 50%),var(--paper);min-height:100dvh}button{font:inherit;cursor:pointer;min-height:48px;min-width:48px;border:0;border-radius:15px;padding:11px 22px;background:var(--ink);color:#fff;font-weight:650;touch-action:manipulation}button:hover{filter:brightness(1.08)}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:3px solid var(--rose);outline-offset:4px}button:disabled{opacity:.4;cursor:default}.quiet{background:#f7f5e9;color:var(--ink);border:1px solid var(--edge)}[hidden]{display:none!important}
.brand{max-width:1220px;margin:auto;padding:20px 30px;display:flex;gap:10px;align-items:center;font-family:Fredoka,system-ui;font-weight:550;font-size:22px}.brand-mark{color:var(--rose);font-size:29px}.brand-note{margin-left:auto;font:13px system-ui;color:var(--muted)}main{max-width:1160px;margin:auto;padding:0 26px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 18px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:#8e5266;margin:0 0 7px}h1,h2,h3{font-family:Fredoka,system-ui;font-weight:550;margin:0 0 8px;line-height:1.12}h1{font-size:clamp(30px,4vw,46px)}h2{font-size:29px}p{line-height:1.55;margin:5px 0}.intro p:not(.eyebrow){font-size:15px;color:var(--muted)}.target{display:flex;gap:14px;align-items:center;background:#fffcf0;border:1px solid #e6ddc7;border-radius:22px;padding:9px 20px;flex-shrink:0}.target img{object-fit:contain}.target strong,.target span{display:block}.target strong{font-family:Fredoka,system-ui;font-weight:500;font-size:19px}.target span{font-size:12px;color:var(--muted);margin-top:4px}.garden-card{overflow:hidden;border-radius:24px;border:1px solid #d5d7be;box-shadow:0 10px 32px #384c3210;background:#fff5dc}#stage{height:clamp(340px,62dvh,730px);position:relative;touch-action:none;overflow:hidden;user-select:none;cursor:grab;background:#f4eedf}#stage:active{cursor:grabbing}#garden{display:block;width:100%;height:100%}.garden-name{position:absolute;top:14px;left:50%;transform:translateX(-50%);padding:6px 22px;background:#fff7dfed;border:1px solid #d9cb9f;border-radius:3px;font-family:Fredoka,system-ui;font-size:17px;box-shadow:0 2px 10px #29473510;pointer-events:none;white-space:nowrap}.controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:10px 18px;background:#fff8e8;border-top:1px solid #e5dec4}.zoom{display:flex;gap:7px}.zoom button{padding:6px 14px;background:#e8eddd;color:var(--ink);font-size:28px;font-weight:400}#overview{font-size:14px;display:flex;align-items:center;gap:9px;border-color:transparent}#overview span:first-child{font-size:24px}.instructions{text-align:center;font-size:14px;min-height:22px;margin:13px auto 3px;max-width:720px}.small{font-size:12px;color:var(--muted)}.privacy{text-align:center;margin-top:10px}footer{max-width:1160px;margin:24px auto 16px;padding:0 26px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.message-card{max-width:620px;margin:8vh auto 10vh;padding:36px;text-align:center;border:1px solid var(--edge);border-radius:30px;background:#fffaf0;box-shadow:0 12px 40px #2947350b}.welcome-candy{object-fit:contain;margin-bottom:18px}.message-card p{margin:14px 0}.message-card h1{font-size:36px}.message-card button{margin-top:12px}.found .target{background:#eef2df;border-color:#b0bd92}
@keyframes arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.brand{padding:12px 17px;font-size:20px}.brand-note{display:none}main{padding:0 12px}.intro{margin:8px 4px 13px;gap:8px;align-items:center}.intro .eyebrow{font-size:9px;letter-spacing:1.3px}.intro h1{font-size:29px;max-width:240px}.intro p:not(.eyebrow){font-size:12px;max-width:190px}.target{padding:8px;gap:0;background:none;border:0}.target img{width:45px;height:58px}.target div{display:none}#stage{height:clamp(340px,60dvh,640px)}.garden-card{border-radius:19px}.garden-name{font-size:14px;top:10px}.controls{padding:8px;gap:10px}.instructions{font-size:12px;padding:0 10px}.privacy{font-size:11px;padding:0 8px}footer{font-size:11px;flex-direction:column;align-items:center;gap:6px;margin:18px auto}.message-card{padding:28px 20px;margin-top:6vh}.message-card h1{font-size:30px}}
@media(max-height:520px) and (orientation:landscape){.brand{padding:6px 22px}.intro{margin:0 0 8px}.intro h1{font-size:28px}.intro .eyebrow,.intro p:not(.eyebrow),.target{display:none}#stage{height:62dvh;min-height:180px}.controls{padding:5px}.instructions{margin-top:7px}footer{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.more-adventures{text-align:center;margin-top:14px}.more-adventures:has(button[hidden]){display:none}
.success{color:var(--ink);background:#fffaf0;border:1px solid #d9cfb5;border-radius:28px;width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:28px;overflow:auto;box-shadow:0 22px 90px #18392340;overscroll-behavior:contain}
.success::backdrop{background:#1c392a70;backdrop-filter:blur(3px)}.success[open]{animation:arrive .3s ease-out}.close-invitation{position:absolute;top:12px;right:12px;padding:3px;font-size:27px;border:0;background:transparent;line-height:1}
.discovery-heading{display:flex;align-items:center;gap:16px;margin:0 30px 22px 0}.discovery-heading img{object-fit:contain;flex-shrink:0}.discovery-heading h2{font-size:30px}.discovery-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}
.full-game-card{display:grid;grid-template-columns:180px 1fr;background:#f0f1df;border:1px solid #d8dec4;border-radius:20px;overflow:hidden}.full-game-preview{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center}.full-game-copy{padding:25px 23px}.full-game-copy h3{font-size:29px;margin:0 0 12px}.full-game-copy p:not(.eyebrow){font-size:14px;line-height:1.6}.full-game-copy .full-game-promise{font-size:12px;margin-top:15px;color:var(--muted)}.full-game-copy .store-status{font-weight:650;color:#7e4658;margin:18px 0 0}.store-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.store-links a{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;border-radius:13px;background:var(--ink);color:#fff;padding:12px 15px;font-weight:650;font-size:14px}.success-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}.success-actions button{font-size:14px}.success #cheer-status{text-align:center;margin-top:10px}.success #cheer-status:empty{display:none}
@media(max-width:520px){.success{padding:20px 16px;border-radius:23px}.discovery-heading{gap:10px;margin:10px 24px 18px 0}.discovery-heading img{width:48px;height:62px}.discovery-heading h2{font-size:26px}.discovery-heading .eyebrow{font-size:9px;letter-spacing:1.2px}.discovery-heading p:not(.eyebrow){font-size:12px}.full-game-card{grid-template-columns:1fr}.full-game-preview{height:145px;min-height:0;object-position:center 54%}.full-game-copy{padding:20px}.full-game-copy h3{font-size:27px}.success-actions{gap:8px;margin-top:18px}.success-actions button{flex:1;padding:11px 10px}}
@media(max-height:520px) and (orientation:landscape){.success{padding:18px 22px;max-height:calc(100dvh - 16px)}.discovery-heading{margin-bottom:12px}.discovery-heading img{height:52px;width:44px}.full-game-card{grid-template-columns:130px 1fr}.full-game-preview{min-height:230px}.full-game-copy{padding:18px}.success-actions{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.success[open]{animation:none}}

#loading-progress{display:block;width:min(100%,340px);height:12px;margin:22px auto;accent-color:#527343}.detail-feedback{text-align:center;font-size:12px;color:var(--muted);margin-top:8px}.detail-feedback:has(span:empty):has(button[hidden]){display:none}.detail-feedback button{margin-left:10px;font-size:12px}.completed .success{position:relative;inset:auto;margin:24px auto;max-height:none;max-width:720px}.completed main{display:none}#completion-status{text-align:center;margin-top:14px}#completion-status:empty{display:none}#completion-retry{display:block;margin:12px auto}
