@font-face{font-family:Title Latin;src:url(./title-latin-pR0lH3Ms.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Title Han;src:url(./title-han-rVGg_W0P.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF}:root{--ink:#0e0b26;--night-0:#120f2e;--night-1:#1a1748;--night-2:#2b2563;--night-3:#3c3489;--gold-hi:#fff0c4;--gold:#fac775;--gold-lo:#c47f17;--rim:#8fe3ff;--text:#fff;--text-dim:#cecbf6;--outline:0 4px 0 var(--ink), 3px 3px 0 var(--ink), -3px 3px 0 var(--ink), 3px -3px 0 var(--ink), -3px -3px 0 var(--ink), 0 0 10px #00000073;--gloss:linear-gradient(180deg, #ffffff59 0 35%, transparent 35%);--diamond:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1L11 6L6 11L1 6Z' fill='%23FAC775' stroke='%230E0B26' stroke-width='1.5'/%3E%3C/svg%3E");--panel-bg:var(--diamond) left 6px top 6px / 12px no-repeat, var(--diamond) right 6px top 6px / 12px no-repeat, var(--diamond) left 6px bottom 6px / 12px no-repeat, var(--diamond) right 6px bottom 6px / 12px no-repeat, linear-gradient(180deg, var(--night-2), var(--night-1));--claw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round'%3E%3Cpath d='M14 3Q9 8 4 16M18 5Q13 11 8 19M21 9Q17 14 12 21' stroke='%23FF5A5A' stroke-width='4.5' stroke-opacity='.6'/%3E%3Cpath d='M14 3Q9 8 4 16M18 5Q13 11 8 19M21 9Q17 14 12 21' stroke='%23FFF' stroke-width='2'/%3E%3C/svg%3E")}html,body{background:var(--night-0);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;margin:0;font-family:system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;overflow:hidden}#app{width:100%;height:100%;display:flow-root}#app *,#rotate-hint{touch-action:none}#app .rank-scroll,#app .rank-scroll *,#app .board-list,#app .board-list *,#app .rules-scroll,#app .rules-scroll *{touch-action:pan-y}#app canvas{display:block}.overlay{pointer-events:none;color:#fff;width:720px;height:1280px;font-family:system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;position:relative;overflow:clip}.overlay button{pointer-events:auto;cursor:pointer;font-family:inherit}.cast{box-sizing:border-box;background:var(--panel-bg);border:3px solid var(--ink);height:660px;box-shadow:inset 0 0 0 2px var(--gold-lo), inset 0 5px 0 2px #ffffff14;pointer-events:auto;border-bottom:0;border-radius:32px 32px 0 0;flex-direction:column;gap:12px;padding:20px 24px 24px;transition:transform .15s ease-out;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(105%)}.cast.open{transform:translateY(0)}.cast-head{align-items:center;gap:16px;font-size:32px;display:flex}.icon-btn{width:96px;height:96px;color:var(--gold-hi);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.icon-btn[hidden]{display:none}.icon-dot{box-sizing:border-box;border:3px solid var(--ink);background:var(--night-3);width:56px;height:56px;box-shadow:0 3px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-dot svg{width:30px;height:30px}.icon-btn:active .icon-dot{box-shadow:none;transform:translateY(3px)}.icon-btn:disabled{opacity:.5}.cast-back{margin:-28px 0 -28px -20px}.leave-card,.profile-card{position:relative}.cover.show:has(~.leave-cover.show){visibility:hidden}.leave-x,.profile-cancel{position:absolute;top:4px;right:4px}.leave-card .card-title,.profile-card .card-title{padding:0 56px}.cast.wrong .cast-back{visibility:hidden}.cast-name{color:var(--gold);text-shadow:var(--outline);font-weight:800}.cast-left{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto}.cast-bar{height:12px;box-shadow:inset 0 2px 3px #0009, 0 0 0 2px var(--ink), 0 0 0 3px #ffffff1f;background:#0d0b24;border-radius:6px;overflow:hidden}.cast-bar-fill{background:var(--gloss), linear-gradient(180deg, var(--gold-hi), var(--gold-lo));transform-origin:0;height:100%}.cast.hurry .cast-bar-fill{background:var(--gloss), linear-gradient(180deg, #ff6b6b, #c9283c)}.cast-q{text-align:center;font-variant-numeric:tabular-nums;text-shadow:var(--outline);font-size:72px;font-weight:800;line-height:1.3}.cast-ans{color:#fac775}.cast.covered .cast-q{visibility:hidden}.cast.wrong{animation:.5s wrong-flash}.cast.wrong .cast-name{color:#f09595}.cast.wrong .cast-q{animation:.4s shake}.cast.wrong .cast-ans{color:#5dcaa5}.cast-ans s{color:#f09595}@keyframes wrong-flash{0%{box-shadow:inset 0 0 0 999px #a32d2dd9}}@keyframes shake{20%,60%{transform:translate(-18px)}40%,80%{transform:translate(18px)}}.cast-pad{flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:12px;display:grid}.key{border:3px solid var(--ink);background:linear-gradient(180deg, var(--night-3), var(--night-2));min-height:96px;box-shadow:inset 0 3px 0 #ffffff1f, 0 6px 0 var(--ink);color:#fff;text-shadow:0 3px 0 var(--ink);border-radius:18px;font-size:44px;font-weight:800}.key:active{box-shadow:inset 0 3px 0 #ffffff1f, 0 0 0 var(--ink);transform:translateY(6px)}.key-ok{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));color:var(--ink);text-shadow:0 1px #ffffff80;font-size:36px}.hud{isolation:isolate}.hud-top{color:var(--text-dim);font-variant-numeric:tabular-nums;text-shadow:var(--outline);gap:28px;font-size:30px;font-weight:800;display:flex;position:absolute;top:40px;left:32px}.hud-pause{z-index:1;border:3px solid var(--ink);background:radial-gradient(circle at 35% 30%, var(--night-3), var(--night-1));width:100px;height:100px;box-shadow:inset 0 0 0 3px var(--gold-lo), 0 5px 0 var(--ink);border-radius:50%;padding:0;position:absolute;top:14px;right:20px}.hud-pause:active{box-shadow:inset 0 0 0 3px var(--gold-lo), 0 1px 0 var(--ink);transform:translateY(4px)}.pause-icon{background:linear-gradient(90deg, var(--gold-hi) 0 35%, transparent 35% 65%, var(--gold-hi) 65%);width:28px;height:32px;filter:drop-shadow(0 2px 0 var(--ink));margin:auto;display:block}.hud-box{box-sizing:border-box;background:var(--panel-bg);border:3px solid var(--ink);box-shadow:inset 0 0 0 2px var(--gold-lo), inset 0 5px 0 2px #ffffff14;border-radius:18px;padding:10px 16px 12px;position:absolute}.hud-enemy{min-width:340px;padding-left:60px;top:128px;right:20px}.hud-player{width:290px;box-shadow:inset 0 0 0 2px var(--rim), inset 0 5px 0 2px #ffffff14;top:236px;left:20px}.hud-name{white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:var(--outline);justify-content:space-between;gap:16px;margin-bottom:8px;font-size:30px;font-weight:800;display:flex}.hp-row{align-items:center;gap:8px;display:flex}.hp-tag{color:var(--gold);text-shadow:0 2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 0 -2px 0 var(--ink);font-size:22px;font-weight:900}.hp-row .bar{flex:1}.bar{height:24px;box-shadow:inset 0 3px 4px #0009, 0 0 0 2px var(--ink), 0 0 0 3px #ffffff1f;background:#0d0b24;border-radius:12px;overflow:hidden}.bar-fill{transform-origin:0;height:100%}.enemy-hp{background:var(--gloss), linear-gradient(180deg, #ff6b6b, #c9283c)}.player-hp{background:var(--gloss), linear-gradient(180deg, #7ff0c8, #1d9e75)}.charge{--ring:#ffb02e;background:conic-gradient(var(--ring) calc(var(--p,0) * 1turn), #0d0b24 0);width:88px;height:88px;box-shadow:0 0 0 3px var(--ink), 0 0 0 5px var(--gold-lo);border-radius:50%;margin-top:-44px;position:absolute;top:50%;left:-44px}.charge:after{content:"";background:var(--claw) center / 72% no-repeat, radial-gradient(circle at 35% 30%, var(--night-3), var(--night-1));box-shadow:0 0 0 3px var(--ink);border-radius:50%;position:absolute;inset:13px}.charge.slowed{--ring:#5fb4ff}.charge.warn{--ring:#ff4d5e;animation:.3s steps(2,jump-none) infinite charge-warn}@keyframes charge-warn{50%{box-shadow:0 0 0 3px var(--ink), 0 0 0 5px var(--gold-lo), 0 0 24px 10px #ff4d5ee6}}.hud-combo{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));color:var(--ink);text-shadow:none;box-shadow:0 0 0 3px var(--ink), 0 0 18px #fac77599;border-radius:999px;padding:2px 16px}.hud-combo:empty{visibility:hidden}.hud-combo.pop{animation:.25s ease-out pop}@keyframes pop{50%{transform:scale(1.35)}}.spells{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:20px;display:grid;position:absolute;inset:852px 28px 52px}.spell{border:3px solid var(--ink);background:radial-gradient(circle at 56px 50%, var(--spell-glow) 0, transparent 96px), linear-gradient(180deg, var(--night-3), var(--night-1));box-shadow:inset 0 0 0 2px var(--gold-lo), inset 0 4px 0 2px #fff0c41f, 0 4px 0 var(--ink);color:#fff;text-align:left;border-radius:24px;grid-template-rows:auto auto;grid-template-columns:72px 1fr;align-content:center;column-gap:16px;padding:0 20px;display:grid}.spell[data-spell=spark]{--spell-glow:#ff8a2a4d}.spell[data-spell=frost]{--spell-glow:#8fd3ff42}.spell[data-spell=thunder]{--spell-glow:#ffe27a3d}.spell[data-spell=meteor]{--spell-glow:#ff6a1f4d}.spell:active{box-shadow:inset 0 0 0 2px var(--gold-lo), inset 0 4px 0 2px #fff0c41f, 0 0 0 var(--ink);transform:translateY(4px)}.spell:disabled{filter:grayscale(.7)brightness(.7)}.spell-icon{width:72px;height:72px;box-shadow:0 0 0 2px var(--ink), 0 4px 0 2px var(--ink);background-position:50%;background-repeat:no-repeat;background-size:100%;border-radius:50%;grid-row:1/3;align-self:center}.spell-name{text-shadow:var(--outline);font-size:36px;font-weight:800}.spell-sub{color:var(--text-dim);font-size:24px}.cover{pointer-events:auto;background:#0e0b26bf;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.cover.show{display:flex}.card{box-sizing:border-box;background:var(--panel-bg);border:3px solid var(--ink);width:540px;box-shadow:inset 0 0 0 2px var(--gold-lo), inset 0 5px 0 2px #ffffff14;text-align:center;border-radius:18px;padding:48px 40px}.card-title{color:var(--gold-hi);text-shadow:var(--outline);font-size:48px;font-weight:800}.card-sub{color:#5dcaa5;margin:16px 0 36px;font-size:34px}.btn{border:3px solid var(--ink);min-height:96px;box-shadow:inset 0 3px 0 #ffffff1f, 0 6px 0 var(--ink);border-radius:24px;padding:0 48px;font-size:36px;font-weight:800;position:relative}.btn:active{box-shadow:inset 0 3px 0 #ffffff1f, 0 0 0 var(--ink);transform:translateY(6px)}.btn:active:before{content:"";height:9px;position:absolute;bottom:100%;left:0;right:0}.btn-main{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));color:var(--ink)}.btn-ghost{background:linear-gradient(180deg, var(--night-3), var(--night-2));color:#fff;text-shadow:0 3px 0 var(--ink)}.title-view{background-repeat:no-repeat;background-size:720px 1280px;flex-direction:column;align-items:center;height:100%;display:flex}.title-mark{margin-top:172px;position:relative}.title-mark>h1{position:relative}.title-halo{filter:none;color:#0000;text-shadow:0 1px 4px #0e0b26b3,0 2px 12px #0e0b2659;pointer-events:none;background:0 0;position:absolute;top:0;left:0;right:0}.title-view{isolation:isolate}.title-parts{z-index:-1;pointer-events:none;position:absolute;inset:0}.title-part{background-repeat:no-repeat;background-size:100% 100%;position:absolute}.title-book-l{width:140px;height:100px;top:420px;left:118px}.title-orb{width:160px;height:100px;top:502px;left:280px}.title-book-r{width:100px;height:90px;top:425px;left:490px}.title-flame{transform-origin:50% 57%;width:140px;height:140px}.title-flame-1{top:452px;left:-30px}.title-flame-2{top:470px;left:8px}.title-flame-3{top:460px;left:572px}.title-flame-4{top:442px;left:612px}.title-candle{width:108px;height:109px}.title-candle-1{top:70px;left:172px}.title-candle-2{top:60px;left:440px}.title-candle>.title-flame{width:108px;height:108px;top:0;left:0}.title-name{letter-spacing:8px;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 55%, var(--gold-lo));color:#0000;filter:drop-shadow(0 3px 0 var(--ink)) drop-shadow(0 -3px 0 var(--ink)) drop-shadow(3px 0 0 var(--ink)) drop-shadow(-3px 0 0 var(--ink)) drop-shadow(0 5px 0 var(--ink)) drop-shadow(0 0 18px #fac77573);-webkit-background-clip:text;background-clip:text;margin:24px 0 0;font-family:Title Latin,Title Han,system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:96px;font-weight:800}.title-tag{color:var(--text-dim);text-shadow:0 1px 3px #0e0b26d9,0 1px 10px #0e0b2673;margin:12px 0 412px;font-size:30px;font-weight:700}.title-start{width:440px;font-size:44px}.title-best{color:var(--text-dim);margin:40px 0 24px;font-size:30px}.title-name:lang(en){letter-spacing:2px;text-align:center;max-width:640px;font-size:72px;line-height:1.1}.title-row{gap:24px;display:flex}.title-rank,.title-mute,.title-lang{white-space:nowrap;width:184px;padding:0 12px;font-size:28px}.title-install{width:600px;margin-top:24px;font-size:30px}.title-player{box-sizing:border-box;border:3px solid var(--ink);max-width:520px;min-height:72px;box-shadow:inset 0 0 0 2px var(--gold-lo);color:#fff;white-space:nowrap;background:#0e0b2699;border-radius:999px;align-items:center;gap:20px;padding:0 28px;font-size:30px;font-weight:800;display:flex;position:absolute;top:28px;left:50%;transform:translate(-50%)}.title-help{position:absolute;top:16px;right:8px}.title-player[hidden]{display:none}.title-player-name{align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.title-player-edit{color:var(--gold);font-size:24px}.card-actions{flex-direction:column;align-items:center;gap:24px;display:flex}.card-actions .btn{width:360px}.pause-card{position:relative}.pause-card .card-title{padding:0 56px}.pause-rules{position:absolute;top:4px;right:4px}.pause-card .pause-resume{width:440px}.pause-row{gap:20px;width:440px;display:flex}.pause-row .btn{white-space:nowrap;flex:1 1 0;width:auto;min-width:0;padding:0 12px;font-size:30px}.card-note{color:var(--text-dim);margin:24px 0 0;font-size:24px;line-height:1.5}.card-sub-muted{color:#cecbf6;font-size:28px}.flag{line-height:1}.flag-code{background:var(--night-3);color:var(--gold-hi);letter-spacing:1px;border-radius:6px;padding:3px 6px;font-size:.7em;font-weight:800}.profile-cover{align-items:flex-start;padding-top:120px}.profile-card{text-align:left;width:600px;padding:40px 36px}.profile-card .card-title{text-align:center}.field{margin-top:28px;display:block}.field-label{color:var(--gold);text-shadow:0 3px 0 var(--ink);margin-bottom:10px;font-size:28px;font-weight:800;display:block}.field-input{box-sizing:border-box;border:3px solid var(--ink);width:100%;height:96px;box-shadow:inset 0 0 0 2px var(--night-3);color:#fff;font:inherit;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#0d0b24;border-radius:18px;padding:0 24px;font-size:36px;font-weight:700}.field-input:focus{box-shadow:inset 0 0 0 3px var(--gold);outline:none}select.field-input{appearance:none;cursor:pointer;background:#0d0b24 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23FAC775' stroke-width='2'/%3E%3C/svg%3E") right 28px center/28px no-repeat;padding-right:72px;font-size:32px}.field-input option{color:#000;background:#fff}.field-hint{color:var(--text-dim);margin:10px 0 0;font-size:24px}.profile-error{color:#ff8a8a;min-height:36px;margin:20px 0 8px;font-size:26px}.profile-confirm-card{width:600px;padding:44px 36px 40px}.profile-taken-text{margin:24px 0 36px;font-size:30px;line-height:1.5}.profile-row{gap:20px;display:flex}.profile-row .btn{flex:1;padding:0 16px}.profile-row[hidden],.profile-row .btn[hidden]{display:none}.board-card{width:700px;padding:36px 20px 32px}.board-tabs{justify-content:center;gap:16px;margin:24px 0 12px;display:flex}.board-tab{border:3px solid var(--ink);background:linear-gradient(180deg, var(--night-3), var(--night-2));min-height:72px;color:var(--text-dim);border-radius:999px;align-items:center;gap:10px;padding:0 32px;font-size:28px;font-weight:800;display:inline-flex}.board-tab[aria-selected=true]{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));color:var(--ink)}.board-row{text-align:right;grid-template-columns:64px 1fr 72px 112px 88px;align-items:center;gap:6px;padding:0 10px;display:grid}.board-row>:nth-child(-n+2){text-align:left}.board-head{color:var(--text-dim);padding-bottom:8px;font-size:22px}.board-list{overscroll-behavior:contain;pointer-events:auto;max-height:700px;margin:0;padding:0;list-style:none;overflow-y:auto}.board-list .board-row{font-variant-numeric:tabular-nums;border-radius:12px;min-height:64px;font-size:28px;font-weight:700}.board-list .board-row:nth-child(odd){background:#ffffff0d}.board-rank{font-weight:900;text-align:center!important}.board-top-1 .board-rank{color:#ffd34d}.board-top-2 .board-rank{color:#d9e2ec}.board-top-3 .board-rank{color:#f0a067}.board-name{align-items:center;gap:10px;min-width:0;display:flex}.board-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-list .board-row.board-me{box-shadow:inset 0 0 0 2px var(--gold);background:#fac77538}.board-gap{text-align:center;color:var(--text-dim);font-size:28px}.board-note{min-height:40px;color:var(--text-dim);margin:12px 0;font-size:28px}.board-note:empty{display:none}.board-close{width:360px;margin-top:16px}#rotate-hint{display:none}@media (orientation:landscape) and (height<=500px){#rotate-hint{z-index:10;color:#fff;background:#26215c;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed;inset:0}}.tutorial{pointer-events:none;position:absolute;inset:0}.tutorial.modal{pointer-events:auto;background:#14103273}.tip{box-sizing:border-box;background:var(--panel-bg);border:3px solid var(--ink);box-shadow:inset 0 0 0 2px var(--gold-lo), inset 0 5px 0 2px #ffffff14;color:var(--text);text-align:center;border-radius:18px;padding:24px 28px;font-size:32px;font-weight:700;line-height:1.4;position:absolute;left:60px;right:60px}.tip:after{content:"";border:16px solid #0000;margin-left:-16px;position:absolute;left:50%}.tip-spells{top:728px}.tip-spells+.tip-finger{top:928px}.tip-pad{top:470px}.tip-spells:after,.tip-pad:after{border-top-color:var(--ink);top:100%}.tip-charge{top:244px}.tip-charge:after{border-bottom-color:var(--ink);bottom:100%}.tip-ok{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));color:var(--ink);margin:20px auto 0;display:block}.tip-ok[hidden]{display:none}.vignette{opacity:0;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 160px 48px #e24b4ad9}.vignette.go{animation:.4s ease-out vignette}@keyframes vignette{0%{opacity:1}to{opacity:0}}.boot-error{justify-content:center;align-items:center;height:100%;display:flex}.title-view{position:relative}.title-book-l{animation:3.7s ease-in-out -1.1s infinite bob-a}.title-orb{animation:4.6s ease-in-out -3.2s infinite bob-b}.title-book-r{animation:3.2s ease-in-out -.4s infinite bob-c}.title-candle-1{animation:4.1s ease-in-out -2.3s infinite bob-b}.title-candle-2{animation:4.9s ease-in-out -.7s infinite bob-a}@keyframes bob-a{0%,to{transform:translateY(0)}35%{transform:translateY(-5px)}60%{transform:translateY(-2px)}80%{transform:translateY(-4px)}}@keyframes bob-b{0%,to{transform:translateY(0)}45%{transform:translateY(-4px)}70%{transform:translateY(-1px)}}@keyframes bob-c{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-6px)rotate(1deg)}65%{transform:translateY(-3px)rotate(-.5deg)}}.title-flame{animation:1.1s ease-in-out infinite flicker}.title-flame-1{animation-duration:.9s;animation-delay:-.3s}.title-flame-2{animation-duration:1.3s;animation-delay:-.8s}.title-flame-3{animation-duration:1.05s;animation-delay:-.5s}.title-flame-4{animation-duration:1.5s;animation-delay:-1.1s}.title-flame-5{animation-duration:.8s;animation-delay:-.2s}.title-flame-6{animation-duration:1.2s;animation-delay:-.6s}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}22%{opacity:.86;transform:scale(.94,1.05)}45%{opacity:.97;transform:scale(1.04,.97)}68%{opacity:.8;transform:scale(.95,1.06)}86%{opacity:.93;transform:scale(1.02,.98)}}.title-mark{transform-origin:50% 100%;animation:4.5s ease-in-out infinite title-hop}@keyframes title-hop{0%,24%,to{transform:none}4%{transform:scale(1.04,.95)}9%{transform:translateY(-14px)scale(.97,1.04)}14%{transform:scale(1.03,.96)}18%{transform:translateY(-4px)scale(.99,1.01)}}.title-start{animation:1.6s ease-out infinite start-pulse}@keyframes start-pulse{0%{box-shadow:inset 0 3px 0 #ffffff1f, 0 6px 0 var(--ink), 0 0 0 0 #fac7758c}to{box-shadow:inset 0 3px 0 #ffffff1f, 0 6px 0 var(--ink), 0 0 0 20px #fac77500}}.banner{text-align:center;width:fit-content;color:var(--gold);text-shadow:0 7px 0 var(--ink), 3px 0 0 var(--ink), -3px 0 0 var(--ink), 0 3px 0 var(--ink), 0 -3px 0 var(--ink), 2px 2px 0 var(--ink), -2px 2px 0 var(--ink), 2px -2px 0 var(--ink), -2px -2px 0 var(--ink);clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);opacity:0;pointer-events:none;background:linear-gradient(#c9283c,#7a1530);margin:0 auto;padding:6px 72px;font-family:Title Latin,Title Han,system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:72px;font-weight:800;position:absolute;top:610px;left:0;right:0}.banner.show{animation:1.2s ease-out banner}@keyframes banner{0%{opacity:0;transform:translateY(40px)scale(.6)}15%{opacity:1;transform:translateY(0)scale(1.1)}25%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.tip-finger{pointer-events:none;margin-left:-48px;font-size:96px;line-height:1;animation:1s ease-in-out infinite tap;position:absolute;top:980px;left:50%}.tip-finger[hidden]{display:none}@keyframes tap{0%,to{transform:translateY(-40px)}50%{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.title-part,.title-mark,.title-start,.tip-finger{animation:none}.banner.show{animation-name:banner-fade}}@keyframes banner-fade{0%,75%{opacity:1}to{opacity:0}}.cover.show:has(~.rules-cover.show){visibility:hidden}.rules-card{text-align:left;flex-direction:column;width:640px;max-height:1160px;padding:40px 0 0;display:flex;position:relative}.rules-card .card-title{text-align:center;padding:0 96px}.rules-x{position:absolute;top:4px;right:4px}.rules-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;margin-top:20px;padding:0 40px 40px;overflow-y:auto}.rules-steps,.rules-controls,.rules-spells{flex-direction:column;gap:22px;margin:0;padding:0;list-style:none;display:flex}.rules-steps li,.rules-spells li{align-items:flex-start;gap:20px;display:flex}.rules-card h3{color:var(--gold);text-shadow:0 3px 0 var(--ink);margin:0;font-size:30px;font-weight:800}.rules-card p{color:var(--text-dim);margin:4px 0 0;font-size:26px;line-height:1.4}.rules-num{box-sizing:border-box;border:3px solid var(--ink);background:var(--night-3);width:48px;height:48px;color:var(--gold-hi);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.rules-card h3.rules-head{border-top:2px solid var(--gold-lo);text-align:center;color:var(--gold-hi);margin:34px 0 18px;padding-top:26px;font-size:34px}.rules-icon{background:50%/contain no-repeat;flex:none;width:64px;height:64px}.rules-controls li{display:block}.btn.btn-danger{color:#fff;text-shadow:0 3px 0 var(--ink);background:linear-gradient(#ff7a7a,#e0394b 50%,#a51d33)}.rank-page{z-index:5;pointer-events:auto;color:var(--text);background:radial-gradient(3px 3px at 14% 22px, #fff 50%, transparent 51%), radial-gradient(2px 2px at 83% 16px, #fff 50%, transparent 51%), radial-gradient(2px 2px at 66% 54px, var(--rim) 50%, transparent 51%), radial-gradient(3px 3px at 91% 42px, var(--gold-hi) 50%, transparent 51%), radial-gradient(2px 2px at 22% 60px, #fff 50%, transparent 51%), radial-gradient(2px 2px at 36% 12px, var(--gold-hi) 50%, transparent 51%), radial-gradient(2px 2px at 76% 64px, var(--rim) 50%, transparent 51%), linear-gradient(180deg, var(--night-1) 0%, var(--night-0) 60%);position:absolute;inset:0;overflow:hidden}.rank-page [hidden]{display:none!important}#app .rank-scroll,#app .rank-scroll *{touch-action:pan-y}.rank-top{box-sizing:border-box;border-bottom:3px solid var(--ink);background:#2b2563b3;height:76px;position:relative}.rank-title{text-align:center;letter-spacing:2px;color:var(--gold-hi);text-shadow:var(--outline);margin:0;font-size:40px;font-weight:900;line-height:73px}.rank-back{width:104px;height:76px;color:var(--gold-hi);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0}.rank-back:after{content:"";position:absolute;inset:0 0 -12px}.rank-back .rank-dot{box-sizing:border-box;border:3px solid var(--ink);background:var(--night-3);width:56px;height:56px;box-shadow:0 3px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.rank-back svg{width:30px;height:30px}.rank-back:active .rank-dot{box-shadow:none;transform:translateY(3px)}.rank-filter-row{box-sizing:border-box;height:96px;padding:12px 14px}.rank-filter{box-sizing:border-box;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1h10L6 7z' fill='%23FAC775'/%3E%3C/svg%3E") right 24px center / 22px no-repeat, linear-gradient(#ffffff0f, #ffffff0f), var(--night-1);width:100%;height:72px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;cursor:pointer;border:2px solid #fac77573;border-radius:16px;padding:0 64px 0 22px;font-family:inherit;font-size:28px;font-weight:700;display:block}.rank-filter:focus{outline:none}.rank-filter:focus-visible{border-color:var(--gold);outline:4px solid var(--rim);outline-offset:3px}.rank-filter option{color:#000;background:#fff}.rank-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:220px;position:absolute;inset:172px 0 0;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0,#000 20px);mask-image:linear-gradient(#0000 0,#000 20px)}.rank-list{margin:0;padding:16px 12px 0;list-style:none}.rank-row{grid-template-columns:max(64px, calc(var(--rank-ch,3) * .64em + 10px)) 48px minmax(0, 1fr) minmax(160px, max-content);box-sizing:border-box;font-variant-numeric:tabular-nums;text-align:left;background:#ffffff09;border-radius:14px;align-items:center;gap:8px;width:100%;height:80px;padding:0 14px 0 6px;font-size:28px;font-weight:700;display:grid}.rank-row:nth-child(2n){background:#ffffff13}.rank-row.rank-m1{background:linear-gradient(90deg,#fac77533,#fac77512)}.rank-row.rank-m2{background:linear-gradient(90deg,#d9dcec2b,#d9dcec0d)}.rank-row.rank-m3{background:linear-gradient(90deg,#e09a5c30,#e09a5c0f)}.rank-row.is-me{box-shadow:inset 0 0 0 3px var(--gold);background:#fac77521}.rank-num{color:var(--text-dim);white-space:nowrap;justify-content:center;align-items:center;font-size:28px;font-weight:800;display:flex}.rank-medal{width:52px;height:52px;display:block}.rank-medal-num{font-family:system-ui,-apple-system,sans-serif;font-size:20px;font-weight:900}.rank-flag{white-space:nowrap;text-align:center;font-size:34px;line-height:1}.rank-name{align-items:center;gap:8px;min-width:0;display:flex}.rank-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rank-you{border:2px solid var(--ink);background:var(--gold);color:var(--ink);border-radius:10px;flex:none;padding:3px 9px;font-size:17px;font-weight:900;line-height:1.2}.rank-value{white-space:nowrap;flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.rank-score{color:var(--gold);white-space:nowrap;font-size:27px;font-weight:900}.rank-stage{color:var(--text-dim);white-space:nowrap;margin-top:3px;font-size:20px;font-weight:600}.rank-note{text-align:center;min-height:40px;color:var(--text-dim);margin:24px 32px;font-size:28px}.rank-note:empty{display:none}.rank-retry{border:3px solid var(--ink);background:linear-gradient(180deg, var(--night-3), var(--night-2));min-height:96px;box-shadow:inset 0 0 0 2px var(--gold-lo), 0 5px 0 var(--ink);color:var(--gold-hi);border-radius:999px;margin:24px auto;padding:0 32px;font-size:26px;font-weight:800;display:block}.rank-retry:active{box-shadow:inset 0 0 0 2px var(--gold-lo), 0 1px 0 var(--ink);transform:translateY(4px)}.rank-end{text-align:center;color:var(--text-dim);padding:20px 0 8px;font-size:24px}.rank-end:empty{display:none}.rank-end:before,.rank-end:after{content:"◆";color:var(--gold-lo);vertical-align:3px;margin:0 14px;font-size:16px}.rank-me{border:0;border-top:3px solid var(--gold);background:var(--night-2);box-shadow:0 -3px 0 var(--ink);color:var(--text);padding:8px 12px;animation:.3s ease-out both bar-in;display:block;position:absolute;bottom:0;left:0;right:0}.rank-me .rank-row{background:#fac7751a}.rank-me .rank-num{color:var(--gold-hi);font-weight:900}.rank-up{width:96px;height:96px;color:var(--gold-hi);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:bottom .2s ease-out;animation:.25s ease-out both bar-in;display:flex;position:absolute;bottom:12px;right:12px}.rank-up .rank-dot{box-sizing:border-box;border:3px solid var(--ink);width:72px;height:72px;box-shadow:inset 0 0 0 2px #c47f17cc, 0 4px 0 var(--ink);background:#3c3489bf;border-radius:50%;justify-content:center;align-items:center;display:flex}.rank-up svg{width:38px;height:38px}.rank-up:active .rank-dot{box-shadow:inset 0 0 0 2px #c47f17cc, 0 0 0 var(--ink);transform:translateY(4px)}.rank-bar-up .rank-up{bottom:108px}.rank-page button:focus-visible{outline:4px solid var(--rim);outline-offset:3px}@keyframes bar-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rank-me,.rank-up{animation:none}.rank-up{transition:none}}.rv{--display:"Title Latin", "Title Han", system-ui, -apple-system, "PingFang SC", "Noto Sans SC", sans-serif;--red:#ff5a5a;--teal:#5dcaa5;--outline-s:0 3px 0 var(--ink), 2px 2px 0 var(--ink), -2px 2px 0 var(--ink), 2px -2px 0 var(--ink), -2px -2px 0 var(--ink);position:absolute;inset:0}.rv,.rv :where(*){box-sizing:border-box}.rv :where(p){margin:0}#app .rv-scroll,#app .rv-scroll *{touch-action:pan-y}.rv-scroll{overscroll-behavior:contain;pointer-events:auto;position:absolute;inset:0;overflow-y:auto}.rv-sheet{border:3px solid var(--gold);min-height:1248px;box-shadow:0 0 0 7px var(--ink);background:linear-gradient(180deg, var(--night-2), var(--night-0) 85%);border-radius:34px;flex-direction:column;gap:28px;margin:16px;padding:40px 40px 34px;display:flex;position:relative}.rv-diamond{background:var(--gold);border:2px solid var(--ink);width:20px;height:20px;position:absolute;transform:rotate(45deg)}.rv-diamond:first-child{top:14px;left:14px}.rv-diamond:nth-child(2){top:14px;right:14px}.rv-diamond:nth-child(3){bottom:14px;left:14px}.rv-diamond:nth-child(4){bottom:14px;right:14px}.rv-head{text-align:center}.rv-mark{justify-content:center;align-items:center;gap:30px;display:flex}.rv-sign{font:700 46px var(--display);color:var(--gold);text-shadow:var(--outline-s)}.rv-name{white-space:nowrap;font:800 68px/1.1 var(--display);letter-spacing:4px;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 55%, var(--gold-lo));color:#0000;filter:drop-shadow(0 3px 0 var(--ink)) drop-shadow(0 -3px 0 var(--ink)) drop-shadow(3px 0 0 var(--ink)) drop-shadow(-3px 0 0 var(--ink)) drop-shadow(0 5px 0 var(--ink));-webkit-background-clip:text;background-clip:text}.rv:lang(en) .rv-name{letter-spacing:1px;font-size:52px}.rv-hook{font:700 34px var(--display);text-shadow:var(--outline-s);margin-top:6px}.rv-panel{border:2px solid var(--gold);box-shadow:0 0 0 3px var(--ink);background:linear-gradient(180deg, var(--night-1), var(--night-0));border-radius:24px;position:relative}.rv-hero{text-align:center;--bt:-4px;--br:-24px;--bs:30px;margin-top:26px;padding:46px 20px 22px}.rv:lang(en) .rv-hero{--br:-22px;--bs:29px}.rv-hero>:not(.rv-deco):not(.rv-tab):not(.rv-badge){z-index:1;position:relative}.rv-tab{z-index:1;white-space:nowrap;border:2px solid var(--gold);box-shadow:0 0 0 4px var(--ink);background:var(--night-3);font:700 26px var(--display);color:var(--gold-hi);border-radius:24px;padding:6px 30px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.rv-big{font:700 124px/1 var(--display);white-space:nowrap;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));color:#0000;filter:drop-shadow(0 4px 0 var(--ink)) drop-shadow(0 -4px 0 var(--ink)) drop-shadow(4px 0 0 var(--ink)) drop-shadow(-4px 0 0 var(--ink)) drop-shadow(0 7px 0 var(--ink));-webkit-background-clip:text;background-clip:text}.rv-climb{border:3px solid var(--ink);white-space:nowrap;font:700 30px var(--display);text-shadow:0 2px #0e0b2699;background:#2db866;border-radius:30px;margin-top:16px;padding:6px 28px 8px;display:inline-block}.rv-country{color:var(--text-dim);margin-top:24px;font:700 28px system-ui,-apple-system,PingFang SC,Noto Sans SC,sans-serif}.rv-deco{pointer-events:none;border-radius:22px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(50% 60%,#0000 35%,#000 95%);mask-image:radial-gradient(50% 60%,#0000 35%,#000 95%)}.rv-deco>*{opacity:.22;position:absolute}.rv-deco img{opacity:.28}.rv-deco b{font:700 var(--g,40px) var(--display);color:var(--gold)}.rv-deco b.rv-teal{color:var(--teal)}.rv-boxes{grid-template-columns:1fr 1fr;gap:28px;display:grid}.rv-boxes.rv-one{grid-template-columns:1fr}.rv-box{text-align:center;background:linear-gradient(180deg, var(--night-2), var(--night-1));--bt:-2px;--br:-14px;--bs:20px;padding:18px 12px 16px}.rv:lang(en) .rv-box{--br:-14px;--bs:19px}.rv-label{font:700 26px var(--display);color:var(--gold);margin:0 auto;display:table}.rv:lang(en) .rv-label,.rv:lang(en) .rv-tab{text-transform:uppercase}.rv-value{font:700 60px/1.05 var(--display);white-space:nowrap;text-shadow:0 4px 0 var(--ink), 3px 3px 0 var(--ink), -3px 3px 0 var(--ink), 3px -3px 0 var(--ink), -3px -3px 0 var(--ink);margin:4px auto 0}.rv-box.rv-has-badge .rv-value{max-width:calc(100% - 104px)}.rv-sub{color:var(--text-dim);margin-top:6px;font:700 20px system-ui,-apple-system,PingFang SC,Noto Sans SC,sans-serif}.rv-badge{z-index:2;top:var(--bt);right:var(--br);border:2px solid var(--ink);white-space:nowrap;font:700 var(--bs) var(--display);color:#fff;background:var(--red);text-shadow:0 2px #0e0b2673;border-radius:18px;padding:5px 14px 6px;animation:3.8s ease-in-out 1s infinite rv-badge-call;position:absolute;transform:rotate(20deg)}@keyframes rv-badge-call{0%,52%,to{transform:rotate(20deg)scale(1)}5%{transform:rotate(8deg)scale(1)}10%{transform:rotate(32deg)scale(1)}15%{transform:rotate(10deg)scale(1)}20%{transform:rotate(30deg)scale(1)}25%{transform:rotate(20deg)scale(1)}32%{transform:rotate(20deg)scale(1.2)}38%{transform:rotate(20deg)scale(1)}45%{transform:rotate(20deg)scale(1.2)}}.rv-stats{background:linear-gradient(180deg, var(--night-2), var(--night-1));grid-template-columns:repeat(4,1fr);padding:12px 0 10px;display:grid}.rv-stat{text-align:center}.rv-stat+.rv-stat{border-left:2px solid #cecbf626}.rv-stat .ico{width:50px;height:50px;margin:0 auto 4px;display:block}.rv-stat b{font:700 38px var(--display);white-space:nowrap;text-shadow:var(--outline-s);display:block}.rv-stat span{color:var(--text-dim);font:600 21px system-ui,-apple-system,PingFang SC,Noto Sans SC,sans-serif}.rv-badge,.rv .ico,.rv .ico .dart,.rv-big,.rv-name{will-change:transform}.rv .ico-0{transform-origin:50% 92%;animation:1.6s ease-in-out infinite rv-flicker}@keyframes rv-flicker{0%,to{transform:scale(1)skew(0)}30%{transform:scale(1.04,1.08)skew(-3deg)}65%{transform:scale(.98,1.03)skew(3deg)}}.rv .ico-1 .dart{transform-box:view-box;transform-origin:10.6px 13.4px;animation:3.6s ease-out .6s infinite rv-thunk}@keyframes rv-thunk{0%,16%,to{transform:rotate(0)}4%{transform:rotate(-9deg)}8%{transform:rotate(6deg)}12%{transform:rotate(-3deg)}}.rv .ico-2{animation:3.6s ease-in-out 1.5s infinite rv-tick-pop}@keyframes rv-tick-pop{0%,14%,to{transform:scale(1)}6%{transform:scale(1.22)}}.rv .ico-3{animation:4.8s ease-in-out 2.4s infinite rv-flip}@keyframes rv-flip{0%,12%,to{transform:rotate(0)}20%,92%{transform:rotate(180deg)}}.rv-note{text-align:center;color:var(--text-dim);font-size:22px;line-height:1.4}.rv-grow{flex:1}.rv-again{height:96px;font:700 42px var(--display)}.rv-icons{justify-content:space-around;margin-top:6px;display:flex}.rv-icon{flex-direction:column;align-items:center;gap:10px;width:130px;display:flex}.rv-icon .btn{place-items:center;width:100px;height:88px;min-height:0;padding:0;display:grid}.rv-icon svg{width:44px;height:44px;filter:drop-shadow(0 3px 0 var(--ink))}.rv-icon span{color:var(--text-dim);font:700 22px system-ui,-apple-system,PingFang SC,Noto Sans SC,sans-serif}.rv-icon .btn:disabled{opacity:.45}.rv-confetti{z-index:5;pointer-events:none;position:absolute;inset:0}.rv-image{z-index:6;pointer-events:auto;background:#0e0b26eb;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:40px;display:flex;position:absolute;inset:0}.rv-image[hidden]{display:none}.rv-image img{width:600px;box-shadow:0 0 0 4px var(--ink);border-radius:24px}.rv-image p{color:var(--text-dim);text-align:center;font-size:26px}@media (prefers-reduced-motion:reduce){.rv-badge,.rv .ico,.rv .ico .dart{animation:none}}
