.stage-game{color:#2d271f;min-height:100vh;font-family:var(--font-noto-sans-tc),sans-serif;background-color:#eadcc4;background-image:radial-gradient(circle at 82% 8%,#fff2cb 0 7%,#0000 28%),linear-gradient(140deg,#d7b67e,#eadcc4 46%,#b7c2a1);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.stage-top{color:#fff;background:#532a28;justify-content:space-between;align-items:center;height:58px;padding:0 max(18px,4vw);display:flex}.stage-top a{color:inherit;align-items:center;gap:8px;font-weight:800;text-decoration:none;display:flex}.stage-top svg{width:19px}.stage-top>span{letter-spacing:.16em;font:800 13px/1 system-ui}.stage-top small{opacity:.58}.stage-shell{width:min(1180px,100% - 28px);margin:auto;padding:26px 0 50px}.stage-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.stage-heading p{color:#a43e31;letter-spacing:.12em;margin:0 0 4px;font-size:13px;font-weight:900}.stage-heading h1{margin:0;font-family:serif;font-size:clamp(36px,5vw,60px);line-height:1}.stage-heading>button{color:#532a28;background:#fff6df;border:1px solid #68473b;border-radius:50%;width:46px;height:46px}.stage-heading>button:disabled{opacity:.35}.stage-layout{grid-template-columns:minmax(0,1.68fr) minmax(280px,.72fr);gap:20px;display:grid}.stage-board,.stage-side{background:#fff7e1eb;border:1px solid #4a2d2240;box-shadow:0 18px 54px #472a1e24}.stage-board{border-radius:26px;padding:15px}.stage-hud{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.stage-hud>div{color:#fff;background:#542d2a;border-radius:14px;min-width:0;padding:9px 11px}.stage-hud small{color:#f0bd63;letter-spacing:.08em;font-size:10px;display:block}.stage-hud strong{white-space:nowrap;font:900 20px/1.1 system-ui}.stage-hud em{opacity:.65;font-size:12px;font-style:normal}.stage-progress{background:#d4c3a4;border-radius:9px;height:5px;margin:11px 4px;overflow:hidden}.stage-progress i{background:linear-gradient(90deg,#ab3d30,#efb449,#486c55);height:100%;transition:width .22s;display:block}.stage-work{isolation:isolate;touch-action:manipulation;background:linear-gradient(#332523 0 13%,#c58b55 13% 78%,#6a4b36 78%);border:5px solid #4d2b28;border-radius:21px;min-height:430px;position:relative;overflow:hidden}.stage-work:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 33%,#50251c2e 33% 34%),linear-gradient(#0000 75%,#ffe5b040);position:absolute;inset:13% 0 22%}.stage-curtain{filter:drop-shadow(0 8px 8px #39201c88);background:repeating-linear-gradient(90deg,#8e302b 0 12%,#a84033 12% 24%);border-bottom:7px solid #d8a84f;height:70px;position:absolute;inset:0 0 auto}.stage-curtain:after{content:"戲棚飛物";color:#efc66f;letter-spacing:.2em;white-space:nowrap;background:#2e241f;border:2px solid #efc66f;padding:7px 20px;font:900 15px/1 serif;position:absolute;top:16px;left:50%;transform:translate(-50%)}.stage-lanes{grid-template-columns:repeat(3,1fr);gap:9px;display:grid;position:absolute;inset:86px 12px 20px}.stage-lane{color:#fff7dc;background:#37231d29;border:1px solid #ffecbf59;border-radius:18px 18px 8px 8px;min-width:0;padding:36px 7px 9px;position:relative;overflow:hidden}.stage-lane:disabled{opacity:1}.stage-lane>span{color:#ffdda0;font-size:11px;font-weight:900;position:absolute;top:8px;left:8px;right:8px}.stage-queue{justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.stage-enemy{left:50%;bottom:calc(var(--depth)*55px);transform:translateX(-50%) scale(calc(1 - var(--depth)*.055));color:#522c28;clip-path:polygon(50% 0,91% 16%,82% 90%,50% 100%,18% 90%,9% 16%);filter:drop-shadow(0 8px 4px #3e231a66);width:min(112px,82%);height:112px;z-index:calc(10 - var(--depth));background:#eee0b8;align-content:center;place-items:center;transition:transform .18s,filter .18s;display:grid;position:absolute}.stage-enemy.guard{background:#cfb56f}.stage-enemy.chief{color:#fff3d4;background:#bf5442}.stage-enemy i{font:900 30px/1 serif}.stage-enemy b{font-size:11px}.stage-enemy small{margin-top:3px;font-size:9px}.stage-lane:hover .stage-enemy:first-child{transform:translate(-50%)scale(1.03)}.stage-lane.struck{animation:.24s stageShake}.stage-impact{z-index:20;color:#522b27;background:#f4bd57;border:4px solid #fff2c1;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:1000;animation:.42s both stageFly;display:grid;position:absolute;top:47%;box-shadow:0 0 0 15px #f5c65e33}.stage-impact.lane-0{left:14%}.stage-impact.lane-1{left:46%}.stage-impact.lane-2{left:78%}.stage-overlay{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#32221ed1;place-items:center;display:grid;position:absolute;inset:0}.stage-overlay>div{text-align:center;background:#fff2d2;border:2px solid #d59b43;border-radius:24px;width:min(560px,90%);max-height:91%;padding:24px;overflow:auto}.stage-overlay>div>span,.stage-overline{letter-spacing:.18em;color:#a43e31;font-size:10px;font-weight:1000}.stage-overlay h2{margin:8px 0;font:800 clamp(25px,4vw,40px)/1.1 serif}.stage-overlay p{max-width:460px;margin:10px auto 15px;line-height:1.58}.stage-overlay>div>button{color:#fff;background:#a43e31;border:0;border-radius:16px;align-items:center;gap:8px;min-height:50px;padding:0 23px;font-weight:900;display:inline-flex}.stage-overlay>div>small{color:#6f6755;margin-top:12px;display:block}.stage-upgrades{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.stage-upgrades button{color:#30271e;background:#f3d89b;border:1px solid #c28f43;border-radius:16px;min-height:108px;padding:10px 6px}.stage-upgrades svg{margin:0 auto 6px;display:block}.stage-upgrades b,.stage-upgrades small{display:block}.stage-upgrades small{margin-top:5px;line-height:1.3}.stage-rack{scrollbar-width:thin;gap:8px;margin-top:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.stage-rack button{color:#372b23;text-align:left;background:#fff4d8;border:1px solid #b8905e;border-radius:15px;flex:0 0 104px;grid-template-rows:auto auto;grid-template-columns:31px 1fr;align-items:center;min-height:78px;padding:7px;display:grid}.stage-rack button:disabled{opacity:.42}.stage-rack button.selected{outline:3px solid #a43e31;transform:translateY(-1px)}.stage-rack i{color:#fff4d6;background:#a43e31;border-radius:50%;grid-row:1/3;place-items:center;width:28px;height:28px;font-style:normal;font-weight:900;display:grid}.stage-rack b{font-size:13px}.stage-rack small{color:#706450;font-size:9px}.stage-notice{color:#515d48;min-height:24px;margin:7px 5px 0;font-size:13px;font-weight:800}.stage-side{border-radius:26px;padding:24px}.stage-side h2{margin:9px 0;font:800 30px/1.13 serif}.stage-side>p{color:#615d52;line-height:1.65}.stage-tip{border-top:1px solid #ddc79c;gap:10px;padding:14px 0;display:flex}.stage-tip svg{color:#a43e31;flex:none}.stage-tip p{margin:0}.stage-tip b,.stage-tip span{display:block}.stage-tip span{color:#777060;margin-top:3px;font-size:12px;line-height:1.5}.stage-side details{border-top:1px solid #ddc79c;padding-top:13px}.stage-side summary{cursor:pointer;font-weight:900}.stage-side details p{font-size:12px;line-height:1.65}.stage-batch{height:0;margin:0;font-size:0}.game-focus .stage-side{display:none}.game-focus .stage-layout{grid-template-columns:1fr}.game-focus .stage-work{min-height:590px}@keyframes stageShake{30%{transform:translate(-5px)}70%{transform:translate(5px)}}@keyframes stageFly{0%{opacity:0;transform:translate(-180px,120px)rotate(-80deg)}70%{opacity:1}to{opacity:0;transform:translate(0)rotate(12deg)}}@media (max-width:850px){.stage-layout{grid-template-columns:1fr}.stage-side{order:2}.stage-work{min-height:min(58vh,500px)}}@media (max-width:520px){.stage-shell{width:calc(100% - 16px);padding-top:17px}.stage-top{height:52px}.stage-heading h1{font-size:39px}.stage-board{border-radius:20px;padding:9px}.stage-hud{grid-template-columns:repeat(3,1fr)}.stage-work{min-height:390px}.stage-lanes{gap:4px;inset-inline:6px}.stage-enemy{width:88%;height:97px}.stage-upgrades{grid-template-columns:1fr}.stage-upgrades button{min-height:72px}.stage-overlay>div{padding:17px}.stage-side{padding:20px}.stage-rack button{flex-basis:96px}}@media (max-width:360px){.stage-work{min-height:355px}.stage-enemy{height:86px}.stage-hud strong{font-size:17px}.stage-heading p{font-size:11px}.stage-curtain:after{font-size:12px}}@media (prefers-reduced-motion:reduce){.stage-lane.struck,.stage-impact{animation:none}.stage-progress i,.stage-enemy{transition:none}}
