*{box-sizing:border-box}html,body{color:#fff;-webkit-user-select:none;user-select:none;background:#111;height:100%;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;overflow:hidden}#app{position:fixed;inset:0}canvas{display:block}.hud{pointer-events:none;position:absolute;inset:0}.hud-gauge{align-items:center;gap:14px;width:min(760px,62vw);display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.hud-poop{filter:drop-shadow(0 3px 4px #0009);flex:none;width:76px;height:76px}.hud-poop svg{width:100%;height:100%;overflow:visible}.hud-poop .face{display:none}.lv-0 .f0,.lv-1 .f1,.lv-2 .f2,.lv-3 .f3{display:inline}.hud-poop .sweat{animation:.9s ease-in infinite sweat}.hud-poop .sweat.s2{animation-delay:.45s}@keyframes sweat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}.hud-gauge-main{flex:auto;position:relative}.hud-gauge-bar{background:linear-gradient(#1a1010,#2b1a1a);border:3px solid #f4f0e8;border-radius:6px;height:30px;position:relative;overflow:hidden;transform:skew(-12deg);box-shadow:0 0 0 2px #000,0 4px 10px #0009}.hud-gauge-fill{background:linear-gradient(90deg,#ffe066 0%,#ffb020 45%,#ff6a1a 70%,#e3171a 88%,#8a0000 100%) no-repeat;width:0;transition:width 80ms linear;position:absolute;top:0;bottom:0;left:0}.hud-gauge-stripes{opacity:0;background:repeating-linear-gradient(-45deg,#00000059 0 10px,#0000 10px 20px) 0 0/28px 28px;animation:.6s linear infinite stripes;position:absolute;inset:0}@keyframes stripes{0%{background-position:0 0}to{background-position:28px 0}}.hud-gauge-ticks{justify-content:space-evenly;display:flex;position:absolute;inset:0}.hud-gauge-ticks i{background:#ffffff40;width:2px}.hud-gauge-gloss{background:linear-gradient(#ffffff59,#fff0);height:40%;position:absolute;top:0;left:0;right:0}.hud-gauge-value{text-align:right;letter-spacing:-1px;text-shadow:0 3px #000,0 0 10px #0009;font-variant-numeric:tabular-nums;flex:none;min-width:74px;font-size:40px;font-style:italic;font-weight:900}.hud-gauge-warn{text-align:center;letter-spacing:2px;color:#ffdf3a;text-shadow:0 3px #000,0 0 12px red;font-size:26px;font-weight:900;position:absolute;top:38px;left:0;right:0}.lv-1 .hud-gauge-value{color:#ffcf3a}.lv-1 .hud-gauge-stripes{opacity:.6}.lv-1 .hud-poop{animation:1s ease-in-out infinite wobble}.lv-2 .hud-gauge-value{color:#ff7a2a}.lv-2 .hud-gauge-stripes{opacity:1;animation-duration:.35s}.lv-2 .hud-gauge-bar{border-color:#ff7a2a;animation:.5s ease-in-out infinite alternate glow}.lv-2 .hud-poop{animation:.45s ease-in-out infinite wobble}.lv-2 .hud-gauge-warn{animation:.5s steps(2,end) infinite blink}.lv-3 .hud-gauge-value{color:#ff2a2a;animation:.12s linear infinite shake}.lv-3 .hud-gauge-stripes{opacity:1;animation-duration:.2s}.lv-3 .hud-gauge-bar{border-color:#ff2a2a;animation:.22s ease-in-out infinite alternate glow,.1s linear infinite shake}.lv-3 .hud-poop{filter:drop-shadow(0 0 10px red);animation:.1s linear infinite shake}.lv-3 .hud-gauge-warn{color:#fff;font-size:34px;animation:.25s steps(2,end) infinite blink,.1s linear infinite shake}.hud-gauge.bump .hud-poop{transition:transform 50ms;transform:scale(1.35)rotate(-10deg)}@keyframes wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes shake{0%{translate:0}25%{translate:-2px 1px}50%{translate:2px -1px}75%{translate:-1px -2px}to{translate:1px 2px}}@keyframes glow{0%{box-shadow:0 0 0 2px #000,0 0 6px #ff282866}to{box-shadow:0 0 0 2px #000,0 0 26px #ff2828}}@keyframes blink{50%{opacity:.2}}.hud-rank{text-shadow:0 3px #000,0 0 10px #0009;font-size:64px;font-style:italic;font-weight:900;position:absolute;top:16px;left:28px}.hud-rank small{margin-left:4px;font-size:22px}.hud-section{text-align:center;letter-spacing:8px;text-shadow:0 3px #000;opacity:0;font-size:34px;font-weight:900;position:absolute;top:22%;left:0;right:0}.hud-boost{width:260px;position:absolute;bottom:28px;left:28px}.hud-boost-label{text-shadow:0 2px #000;margin-bottom:6px;font-size:20px;font-style:italic;font-weight:900}.hud-boost-bar{background:#00000080;border:2px solid #fff;border-radius:4px;height:14px;overflow:hidden;transform:skew(-12deg)}.hud-boost-fill{width:100%;height:100%}.hud-boost.ready .hud-boost-fill{background:#4fd16b}.hud-boost.active .hud-boost-label{color:#ffe14d;animation:.3s steps(2,end) infinite blink}.hud-boost.active .hud-boost-fill{background:repeating-linear-gradient(-45deg,#ffe14d 0 8px,#ff9a1a 8px 16px) 0 0/22px 22px;animation:.3s linear infinite stripes}.hud-boost.cooling .hud-boost-fill{background:#888}.hud-fart{opacity:0;letter-spacing:-2px;color:#d9d36a;-webkit-text-stroke:3px #3a3410;paint-order:stroke fill;text-shadow:4px 4px #3a3410;font-size:72px;font-style:italic;font-weight:900;position:absolute;bottom:18%;left:50%}.hud-fart.pop{animation:.7s ease-out both fart-pop}@keyframes fart-pop{0%{opacity:0;transform:translate(-50%,20px)scale(.4)rotate(-8deg)}15%{opacity:1;transform:translate(-50%)scale(1.25)rotate(-8deg)}35%{transform:translate(-50%)scale(1)rotate(-6deg)}to{opacity:0;transform:translate(-50%,-40px)scale(1.1)rotate(-4deg)}}.hud-popups{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:52%;left:0;right:0}.hud-pop{color:#ffe14d;text-shadow:0 3px #000,0 0 12px #0009;align-items:baseline;gap:10px;font-style:italic;font-weight:900;animation:.9s ease-out both pop-up;display:flex}.hud-pop .pop-label{color:#fff;font-size:26px}.hud-pop .pop-pts{font-size:38px}.hud-pop.near .pop-label{color:#9fe8ff}.hud-pop.near .pop-pts{color:#9fe8ff;font-size:28px}.hud-pop.spin .pop-pts{color:#ff9a4d}@keyframes pop-up{0%{opacity:0;transform:translateY(14px)scale(.6)}15%{opacity:1;transform:translateY(0)scale(1.15)}70%{opacity:1;transform:translateY(-10px)scale(1)}to{opacity:0;transform:translateY(-30px)scale(1)}}.hud-center{text-align:center;text-shadow:0 6px #000,0 0 20px #0009;font-size:120px;font-style:italic;font-weight:900;position:absolute;top:32%;left:0;right:0}.screen{background:#0a141e99;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.screen button{font:inherit;color:#222;cursor:pointer;background:#f0b429;border:none;border-radius:10px;padding:12px 36px;font-size:22px;font-weight:800}.screen button:hover{background:#ffd24d}.title{background:radial-gradient(at 50% 45%,#080a14d1 0%,#080a148c 55%,#080a144d 100%);justify-content:center;align-items:center;gap:0;overflow:hidden}.title-streaks{pointer-events:none;position:absolute;inset:0}.title-streaks i{background:linear-gradient(90deg,#fff0,#ffffff8c);height:2px;animation:linear infinite streak;position:absolute;right:-50%}@keyframes streak{0%{transform:translate(0)}to{transform:translate(-260vw)}}.title-logo{text-align:center;position:relative;transform:skew(-12deg)}.title-band{transform-origin:50%;background:linear-gradient(90deg,#d81e2a00 0%,#d81e2a 30%,#ff4a2a 50%,#d81e2a 70%,#d81e2a00 100%);height:46%;animation:.35s cubic-bezier(.2,.9,.2,1) both band-in;position:absolute;top:34%;left:-30vw;right:-30vw}@keyframes band-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.logo-line{letter-spacing:-.02em;color:#ffe14d;-webkit-text-stroke:4px #111;paint-order:stroke fill;text-shadow:6px 6px #111,10px 10px #c2410c;font-family:Arial Black,Helvetica Neue,system-ui,sans-serif;font-style:italic;font-weight:900;line-height:.86;position:relative}.logo-toilet{color:#fff;font-size:clamp(56px,8.5vw,132px);animation:.45s cubic-bezier(.15,.85,.25,1.1) .12s both fly-left}.logo-rush{font-size:clamp(96px,15vw,236px);animation:.5s cubic-bezier(.2,.9,.25,1.25) .32s both fly-right}.logo-rush:before{content:"RUSH";color:#0000;-webkit-text-stroke:3px #ffe14d73;text-shadow:none;animation:.6s ease-out .55s both ghost;position:absolute;top:0;left:-.18em}@keyframes fly-left{0%{filter:blur(8px);opacity:0;transform:translate(-70vw)skew(-25deg)}to{filter:none;opacity:1;transform:none}}@keyframes fly-right{0%{filter:blur(10px);opacity:0;transform:translate(80vw)skew(-25deg)}to{filter:none;opacity:1;transform:none}}@keyframes ghost{0%{opacity:1;transform:translate(.4em)}to{opacity:0;transform:translate(-.1em)}}.title-flash{pointer-events:none;opacity:0;background:radial-gradient(at 55% 60%,#ffffffe6,#fff0 60%);animation:.4s ease-out .78s both flash;position:absolute;inset:-20% -30%}@keyframes flash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.title-logo{animation:.3s linear .8s both impact}@keyframes impact{0%,to{translate:0}20%{translate:-8px 5px}40%{translate:7px -4px}60%{translate:-4px 3px}80%{translate:2px -1px}}.title-slogan{margin-top:18px}.title-slogan span{letter-spacing:.25em;color:#111;background:#fff;padding:6px 22px 8px;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:clamp(22px,2.6vw,38px);font-weight:900;animation:.4s cubic-bezier(.2,.9,.2,1) .95s both wipe;display:inline-block;box-shadow:6px 6px #d81e2a}@keyframes wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.title-menu{flex-direction:column;align-items:center;gap:18px;margin-top:48px;animation:.4s ease-out 1.4s both menu-in;display:flex}@keyframes menu-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.title .btn-start{letter-spacing:.08em;color:#111;background:#ffe14d;border-radius:0;align-items:center;gap:14px;padding:8px 40px 10px;font-family:Arial Black,system-ui,sans-serif;font-size:40px;font-style:italic;animation:1s ease-in-out 1.8s infinite pulse-btn;display:flex;transform:skew(-12deg);box-shadow:5px 5px #111}.title .btn-start:hover{background:#fff}.title .btn-start small{letter-spacing:.05em;color:#ffe14d;background:#111;border-radius:4px;padding:3px 8px;font:800 13px system-ui,sans-serif}@keyframes pulse-btn{50%{box-shadow:5px 5px #111,0 0 24px #ffe14dcc}}.title-keys{gap:28px;font-size:18px;font-weight:700;display:flex}.title-keys span{align-items:center;gap:6px;display:flex}.title-keys kbd{color:#111;background:#f4f4f4;border-radius:6px;justify-content:center;align-items:center;min-width:34px;height:34px;margin-right:2px;padding:0 8px;font:800 15px system-ui,sans-serif;display:inline-flex;box-shadow:0 3px #888}.title-keys kbd.wide{min-width:96px}.title-best{letter-spacing:.15em;opacity:.7;font-size:15px;font-weight:800}.title.skip *,.title.skip :before{animation-duration:0s!important;animation-delay:0s!important}.title.skip .title-streaks i{animation-duration:.8s!important}.title.skip .btn-start{animation:1s ease-in-out infinite pulse-btn!important}.hud-pause{pointer-events:auto;cursor:pointer;background:#00000073;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;display:flex;position:absolute;top:20px;right:24px;box-shadow:0 3px #000}.hud-pause i{background:#fff;border-radius:2px;width:6px;height:18px}.hud-pause:hover{background:#000000b3;transform:scale(1.06)}.rank-panel{flex-direction:column;gap:6px;width:100%;font-size:14px;display:flex}.rank-tabs{gap:6px;display:flex}.rank-status{opacity:.85;min-height:1.2em;font-weight:700}.rank-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.rank-list li{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff26;gap:10px;padding:3px 8px;display:flex}.rank-list li.mine{background:#ffe14d4d;font-weight:900}.rank-list .rk{text-align:right;opacity:.8;width:2.2em}.rank-list .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rank-me{opacity:.9;font-weight:800}.result-breakdown{letter-spacing:.08em;opacity:.75;margin-top:8px;font-size:13px;font-weight:700;animation:.35s ease-out 1.2s both menu-in}.rank-modal{z-index:10;background:#000000b3;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.rank-modal.open{display:flex}.rank-modal-card{background:#0e121cf5;border:3px solid #ffe14d;flex-direction:column;gap:10px;width:min(460px,92vw);max-height:88vh;padding:16px 18px;animation:.18s ease-out both modal-in;display:flex;box-shadow:6px 6px #000}@keyframes modal-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.rank-modal-head{justify-content:space-between;align-items:center;display:flex}.rank-modal-head span{color:#ffe14d;letter-spacing:.08em;font:italic 900 28px Arial Black,system-ui,sans-serif}.result-rank{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.rank-submit{font-size:14px;font-weight:800;line-height:1.5}.rank-name{width:180px;margin-right:8px;padding:6px 10px;font:700 16px system-ui,sans-serif}.rank-resend{margin-left:8px}.screen .rank-modal button,.screen .rank-panel button{color:#111;cursor:pointer;white-space:nowrap;background:#f4f4f4;border:none;border-radius:4px;padding:6px 14px;font:800 14px system-ui,sans-serif}.screen .rank-modal button:hover,.screen .rank-panel button:hover{background:#fff}.screen .rank-tabs button{flex:1}.screen .rank-tabs button.active,.screen .rank-modal .rank-name-ok{background:#ffe14d}.btn-record{background:#7ff0c8!important}.btn-record.attn{animation:.9s ease-in-out infinite pulse-btn}.ranking-screen{background:#080a14d9}.ranking-title{color:#ffe14d;-webkit-text-stroke:3px #111;paint-order:stroke fill;font:italic 900 56px Arial Black,system-ui,sans-serif}.ranking-screen .rank-panel{width:min(520px,90vw)}.ranking-screen .rank-list{max-height:50vh}.pause{background:#080a14b8;gap:10px}.pause-title{color:#fff;-webkit-text-stroke:4px #111;paint-order:stroke fill;text-shadow:6px 6px #111,10px 10px #d81e2a;font:italic 900 clamp(64px,9vw,120px) Arial Black,system-ui,sans-serif;animation:.25s cubic-bezier(.2,.9,.25,1.2) both pause-in;transform:skew(-12deg)}@keyframes pause-in{0%{opacity:0;transform:skew(-12deg)scale(1.6)}to{opacity:1;transform:skew(-12deg)scale(1)}}.pause-sub{letter-spacing:.2em;opacity:.8;margin-bottom:18px;font-size:18px;font-weight:800}.pause-volume{flex-direction:column;gap:8px;min-width:280px;margin-bottom:14px;display:flex}.pause-volume label{letter-spacing:.1em;justify-content:space-between;align-items:center;gap:14px;font-size:15px;font-weight:800;display:flex}.pause-volume input{accent-color:#ffcf33;cursor:pointer;width:180px}.pause-buttons{flex-direction:column;align-items:stretch;gap:12px;min-width:280px;display:flex}.pause-buttons button,.result-buttons button{letter-spacing:.06em;color:#111;cursor:pointer;background:#f4f4f4;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 26px;font:italic 900 24px Arial Black,Hiragino Sans,system-ui,sans-serif;display:flex;transform:skew(-12deg);box-shadow:5px 5px #111}.pause-buttons button:first-child,.result-buttons button:first-child{background:#ffe14d}.pause-buttons button:hover,.result-buttons button:hover{background:#fff}.pause-buttons small,.result-buttons small{letter-spacing:.05em;color:#ffe14d;background:#111;border-radius:4px;padding:3px 8px;font:800 13px system-ui,sans-serif}.result{gap:0;overflow:hidden}.result.win{background:radial-gradient(at 50% 45%,#14281ed1,#080a1499 70%)}.result.out{background:radial-gradient(at 50% 45%,#3c0505d9,#0a0000bf 70%)}.result-head{-webkit-text-stroke:5px #111;paint-order:stroke fill;font:italic 900 clamp(72px,11vw,160px)/.9 Arial Black,system-ui,sans-serif;animation:.45s cubic-bezier(.2,.9,.25,1.25) both head-in;transform:skew(-12deg)}.win .result-head{color:#ffe14d;text-shadow:7px 7px #111,12px 12px #2e9e6a}.out .result-head{color:#ff4a3a;text-shadow:7px 7px #111,12px 12px #5a0000;animation:.45s cubic-bezier(.2,.9,.25,1.25) both head-in,.12s linear .45s 4 out-shake}@keyframes head-in{0%{opacity:0;filter:blur(8px);transform:skew(-12deg)scale(2.4)}to{opacity:1;filter:none;transform:skew(-12deg)scale(1)}}@keyframes out-shake{25%{translate:-6px 3px}50%{translate:5px -3px}75%{translate:-3px -2px}}.result-subhead{margin-top:14px}.result-subhead span{letter-spacing:.2em;color:#111;background:#fff;padding:5px 20px 7px;font-size:clamp(18px,2vw,26px);font-weight:900;animation:.35s cubic-bezier(.2,.9,.2,1) .35s both wipe;display:inline-block;transform:skew(-12deg);box-shadow:5px 5px #111}.result-main{align-items:center;gap:22px;margin-top:26px;animation:.35s ease-out .45s both menu-in;display:flex}.result-poop{width:clamp(90px,10vw,140px);height:clamp(90px,10vw,140px)}.win .result-poop{animation:.6s ease-in-out 1.4s infinite alternate poop-bounce}.out .result-poop{filter:drop-shadow(0 0 12px red);animation:.1s linear infinite shake}@keyframes poop-bounce{0%{transform:translateY(0)rotate(-4deg)}to{transform:translateY(-8px)rotate(4deg)}}.result-gauge{flex-direction:column;align-items:flex-start;display:flex}.result-gauge-label{letter-spacing:.25em;opacity:.85;font-size:clamp(16px,1.6vw,22px);font-weight:900}.result-gauge-value{font-variant-numeric:tabular-nums;-webkit-text-stroke:5px #111;paint-order:stroke fill;text-shadow:7px 7px #111;font:italic 900 clamp(110px,15vw,210px)/.95 Arial Black,system-ui,sans-serif}.win .result-gauge-value{color:#4fd16b}.out .result-gauge-value{color:#ff4a3a}.result-gauge-value.done{animation:.3s ease-out value-pop}@keyframes value-pop{50%{transform:scale(1.12)}}.result-stats{gap:14px;margin-top:22px;animation:.35s ease-out 1.15s both menu-in;display:flex}.result-stats>div{background:#00000073;border:2px solid #ffffff80;flex-direction:column;align-items:center;min-width:130px;padding:8px 18px 10px;display:flex;position:relative;transform:skew(-12deg)}.result-stats label{letter-spacing:.2em;opacity:.75;font-size:13px;font-weight:800}.result-stats b{font-variant-numeric:tabular-nums;font:italic 900 30px Arial Black,system-ui,sans-serif}.result-stats small{margin-left:2px;font-size:16px}.result-stats em{color:#111;background:#ffe14d;padding:2px 8px;font:italic 900 13px Arial Black,system-ui,sans-serif;animation:.6s steps(2,end) infinite blink;position:absolute;top:-14px;right:-14px;box-shadow:3px 3px #111}.result-best{letter-spacing:.2em;opacity:.65;margin-top:12px;font-size:14px;font-weight:800;animation:.35s ease-out 1.25s both menu-in}.result-buttons{gap:16px;margin-top:26px;animation:.35s ease-out 1.4s both menu-in;display:flex}.result.skip *,.result.skip{animation-delay:0s!important}.result.skip .result-head,.result.skip .result-subhead span,.result.skip .result-main,.result.skip .result-stats,.result.skip .result-best,.result.skip .result-buttons{animation-duration:0s!important}.ranking-screen .ranking-close{background:#f4f4f4;border-radius:4px;padding:6px 16px;font:800 14px system-ui,sans-serif}.title-sub{gap:12px;display:flex}.title-sub .btn-help,.title-sub .btn-ranking{background:#f4f4f4!important;padding:6px 22px!important;font-size:16px!important}.help-screen{background:#080a14fa;justify-content:flex-start;overflow-y:auto}.help-body{flex-direction:column;align-items:center;gap:16px;max-width:1100px;margin:auto;padding:20px 16px;display:flex}.help-title{color:#ffe14d;-webkit-text-stroke:3px #111;paint-order:stroke fill;font:italic 900 44px Arial Black,system-ui,sans-serif}.help-flow{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;display:flex}.help-step{text-align:center;background:#ffffff14;border:2px solid #ffffff59;flex-direction:column;align-items:center;gap:6px;width:176px;padding:12px 10px 10px;display:flex;position:relative}.help-step svg{width:64px;height:64px}.help-step b{font-size:17px;font-weight:900}.help-step p{opacity:.9;margin:0;font-size:13px;font-weight:600;line-height:1.5}.help-num{color:#111;background:#ffe14d;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:900;display:flex;position:absolute;top:-10px;left:-8px}.help-step kbd{color:#111;background:#f4f4f4;border-radius:4px;min-width:1.6em;margin:0 2px;padding:1px 6px;font:800 12px system-ui,sans-serif;display:inline-block;box-shadow:0 2px #888}.screen .help-close{background:#f4f4f4;border-radius:4px;padding:6px 18px;font:800 14px system-ui,sans-serif}
