:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#30332f;background:#f5f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;border:1px solid #dedfd8;background:#fff;cursor:pointer;border-radius:8px;min-height:44px;padding:10px 19px;transition:background .15s,transform .15s}button:hover{background:#f0f1eb;transform:translateY(-1px)}button:focus-visible{outline:3px solid #97a786;outline-offset:3px}button:active{transform:translateY(1px)}[hidden]{display:none!important}#app{position:absolute;aspect-ratio:16/9;width:min(100vw,177.778dvh);height:auto;max-height:100dvh;background:#fff;top:50%;left:50%;transform:translate(-50%,-50%);overflow:hidden}#game{position:absolute;top:0;right:0;bottom:0;left:0}canvas{display:block}#hud{position:absolute;left:4%;right:4%;top:5%;display:flex;justify-content:space-between;align-items:center}nav{display:flex;gap:9px}nav button{width:60px;height:60px;padding:13px;border:2px solid #454e3e;border-radius:10px;background:#ffffffed}#level-label{text-align:right;font-size:17px;letter-spacing:1px}#level-label small{display:block;font-size:11px;letter-spacing:1px;color:#8a8d83;margin-top:5px}#teaching{position:absolute;top:30%;left:9%;right:13%;display:flex;justify-content:space-between;gap:12px;pointer-events:none;color:#777c71;font-size:14px}kbd{display:inline-block;border:1px solid #dddfd6;border-bottom-width:3px;border-radius:5px;padding:4px 9px;background:#fff;color:#41483a}#teaching b{font-size:24px;font-weight:400}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffed;display:grid;place-items:center;z-index:5;overflow:auto}.panel{text-align:center;max-width:650px;padding:24px;animation:appear .2s ease-out}.eyebrow{font-size:10px;font-weight:600;letter-spacing:3px;color:#8c9185}h1{font-size:clamp(25px,4.2vw,52px);font-weight:600;letter-spacing:5px;margin:17px 0 12px}p{font-size:15px;color:#757c6d;line-height:1.8;margin:12px 0}.intro{letter-spacing:3px}.hero-cat{width:160px;height:124px;object-fit:contain;margin:17px auto 6px;display:block;animation:hello .6s ease-out}.subtle{font-size:12px;color:#91968b}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:25px}.primary{background:#303b2c;color:#fff;border-color:#303b2c}.primary:hover{background:#47583f}.sound-settings{display:flex;justify-content:center;gap:10px;margin:20px 0}.sound-settings button{font-size:13px}.hint{max-width:440px;text-align:left;line-height:2;font-size:17px}#touch{position:absolute;left:5%;right:5%;bottom:5%;display:none;justify-content:space-between;pointer-events:none}#touch div{display:flex;gap:16px}#touch button{pointer-events:auto;width:62px;height:56px;font-size:27px;background:#f1f3edb3;border-color:#d7dccf99;touch-action:none;user-select:none;-webkit-user-select:none}#touch .held{background:#d8dfce}#portrait{display:none}@media(pointer:coarse){#touch{display:flex}button{-webkit-tap-highlight-color:transparent}#teaching{font-size:12px;top:27%}kbd{padding:2px 6px}}@media(max-height:500px){.panel{padding:12px}h1{font-size:28px;margin:8px}.hero-cat{width:100px;height:77px;margin:6px auto}.actions{margin-top:12px}p{margin:6px;font-size:13px}.eyebrow{font-size:9px}#hud{top:3%}nav button{font-size:13px}#level-label{font-size:14px}#touch button{height:45px;width:56px}#teaching{font-size:11px}}@media(orientation:portrait)and (pointer:coarse){#portrait{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#fff;z-index:20;font-size:48px}#portrait strong{font-size:20px}#portrait span{font-size:13px}#app{width:100vw;height:100dvh;aspect-ratio:auto}}@keyframes appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes hello{0%{transform:rotate(-15deg);opacity:0}to{transform:rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.release-label{font-size:10px;color:#92968b;letter-spacing:1px}nav button svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}#app:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:2px solid #454e3e;border-radius:8px;pointer-events:none;z-index:10}@media(max-height:500px){nav button{width:48px;height:48px;padding:9px}#app:after{top:6px;right:6px;bottom:6px;left:6px}}
