html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:flex;flex-direction:column;background:#0d1b21;font-family:"Microsoft YaHei",sans-serif}#mount{position:relative;flex:1;min-height:0;overflow:hidden}
#number-game{--canvas:#172b34;--panel:#213b46;--ink:#fff9e8;--muted:#d5e0e3;--tile:#fff9e8;--number:#172b34;--accent:#f7cc65;--success:#155437;--error:#972d28;width:1280px;height:728px;display:flex;align-items:center;flex-direction:column;color:var(--ink);box-sizing:border-box}
#number-game *{box-sizing:border-box}#number-game [hidden]{display:none!important}#number-game .heading{height:120px;padding:16px 16px 0;text-align:center}#number-game h2{font-size:44px;line-height:1.35;margin:0;font-weight:800}#number-game p{margin:7px 0 0}#number-game .heading p{font-size:26px;color:var(--muted)}
#number-game button{font-family:inherit;background:var(--accent);color:var(--number);border:2px solid var(--accent);border-radius:8px;box-shadow:none;font-size:30px;font-weight:700;padding:12px 38px;cursor:pointer;touch-action:manipulation}#number-game button:disabled{cursor:default;opacity:1}#number-game button:focus-visible{outline:4px solid var(--accent);outline-offset:4px}
#number-game .board{height:470px;padding:12px;display:grid;gap:12px;flex-shrink:0;background:var(--panel);border:2px solid #a3b8c1;border-radius:12px}
#number-game .cell,#number-game .cell.empty{position:relative;width:100%;height:100%;padding:0;background:var(--tile);color:var(--number);border:3px solid var(--tile);border-radius:8px;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:64px;line-height:1;font-weight:700}
#number-game .cell.done{background:var(--success);color:var(--ink);border-color:var(--ink)}#number-game .cell.done::after{content:"✓";position:absolute;right:7px;top:5px;font-size:26px;color:var(--ink)}
#number-game .cell.wrong{background:var(--error);color:var(--ink);border-color:var(--ink)}#number-game .cell.wrong::after{content:"×";position:absolute;right:5px;top:5px;font-size:26px;color:var(--ink)}
#number-game .actions{height:84px;padding-top:10px;display:flex;align-items:center;justify-content:center}#number-game .actions button{min-width:390px}#number-game .actions #help{min-width:270px}
#number-game .message{font-size:23px;line-height:30px;color:var(--muted);text-align:center;max-width:1160px}
#number-game .reminded{animation:number-gentle 1.4s ease-out 1}@keyframes number-gentle{50%{box-shadow:0 0 0 6px #f7cc65}}
.control-panel{position:relative;flex:0 0 auto;max-height:40%;overflow:auto;padding:10px 24px;background:#10232c;color:#d5e0e3;font-size:15px;box-sizing:border-box}.control-panel summary{cursor:pointer;line-height:22px}.control-panel summary span{margin-left:20px}.control-fields{display:flex;align-items:end;gap:24px;flex-wrap:wrap;padding:15px 0 6px}.control-fields label{display:flex;flex-direction:column;gap:6px}.control-fields select,.control-fields button{padding:8px;font:inherit;background:#fff9e8;color:#172b34;border:2px solid #a3b8c1;border-radius:6px}.control-panel p{font-size:14px;line-height:1.8;margin:5px 0}.control-panel input{accent-color:#f7cc65}
@media(prefers-reduced-motion:reduce){#number-game .reminded{animation:none}}
/* 数字寻踪本地 A 版成功得分：公共模板计时、音效和升级逻辑保持复用。 */
#number-game #instruction,#number-game #message{display:none}
#number-game .heading{display:flex;align-items:center;justify-content:center;padding:0}
.public-feedback .badge.number-score-badge{box-sizing:border-box;width:330px;height:250px;padding:28px;background:#fff;color:#222b38;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.number-success-line{display:flex;align-items:center;justify-content:center;gap:12px;font-size:30px;white-space:nowrap}
.number-tick{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#63b46f;color:white;font:36px/1 Arial}
.number-award{font:800 80px/1.1 Arial,"Microsoft YaHei",sans-serif;letter-spacing:-2px;color:#21643a;white-space:nowrap;margin-top:24px}
.number-award small{font:700 28px/1 "Microsoft YaHei",sans-serif;letter-spacing:0;margin-left:6px}
