:root{color-scheme:light;--ink:#283c31;--muted:#5e7062;--line:#d6dfd1;--surface:#fafbf6;--paper:#f4f3ed;--forest:#315d43;--accent:#e6edde;font-family:system-ui,"Malgun Gothic",sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}h1,h2,h3,p{margin:0 0 15px}h1{font-size:26px;letter-spacing:-1px;margin:0}h2{font-size:25px;line-height:1.35;letter-spacing:-.8px}h3{font-size:17px}a{color:var(--forest)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #a27721;outline-offset:4px}.skip{position:absolute;top:0;left:15px;transform:translateY(-150%);background:var(--surface);padding:10px;z-index:5}.skip:focus{transform:none}.site-head{max-width:1000px;margin:0 auto;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.eyebrow{display:block;text-transform:none;font-size:12px;letter-spacing:.3px;color:var(--muted);margin-bottom:7px}main{max-width:1000px;margin:auto;padding:28px;min-height:450px}.button{border:1px solid var(--line);border-radius:8px;padding:10px 17px;min-height:44px;font-weight:500;display:inline-flex;justify-content:center;align-items:center;text-align:center;background:var(--surface);text-decoration:none}.button.dark{background:var(--forest);border-color:var(--forest);color:#fff}.button.secondary{background:var(--surface)}.welcome{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:44px;min-height:435px}.welcome-copy h2{font-size:35px;letter-spacing:-1.5px}.welcome-actions,.controls{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.muted{color:var(--muted)}.small{font-size:12px}.welcome-art{min-height:370px;position:relative;overflow:hidden;background:#d6e2cc;border-radius:100px 100px 15px 15px}.mountain{position:absolute;bottom:-70px;width:300px;height:300px;background:#a3bd94;transform:rotate(40deg);border-radius:18px}.mountain.far{left:90px;bottom:20px;background:#b8cda9}.mountain.near{left:-85px;background:#6d9069}.animal{position:absolute;right:26px;bottom:70px;width:80px;height:82px;border-radius:25px 25px 28px 28px;background:#e5d8b3;transform:rotate(-8deg)}.animal:before,.animal:after{content:"";position:absolute;width:28px;height:35px;background:#e5d8b3;top:-19px;border-radius:6px;transform:rotate(20deg)}.animal:before{left:1px}.animal:after{right:1px;transform:rotate(-20deg)}.animal span{position:absolute;inset:30px 17px auto;height:5px;border-left:6px solid #3b4b39;border-right:6px solid #3b4b39;z-index:1}.play-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.play-head h2{margin:0}.status{background:var(--accent);padding:5px 11px;border-radius:6px;font-size:12px}.scoreboard{display:flex;gap:25px;align-items:center;padding:12px 16px;background:var(--accent);border-radius:10px;margin-bottom:22px}.scoreboard>div{font-size:12px;color:var(--muted)}.scoreboard strong{display:block;color:var(--ink);font-size:23px;line-height:1.3;font-variant-numeric:tabular-nums}.scoreboard p{margin:0 0 0 auto;max-width:340px}.stage{position:relative}.pause-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f4f3edf7;border-radius:10px;text-align:center;padding:25px}.game-detail{text-align:center;font-size:13px;margin:16px 0 0}#ad-feedback{text-align:center;min-height:20px}#play>.controls{justify-content:center}.rules-note{text-align:center;margin:20px auto;max-width:650px}.result{background:var(--accent);border-radius:12px;padding:28px;margin:25px 0;text-align:center}.result .controls{justify-content:center}.result-score{font-size:38px;font-weight:600;font-variant-numeric:tabular-nums;margin:12px 0}.result-score small{font-size:14px;padding-left:7px}footer{max-width:1000px;margin:15px auto 0;border-top:1px solid var(--line);padding:20px 28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--muted);font-size:12px}footer button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;padding:6px 9px;min-height:40px}dialog{max-width:610px;width:calc(100% - 30px);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:25px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#16291b70}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.dialog-head h2{font-size:22px}.dialog-head button{background:none;border:0;font-size:26px;min-width:38px;min-height:38px;line-height:1}dialog h3{margin-top:20px}dialog p{font-size:14px}.camohunter .cam-rules{max-width:540px;margin:18px auto 0}.cam-start{min-width:130px}
@media(max-width:650px){.site-head{padding:19px 18px;align-items:flex-start;gap:10px}.site-head h1{font-size:22px}.site-head>.button{font-size:12px;max-width:130px}main{padding:20px 16px}.welcome{grid-template-columns:1fr;gap:23px;min-height:0}.welcome-art{min-height:180px;border-radius:50px 50px 10px 10px}.mountain{bottom:-185px}.mountain.far{bottom:-80px}.animal{right:65px;bottom:25px;transform:scale(.8) rotate(-8deg)}.welcome-copy h2{font-size:29px}.welcome-actions>*{flex:1 1 180px}.play-head h2{font-size:22px}.scoreboard{gap:20px;flex-wrap:wrap}.scoreboard p{margin:0;flex-basis:100%;max-width:none}.controls{gap:8px}.controls .button{padding:10px 12px}.pause-overlay{padding:16px}.pause-overlay h2{font-size:22px}footer{padding:16px;display:block}footer>div{margin-top:5px}.result{padding:22px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.full-game-prompt{margin:22px 0}.full-game-prompt .button{min-width:210px}.full-game-prompt .result-record{font-size:12px;color:var(--muted);margin-top:10px}
#play-privacy-open{display:none}

/* Compact play occupies the available mobile viewport; welcome/results keep normal flow. */
@media(max-width:700px){
body:has(#play:not([hidden]) #result[hidden]){overflow:hidden}
body:has(#play:not([hidden]) #result[hidden]) :is(.site-head,footer,.play-head,.scoreboard,#game-detail,#ad-feedback,.rules-note){display:none}
body:has(#play:not([hidden]) #result[hidden]) #main{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;min-height:0;padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px));overflow:hidden}
body:has(#play:not([hidden]) #result[hidden]) #play{height:100%;display:flex;flex-direction:column;gap:4px}
body:has(#play:not([hidden]) #result[hidden]) #play>.stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
body:has(#play:not([hidden]) #result[hidden]) #game-root{width:100%}
body:has(#play:not([hidden]) #result[hidden]) #play>.controls{margin:0;gap:4px;flex-wrap:nowrap;min-height:44px}
body:has(#play:not([hidden]) #result[hidden]) #play>.controls .button{flex:1;min-width:0;min-height:44px;padding:6px;font-size:11px;line-height:1.2}
body:has(#play:not([hidden]) #result[hidden]) #play-privacy-open{display:inline-flex}
}

.trial-discovery{display:flex;flex-direction:column;align-items:center;gap:4px;margin:18px 0;color:var(--ink)}
.trial-discovery>span{font-size:13px;color:var(--muted)}.trial-discovery strong{font-size:44px;line-height:1.2;font-variant-numeric:tabular-nums}.trial-discovery small{font-size:22px;font-weight:500;color:var(--muted)}
.full-game-invitation{margin:0 0 14px;font-size:15px;font-weight:600}
.result:has([data-trial-discovery]) .result-score{font-size:24px;margin:10px 0}
