:root{--bg-deep: #0c0a09;--bg-mid: #1c1410;--ink: #f5efe6;--muted: #a89888;--accent: #ff4d1a;--accent-hot: #ffb020;--line: rgba(245, 239, 230, .14);--font-display: "Bebas Neue", "Arial Narrow", Impact, sans-serif;--font-body: "IBM Plex Sans JP", "Hiragino Sans", sans-serif;color:var(--ink);background:var(--bg-deep);font-family:var(--font-body);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh;background:radial-gradient(1200px 700px at 70% -10%,rgba(255,77,26,.22),transparent 55%),radial-gradient(900px 500px at 10% 110%,rgba(255,176,32,.12),transparent 50%),linear-gradient(160deg,#120e0c 0%,#0c0a09 45%,#16100c 100%)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-shell{position:relative;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.game-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,1.8rem);border-bottom:1px solid var(--line);background:rgba(12,10,9,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5}.game-bar a{color:var(--muted);font-size:.9rem}.game-bar a:hover{color:var(--ink)}.game-bar h1{margin:0;font-family:var(--font-display);font-size:1.55rem;letter-spacing:.08em}.stats{display:flex;gap:1rem;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.92rem;align-items:baseline}.stats strong{color:var(--accent-hot);font-weight:700}.stats .timer{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;letter-spacing:.04em;min-width:1.6em;display:inline-block;text-align:right}.stats .timer.urgent{color:var(--accent);animation:timer-blink .55s steps(1) infinite}.stats .timer.ended{color:var(--muted);animation:none}@keyframes timer-blink{50%{opacity:.35}}.stage-wrap{position:relative;overflow:hidden;min-height:0}.hint{padding:.85rem clamp(1rem,3vw,1.8rem) 1.2rem;color:var(--muted);font-size:.92rem;border-top:1px solid var(--line)}.canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.fx-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}@media (pointer: fine){.cursor-hammer .canvas{cursor:url(/cursors/hammer.svg) 6 12,pointer}.cursor-pistol .canvas{cursor:url(/cursors/pistol.svg) 3 14,crosshair}.cursor-sight .canvas{cursor:url(/cursors/sight.svg) 16 16,crosshair}.cursor-swipe,.cursor-swipe .inbox,.cursor-swipe .note{cursor:url(/cursors/swipe.svg) 6 6,grab}.cursor-swipe .note:active{cursor:url(/cursors/swipe.svg) 6 6,grabbing}.cursor-fist .canvas{cursor:url(/cursors/fist.svg) 8 20,pointer}}.result-sub{margin:.45rem 0 0;color:var(--muted);font-size:.92rem}.hp-wrap{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);width:min(280px,calc(100% - 2rem));pointer-events:none;z-index:3}.hp-wrap[hidden]{display:none}.hp-label{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:.3rem}.hp-track{height:10px;border:1px solid var(--line);background:rgba(0,0,0,.45)}.hp-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hot));transform-origin:left center;transition:transform .08s linear}.office-stage .smash-meter{left:auto;right:.7rem;top:.9rem;bottom:1.1rem;transform:none;width:56px;display:flex;flex-direction:column;align-items:center;gap:.4rem}.office-stage .smash-meter-title,.office-stage .smash-meter-pct{font-size:.72rem;letter-spacing:.14em;color:var(--muted)}.office-stage .smash-meter-pct{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.office-stage .smash-meter .hp-track{flex:1;width:22px;height:auto;min-height:0;border-width:2px;background:rgba(0,0,0,.55)}.office-stage .smash-meter .hp-fill{transform-origin:center bottom;background:linear-gradient(180deg,#ffb020,#ff4d1a 55%,#8a1408)}.mode-overlay .result-panel{width:min(400px,100%)}.mode-overlay .result-actions{flex-direction:column}.mode-overlay .btn{min-width:0;width:100%}.stats .stat-time[hidden],#pause-btn[hidden],#start-btn[hidden]{display:none}#pause-btn,#start-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--line);color:var(--muted);font:inherit;font-size:.82rem;padding:.25rem .65rem;cursor:pointer}#start-btn{background:var(--accent);color:#140800;border-color:transparent;font-weight:600}#pause-btn:hover{color:var(--ink)}.result-panel:has(.stage-list){width:min(960px,100%)}.stage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:1.1rem;text-align:left}.stage-list .stage-pick-mode{grid-column:1 / -1}.stage-pick{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.25rem;width:100%;min-height:4.2rem;padding:.6rem .7rem;border:1px solid var(--line);background:rgba(0,0,0,.25);color:inherit;font:inherit;text-align:left;cursor:pointer}.stage-pick:hover:not(:disabled){border-color:#ff4d1a73;background:rgba(255,77,26,.08)}.stage-pick:disabled{opacity:.45;cursor:not-allowed}.stage-pick>span:first-child{font-size:.86rem;font-weight:600;line-height:1.25}.stage-pick .meta{color:var(--muted);font-size:.72rem;line-height:1.35}.stage-pick .lock{letter-spacing:.08em;color:var(--muted);font-size:.72rem}.stage-pick-mode{border-color:#ffb02059;margin-bottom:.35rem;flex-direction:row;align-items:center;justify-content:space-between;min-height:0}@media (max-width: 860px){.stage-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 680px){.stage-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 480px){.stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-pick{min-height:3.6rem}}.flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,176,32,.35),transparent 45%);opacity:0}.flash.on{animation:hit-flash .22s ease-out}@keyframes hit-flash{0%{opacity:1}to{opacity:0}}.shake-light{animation:shake-light .14s linear}.shake{animation:shake .18s linear}.shake-heavy{animation:shake-heavy .36s linear}@keyframes shake-light{0%,to{transform:translate(0)}30%{transform:translate(-2px,1px)}70%{transform:translate(2px,-1px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px,-1px)}}@keyframes shake-heavy{0%,to{transform:translate(0)}12%{transform:translate(-10px,5px)}28%{transform:translate(9px,-5px)}44%{transform:translate(-6px,-3px)}62%{transform:translate(5px,2px)}80%{transform:translate(-2px,1px)}}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1.2rem;overflow:auto;background:rgba(8,6,5,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:result-in .28s ease-out}.result-panel{width:min(360px,100%);text-align:center;padding:1.6rem 1.3rem 1.4rem;border:1px solid var(--line);background:linear-gradient(160deg,#241a14,#140f0c)}.result-kicker{margin:0;font-size:.75rem;letter-spacing:.2em;color:var(--accent-hot)}.result-title{margin:.35rem 0 0;font-family:var(--font-display);font-size:clamp(2rem,8vw,2.8rem);letter-spacing:.06em;line-height:1}.result-score{margin:1rem 0 0;color:var(--muted);font-size:.95rem}.result-score strong{display:block;margin-top:.2rem;color:var(--ink);font-family:var(--font-display);font-size:3rem;letter-spacing:.04em;line-height:1}.result-best{margin:.7rem 0 0;color:var(--muted);font-size:.9rem}.result-best strong{color:var(--accent-hot);font-family:var(--font-display);font-size:1.4rem;letter-spacing:.04em}.result-actions{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:999px;padding:.85rem 1.35rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;color:inherit;min-width:7.5rem;text-align:center}.btn-primary{background:var(--accent);color:#140800}.btn-primary:hover{background:#ff6436}.btn-ghost{background:transparent;border-color:var(--line)}.btn-ghost:hover{border-color:#f5efe659}@keyframes result-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
