:root{font-family:"Microsoft YaHei",sans-serif;color:#354a3e;background:#edf1e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#edf1e7}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:2px solid #775387;outline-offset:4px}button:disabled{cursor:default;opacity:.55}.layout{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:60px;padding:24px 34px}.guide{width:270px;flex:none}.eyebrow{font-size:11px;letter-spacing:2px;color:#758572;margin:0 0 14px}h1{font-family:"STKaiti","KaiTi",serif;font-weight:500;font-size:48px;letter-spacing:8px;margin:0 0 10px}.intro{font-size:14px;color:#7d8978;letter-spacing:1px;margin:0 0 37px}.chapter-list{display:flex;flex-direction:column;gap:10px}.chapter{display:flex;align-items:center;gap:15px;text-align:left;background:transparent;border:1px solid #ccd4c6;border-radius:5px;padding:14px 12px;width:100%;color:#61705e;transition:background .2s,border-color .2s}.chapter.active{background:#fbfcf5;border-color:#a8b394;box-shadow:0 4px 16px #34452d08;color:#354c3a}.chapter:hover{background:#f9faf2}.num{font-family:KaiTi,serif;font-size:26px;color:#a4ab90;min-width:28px}.chapter.active .num{color:#687d58}.chapter strong{display:block;font-size:14px;letter-spacing:2px;font-weight:500}.chapter small{display:block;font-size:11px;margin-top:7px;color:#8b9383}.status{margin-left:auto;font-size:10px;color:#9ba390;white-space:nowrap}.instructions{margin-top:32px;font-size:12px;color:#7b8575;line-height:1.9}.instructions h2{font-weight:500;font-size:13px;letter-spacing:2px;color:#52634a;margin:0 0 12px}.instructions b{font-weight:500;color:#53684d}.instructions p{margin:0 0 10px}.keys{font-size:11px}kbd{display:inline-block;border:1px solid #c9d0c1;background:#f5f7ef;min-width:20px;line-height:20px;text-align:center;border-radius:3px;margin:0 1px}.version{font-size:10px;color:#a5ab9a;letter-spacing:1px;margin-top:30px}.game-wrap{flex:none}.game{position:relative;width:min(48.375vh,540px);aspect-ratio:9/16;overflow:hidden;border:1px solid #d1dac4;border-radius:10px;box-shadow:0 22px 65px #41543425,0 0 0 6px #f7f9ef;container-type:inline-size;isolation:isolate}.backdrop{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.game-brand{position:absolute;top:4%;left:0;width:100%;text-align:center;font:600 6.1cqw "STKaiti","KaiTi",serif;letter-spacing:.5cqw;color:#865338;text-shadow:0 1px #fff5d2;pointer-events:none}.banner{position:absolute;top:16.4%;left:9%;width:82%;height:8%;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.banner small{font-size:2.7cqw;color:#65805c;letter-spacing:.7cqw;margin-bottom:.6cqw}.banner h2{font-family:"STKaiti","KaiTi",serif;font-size:5cqw;letter-spacing:.25cqw;margin:0;color:#315338;font-weight:600}.counters{position:absolute;top:27%;left:20%;width:60%;display:flex;justify-content:space-between;color:#5b7556;font-size:2.6cqw;pointer-events:none;font-variant-numeric:tabular-nums}.counters b{font-weight:500;margin-left:1cqw}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.feedback{position:absolute;top:85%;left:18%;width:74%;font-size:2.9cqw;color:#526d47;text-align:center;margin:0;line-height:1.65;pointer-events:none;text-shadow:0 1px 4px #f5f8df}.game-actions{position:absolute;bottom:4%;left:24%;right:5%;display:flex;gap:1.4cqw}.game-actions button{flex:1;padding:2.5cqw .6cqw;border:1px solid #aeb993;border-radius:5px;color:#4d6345;background:#f3f4dfeb;font-size:2.7cqw;white-space:nowrap;box-shadow:0 2px 0 #a7b28b80}.game-actions button:hover{background:#fffdef}.game-actions button:active{transform:translateY(1px)}.side-note{width:92px;text-align:center;align-self:center;color:#94a185}.side-note span{font:36px KaiTi,serif}.side-note p{font:13px/2.4 KaiTi,serif;letter-spacing:4px;margin-top:24px}.modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#30483988;backdrop-filter:blur(5px)}[hidden]{display:none!important}.modal-card{width:81%;text-align:center;border:double 4px #b5ba94;background:#f6f5e8;padding:9cqw 5cqw;border-radius:10px;box-shadow:0 12px 30px #273b3440}.modal-card .eyebrow{font-size:2.5cqw;letter-spacing:.4cqw}.modal-card h2{font:8cqw KaiTi,serif;color:#536a49;margin:4cqw 0}.modal-card p{font-size:3cqw;line-height:1.9;color:#7c836d;margin-bottom:7cqw}.modal-card button{display:block;width:100%;border:1px solid #788966;border-radius:5px;background:#6f825c;color:white;font-size:3.5cqw;padding:3cqw;margin-top:2cqw}.modal-card button.secondary{background:transparent;color:#71835e;border-color:#c4cbb8}@media(min-height:1000px){.game{width:min(52vh,560px)}}@media(max-width:1080px){.side-note{display:none}.layout{gap:40px}.guide{width:240px}}@media(max-width:740px){.layout{padding:12px;display:flex;flex-direction:column;gap:22px}.game-wrap{order:0}.game{width:min(calc(100vw - 30px),54vh,510px)}.guide{order:1;width:min(100%,510px)}.eyebrow,.guide h1,.intro,.version{display:none}.chapter-list{flex-direction:row;gap:6px}.chapter{padding:10px 7px;gap:6px;justify-content:center}.chapter strong{font-size:12px;letter-spacing:0}.chapter small{font-size:9px;white-space:nowrap}.chapter .num{font-size:20px;min-width:20px}.status{display:none}.instructions{margin-top:18px}.instructions h2{margin-bottom:5px}.instructions p{font-size:11px}.game-actions button{min-height:31px}}

.guide h1{font-size:44px;font-weight:800;letter-spacing:3px;white-space:nowrap}
.game-brand{font-size:7.1cqw;font-weight:800;-webkit-text-stroke:.035cqw currentColor}

/* Completion card: title, elapsed time, creator and two genuine account QR slots. */
.guide .instructions{margin-top:24px}.guide .intro{margin-bottom:28px}.guide .version{margin-top:14px}
.game-actions{left:22%;right:4%;gap:1.2cqw}.game-actions button{font-size:2.65cqw;padding:2.6cqw .4cqw}
.game-actions button[aria-pressed=true]{background:#e5ebd6;border-color:#819870}
.completion{background:#405842a8;backdrop-filter:blur(9px);padding:5cqw 4cqw;z-index:5;overflow-y:auto;overscroll-behavior:contain}
.completion-card{position:relative;width:100%;max-height:100%;overflow-y:auto;scrollbar-width:thin;text-align:center;border:1px solid #bac6a6;border-radius:6cqw;background:radial-gradient(ellipse at 50% 0,#e8eedb 0,transparent 54%),#faf9f0;padding:7cqw 5cqw 4cqw;box-shadow:0 5cqw 14cqw #21382333;color:#4d654b}
.preview-badge{position:absolute;top:0;right:0;margin:0;background:#e7dcc5;color:#8f7653;font-size:max(9px,2.3cqw);padding:1cqw 2.6cqw;border-radius:0 0 0 2cqw}
.completion h2{font:500 9.7cqw/1.2 "STKaiti","KaiTi",serif;letter-spacing:1cqw;margin:0 0 2.5cqw;color:#3f5f45}.completion h2:focus{outline:none}
.completion-stats{font-size:max(10px,2.9cqw);color:#899179;margin:0;line-height:1.7;font-variant-numeric:tabular-nums}
.completion-divider{display:flex;align-items:center;gap:3cqw;margin:2.5cqw 1cqw 2cqw;color:#b1b893;font-size:3cqw}.completion-divider:before,.completion-divider:after{content:"";height:1px;background:#d9dfcc;flex:1}
.completion-thanks{font:500 5cqw/1.5 "STKaiti","KaiTi",serif;letter-spacing:.3cqw;margin:0 0 4cqw}
.creator-profile{border:1px solid #e0e4d5;border-radius:3.5cqw;background:#fffdf6b0;padding:3cqw}
.creator-profile h3{font-size:max(11px,3.5cqw);line-height:1.7;font-weight:500;color:#5b7052;margin:0 0 3cqw}
.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:4cqw}.qr-grid figure{margin:0;min-width:0}.qr-grid figcaption{font-size:max(11px,3.2cqw);letter-spacing:.5cqw;margin-top:2cqw}
.qr-area{width:100%;aspect-ratio:1;background:#f2f4e9;border-radius:2cqw;padding:2cqw;display:flex;align-items:center;justify-content:center}
.qr-area img{width:100%;height:100%;object-fit:contain;user-select:auto;-webkit-touch-callout:default}
.qr-placeholder{position:relative;display:flex;width:100%;height:100%;justify-content:center;align-items:center;flex-direction:column;gap:1.8cqw;color:#92a07f}
.qr-placeholder>span:not(.qr-corners){font-size:max(10px,3cqw)}.qr-placeholder small{font-size:max(9px,2.4cqw);color:#a5ad98}
.qr-corners{position:absolute;inset:0;background:linear-gradient(#aab898,#aab898) left top/4cqw 1px,linear-gradient(#aab898,#aab898) left top/1px 4cqw,linear-gradient(#aab898,#aab898) right top/4cqw 1px,linear-gradient(#aab898,#aab898) right top/1px 4cqw,linear-gradient(#aab898,#aab898) left bottom/4cqw 1px,linear-gradient(#aab898,#aab898) left bottom/1px 4cqw,linear-gradient(#aab898,#aab898) right bottom/4cqw 1px,linear-gradient(#aab898,#aab898) right bottom/1px 4cqw;background-repeat:no-repeat}
.profile-link{display:inline-block;font-size:3cqw;color:#55764d;margin-top:2cqw;text-underline-offset:1cqw;min-height:30px}
.creator-promise{margin:3.5cqw 0;color:#819073;font-size:max(11px,3cqw);line-height:1.85}.creator-promise p{margin:0 0 2cqw}.creator-promise .promise-title{font-weight:500;color:#59724d;font-size:max(11px,3.25cqw)}
.completion-replay{display:block;width:100%;border:1px solid #70885e;background:#70885e;color:#fffdf2;border-radius:2.3cqw;font-size:max(12px,3.4cqw);letter-spacing:.4cqw;padding:3cqw;margin-top:2.5cqw;min-height:42px;box-shadow:0 1cqw 3cqw #4b68451a}.completion-replay:hover{background:#5e784f}
.completion-back{display:inline-flex;align-items:center;justify-content:center;font-size:max(11px,2.8cqw);color:#79866c;text-decoration:none;margin-top:1cqw;padding:1cqw;min-height:32px}
.music-notice{text-align:center;font-size:11px;line-height:1.6;color:#869071;margin:8px 0 0}.music-links{font-size:11px;color:#abb59b;margin-top:14px}.music-links a{color:#839373;text-underline-offset:4px}
a:focus-visible{outline:2px solid #775387;outline-offset:4px}
.completion-card{padding:6cqw 3.5cqw 3cqw}.creator-profile{padding:2.5cqw 2cqw}.qr-grid{gap:3cqw}.qr-area{background:white;padding:0;border-radius:1.5cqw;overflow:hidden}
.qr-grid figcaption{display:flex;justify-content:center;align-items:center;height:7cqw;margin-top:1.5cqw}.platform-logo{max-width:19cqw;height:7cqw;object-fit:contain;border-radius:1.5cqw}
.qr-tip{font-size:max(10px,2.65cqw);color:#77856d;margin:2cqw 0;line-height:1.6}.completion-stats{color:#566b48;font-weight:600;font-size:3.6cqw}.completion-thanks{margin-bottom:3cqw}
.creator-promise .wish-invitation{font-size:max(13px,3.75cqw);font-weight:800;color:#3d5938;line-height:1.8;margin:3cqw 0}.wish-invitation strong{font-weight:800}
@media(max-width:740px){.music-links{text-align:center}.chapter{min-width:0}.chapter small{white-space:normal;line-height:1.5}.chapter strong{font-size:11px}.chapter>span{min-width:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.completion-back{border:0;background:transparent;cursor:pointer;width:100%;font-weight:600;min-height:40px}
.completion-card{padding-top:10cqw}.preview-badge{left:0;right:auto;border-radius:0 0 2cqw 0}
.completion-share-top{position:absolute;top:2cqw;right:3cqw;border:0;background:transparent;color:#637952;font-size:max(11px,3cqw);padding:1cqw 2cqw;cursor:pointer}
.share-guide{position:fixed;inset:0;z-index:30;background:#243c29dd;padding:max(24px,env(safe-area-inset-top)) 22px 28px;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain;overflow-y:auto}
.share-guide-card{width:min(100%,380px);border:1px solid #cad4bb;border-radius:20px;background:#faf9ee;padding:25px 22px;color:#4e6544;text-align:center;box-shadow:0 16px 55px #14281940}
.share-guide h2{font-size:21px;line-height:1.5;margin:0 0 12px}.share-guide p{font-size:14px;line-height:1.8;margin:0 0 18px}
.share-guide button{border:1px solid #8a9b79;background:#718662;color:#fffdf3;border-radius:9px;min-height:42px;padding:9px 18px;font-size:14px;cursor:pointer}
.share-guide label{display:block;text-align:left;font-size:12px;margin-bottom:7px}.share-guide input{width:100%;min-width:0;border:1px solid #ccd3c0;border-radius:8px;padding:12px 9px;font-size:14px;color:#4e6544;background:white;margin-bottom:12px}
#shareStatus{margin:12px 0;font-size:12px}#closeShareGuide{background:transparent;color:#657c55}.share-arrow{display:none}
.share-guide[data-wechat=true]{align-items:flex-start;padding-top:130px}.share-guide[data-wechat=true] .share-arrow{display:block;position:absolute;right:25px;top:20px;color:#fffdf0;font-size:76px;line-height:1}
@media(max-height:480px){.share-guide[data-wechat=true]{padding-top:80px}.share-guide[data-wechat=true] .share-arrow{font-size:50px;top:6px}}
.share-guide .share-scope-note{font-size:12px;color:#879179}
/* The complete card fits inside the frame with no nested scrolling. */
.completion{overflow:hidden;padding:0;touch-action:none}
.completion-card{position:absolute;left:50%;top:50%;width:calc(100% - 5cqw);max-height:none;overflow:visible;padding:8.5cqw 3.3cqw 2cqw;transform:translate(-50%,-50%) scale(var(--completion-fit,1));transform-origin:center}
.completion h2{font-size:8.5cqw;line-height:1.2;letter-spacing:.7cqw;margin:0 0 1.5cqw}
.completion-stats{font-size:3.4cqw;line-height:1.4;margin:0 0 2cqw}.completion-divider{display:none}
.completion-thanks{font-size:4.6cqw;line-height:1.4;margin:0 0 2.5cqw}
.creator-profile{padding:2.2cqw}.creator-profile h3{font-size:3.5cqw;line-height:1.5;margin:0 0 2cqw}
.qr-grid{max-width:73cqw;margin:0 auto;gap:3cqw}.qr-grid figcaption{height:6cqw;margin-top:1.2cqw}.platform-logo{height:6cqw;max-width:18cqw}
.qr-tip{font-size:2.7cqw;line-height:1.4;margin:1.5cqw 0}
.creator-promise{margin:2cqw 0}.creator-promise .promise-title{font-size:3.3cqw;line-height:1.5;margin:0 0 2cqw}
.creator-promise .wish-invitation,.creator-promise .wish-fulfilment{font-size:3.75cqw;font-weight:800;color:#3d5938;line-height:1.65;margin:0 0 2cqw}
.wish-invitation strong,.wish-fulfilment strong{font:inherit}
.completion-replay{min-height:36px;padding:2cqw;margin:0;font-size:3.4cqw}.completion-back{min-height:32px;margin:1cqw 0 0;padding:1cqw;font-size:3cqw}

:root{--board-width:min(540px,calc((100svh - 146px)*.5625))}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:contain}button,a{-webkit-tap-highlight-color:transparent}button{user-select:none;-webkit-user-select:none}
.layout{padding:24px 30px;gap:48px}.game-wrap{width:var(--board-width)}.game{width:100%}
.fine-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:8px;margin-top:12px;min-height:44px;width:100%}
.fine-controls button{border:1px solid #b8c4a8;border-radius:9px;background:#f9faee;color:#4d6544;min-height:44px;font-size:12px;padding:6px;white-space:nowrap;box-shadow:0 2px 0 #d4ddc7;touch-action:manipulation}
.fine-controls button span{font-size:21px;vertical-align:-1px;line-height:1}.fine-controls button:active:not(:disabled){background:#e3ebd6;transform:translateY(1px)}
.fine-controls button:disabled{opacity:.46}.fine-controls>span{font-size:11px;color:#8a967e;text-align:center;line-height:1.6}
.mobile-tip{margin:9px 0 0;text-align:center;color:#92a086;font-size:10px;letter-spacing:.25px}
.session-note{color:#8d9980;font-size:11px;line-height:1.8;margin:16px 0 0}.guide .version{margin-top:8px}
.chapter:disabled{opacity:.55;cursor:default}.chapter:disabled:hover{background:transparent}.chapter.completed .num{color:#7c8c5c}.chapter .status{font-size:10px}
.game-actions button{min-height:38px}.modal{z-index:4}.modal-card .eyebrow{display:block}.completion{z-index:5}
.counters{font-size:max(11px,2.6cqw)}.feedback{font-size:max(11px,2.9cqw)}.banner small{font-size:max(10px,2.7cqw)}
.no-script{text-align:center;padding:18px;background:#fff3d4;color:#725829}
.level-timer{position:absolute;top:10%;left:15%;width:70%;display:flex;align-items:baseline;justify-content:center;gap:2cqw;pointer-events:none;color:#496246;text-shadow:0 1px 4px #fffff3}
.level-timer span{font-size:3.2cqw;letter-spacing:.3cqw}.level-timer strong{font-size:7.2cqw;line-height:1.15;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.3cqw}
.counters{top:26.4%;left:32%;width:36%;justify-content:center;padding:.7cqw 1cqw;background:#f5f7e6d9;border-radius:2cqw;color:#4b6545}
.mascot{position:absolute;left:.5%;bottom:3.4%;width:21.5%;aspect-ratio:1/2;pointer-events:none;filter:drop-shadow(0 2px 2px #3f523827);animation:mascot-breathe 3.4s ease-in-out infinite;transform-origin:50% 95%}
.mascot-sprite{width:100%;height:100%;background-repeat:no-repeat;background-size:500% 100%;animation:mascot-poses 14s step-end infinite}
@keyframes mascot-poses{0%,100%{background-position:0% 0}17%{background-position:25% 0}31%{background-position:0% 0}45%{background-position:50% 0}60%{background-position:75% 0}78%{background-position:100% 0}}
@keyframes mascot-breathe{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-2px) rotate(.7deg)}}
.banner{top:16.4%;left:6%;width:88%;height:9.5%;padding:1.5cqw 3cqw;background:linear-gradient(110deg,#f1e7c9,#fffbee 45%,#f0e5c6);border:.75cqw double #b9a576;border-radius:2cqw;box-shadow:inset 0 0 0 .4cqw #fff9e0,0 .6cqw 1.4cqw #6f694737}
.banner small{line-height:1.5;margin:0 0 .8cqw;letter-spacing:.4cqw;white-space:nowrap}.banner h2{line-height:1.35;font-size:4.6cqw;white-space:nowrap}
.counters{top:27.1%}
.game-actions{height:max(40px,9cqw)}
.share-message{position:absolute;top:auto;bottom:calc(4% + max(40px,9cqw) + 2cqw);left:23%;width:73%;margin:0;text-align:center;color:#405b37;font-size:max(11px,3.5cqw);font-weight:600;line-height:1.55;letter-spacing:.05cqw;text-shadow:0 1px 4px #fffbea;pointer-events:none}
.feedback{top:auto;bottom:calc(4% + max(40px,9cqw) + 5cqw + max(34.1px,10.85cqw));left:24%;width:70%;padding:.8cqw 1cqw;background:#fbf9e8e8;border-radius:1.4cqw;font-size:max(10px,2.7cqw);line-height:1.5}.feedback:empty{display:none}
.trial-links{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}.trial-links button,.trial-links a{font-size:12px;color:#66516f;background:#faf7ed;border:1px solid #c8bfbd;border-radius:8px;padding:8px 11px;min-height:38px;text-decoration:none}
.trial-links a{background:transparent;border-color:transparent;color:#617455}
@media(prefers-reduced-motion:reduce){.mascot,.mascot-sprite{animation:none}}
#restartTitle{font-size:5.7cqw;line-height:1.5}
@media(min-height:1000px){.game{width:100%}}
@media(max-width:1080px){.layout{gap:32px}}
@media(max-width:740px){
  :root{--board-width:min(calc(100vw - 20px),calc((100svh - 104px)*.5625),510px)}
  .layout{padding:max(10px,env(safe-area-inset-top)) 10px max(18px,env(safe-area-inset-bottom));gap:22px;justify-content:flex-start;min-height:100svh}
  .game-wrap{order:0;width:var(--board-width)}.game{width:100%;border-radius:12px;box-shadow:0 8px 30px #41543420,0 0 0 3px #f7f9ef}
  .guide{order:1;width:min(100%,510px)}.chapter{min-height:65px;padding:10px 5px}.chapter .num{min-width:18px}.chapter>span{min-width:0}.chapter strong{font-size:11px}.chapter small{white-space:normal}
  .fine-controls{margin-top:10px;gap:7px}.fine-controls button{min-height:44px;font-size:12px}.fine-controls>span{font-size:11px}
  .game-actions{left:21%;right:3%;gap:1.1cqw}.game-actions button{min-height:40px;font-size:2.8cqw}
  .instructions{border-top:1px solid #d5decb;padding-top:16px}.instructions p{font-size:12px}.session-note{text-align:center;margin-top:10px}.guide .version{display:block;text-align:center;font-size:10px}
}
@media(max-height:500px) and (orientation:landscape){:root{--board-width:280px}.layout{flex-direction:row;align-items:flex-start;justify-content:center;gap:24px}.game-wrap{order:1}.guide{order:0;max-width:280px}.chapter-list{flex-direction:column}.chapter{min-height:44px}.chapter small{white-space:nowrap}.mobile-tip{line-height:1.7}}
@supports not (height:100svh){:root{--board-width:min(540px,calc((100vh - 146px)*.5625))}@media(max-width:740px){:root{--board-width:min(calc(100vw - 20px),calc((100vh - 104px)*.5625),510px)}}}
/* Single-screen player: the game plus two footer lines are the entire page. */
:root{--view-height:100vh;--edge-top:max(8px,env(safe-area-inset-top));--edge-bottom:max(8px,env(safe-area-inset-bottom));--board-width:min(540px,calc(100vw - 20px),calc((var(--view-height) - var(--edge-top) - var(--edge-bottom) - 46px)*.5625))}
@supports(height:100dvh){:root{--view-height:100dvh}}
html,body{height:100%;width:100%;overflow:hidden;overscroll-behavior:none}
.layout{position:fixed;inset:0;width:100%;height:var(--view-height);min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--edge-top) 10px var(--edge-bottom)}
.game-wrap{order:0;width:var(--board-width);max-width:none;flex:none}.game{width:100%;border-radius:12px;box-shadow:0 5px 24px #41543420,0 0 0 3px #f7f9ef}
.page-footer{order:1;flex:none;width:min(calc(100vw - 16px),660px);height:40px;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:center}
.page-footer .share-message{position:static;width:100%;margin:0;white-space:nowrap;color:#536e48;font-size:clamp(11px,3.2vw,13px);line-height:1.4;font-weight:500;letter-spacing:0;text-shadow:none}
.creator-signature{margin:0;color:#7d8d70;font-size:11px;line-height:1.4;letter-spacing:.2px}
.fine-controls{position:absolute;left:22%;bottom:calc(4% + max(40px,9cqw) + 1.5cqw);width:74%;margin:0;min-height:34px;gap:1cqw;grid-template-columns:1fr .95fr 1fr}
.fine-controls button{min-height:34px;padding:.8cqw 2px;font-size:max(10px,2.6cqw)}.fine-controls button span{font-size:16px}.fine-controls>span{font-size:max(9px,2.4cqw);line-height:1.4}
.feedback{bottom:calc(4% + max(40px,9cqw) + 34px + 4cqw)}
/* Visible while the small game script loads; removed on the first rendered frame. */
.game-loading{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);z-index:4;margin:0;padding:.65em 1em;border-radius:1em;background:#f4f7e9e8;color:#365c45;font-size:16px;white-space:nowrap;pointer-events:none}
.game-loading[hidden]{display:none}
