*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:ui-rounded,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#463522;background:#efbe60;background-image:radial-gradient(#fff7df45 1.5px,transparent 1.5px);background-size:24px 24px;display:flex;justify-content:center}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:3px solid #92602a;outline-offset:3px}[hidden]{display:none!important}#game{position:relative;width:min(100%,480px,calc(100dvh * .60));height:100dvh;overflow:hidden;background:#fff8e7;box-shadow:0 0 80px #81521822;isolation:isolate}#board{width:100%;height:100%;display:block;touch-action:none;outline:none}.hud{position:absolute;top:max(16px,env(safe-area-inset-top));left:22px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.hud button{pointer-events:auto}.scoreboard h1{font-size:15px;margin:0;font-weight:800;letter-spacing:1px}.scoreline{display:flex;gap:7px;align-items:baseline;margin-top:1px}.scoreline strong{font-size:clamp(34px,7vw,46px);line-height:1.18;font-weight:850;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;color:#d85b22}.scoreline span{font-size:13px;color:#876e50}.best{font-size:13px;color:#967958;line-height:1.8}.best span{font-weight:750;font-variant-numeric:tabular-nums}.nextbox{display:flex;align-items:center;flex-direction:column;padding-top:2px;margin-left:auto;margin-right:14px}.label{font-size:12px;color:#92754f;font-weight:700}.nextbox canvas{width:57px;height:57px;margin-top:5px;background:#ffefbc;border-radius:18px;border:1px solid #eac57477}.icon-button{width:44px;height:44px;flex-shrink:0;border-radius:14px;background:#fffdf5;border:1px solid #dac39b;display:grid;place-items:center;color:#6b4c2c;box-shadow:0 3px 0 #e5d1ae55}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.icon-button:hover{background:#ffefbb}.hint{position:absolute;top:43%;left:20px;right:20px;text-align:center;pointer-events:none;display:flex;flex-direction:column;gap:10px;color:#947956;transition:opacity .3s}.hint-title{font-size:18px;font-weight:750;color:#766043}.hint span:nth-child(2){font-size:15px}.hint-note{font-size:12px;color:#b39b79;margin-top:8px}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#fff8e7;z-index:5;font-size:14px;color:#9a7c51}.loading strong{font-size:19px;color:#6c5233}.loader{width:30px;height:30px;border:3px solid #efd9a6;border-top-color:#dc772d;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:absolute;left:50%;top:30%;transform:translate(-50%,-8px);padding:12px 19px;border-radius:16px;background:#594020ee;color:#fff5d5;white-space:nowrap;font-size:15px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:8}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:24px;background:#49382165;backdrop-filter:blur(7px);z-index:10}.panel{width:100%;max-width:380px;padding:30px 24px;background:#fffaf0;border-radius:28px;border:1px solid #fff;box-shadow:0 16px 60px #38231325;max-height:90%;overflow:auto}.panel-kicker{font-size:12px;letter-spacing:2px;color:#af8043;font-weight:800}.panel h2{font-size:29px;letter-spacing:-.6px;margin:8px 0 10px;line-height:1.3}.panel-sub{font-size:14px;line-height:1.65;color:#957b5a;margin:0 0 24px}.primary,.secondary{width:100%;min-height:52px;text-align:center;border-radius:15px;font-size:16px;font-weight:750;margin-bottom:10px;padding:12px}.primary{border:1px solid #e1a92b;color:#5d3b13;background:#ffd35f;box-shadow:0 4px 0 #e5b44a;transition:transform .15s}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #e5b44a}.secondary{background:#fffdf8;border:1px solid #e4d3b6;color:#6c5130}.secondary span{font-size:12px;font-weight:500;color:#ad946f;margin-left:10px}.menu-note{font-size:12px;text-align:center;color:#ac9575;margin:18px 0 0}.gallery-panel{max-width:420px;padding:24px 18px}.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.gallery-head h2{font-size:25px;margin:7px 0 12px}.gallery-panel .panel-sub{font-size:13px;margin-bottom:15px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.card{background:#fff;border:1px solid #ecdcbf;border-radius:16px;display:flex;flex-direction:column;align-items:center;padding:9px 4px 11px;position:relative}.card .level{position:absolute;left:8px;top:7px;font-size:11px;font-weight:850;color:#b18c55}.card canvas{width:75px;height:82px;max-width:100%;margin:6px 0}.card .name{font-size:12px;font-weight:750;text-align:center}.card .points{font-size:11px;color:#a48c6c;margin-top:4px}.card:last-child{background:#fff1bc;border-color:#edc767}.result-label{display:block;font-size:13px;color:#94754e;margin-top:22px}.final-score{display:block;font-size:58px;letter-spacing:-2px;color:#dc6828;line-height:1.4}.over-panel{text-align:center}.over-panel h2{font-size:28px}@media(max-width:350px){.hud{left:15px;right:12px}.nextbox{margin-right:5px}.panel{padding:25px 18px}.gallery-grid{gap:5px}.card canvas{width:65px;height:70px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
