@charset "UTF-8";
/* English copy needs room for longer words on small screens. */
:root{font-family:"Arial","Microsoft YaHei","PingFang SC",sans-serif;color:#23251f;background:#f5f5ef;font-synthesis:none;--green:#c2f65a;--muted:#6c7065;--line:#daddd1}*{box-sizing:border-box}body{margin:0}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #668e24;outline-offset:5px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.header{height:104px;max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:23px;font-weight:850;gap:10px;letter-spacing:-1px}.brand-mark{font-size:43px;line-height:1;font-weight:400}.brand-en{font-size:10px;letter-spacing:2px;margin-left:14px;font-weight:600}.text-button{border:0;background:none;font-size:13px;padding:12px 0}.text-button span{margin-left:14px}main{max-width:1224px;margin:auto;padding:64px 0 0;display:grid;grid-template-columns:1fr 1.13fr;gap:50px 70px}.intro{padding-top:40px}.eyebrow{font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:9px}.eyebrow span{width:7px;height:7px;background:#63842d;border-radius:50%}h1{font-size:clamp(46px,4.8vw,68px);line-height:1.25;letter-spacing:-4px;font-weight:900;margin:29px 0 28px}.underline{position:relative;white-space:nowrap;z-index:0}.underline:after{content:"";position:absolute;height:17px;left:0;right:-6px;bottom:2px;background:var(--green);z-index:-1;transform:rotate(-3deg)}.intro>p{color:var(--muted);font-size:17px;line-height:1.9;margin:0}.intro-bottom{margin-top:66px;display:flex;align-items:center;gap:18px;font-size:13px;line-height:1.9;color:var(--muted)}.intro-bottom b{font-weight:500;color:#282c23}.scribble{font-size:65px;transform:rotate(-17deg);color:#292f20;line-height:1}.mode-bar{display:flex;gap:5px;align-items:center;margin-bottom:16px}.mode{border:0;background:transparent;padding:11px 18px;border-radius:7px;color:#6b7064;font-size:13px}.mode.active{background:#272b22;color:white}.mode span{margin-left:8px}#day-label{margin-left:auto;font-size:11px;color:var(--muted)}.game-board{position:relative;border:1px solid #d7dacd;border-radius:14px;background:#fffef9;overflow:hidden;aspect-ratio:1.13;box-shadow:0 5px 0 #e8eadd;background-image:radial-gradient(#dfe3d7 .7px,transparent .7px);background-size:19px 19px}.board-top,.board-footer{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none;z-index:2}.board-top{top:20px;font-family:monospace;font-size:10px;letter-spacing:1px;color:#777d6c}.board-footer{bottom:18px;font-size:10px;color:#797d70}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.board-hint{position:absolute;left:0;right:0;top:65%;text-align:center;pointer-events:none}.board-hint strong{display:block;font-size:14px;font-weight:500}.board-hint span{display:block;font-size:11px;color:#8a8f7f;margin-top:9px}.challenge{position:absolute;top:44px;left:0;right:0;text-align:center;font-size:12px;color:#547623;pointer-events:none}.actions{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin-top:22px}.button{border:1px solid #d3d7c9;border-radius:8px;height:53px;display:flex;align-items:center;justify-content:center;gap:13px;font-size:14px;font-weight:600;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.secondary{background:transparent}.primary{background:var(--green);border-color:var(--green)}.primary:hover{background:#b6e94c}.primary span{margin-left:14px;font-size:20px}.local-note{text-align:center;font-size:10px;color:#828777;margin:16px 0 0}.bottom-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:27px 0 30px;gap:25px}.bottom-strip>div{display:flex;gap:20px;align-items:flex-start}.step{font-family:monospace;font-size:11px;color:#929785;padding-top:5px}.bottom-strip p{margin:0;font-size:14px;font-weight:600}.bottom-strip p span{display:block;font-size:12px;font-weight:400;color:#858a7b;margin-top:9px}footer{max-width:1224px;margin:auto;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 0 24px;font-size:11px;color:#7f8574}footer>span:nth-child(2){font-family:monospace;font-size:9px;letter-spacing:1px}.result{display:flex;align-items:center;gap:25px;padding:22px 0 0}.result-label{font-size:11px;color:var(--muted)}.score{font-size:50px;font-weight:800;letter-spacing:-2px;font-variant-numeric:tabular-nums}.score small{font-size:13px;margin-left:8px;font-weight:400}.result-copy h2{font-size:18px;margin:0 0 8px}.result-copy p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.poster-button{display:block;margin:18px auto 0;border:0;background:none;text-decoration:underline;text-underline-offset:5px;font-size:12px}dialog{border:1px solid var(--line);border-radius:16px;padding:36px;max-width:440px;width:calc(100% - 36px);color:#23251f;background:#fffef9}dialog::backdrop{background:#23251f66;backdrop-filter:blur(5px)}dialog h2{margin:0 0 20px;font-size:26px}dialog p,dialog li{font-size:14px;line-height:1.9;color:#666f59}dialog ol{padding-left:22px}.close{position:absolute;right:13px;top:10px;border:0;background:none;font-size:26px}.record-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#252a20;color:#fff;padding:14px 22px;border-radius:8px;z-index:5;font-size:13px;width:max-content;max-width:90vw;text-align:center}#share-link{width:100%;padding:12px;border:1px solid #bbb;border-radius:5px;margin:10px 0}dialog .button{width:100%;margin-top:10px}
@media(min-width:1500px){main{padding-top:85px;gap:65px 100px}.header{max-width:1400px}}@media(max-width:1300px){main,footer{margin-left:48px;margin-right:48px}}@media(max-width:850px){.header{height:80px;padding:0 24px}.brand-en{display:none}main{margin:0 24px;padding-top:30px;gap:30px;grid-template-columns:1fr}.intro{padding-top:0}.eyebrow{font-size:10px}h1{font-size:46px;letter-spacing:-2px;margin:15px 0;line-height:1.25}h1 br{display:none}.intro>p{font-size:14px}.intro>p br{display:none}.intro-bottom{display:none}.play-section{max-width:570px;width:100%;margin:auto}.bottom-strip{gap:15px;padding:22px 0}.bottom-strip>div{gap:9px}.bottom-strip p{font-size:12px}.bottom-strip p span{font-size:10px;line-height:1.7}footer{margin:0 24px}footer>span:nth-child(2){display:none}}@media(max-width:440px){main{margin:0 18px;padding-top:25px;gap:25px}h1{font-size:39px}.header{padding:0 18px;height:72px}.brand{font-size:20px}.brand-mark{font-size:36px}.mode{padding:9px 12px;font-size:12px}.game-board{aspect-ratio:1}.board-top,.board-footer{left:16px;right:16px}.board-footer{font-size:9px}.button{font-size:13px}.bottom-strip .step{display:none}.result{gap:15px}.result-copy h2{font-size:16px}.score{font-size:44px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

h1{letter-spacing:-3px}.board-footer{gap:14px;align-items:flex-end}.board-footer>span:first-child{max-width:58%;line-height:1.5}.board-footer>span:last-child{white-space:nowrap}.result>div:first-child{flex-shrink:0}.mode,.button{white-space:nowrap}.intro>p br{display:block}@media(max-width:850px){h1 br{display:block}h1{letter-spacing:-2px}}@media(max-width:380px){.mode{padding:9px 8px;font-size:11px}#day-label{font-size:9px}.primary span{margin-left:0}.board-top{font-size:9px;letter-spacing:0}.record-row{font-size:11px;gap:8px}}

/* Crawlable instructions follow the game, without displacing the canvas. */
main > noscript, .game-guide { grid-column: 1 / -1; }
.game-guide { border-top: 1px solid var(--line); padding: 32px 0 40px; max-width: 78ch; }
.game-guide h2 { font-size: 26px; line-height: 1.3; margin: 32px 0 14px; }
.game-guide h2:first-child { margin-top: 0; }
.game-guide h3 { font-size: 18px; line-height: 1.4; margin: 24px 0 8px; }
.game-guide p, .game-guide li, .script-note { font-size: 15px; line-height: 1.8; color: #505747; }
.game-guide ol { padding-left: 24px; }
.game-guide li + li { margin-top: 10px; }
.game-guide a { text-decoration: underline; text-underline-offset: 3px; }
.guide-links { margin-top: 28px; }
