: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}html,body{overflow:hidden;touch-action:manipulation}.game-shell{position:relative;width:100%;min-width:0;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.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;min-width:0}.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}.cursor-roll .canvas{cursor:url(/cursors/swipe.svg) 6 6,grab}.cursor-roll .canvas:active{cursor:url(/cursors/swipe.svg) 6 6,grabbing}.cursor-hoop .canvas{cursor:url(/cursors/swipe.svg) 6 6,grab}.cursor-hoop .canvas:active{cursor:url(/cursors/swipe.svg) 6 6,grabbing}.cursor-bingo .canvas{cursor:url(/cursors/swipe.svg) 6 6,grab}.cursor-bingo .canvas:active{cursor:url(/cursors/swipe.svg) 6 6,grabbing}.cursor-catch .canvas{cursor:url(/cursors/swipe.svg) 6 6,grab}.cursor-catch .canvas:active{cursor:url(/cursors/swipe.svg) 6 6,grabbing}.cursor-nige .canvas,.cursor-rugby .canvas{cursor:url(/cursors/swipe.svg) 6 6,grab}.cursor-nige .canvas:active,.cursor-rugby .canvas:active{cursor:url(/cursors/swipe.svg) 6 6,grabbing}}.stage-btn{position:absolute;right:max(.85rem,env(safe-area-inset-right));bottom:max(.85rem,env(safe-area-inset-bottom));z-index:4;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:5.2rem;padding:.7rem 1rem;border:3px solid #ffe14a;border-radius:999px;background:#e8483c;color:#fff3d4;font-family:"Press Start 2P","M PLUS Rounded 1c",monospace;font-size:.72rem;letter-spacing:.04em;box-shadow:0 4px #9a2430;cursor:pointer;touch-action:manipulation}.stage-btn:active{transform:translateY(2px);box-shadow:0 2px #9a2430}.stage-btn[hidden]{display:none}.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}.guard-hud{margin-bottom:.28rem;color:#ff6a3a;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-align:center}.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:scaleX(var(--hp, 1));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:scaleY(var(--hp, 1));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}.stage-pick-boss{border-color:#ff4d1a8c;background:rgba(255,77,26,.1)}.boss-badge{display:inline-block;margin-left:.35rem;padding:.05rem .35rem;font-size:.62rem;letter-spacing:.08em;color:#0c0a09;background:#ff4d1a;font-weight:700;vertical-align:.08em}@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}}@media (max-width: 720px){.game-bar{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"back title" "stats stats";align-items:center;gap:.35rem .65rem;padding:.55rem .75rem}.game-bar a{grid-area:back;font-size:.82rem;white-space:nowrap}.game-bar h1{grid-area:title;min-width:0;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats{grid-area:stats;justify-content:space-between;gap:.45rem;min-width:0;font-size:.74rem}.stats>span,.stats>button{white-space:nowrap}.stats .timer{font-size:1.05rem}.stat-best-label{display:none}.hp-wrap{bottom:.7rem;width:min(240px,calc(100% - 1.4rem))}.hp-label{font-size:.68rem;margin-bottom:.18rem}.hp-track{height:8px}.office-stage .smash-meter{left:50%;right:auto;top:auto;bottom:.7rem;transform:translate(-50%);width:min(240px,calc(100% - 1.6rem));height:auto;flex-direction:row;gap:.45rem}.office-stage .smash-meter .hp-track{flex:1;width:auto;height:10px;min-height:10px}.office-stage .smash-meter .hp-fill{transform:scaleX(var(--hp, 1));transform-origin:left center;background:linear-gradient(90deg,#ffb020,#ff4d1a 55%,#8a1408)}}.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-kicker-danger{color:#ff4d1a;letter-spacing:.14em;font-weight:800;font-family:var(--font-display);font-size:clamp(1.15rem,4.5vw,1.65rem);line-height:1.15}.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}.piyo-mood{margin:.85rem auto .2rem;width:min(168px,52vw)}.piyo-mood img{display:block;width:100%;height:auto;image-rendering:auto}.piyo-mood-clear{animation:piyo-bounce .55s ease-out}.piyo-mood-fail{animation:piyo-sad .55s ease-out}@keyframes piyo-bounce{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes piyo-sad{0%{transform:translateY(-8px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity: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}.result-ad{margin-top:1.6rem;padding-top:.9rem;border-top:1px dashed var(--line)}.result-ad-label{margin:0 0 .35rem;font-size:.65rem;letter-spacing:.2em;opacity:.6}.result-ad a{display:inline-block;max-width:100%;line-height:0}.result-ad a img{max-width:100%;height:auto}.result-ad-pixel{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.catch-customs{margin:1rem 0 0;padding:.75rem 0 0;border-top:1px solid var(--line);text-align:center}.catch-customs-title{margin:0;font-size:.72rem;letter-spacing:.16em;color:var(--muted)}.catch-customs-file{margin:.35rem 0 .65rem;color:var(--ink);font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catch-customs-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;margin:0}.catch-customs-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:5.5rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.catch-customs-btn:hover{border-color:#f5efe659}.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}}
