/* Inherit saorz media-derived palette and typography from ../../style.css */
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(345px,.92fr);gap:25px;align-items:start}
.game-top{padding:36px 0 28px}
.game-back{font-size:12px;color:var(--blue);display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid #a8bcca;padding-bottom:4px}
.game-top h1{font-size:clamp(29px,3.5vw,40px);font-weight:600;line-height:1.4;letter-spacing:0;margin:15px 0 9px}
.game-intro{line-height:1.9;font-size:13px;color:var(--muted)}
.game-stack{display:grid;gap:18px;min-width:0}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:25px}
.smallheading{font-size:12px;font-weight:700;color:var(--muted)}
.numbers{display:flex;gap:10px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin:15px 0 18px}
.amount{font-size:clamp(35px,4.3vw,54px);letter-spacing:-.045em;font-weight:760;color:#2e4253;font-variant-numeric:tabular-nums;line-height:1}
.goal{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.bar{height:12px;background:#e7ecee;overflow:hidden;border-radius:99px}
.fill{height:100%;width:0;background:#658ca8;transition:width .25s ease}
.progress-foot{display:flex;gap:12px;justify-content:space-between;margin-top:11px;font-size:12px;color:var(--muted)}
.tap-panel{text-align:center;padding:32px 22px}
.tap{margin:5px auto 18px;background:#e7eef2;border:1px solid #b6c9d5;border-radius:10px;width:min(290px,100%);min-height:158px;color:#2c536e;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;transition:background .12s,transform .1s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.tap:hover{background:#dae8ee}.tap:active,.tap.pressed{transform:translateY(2px);background:#cfdee6}.tap:disabled{cursor:not-allowed;opacity:.65}
.tap-icon{font-size:34px;font-weight:300;line-height:1}.tap-main{font-size:22px;font-weight:750}.tap-sub{font-size:12px;margin-top:5px;color:#45677e}
.hint{font-size:12px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--paper);border-radius:10px}
.stat{padding:18px 15px;min-width:0}.stat+.stat{border-left:1px solid var(--line)}
.stat .label{font-size:11px;color:var(--muted);margin-bottom:8px}.stat .value{font-size:clamp(17px,2vw,22px);font-weight:700;color:#354d60;overflow-wrap:anywhere}
.panelhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.panelhead h2{font-size:22px;font-weight:600;margin:0}
.pill{font-size:11px;color:var(--blue);background:#f0f3f4;border:1px solid #d9e3e8;border-radius:30px;padding:5px 10px}
.paneldesc{font-size:12px;line-height:1.9;color:var(--muted);margin:9px 0 20px}
.upgrades{display:grid;gap:0;border-top:1px solid var(--line)}
.upgrade{display:grid;grid-template-columns:37px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.glyph{width:37px;height:37px;display:grid;place-items:center;color:#4e7390;background:#eef2f3;border-radius:5px;font-size:18px;font-weight:750}
.utitle{font-size:14px;font-weight:700}.udesc{font-size:11px;line-height:1.6;color:var(--muted);margin-top:3px}.level{font-size:11px;color:var(--blue);margin-top:5px}
.buy{min-width:93px;border:1px solid #6c8da5;border-radius:5px;padding:10px 7px;font-size:12px;font-weight:750;background:var(--blue);color:#fff;font-variant-numeric:tabular-nums}
.buy:disabled{background:#f3f5f5;color:#9ca9b1;border-color:#d8e0e3;cursor:not-allowed}
.buy:not(:disabled):hover{background:#2c4d67}
.game-note{border-top:1px solid var(--line);padding:19px 2px 2px;font-size:12px;line-height:2;color:#687781}
.game-note strong{color:#35414c;font-weight:700}
.reset{border:1px solid #d0d9df;background:transparent;color:#526573;border-radius:5px;font-size:12px;padding:9px 13px}
.reset:hover{background:#edf1f3}
.game-foot{margin:37px 0 60px}
.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);background:#263845;color:#fff;font-size:13px;padding:13px 18px;border-radius:6px;box-shadow:0 10px 30px #2638452e;opacity:0;transition:opacity .2s,transform .2s;z-index:21;pointer-events:none;max-width:calc(100vw - 30px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.overlay{position:fixed;inset:0;background:#172b3bb8;display:none;align-items:center;justify-content:center;padding:20px;z-index:50}
.overlay.show{display:flex}
.win{width:min(100%,490px);background:#fff;border-radius:10px;text-align:center;padding:40px 27px;box-shadow:0 22px 65px #15283a40}
.win .big{font-size:57px;font-weight:600;color:var(--blue)}.win h2{font-size:29px;font-weight:600;margin:10px 0}.win p{font-size:13px;line-height:1.9;color:var(--muted)}
.finishrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-block:1px solid var(--line);padding:20px 0;margin:24px 0}
.finishrow span{display:block;font-size:11px;color:var(--muted)}.finishrow strong{display:block;margin-top:6px;font-size:19px}
.primary{border:0;border-radius:5px;background:var(--blue);color:#fff;font-weight:750;padding:12px 26px}
@media(max-width:900px){.game-layout{grid-template-columns:1fr}}
@media(max-width:700px){.game-top{padding:28px 0 22px}.game-top h1{font-size:30px}.panel{padding:20px}.tap-panel{padding:24px 19px}.tap{min-height:150px}.stat{padding:15px 11px}.upgrade{grid-template-columns:33px minmax(0,1fr) auto;gap:8px}.glyph{width:33px;height:33px}.buy{min-width:78px}.panelhead h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
