@font-face{font-family:Dela Gothic One;src:url(assets/fonts/DelaGothicOne-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Zen Kaku Gothic New;src:url(assets/fonts/ZenKakuGothicNew-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Zen Kaku Gothic New;src:url(assets/fonts/ZenKakuGothicNew-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--ink:#0b1020;--ink-2:#141b30;--line:#2a3454;--chalk:#efe6d2;--mute:#9aa3bd;--brass:#f2b33d;--good:#4be3b0;--bad:#ff4d5e;--f-display:"Dela Gothic One","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;--f-body:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;color-scheme:dark}[hidden]{display:none!important}html,body{height:100%;margin:0;background:var(--ink);color:var(--chalk);font-family:var(--f-body);overflow:hidden}#app{position:fixed;inset:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#stage,#stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}#weight{position:absolute;left:max(12px,env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 64px);pointer-events:none;display:flex;align-items:center;gap:8px;background:#0b1020b8;border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}#weight i{position:relative;width:64px;height:6px;border-radius:3px;background:#efe6d224;overflow:hidden}#weight i:after{content:"";position:absolute;inset:0;width:var(--w,0%);background:linear-gradient(90deg,var(--good),var(--brass),var(--bad));background-size:64px 100%}#weight b{font-family:var(--f-display);font-weight:400;font-size:14px;min-width:30px}#weight.up{animation:bump .35s ease-out}#buffs{position:absolute;right:max(12px,env(safe-area-inset-right,0px));top:calc(env(safe-area-inset-top,0px) + 64px);display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none;max-width:46vw;z-index:2}.buff{display:flex;align-items:baseline;gap:8px;background:#0b1020b8;border:1px solid var(--line);border-left:3px solid var(--good);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.buff.bad{border-left-color:var(--bad)}.buff.gold{border-left-color:var(--brass)}.buff span{font-family:var(--f-display);font-size:16px;font-variant-numeric:tabular-nums}.buff.good span{color:var(--good)}.buff.bad span{color:var(--bad)}.buff.gold span{color:var(--brass)}.buff.new{animation:buffIn .5s ease-out}@keyframes buffIn{0%{transform:translate(30px) scale(1.2);opacity:0}to{transform:none;opacity:1}}#hud{position:absolute;left:0;right:0;top:0;pointer-events:none;padding-top:calc(env(safe-area-inset-top,0px) + 14px);padding-left:max(66px,calc(env(safe-area-inset-left,0px) + 66px));padding-right:max(66px,calc(env(safe-area-inset-right,0px) + 66px));display:flex;justify-content:center;min-height:42px;align-items:center;box-sizing:border-box}.prog{position:relative;width:min(520px,100%);height:6px;border-radius:3px;background:#efe6d224}.prog i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:var(--brass)}.prog #ticks span{position:absolute;top:-3px;width:2px;height:12px;margin-left:-1px;background:#efe6d273;border-radius:1px}.prog #ticks span.done{background:var(--brass);opacity:.5}.prog b{position:absolute;right:-8px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:radial-gradient(circle,#c8352b 0 22%,#1d7f4a 23% 40%,#efe6d2 41% 62%,#141519 63%)}#countBar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);pointer-events:none;z-index:2;display:flex;align-items:baseline;gap:6px;padding:6px 18px;border-radius:999px;background:#0b1020b8;border:1px solid var(--line);white-space:nowrap}#countBar b{font-family:var(--f-display);font-weight:400;font-size:clamp(26px,7vw,36px);line-height:1;color:var(--chalk);font-variant-numeric:tabular-nums}#countBar span{font-weight:700;font-size:14px;color:var(--brass)}#countBar.up b{animation:cntUp .3s ease-out}#countBar.down b{animation:cntDown .3s ease-out}@keyframes cntUp{0%{transform:scale(1.25);color:var(--good)}to{transform:none}}@keyframes cntDown{0%{transform:scale(.85);color:var(--bad)}to{transform:none}}#hint{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);display:flex;justify-content:center;pointer-events:none;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}#hint span{background:#0b1020b8;border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-weight:700;font-size:15px;letter-spacing:.04em;text-align:center}#hint.pulse span{animation:blink 1.1s ease-in-out infinite;border-color:var(--good);color:var(--chalk)}@keyframes blink{50%{opacity:.55}}.layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-block:calc(env(safe-area-inset-top,0px) + 16px) calc(env(safe-area-inset-bottom,0px) + 16px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.card{width:min(440px,100%);background:#141b30db;border:1px solid var(--line);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;gap:16px;backdrop-filter:blur(6px);box-shadow:0 20px 60px #00000073}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--brass);font-weight:700;text-transform:uppercase}.btn{appearance:none;border:0;cursor:pointer;font-family:var(--f-display);font-size:20px;letter-spacing:.06em;background:var(--brass);color:#1a1206;border-radius:12px;padding:14px 18px;box-shadow:0 4px #9c6b10}.btn:active{transform:translateY(3px);box-shadow:0 1px #9c6b10}.btn:focus-visible{outline:3px solid var(--chalk);outline-offset:3px}.best{font-size:13px;color:var(--mute);display:flex;justify-content:center;align-items:center;gap:12px;min-height:34px}.best b{font-family:var(--f-display);font-weight:400;color:var(--chalk);font-variant-numeric:tabular-nums}#result{align-items:center}.btnrow{display:flex;gap:10px;align-items:center}.btnrow .btn{flex:1}.zbtn.inline{position:relative;left:auto;top:auto;flex:none;align-self:stretch;background:#0b102099;color:var(--chalk);border:1px solid var(--brass);box-shadow:0 4px #00000073}.zbtn.inline:before{background:var(--brass);box-shadow:inset 3px 0 #9c6b10}.zbtn.inline b{background:#f2b33d26;color:var(--brass)}.zbtn.inline:active{box-shadow:0 1px #00000073}.zbtn{position:relative}.zbtn:not(.inline){position:absolute}.zbtn .ndot{position:absolute;top:-7px;right:-7px;font-family:var(--f-body);font-size:10px;font-weight:700;letter-spacing:.08em;color:#fff;background:#ff2ee6;border-radius:999px;padding:2px 6px;box-shadow:0 0 0 2px var(--ink)}.zk .ntag{margin-left:0;margin-right:6px}.btn.ghost{background:transparent;color:var(--chalk);border:1px solid var(--line);box-shadow:none;flex:0 0 auto;padding-inline:18px}.zbtn{position:absolute;left:max(12px,env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 12px);z-index:3;appearance:none;cursor:pointer;display:flex;align-items:center;gap:8px;background:var(--brass);color:#1a1206;border:0;border-radius:12px;padding:9px 14px 9px 12px;font-family:var(--f-display);font-weight:400;font-size:15px;letter-spacing:.04em;box-shadow:0 4px #9c6b10,0 6px 16px #0006}.zbtn:before{content:"";width:14px;height:16px;border-radius:2px 3px 3px 2px;background:#1a1206;box-shadow:inset 3px 0 #6b4a0e}.zbtn b{font-family:var(--f-body);font-weight:700;font-size:12px;background:#1a1206d9;color:var(--brass);border-radius:999px;padding:2px 8px;font-variant-numeric:tabular-nums}.zbtn:hover{filter:brightness(1.06)}.zbtn:active{transform:translateY(3px);box-shadow:0 1px #9c6b10,0 3px 8px #0006}.zbtn:focus-visible,.zclose:focus-visible,.ztabs button:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}#zukan{z-index:5;background:#0508128c}.iconbtn{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:3;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;appearance:none;cursor:pointer;background:#141b30e6;border:1px solid var(--line);color:var(--chalk);box-shadow:0 3px #00000073;padding:0}.iconbtn svg{width:22px;height:22px}.iconbtn:active{transform:translateY(2px);box-shadow:0 1px #00000073}.iconbtn:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}#soundBtn{right:max(12px,env(safe-area-inset-right,0px))}#pauseBtn{left:max(12px,env(safe-area-inset-left,0px))}#soundBtn .off,#soundBtn.muted .on{display:none}#soundBtn.muted .off{display:block}#soundBtn.muted{color:var(--mute)}#pauseLayer{z-index:6;background:#05081299}.pcard{width:min(340px,100%);gap:14px}.pcard h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:28px}.prow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:12px;font-weight:700}.switch{appearance:none;cursor:pointer;width:52px;height:30px;border-radius:999px;border:0;background:var(--line);position:relative;padding:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--chalk);transition:transform .15s}.switch[aria-checked=true]{background:var(--good)}.switch[aria-checked=true]:after{transform:translate(22px)}.switch:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.pbtns{display:flex;flex-direction:column;gap:10px}.zcard{width:min(720px,100%);max-height:100%;gap:12px}.zhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.zhead h2{margin:2px 0 0;font-family:var(--f-display);font-weight:400;font-size:24px}.zclose{appearance:none;border:1px solid var(--line);background:transparent;color:var(--chalk);border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;flex:none}.ztabs{display:flex;gap:6px;flex-wrap:wrap}.ztabs button{appearance:none;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--mute);border-radius:999px;padding:5px 12px;font-family:var(--f-body);font-weight:700;font-size:12px}.ztabs button[aria-selected=true]{background:var(--brass);color:#1a1206;border-color:var(--brass)}.zlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;overflow-y:auto;min-height:0;flex:1;padding-right:2px}.zk{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;grid-template-columns:1fr auto;gap:2px 8px;min-width:0;background:#ffffff05}.zk .zs{grid-column:1/-1;font-size:10px;letter-spacing:.1em;color:var(--brass)}.zk.t1 .zs{color:var(--mute)}.zk.t2 .zs{color:#9fd8ff}.zk.t4 .zs{color:#ff8af0}.zk.t4{border-color:#ff2ee673}.zk .zn{font-weight:700;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zk .zv{font-family:var(--f-display);font-size:14px;color:var(--good);text-align:right;font-variant-numeric:tabular-nums}.zk .zv.neg{color:var(--bad)}.zk.t4 .zv{color:#ff8af0}.zk .zc{grid-column:1/-1;font-size:11px;color:var(--mute);line-height:1.5}.zk.unk .zn{color:var(--mute);letter-spacing:.2em}.zk.unk{background:transparent;border-style:dashed}.tally-card{gap:12px}.tally{display:flex;flex-direction:column;gap:2px;max-height:min(38vh,320px);overflow-y:auto;scrollbar-width:thin}.trow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:baseline;padding:3px 0;font-size:14px;animation:rowIn .22s ease-out}.trow .tl{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trow .tl small{display:block;font-size:11px;font-weight:500;color:var(--mute);white-space:normal}.trow .td{color:var(--mute);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.trow .tv{font-family:var(--f-display);font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.trow.sec{grid-template-columns:1fr;margin-top:8px;padding-bottom:4px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.2em;color:var(--brass)}.trow.sec:first-child{margin-top:0}.trow.good .tv{color:var(--good)}.trow.bad .tv{color:var(--bad)}.trow.hid .tl,.trow.hid .tv{color:var(--brass)}.trow.hid.bad .tv{color:var(--bad)}.trow.hid.t1 .tl,.trow.hid.t2 .tl{color:var(--chalk)}.trow.hid.t1 .tv,.trow.hid.t2 .tv{color:var(--good)}.trow.hid.t2 .tl{color:#9fd8ff}.trow.hid.t4 .tl{color:#ff8af0;text-shadow:0 0 12px rgba(255,46,230,.6)}.trow.hid.t4 .tv{color:#ff8af0}.ntag{display:inline-block;margin-left:6px;font-family:var(--f-body);font-size:10px;font-weight:700;letter-spacing:.1em;color:#fff;background:#ff2ee6;border-radius:4px;padding:1px 5px;vertical-align:2px;text-shadow:none}.trow.new{animation:rowIn .22s ease-out,newGlow 1.2s ease-out}@keyframes newGlow{0%{background:#ff2ee640}to{background:transparent}}@keyframes rowIn{0%{transform:translate(-14px);opacity:0}to{transform:none;opacity:1}}.run{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:8px;color:var(--mute);font-size:13px;font-weight:700}.run b{font-family:var(--f-display);font-weight:400;font-size:24px;color:var(--chalk);font-variant-numeric:tabular-nums}.run b.bump{animation:bump .25s ease-out}@keyframes bump{0%{transform:scale(1.18)}to{transform:scale(1)}}#final{display:flex;flex-direction:column;gap:2px;align-items:flex-end;text-align:right}.fxwrap{position:relative}#fx{position:absolute;right:0;top:50%;width:0;height:0;pointer-events:none}#fx .mile{position:absolute;right:0;top:30px;white-space:nowrap;font-family:var(--f-display);font-size:18px;color:hsl(var(--hue) 95% 65%);text-shadow:0 2px 0 rgba(0,0,0,.6);animation:mile 1s ease-out forwards}@keyframes mile{0%{transform:translateY(-6px) scale(.6);opacity:0}20%{transform:translateY(0) scale(1.15);opacity:1}to{transform:translateY(14px) scale(1);opacity:0}}#fx .shard{position:absolute;left:-90px;top:0;width:8px;height:8px;border-radius:2px;background:hsl(var(--hue) 95% 62%);animation:shard .8s cubic-bezier(.1,.7,.3,1) forwards}@keyframes shard{0%{transform:translate(0) scale(1.4) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.4) rotate(220deg);opacity:0}}#scoreNum.pump{animation:pump .35s cubic-bezier(.2,1.8,.4,1)}@keyframes pump{0%{transform:scale(1.35)}to{transform:scale(1)}}#final.slam #scoreNum{animation:slam .55s cubic-bezier(.2,1.6,.4,1)}@keyframes slam{0%{transform:scale(2.6);opacity:0}60%{opacity:1}to{transform:scale(1)}}.tally-card.shake{animation:shake .4s ease-out}@keyframes shake{0%,to{transform:none}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}#wipeMsg{color:var(--mute);font-size:14px}#skipHint{margin-left:6px;opacity:.7}@media(prefers-reduced-motion:reduce){.trow,#final.slam #scoreNum,.tally-card.shake,#scoreNum.pump{animation:none}#fx .shard{display:none}}.score-lbl{display:flex;justify-content:space-between;align-items:baseline}#scoreNum{font-family:var(--f-display);font-size:clamp(40px,12vw,72px);line-height:1;font-variant-numeric:tabular-nums;color:var(--brass);white-space:nowrap}.scoreline{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;white-space:nowrap}.scoreline .unit{font-family:var(--f-display);font-size:clamp(18px,5vw,28px);color:var(--brass)}#clearLine{font-size:13px;color:var(--mute);font-weight:700;margin-top:2px}#clearLine.clear{font-family:var(--f-display);font-weight:400;font-size:26px;letter-spacing:.08em;color:#ff8af0;text-shadow:0 0 18px rgba(255,46,230,.7);animation:clearIn .6s cubic-bezier(.2,1.6,.4,1)}@keyframes clearIn{0%{transform:scale(2.2) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}#result.party{align-items:flex-end;pointer-events:none}#result.party .card{pointer-events:auto;background:#140c24b8;padding-block:16px}#result.party .tally,#result.party .score-lbl{display:none}.newbest{color:var(--good);font-weight:700;font-size:13px;letter-spacing:.1em}@media(prefers-reduced-motion:reduce){#hint.pulse span{animation:none}}#version{position:absolute;right:max(8px,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 4px);margin:0;font-size:10px;color:var(--mute);opacity:.6;pointer-events:none;z-index:1}.sharebtn[hidden]{display:none}.sharebtn{appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:100%;min-height:42px;padding:10px 20px;border:1px solid var(--brass);background:#0b102099;color:var(--chalk);border-radius:999px;box-shadow:0 3px #00000073;font-family:var(--f-body);font-weight:700;font-size:15px;text-decoration:none;-webkit-tap-highlight-color:transparent}.sharebtn svg{flex:none;margin-top:-2px}.sharebtn:active{transform:translateY(2px);box-shadow:0 1px #00000073}.sharebtn:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.credit{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:12px;color:var(--mute)}.credit[hidden]{display:none}.credit a{color:inherit;text-underline-offset:3px}#result.party .credit{display:none}#shareModal{z-index:7;background:#0508129e}.share-box{width:min(560px,100%);max-height:100%;overflow:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:18px;background:#141b30f5;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px #00000073}.share-box:focus{outline:none}.share-box h2{margin:0;font-family:var(--f-body);font-weight:700;font-size:17px;text-align:center;color:var(--chalk);letter-spacing:.1em}.share-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.share-opts:has(#shareVid[hidden]){grid-template-columns:1fr}.share-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);color:var(--chalk);cursor:pointer;font:inherit;text-align:center;transition:border-color .15s,transform .15s;-webkit-tap-highlight-color:transparent}.share-card:hover:not(:disabled){border-color:var(--brass);transform:translateY(-2px)}.share-card:focus-visible{outline:3px solid var(--chalk);outline-offset:2px}.share-card:disabled{cursor:wait}.share-prev{position:relative;display:block;aspect-ratio:1;max-height:30vh;background:#05060f}.share-prev img,.share-prev video{display:block;width:100%;height:100%;object-fit:contain}.share-wait{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--mute)}.share-badge{position:absolute;right:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:#050610bf;color:var(--chalk);font-size:12px;font-weight:700}.share-lab{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;font-weight:700;font-size:15px;border-top:1px solid var(--line);background:#f2b33d24}.share-lab svg{flex:none}.share-foot{display:flex;flex-direction:column;align-items:stretch;gap:8px}.share-x{display:flex;align-items:center;justify-content:center;min-height:42px;box-sizing:border-box;border:1px solid var(--chalk);border-radius:999px;color:var(--chalk);font-weight:700;font-size:15px;text-decoration:none}.share-close{align-self:center;padding:4px 14px;border:0;background:none;color:var(--mute);font:inherit;font-size:15px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;cursor:pointer}.share-close:hover{color:var(--chalk)}@media(max-aspect-ratio:1/1){.share-opts{grid-template-columns:1fr}.share-box{gap:10px;padding:14px}.share-prev{aspect-ratio:auto;height:22vh;height:22svh}.share-lab{padding:9px 8px;font-size:14px}}.tally-card{transition:transform .28s cubic-bezier(.2,1.25,.4,1),opacity .28s,filter .28s}.tally-card.blown{transform:translateY(115vh) rotate(7deg);opacity:0;filter:blur(5px);transition:transform .18s cubic-bezier(.6,0,1,.6),opacity .18s,filter .18s}#mega{position:absolute;left:0;right:0;top:34%;z-index:4;text-align:center;pointer-events:none;font-family:var(--f-display);font-size:clamp(40px,12vw,92px);line-height:1.1;color:#ffd75e;text-shadow:0 0 18px rgba(255,190,60,.8),0 4px 0 #8a4a00,0 0 2px #000;-webkit-text-stroke:2px #3a1d00;white-space:nowrap}#mega.pop{animation:megaPop .45s cubic-bezier(.2,1.6,.4,1) both}#mega.out{animation:megaOut .4s ease-in forwards}@keyframes megaPop{0%{transform:scale(3) rotate(-6deg);opacity:0}60%{opacity:1}to{transform:scale(1) rotate(-3deg);opacity:1}}@keyframes megaOut{to{transform:scale(1.15) rotate(-3deg);opacity:0}}@media(prefers-reduced-motion:reduce){#mega.pop,#mega.out{animation:none}}#mega.kei{color:#fff;text-shadow:0 0 22px rgba(160,220,255,.95),0 4px 0 #3a4a8a,0 0 2px #000;-webkit-text-stroke:2px #1a2350}
