:root{--bg:#fcfbf8;--ink:#3a3730;--muted:#a39d90;--accent:#e8833a;--green:#3e9b4f;--red:#e24b36;--line:#eceae3}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--ink);flex-direction:column;min-height:100vh;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:10px;font-weight:700;display:flex}.brand .logo{object-fit:cover;border-radius:50%;width:26px;height:26px;display:block}.brand em{color:var(--muted);letter-spacing:1px;font-size:12px;font-style:normal;font-weight:400}.iconbtn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:16px;transition:all .15s}.iconbtn:hover{background:#f2efe8}.iconbtn.lang{border-radius:999px;width:auto;padding:0 12px;font-size:13px;font-weight:700}.topbar-right{align-items:center;gap:8px;display:flex}main{flex-direction:column;flex:1;align-items:center;padding:14px 16px 26px;display:flex}.hud{align-items:stretch;gap:12px;width:min(94vw,700px);margin-bottom:12px;display:flex}.hud-box{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:58px;padding:8px 14px;display:flex}.hud-box small{color:var(--muted);letter-spacing:1px;font-size:11px}.hud-box b{font-size:19px;font-weight:800;line-height:1.1}.score-box,.time-box{min-width:104px}.word-box{flex:1}.chips{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.chip{width:24px;height:24px;color:var(--ink);background:#f7f4ec;border:1px solid #e4decf;border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:800;transition:all .12s;display:flex}.chip.done{background:var(--green);border-color:var(--green);color:#fff}.chip.cur{color:#c2661f;background:#fbf0e6;border-color:#eabf9c}.bar{background:#efece4;border-radius:3px;width:84px;height:5px;overflow:hidden}.bar i{background:var(--accent);border-radius:3px;width:100%;height:100%;transition:width .12s linear,background .2s;display:block}.time-box.warn .bar i{background:#f5b940}.time-box.danger .bar i{background:var(--red)}.time-box.danger b{color:var(--red);animation:.6s step-start infinite blink}@keyframes blink{50%{opacity:.35}}.board-wrap{position:relative}canvas#board{aspect-ratio:22/15;border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:14px;width:min(94vw,700px);display:block}canvas#board.shake{animation:.45s shake}@keyframes shake{20%{transform:translate(-5px,2px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,-2px)}80%{transform:translate(3px,2px)}}.start-btn{font:inherit;letter-spacing:4px;text-indent:4px;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:13px 40px;font-size:17px;transition:all .18s;animation:2.2s ease-in-out infinite breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 26px #e8833a73}.start-btn:hover{filter:brightness(1.06);transform:translate(-50%,-50%)translateY(-2px)}.start-btn.hidden{display:none}@keyframes breathe{0%,to{box-shadow:0 10px 26px #e8833a73}50%{box-shadow:0 10px 34px #e8833abf}}.levels{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.touch-controls{display:none}@media (hover:none),(pointer:coarse),(width<=760px){.touch-controls{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:30px;margin-top:16px;display:flex}}.dpad{touch-action:manipulation;grid-template-rows:repeat(2,56px);grid-template-columns:repeat(3,56px);gap:8px;display:grid}.dbtn{border:1px solid var(--line);color:var(--ink);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:14px;font-size:16px}.dbtn:active{background:var(--accent);color:#fff;border-color:var(--accent)}.dbtn.up{grid-area:1/2}.dbtn.left{grid-area:2/1}.dbtn.down{grid-area:2/2}.dbtn.right{grid-area:2/3}.boost-hold{border:1px solid var(--accent);width:82px;height:82px;color:var(--accent);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:50%;font-size:15px;font-weight:700}.boost-hold:active{background:var(--accent);color:#fff}.sbtn{border:1px solid var(--line);width:46px;height:46px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;font-family:inherit;font-size:14px;transition:all .15s}.sbtn:hover{border-color:var(--accent);color:var(--accent)}.sbtn.off{opacity:.38}.brand h1{letter-spacing:2px;margin:0;font-size:18px;font-weight:700}.hint{color:var(--muted);text-align:center;margin-top:14px;font-size:12px;line-height:1.8}.seo{text-align:left;color:#8a8375;width:min(94vw,700px);margin:26px auto 0;font-size:13px;line-height:1.9}.seo h2{color:#3a3730;letter-spacing:1px;margin:22px 0 6px;font-size:15px}.seo h3{color:#3a3730;margin:14px 0 4px;font-size:13px}.seo p{margin:0 0 8px}.seo b{color:#3a3730}.overlay,.modal{z-index:30;background:#322d2661;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay.hidden,.modal.hidden{display:none}.win-card,.help-card,.pause-card{text-align:center;background:#fff;border-radius:18px;max-width:90vw;padding:30px 36px;animation:.32s cubic-bezier(.2,1.4,.4,1) pop;box-shadow:0 18px 50px #3228142e}@keyframes pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.win-card .emoji,.pause-card .emoji{font-size:42px}.win-card h2,.pause-card h2{letter-spacing:6px;margin:8px 0 4px;font-weight:700}.win-card p,.pause-card p{color:var(--muted);margin:4px 0}.win-card .row{justify-content:center;gap:10px;margin-top:18px;display:flex}.btn{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:9px 18px;transition:all .15s}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;padding:9px 26px}.btn.primary:hover{color:#fff;background:#000}.help-card{text-align:left;max-width:480px;font-size:14px;line-height:1.9}.help-card h2{text-align:center;letter-spacing:4px;margin:0 0 10px;font-size:20px}.help-card b.ac{color:var(--accent)}.help-card .foot{text-align:center;margin-top:12px}@media (width<=560px){.hud{flex-wrap:wrap}.word-box{order:-1;width:100%}.score-box,.time-box{flex:1}.topbar{padding:0 12px}.brand em{display:none}}
