:root{font-family:Arial,"Microsoft YaHei",sans-serif;color:#294334;background:#b9e3bf;font-synthesis:none;touch-action:manipulation}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 50% -10%,#e3f7db 0,#b6e1b9 55%,#8fcb9c 100%);display:flex;justify-content:center}button{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #ed8c47;outline-offset:3px}.game-shell{width:min(100%,510px);min-height:100dvh;padding:16px 18px max(18px,env(safe-area-inset-bottom));background:linear-gradient(165deg,#d9f2cf,#c6eabf 55%,#a3d59f);box-shadow:0 0 50px #477d5930;position:relative;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.brand{display:flex;align-items:center;gap:10px}.brand-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#fff8df;box-shadow:0 5px 0 #d3bb8b;font-size:27px}.eyebrow{margin:0 0 2px;color:#668466;font-size:11px;font-weight:800;letter-spacing:3px}h1{font-size:28px;line-height:1;margin:0;color:#3c6e49;letter-spacing:2px}.icon-button{border:0;border-radius:15px;background:#f6fbdf;width:45px;height:45px;font-size:21px;box-shadow:0 4px 0 #a2c39b}.scoreboard{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:8px}.stat{border-radius:18px;background:#fffdf0;border:2px solid #fff;box-shadow:0 5px 0 #a8cd9d;text-align:center;padding:10px 4px 8px;min-height:74px}.stat-label{display:block;color:#82937b;font-size:12px;font-weight:700;margin-bottom:4px}.stat strong{display:block;color:#3d7250;font-size:26px;line-height:1}.stat-time{background:#fff0d4}.stat-time strong{color:#d6783d}.stat small{font-size:13px;margin-left:2px}.progress-track{height:9px;background:#87b88c;border-radius:99px;margin:18px 3px 8px;box-shadow:inset 0 2px 2px #4c8a5277;overflow:hidden}#progress-fill{height:100%;width:100%;background:linear-gradient(90deg,#fbc16b,#ff8d55);border-radius:inherit;transition:width .35s}.combo-line{display:flex;justify-content:space-between;align-items:center;padding:0 5px 11px;font-size:12px;color:#648763;font-weight:700}#combo{color:#ed8650;font-size:15px}.field{position:relative;border-radius:36px;background:linear-gradient(#98d085,#70b77b);border:5px solid #dff5c3;box-shadow:0 9px 0 #5ca56d,inset 0 7px 16px #438a5266;padding:18px 12px 20px}.field-decor{position:absolute;font-size:22px;color:#fff4b3}.decor-left{top:3px;left:12px}.decor-right{bottom:0;right:11px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.hole{border:0;padding:0;position:relative;width:100%;aspect-ratio:1/1.02;background:none;cursor:pointer;overflow:visible;isolation:isolate}.hole::before{content:"";position:absolute;z-index:0;left:4%;right:4%;bottom:6%;height:58%;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,#332a2c 15%,#5c3931 64%,#835136 100%);box-shadow:inset 0 7px 8px #24191a99,0 4px 0 #4c783d}.hole::after{content:"";position:absolute;z-index:4;left:0;right:0;bottom:0;height:22%;border-radius:50% 50% 45% 45%;background:linear-gradient(#8f5936,#9d643c 45%,#6c452e);box-shadow:0 4px 0 #5f814b}.mole{position:absolute;z-index:2;left:18%;bottom:14%;width:64%;height:70%;transform:translateY(75%) scale(.78);transform-origin:bottom;opacity:0;transition:transform .16s ease-out,opacity .12s;pointer-events:none}.hole.active .mole{transform:translateY(0) scale(1);opacity:1}.mole-body{position:absolute;inset:21% 4% 0;border-radius:48% 48% 34% 34%;background:linear-gradient(130deg,#bc865f,#906446);border:2px solid #6b4b3a;box-shadow:inset -5px -5px 0 #704b3950}.mole-belly{position:absolute;left:20%;right:20%;bottom:1%;height:31%;border-radius:50%;background:#d5ac80}.ear{position:absolute;top:14%;width:27%;height:28%;border-radius:50%;background:#a57755;border:2px solid #6b4b3a}.ear::after{content:"";position:absolute;inset:23%;border-radius:50%;background:#dc9a92}.ear.left{left:7%}.ear.right{right:7%}.face{position:absolute;z-index:2;left:9%;right:9%;top:23%;height:58%;border-radius:48% 48% 44% 44%;background:linear-gradient(135deg,#bb8b65,#a37151);border:2px solid #6d4b37}.muzzle{position:absolute;left:17%;right:17%;bottom:9%;height:42%;border-radius:46%;background:#e7c7a0}.eye{position:absolute;top:28%;width:11%;height:14%;border-radius:50%;background:#302b2a}.eye::after{content:"";position:absolute;top:15%;left:22%;width:33%;height:33%;border-radius:50%;background:white}.eye.left{left:25%}.eye.right{right:25%}.nose{position:absolute;z-index:2;left:43%;top:56%;width:14%;height:13%;border-radius:50% 50% 60% 60%;background:#e89090}.tooth{position:absolute;z-index:1;top:68%;width:9%;height:13%;border-radius:1px 1px 3px 3px;background:#fff9df;border:1px solid #bd9d79}.tooth.left{left:40%}.tooth.right{right:40%}.cheek{position:absolute;top:51%;width:12%;height:9%;border-radius:50%;background:#d49381;opacity:.75}.cheek.left{left:17%}.cheek.right{right:17%}.paw{position:absolute;z-index:3;bottom:7%;width:26%;height:17%;border-radius:50%;background:#b68462;border:2px solid #75523d}.paw.left{left:-2%}.paw.right{right:-2%}.mole-mark{display:none;position:absolute;z-index:5;top:0;right:-7%;width:32%;aspect-ratio:1;border-radius:50%;place-items:center;background:#fff6dd;font-size:20px;box-shadow:0 3px 0 #a77a43}.hole.gold .mole-body,.hole.gold .face{background:linear-gradient(130deg,#f6cf59,#d99b39);border-color:#a67430}.hole.gold .mole-mark,.hole.bomb .mole-mark{display:grid}.hole.bomb .mole-body,.hole.bomb .face{background:linear-gradient(130deg,#68727a,#3e505b);border-color:#34424b}.hole.bomb .muzzle{background:#aab5ae}.hole.bomb .mole-mark{background:#ffe1d2}.hole.hit .mole{filter:brightness(1.3);transform:translateY(7%) scale(.9)}.hole.hit::after{background:#bf7a45}.hole.miss::before{box-shadow:inset 0 7px 8px #24191a99,0 0 0 5px #f3957366}.status{height:42px;display:grid;place-items:center;margin:12px 0 8px;text-align:center;color:#4a754e;font-size:14px;font-weight:800}.tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tool{min-width:0;display:flex;align-items:center;gap:7px;border:2px solid #fff9ea;border-radius:17px;background:#f7f8df;padding:8px;box-shadow:0 4px 0 #aac595;color:#557258;text-align:left;cursor:pointer}.tool:disabled{opacity:.55;cursor:not-allowed}.tool-icon{font-size:26px}.tool strong{display:block;font-size:14px}.tool small{display:block;font-size:10px;white-space:nowrap}.tool b{margin-left:auto;border-radius:50%;background:#e0bd7c;min-width:23px;height:23px;display:grid;place-items:center;color:white;font-size:12px}.tool.active{background:#fff2c6;border-color:#f0b963}.start-button{width:100%;margin-top:16px;border:0;border-radius:18px;background:linear-gradient(#ffab60,#ed8050);box-shadow:0 6px 0 #bb6547;color:white;font-size:19px;font-weight:900;letter-spacing:3px;padding:13px;cursor:pointer}.start-button:disabled{opacity:.7;cursor:not-allowed}.hint{color:#65876b;text-align:center;font-size:11px;line-height:1.6;margin:14px 0 0}.float-score{position:absolute;z-index:7;top:5%;left:35%;color:#fff;font-weight:900;font-size:22px;text-shadow:0 2px 4px #633;pointer-events:none;animation:floatUp .65s ease-out forwards}@keyframes floatUp{to{transform:translateY(-30px);opacity:0}}@media(max-width:390px){.game-shell{padding:12px 12px max(12px,env(safe-area-inset-bottom))}.field{padding:12px 7px 15px}.grid{gap:7px 5px}.topbar{margin-bottom:12px}.stat{min-height:66px}.stat strong{font-size:23px}.hole{aspect-ratio:1/1}.tool{padding:6px;gap:4px}.tool-icon{font-size:21px}.tool small{font-size:9px}}@media(min-width:700px){body{padding:24px}.game-shell{min-height:auto;border-radius:28px}.field{padding:23px}.grid{gap:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* 工具栏在桌面单行、手机双行；棋盘只改变视觉尺寸。 */
.header-note{color:#65876b;font-size:12px;font-weight:700}.control-bar{display:grid;grid-template-columns:1fr 1.8fr 1fr 1fr 1fr;gap:5px;margin:0 0 15px}.control,.zoom-group{min-width:0;min-height:42px;border:2px solid #e8f7e3;border-radius:13px;background:#f8fce9;box-shadow:0 3px 0 #9abe9a;color:#416a4d;font-size:14px;font-weight:800;cursor:pointer}.control{padding:4px}.control:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #9abe9a}.control:disabled{opacity:.42;cursor:not-allowed}.zoom-group{display:grid;grid-template-columns:40px minmax(35px,1fr) 40px;align-items:center;overflow:hidden;text-align:center}.zoom-group .control{height:100%;min-height:0;box-shadow:none;border:0;border-radius:0;background:transparent;font-size:23px}.zoom-group output{font-size:14px;white-space:nowrap}.grid{width:var(--board-width,80%);margin:auto;transition:width .18s ease}
.modal[hidden],.portrait-guard[hidden]{display:none!important}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#142820aa;backdrop-filter:blur(5px)}.modal-panel{position:relative;width:min(100%,380px);border:3px solid #fff9e9;border-radius:27px;background:#f8f6de;box-shadow:0 14px 0 #52764d55,0 28px 70px #14282066;padding:22px;color:#33533b;text-align:center}.modal-close{position:absolute;right:13px;top:10px;border:0;background:#e2ecd4;border-radius:50%;width:35px;height:35px;color:#527452;font-size:25px;line-height:1;cursor:pointer}.modal-icon{font-size:40px}.modal-panel h2{margin:5px 0 14px;font-size:24px}.modal-score{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:8px 0;color:#dc8950}.modal-score strong{font-size:54px}.modal-copy,.setting-help{font-size:12px;line-height:1.5;color:#678167}.modal-done,.modal-secondary{display:block;width:100%;border:0;border-radius:14px;padding:11px;font-weight:900;cursor:pointer}.modal-done{margin-top:18px;background:#ec9254;color:white;box-shadow:0 4px 0 #b46f4b}.modal-secondary{margin-top:17px;background:#dce8ca;color:#496b4f}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 2px;border-bottom:1px solid #c9d6b7;font-weight:800;text-align:left;cursor:pointer}.setting-row input{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;display:block;width:46px;height:27px;border-radius:99px;background:#a9b8a0;transition:background .2s}.switch::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;background:white;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.setting-row input:checked+.switch{background:#75bd80}.setting-row input:checked+.switch::after{transform:translateX(19px)}.setting-row input:focus-visible+.switch{outline:3px solid #ed8c47;outline-offset:3px}.setting-volume{display:block;text-align:left;padding:14px 2px 6px;font-weight:800}.setting-volume>span{display:flex;justify-content:space-between}.setting-volume input{width:100%;margin:13px 0 2px;accent-color:#65af78}.setting-help{text-align:left;margin:7px 0 0}.portrait-guard{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#19392b;color:white;text-align:center;padding:20px}.portrait-guard div{display:grid;gap:8px}.portrait-guard div:first-letter{font-size:38px}.portrait-guard strong{font-size:22px}.portrait-guard span{font-size:13px;color:#c8e2c8}
@media(max-width:540px){.control-bar{grid-template-columns:1fr 1.8fr 1fr;gap:7px}.control-bar #fullscreen-button{grid-column:1/3}.control-bar #settings-button{grid-column:3}.control{min-height:37px}.zoom-group{min-height:37px}.header-note{display:none}.game-shell{padding-top:10px}.topbar{margin-bottom:10px}.progress-track{margin-top:13px}}
@media(max-width:540px) and (max-height:720px){.game-shell{padding:8px 11px max(8px,env(safe-area-inset-bottom))}.topbar{margin-bottom:7px}.brand-icon{width:37px;height:37px;font-size:20px;box-shadow:0 3px 0 #d3bb8b}h1{font-size:23px}.eyebrow{font-size:9px}.control-bar{margin-bottom:7px;gap:5px}.control,.zoom-group{min-height:33px}.stat{min-height:54px;padding:6px 3px}.stat strong{font-size:22px}.stat-label{font-size:10px}.progress-track{margin:9px 3px 5px;height:7px}.combo-line{padding-bottom:6px}.field{padding:8px 6px 10px;border-width:4px;border-radius:25px}.grid{gap:5px 4px}.status{height:27px;margin:8px 0 5px;font-size:12px}.tool{padding:5px}.tool-icon{font-size:19px}.start-button{margin-top:10px;padding:9px;font-size:16px}.hint{display:none}}
@media(max-width:540px) and (max-height:620px){.control,.zoom-group{min-height:30px}.scoreboard .stat{min-height:49px}.field{padding:5px}.tools{gap:6px}.tool small{display:none}.status{height:23px}.start-button{margin-top:7px}}
html[data-theme="night"]{background:#172c38;color:#e6f1e6}html[data-theme="night"] body{background:radial-gradient(circle at 50% 0,#36596b,#172c38 70%)}html[data-theme="night"] .game-shell{background:linear-gradient(160deg,#315264,#233e50 65%,#1c3444);box-shadow:0 0 50px #0d1b27}html[data-theme="night"] h1{color:#e3f3d3}html[data-theme="night"] .eyebrow,html[data-theme="night"] .header-note,html[data-theme="night"] .hint,html[data-theme="night"] .combo-line{color:#c0d7c5}html[data-theme="night"] .brand-icon{background:#526c70;box-shadow:0 4px 0 #192d37}html[data-theme="night"] .control,html[data-theme="night"] .zoom-group{background:#345669;border-color:#64818b;color:#f6f5de;box-shadow:0 3px 0 #162e3a}html[data-theme="night"] .stat{background:#345669;border-color:#6c8791;box-shadow:0 5px 0 #18303c}html[data-theme="night"] .stat-time{background:#624f55}html[data-theme="night"] .stat-label{color:#ceded6}html[data-theme="night"] .stat strong{color:#f5f4db}html[data-theme="night"] .stat-time strong{color:#ffd2a2}html[data-theme="night"] .progress-track{background:#132b36}html[data-theme="night"] .field{background:linear-gradient(#4f846e,#366354);border-color:#82aa8b;box-shadow:0 9px 0 #244a43,inset 0 7px 16px #173e3e99}html[data-theme="night"] .hole::after{background:linear-gradient(#6f5542,#765640 50%,#4b3e33)}html[data-theme="night"] .status{color:#e5efc7}html[data-theme="night"] .tool{background:#375966;border-color:#6e8b89;color:#f4f5df;box-shadow:0 4px 0 #1d3942}html[data-theme="night"] .tool.active{background:#6a6859;border-color:#e6c27d}html[data-theme="night"] .modal-panel{background:#2d4b5a;border-color:#65828a;color:#f0f5e7;box-shadow:0 14px 0 #112a35,0 28px 70px #091c28aa}html[data-theme="night"] .modal-copy,html[data-theme="night"] .setting-help{color:#c7d8cd}html[data-theme="night"] .modal-close,html[data-theme="night"] .modal-secondary{background:#456875;color:#f1f5de}html[data-theme="night"] .setting-row{border-color:#57747b}html[data-theme="night"] .start-button{background:linear-gradient(#eda66f,#c97856);box-shadow:0 6px 0 #845342}

@media(min-width:700px) and (max-height:800px){body{padding:8px}.game-shell{min-height:auto;padding:8px 16px}.topbar{margin-bottom:6px}.brand-icon{width:38px;height:38px}h1{font-size:23px}.control-bar{margin-bottom:7px}.stat{min-height:55px;padding:6px}.progress-track{margin:9px 3px 5px}.combo-line{padding-bottom:5px}.field{padding:8px}.grid{gap:6px}.status{height:28px;margin:7px 0}.tools .tool{padding:5px}.start-button{margin-top:9px;padding:9px}.hint{display:none}}
@media(max-width:540px) and (max-height:620px){.status{margin:5px 0 3px}.start-button{margin-top:5px}}

/* 十二关进度、关卡地图与结算 */
.level-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:7px 10px;border:2px solid #ecf6dc;border-radius:14px;background:#f9f8e5;color:#3e6d49;box-shadow:0 3px 0 #a9c99c}.level-summary{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.level-summary span{border-radius:8px;background:#e7bd76;color:#fff;padding:3px 7px;font-size:11px;font-weight:900;white-space:nowrap}.level-summary strong{font-size:14px;white-space:nowrap}.level-summary small{font-size:11px;color:#66866c;white-space:nowrap}.level-map-button{flex:none;border:0;border-radius:10px;padding:7px 9px;background:#6baa7e;color:white;font-size:12px;font-weight:900;cursor:pointer}.tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tool{gap:4px;padding:6px}.tool-icon{font-size:21px}.tool strong{font-size:12px}.tool small{font-size:9px}.tool b{min-width:18px;height:18px;font-size:10px}.hole.clock .mole-body,.hole.clock .face{background:linear-gradient(130deg,#8ac5d1,#4f91a8);border-color:#3d7182}.hole.clock .mole-mark{display:grid;background:#e5f7ff}.map-panel{max-height:min(90dvh,720px);overflow:auto}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.level-tile{display:grid;place-items:center;gap:2px;min-height:77px;border:2px solid #d4e4bd;border-radius:12px;background:#f9fbe9;color:#416c4d;cursor:pointer}.level-tile span{font-size:20px}.level-tile strong{font-size:16px}.level-tile small{font-size:10px}.level-tile.selected{border-color:#e9995e;background:#fff0d6}.level-tile:disabled{opacity:.55;cursor:not-allowed}.map-detail{font-size:12px;color:#66866c;font-weight:800}.result-stars{font-size:32px;letter-spacing:5px;color:#eea84c;margin:2px 0 12px}.result-panel .modal-copy{font-size:14px}
html[data-theme="night"] .level-strip{background:#345669;border-color:#64818b;color:#f2f5df;box-shadow:0 3px 0 #162e3a}html[data-theme="night"] .level-summary small,html[data-theme="night"] .map-detail{color:#c5d8cd}html[data-theme="night"] .level-tile{background:#355768;border-color:#67848b;color:#f1f5e5}html[data-theme="night"] .level-tile.selected{border-color:#e5af70;background:#655d52}
@media(max-width:540px) and (max-height:720px){.level-strip{padding:4px 7px;margin-bottom:6px;min-height:33px}.level-summary strong{font-size:12px}.level-summary small{font-size:10px}.level-map-button{padding:5px 7px;font-size:11px}.tools .tool{padding:4px}.tool-icon{font-size:18px}.tool strong{font-size:11px}.tool small{display:none}.tool b{min-width:17px;height:17px}}
@media(max-width:360px){.level-summary{gap:4px}.level-summary small{display:none}.tool-icon{font-size:16px}.tool strong{font-size:10px}.tool b{min-width:15px;height:15px}}
@media(max-width:540px) and (max-height:620px){.game-shell{padding-bottom:max(4px,env(safe-area-inset-bottom))}.level-strip{margin-bottom:4px}.start-button{margin-top:3px}}

/* 手机首屏布局：把棋盘高度限制在首屏剩余空间内，操作键始终紧跟棋盘。 */
@media(max-width:699px){
  body{align-items:flex-start}
  .game-shell{width:100%;min-height:100svh;padding: max(6px,env(safe-area-inset-top)) 12px max(6px,env(safe-area-inset-bottom));overflow:visible}
  .topbar{margin-bottom:6px}.brand-icon{width:38px;height:38px;font-size:20px;border-radius:12px}h1{font-size:22px}.eyebrow{font-size:9px;letter-spacing:2px}
  .control-bar{margin-bottom:6px;gap:5px}.control,.zoom-group{min-height:33px}.level-strip{min-height:32px;margin-bottom:6px;padding:3px 7px}
  .scoreboard{gap:6px}.stat{min-height:48px;padding:5px 3px 4px;border-radius:13px}.stat-label{font-size:10px;margin-bottom:2px}.stat strong{font-size:21px}
  .progress-track{height:6px;margin:8px 3px 3px}.combo-line{padding:0 4px 5px;font-size:10px}#combo{font-size:13px}
  .field{width:100%;padding:clamp(3px,1dvh,8px) 7px;border-width:4px;border-radius:22px;box-shadow:0 5px 0 #5ca56d,inset 0 5px 12px #438a5266}
  .grid{width:min(var(--board-width,80%),100%);max-width:100%;grid-template-rows:repeat(3,clamp(46px,calc((100svh - 430px)/3),92px));gap:clamp(2px,.7dvh,6px) 5px}
  .hole{height:100%;min-height:0;aspect-ratio:auto}
  .status{height:auto;min-height:24px;margin:7px 0 4px;font-size:11px;line-height:1.2}
  .tools{gap:5px}.tool{padding:4px 5px;border-radius:12px}.tool-icon{font-size:17px}.tool strong{font-size:10px}.tool b{min-width:16px;height:16px;font-size:9px}
  .start-button{margin-top:8px;padding:9px 10px;border-radius:14px;font-size:16px;box-shadow:0 4px 0 #bb6547}
  .hint{display:none}
}
@media(max-width:699px) and (max-height:760px){
  .game-shell{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}
  .topbar{margin-bottom:4px}.control-bar{margin-bottom:4px}.level-strip{margin-bottom:4px}
  .field{padding:3px 6px}.grid{grid-template-rows:repeat(3,clamp(42px,calc((100svh - 390px)/3),82px));gap:2px 4px}
  .status{margin:5px 0 3px;min-height:21px}.start-button{margin-top:5px;padding:7px}
}
@media(max-width:360px){.tools{gap:3px}.tool{gap:3px;padding:3px}.tool-icon{font-size:15px}.tool strong{font-size:9px}}

/* 宽屏电脑采用左右分栏，首屏同时呈现棋盘、道具和开始按钮；手机保留竖向单列。 */
@media(min-width:900px){
  body{align-items:center;padding:18px 24px}
  .game-shell{width:min(1440px,100%);min-height:0;padding:18px 26px;border-radius:30px;overflow:visible}
  .topbar{margin-bottom:10px}.brand-icon{width:44px;height:44px;font-size:24px}h1{font-size:25px}
  .control-bar{grid-template-columns:130px 200px repeat(3,130px);width:max-content;max-width:100%;margin:0 0 12px auto}.level-strip{margin-bottom:14px;padding:6px 12px}
  .play-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);align-items:center;gap:26px}
  .board-column,.action-column{min-width:0}.board-column{max-width:700px;margin:auto;width:100%}
  .scoreboard{gap:10px}.stat{min-height:65px;padding:8px 4px}.progress-track{margin:14px 3px 7px}.combo-line{padding-bottom:9px}
  .field{padding:14px 18px 16px;border-radius:30px}.grid{width:var(--board-width,80%);max-width:650px;gap:8px 10px}.hole{aspect-ratio:1.35/1}
  .action-column{width:100%;max-width:420px;margin:auto}.status{margin:0 0 12px;min-height:48px}.tools{grid-template-columns:1fr;gap:9px}.tool{min-height:58px;padding:8px 12px}.tool-icon{font-size:24px}.tool strong{font-size:14px}.tool small{font-size:11px}.tool b{min-width:24px;height:24px;font-size:12px}
  .start-button{margin-top:16px;padding:14px;font-size:20px}.hint{margin-top:12px;font-size:12px}
}
@media(min-width:900px) and (max-height:800px){
  body{padding:8px 18px}.game-shell{padding:9px 20px}.topbar{margin-bottom:6px}.brand-icon{width:37px;height:37px}.eyebrow{font-size:9px}h1{font-size:22px}
  .control-bar{margin-bottom:7px}.control,.zoom-group{min-height:35px}.level-strip{min-height:34px;margin-bottom:8px;padding:3px 9px}.level-map-button{padding:5px 8px}
  .play-layout{gap:18px}.stat{min-height:51px;padding:5px}.stat-label{font-size:10px;margin-bottom:2px}.stat strong{font-size:22px}.progress-track{height:7px;margin:9px 3px 4px}.combo-line{padding-bottom:5px;font-size:11px}
  .field{padding:8px 12px 9px;border-width:4px;border-radius:23px;box-shadow:0 6px 0 #5ca56d,inset 0 5px 12px #438a5266}.grid{max-width:450px;gap:4px 7px}.hole{aspect-ratio:1.55/1}
  .status{min-height:36px;margin-bottom:7px;font-size:12px}.tools{gap:6px}.tool{min-height:45px;padding:5px 9px}.tool-icon{font-size:20px}.tool strong{font-size:12px}.tool small{font-size:10px}.start-button{margin-top:10px;padding:10px;font-size:17px}.hint{margin-top:7px;font-size:10px}
}

/* 让主玩区域填充中段空间，操作区靠近页面底部；桌面使用居中单列面板。 */
@media(max-width:699px){
  body{width:100%;min-height:100dvh;align-items:stretch;overflow-x:hidden}
  .game-shell{width:100%;min-width:0;max-width:100%;height:100dvh;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:max(6px,env(safe-area-inset-bottom))}
  .topbar,.control-bar,.level-strip{flex:none}
  .play-layout{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;gap:5px}
  .board-column{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}
  .scoreboard,.progress-track,.combo-line{flex:none}
  .field{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;min-height:0;padding:clamp(3px,1dvh,8px) 7px}
  .grid{display:grid;flex:1 1 auto;min-height:0;width:min(var(--board-width,80%),100%);max-width:100%;max-height:none;grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(2px,.7dvh,6px) 5px}
  .hole{height:100%;min-height:0;aspect-ratio:auto}
  .action-column{flex:none;margin-top:auto}
  .status{min-height:21px;height:auto;margin:4px 0;text-align:center}
  .tools{flex:none}
  .start-button{flex:none;margin-top:7px;padding:9px 10px}
}
@media(min-width:700px){
  body{min-height:100dvh;align-items:center;padding:18px}
  .game-shell{width:min(100%,1000px);min-height:calc(100dvh - 36px);height:auto;display:flex;flex-direction:column;padding:18px 24px;border-radius:28px;overflow:visible}
  .topbar{margin-bottom:10px}.brand-icon{width:44px;height:44px;font-size:24px}h1{font-size:25px}
  .control-bar{grid-template-columns:130px 200px repeat(3,130px);width:max-content;max-width:100%;margin:0 auto 12px}.level-strip{margin-bottom:10px}
  .play-layout{display:flex;flex:0 1 auto;flex-direction:column;justify-content:center;gap:8px;min-height:0}
  .board-column{width:100%;max-width:760px;margin:0 auto}
  .scoreboard{gap:10px}.stat{min-height:62px;padding:8px 4px}.progress-track{margin:11px 3px 5px}.combo-line{padding-bottom:7px}
  .field{padding:clamp(9px,1.8dvh,18px);border-radius:28px}
  .grid{display:grid;width:min(var(--board-width,80%),650px);max-width:100%;height:clamp(240px,calc(100dvh - 560px),330px);grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(5px,1dvh,12px)}.hole{height:100%;min-height:0;aspect-ratio:auto}
  .action-column{width:100%;max-width:760px;margin:0 auto}
  .status{height:auto;min-height:32px;margin:0 0 7px;font-size:13px}
  .tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tool{min-height:52px;padding:7px 10px}.tool-icon{font-size:22px}.tool strong{font-size:13px}.tool small{font-size:10px}.tool b{min-width:21px;height:21px}
  .start-button{margin-top:10px;padding:12px;font-size:19px}
  .hint{margin-top:8px;font-size:11px}
}

