:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#3f5967;background:#f7f5ef;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 46% 34%,#e7f0f2 0,transparent 55%),#f7f5ef}button,a,input,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid #d7e0df;background:#fffdf8;color:#506a76;border-radius:13px;padding:13px 20px;transition:background .2s,transform .2s}button:hover{background:#eaf1f1;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b38a60;outline-offset:4px}.primary{background:#6f94a5;color:#fff;border-color:#6f94a5;box-shadow:0 5px 12px #648da51a}.primary:hover{background:#5e8496}.topbar{height:91px;border-bottom:1px solid #e2e5df;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:#47616d;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:13px;background:#dceaf0;color:#63899f;font-family:serif;font-size:23px}.brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:400;margin-top:5px;color:#84989f}.text-button{background:none;border:0;font-size:12px;color:#839193}.layout{max-width:1230px;margin:38px auto 0;padding:0 28px;display:grid;grid-template-columns:260px minmax(340px,510px) 240px;gap:28px;justify-content:center;align-items:start}.intro{padding-top:43px}.eyebrow{font-size:9px;letter-spacing:2.1px;color:#899c9f}.intro h1{font-size:43px;font-weight:650;line-height:1.43;letter-spacing:4px;margin:19px 0 17px;color:#405c69;position:relative}.title-star{font-size:35px;position:absolute;margin-left:5px;top:22px;color:#c9ae78}.subtitle{font-size:14px;line-height:1.95;color:#809195;letter-spacing:1px}.score-card{margin-top:30px;padding:23px 25px;background:#fffdf7;border:1px solid #e7e6dd;border-radius:18px;box-shadow:0 6px 22px #819ca009}.score-card span{font-size:11px;letter-spacing:1px;color:#8c999b}.score-card strong{display:block;font-size:42px;font-weight:500;font-family:Georgia,serif;margin:6px 0 15px;color:#54778b}.score-card .best{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px dashed #dce1db}.best strong{font-size:21px;color:#b09665;margin:0}.footer-note{display:block;font-size:10px;color:#a4afac;margin-top:35px}.play-heading{display:flex;justify-content:flex-end;padding:0 22px;font-size:11px;color:#7c969e;height:32px;align-items:center}.play-heading>span:last-child{font-size:10px}.canvas-wrap{position:relative;isolation:isolate}canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair;border-radius:18px}.under-game{display:flex;justify-content:space-between;padding:3px 25px;color:#8d9fa3;font-size:10px}.under-game>span:last-child{font-size:9px;color:#a4b1b1}.side{padding-top:47px}.next-card{text-align:center;background:#ffffff7d;border:1px solid #e1e7e3;border-radius:20px;padding:26px 18px 20px}.next-card h2{font-size:15px;font-weight:500;letter-spacing:1px;margin:12px 0 3px}.next-image{height:151px;display:grid;place-items:center;background:radial-gradient(ellipse,#e4eef3 0,transparent 66%)}.next-image img{max-height:122px;max-width:137px;filter:drop-shadow(0 8px 8px #6e8ba61a)}.pill{font-size:10px;border-radius:30px;background:#eaf0f1;color:#728e9b;padding:6px 12px;display:inline-block}.cooldown{height:3px;background:#e4e9e6;border-radius:8px;overflow:hidden;margin:20px 20px 8px}.cooldown span{display:block;height:100%;background:#a5c0b4}.next-card small{font-size:9px;color:#93a99c}.controls{display:grid;gap:10px;margin-top:20px}.controls button{font-size:12px}.goal-card{display:flex;align-items:center;background:#f1eee3;border:1px solid #e8e2d3;border-radius:16px;padding:12px 10px;margin-top:24px;gap:8px}.goal-card img{width:67px;height:83px;object-fit:contain}.goal-card span{display:block;font-size:9px;color:#a3997c}.goal-card strong{display:block;font-size:12px;font-weight:500;margin:6px 0;color:#8f805f}.goal-card small{font-size:8px;color:#b0a68f}.debug-toggle{display:flex;align-items:center;gap:7px;font-size:10px;color:#90a1a3;margin-top:23px;cursor:pointer}.debug-toggle input{accent-color:#7396a6}.collection{grid-column:1/-1;border-top:1px solid #dfe6e1;margin-top:15px;padding-top:24px;display:flex;gap:30px;align-items:center}.collection-title{width:200px;flex-shrink:0}.collection h2{font-size:16px;font-weight:500;letter-spacing:2px;margin:9px 0}.collection-title>span:last-child{font-size:10px;color:#98a7a7}#gallery{display:grid;grid-template-columns:repeat(9,1fr);width:100%;gap:10px}.family-member{text-align:center}.family-member>div{height:76px;border-radius:12px;display:grid;place-items:center;background:#eef0e9;border:1px solid transparent}.family-member.reached>div{background:#e8eff1;border-color:#cfdee2}.family-member img{max-width:90%;height:66px;object-fit:contain;transition:transform .2s}.family-member:hover img{transform:translateY(-4px) scale(1.1)}.family-member>span{display:block;font-size:8px;color:#859699;margin-top:9px;white-space:nowrap}.family-member b{color:#b4bfb9;font-size:8px;font-weight:400;margin-right:2px}footer{font-size:10px;text-align:center;color:#a8b3ae;letter-spacing:1px;padding:30px}footer span{padding:0 10px}#overlay{position:absolute;inset:0;background:#edf3f16e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;border-radius:25px;z-index:3}#overlay[hidden]{display:none}.modal{width:83%;padding:35px 22px;background:#fffdf6f5;border:1px solid #e6e3d6;border-radius:25px;box-shadow:0 18px 55px #536c8124;text-align:center}.modal h2{font-size:25px;font-weight:500;color:#547386;letter-spacing:2px}.modal p{font-size:12px;color:#8b9b9f;line-height:2;white-space:pre-line}#modal-icon{font-size:48px;color:#cfb374}#modal-actions{display:grid;gap:9px;margin-top:25px}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#edf3ef;border-radius:22px;font-size:14px;color:#718b98}#qa-panel{max-width:1180px;margin:20px auto;padding:20px;border:1px dashed #7997a5;background:#f1f6f4}#qa-panel button{margin:4px;font-size:11px}#qa-result{white-space:pre-wrap;font-size:12px;color:#4f7279}@media(min-width:1400px){.layout{margin-top:43px;grid-template-columns:260px 475px 240px;gap:45px}.intro{padding-top:50px}.side{padding-top:52px}}@media(max-width:1050px){.layout{grid-template-columns:210px minmax(300px,450px) 180px;gap:18px;padding:0 18px}.intro h1{font-size:34px;letter-spacing:2px}.title-star{display:none}.goal-card{display:block;text-align:center}.goal-card img{height:55px}.collection-title{width:160px}.family-member>span{font-size:7px}.family-member b{display:none}}@media(max-width:800px){.topbar{height:70px;padding:0 20px}.layout{grid-template-columns:minmax(240px,430px) 170px;gap:15px;margin-top:18px}.intro{grid-column:1/-1;padding:0;display:flex;align-items:center;justify-content:space-between}.intro .eyebrow,.intro .subtitle,.footer-note{display:none}.intro h1{font-size:25px;letter-spacing:1px;margin:0}.intro h1 br{display:none}.score-card{margin:0;display:flex;gap:18px;padding:10px 17px;border-radius:12px}.score-card strong{font-size:24px;margin:3px 0 0}.score-card .best{display:block;border:0;padding:0}.score-card span{font-size:9px}.best strong{font-size:24px}.side{padding-top:35px}.collection{gap:18px;flex-direction:column}.collection-title{width:100%;text-align:center}.collection-title .eyebrow{display:none}#gallery{gap:6px}.family-member>div{height:60px}.family-member img{height:50px}.family-member>span{white-space:normal}.next-card{padding:20px 10px}.next-image{height:120px}.next-image img{height:100px}.next-card .eyebrow{font-size:8px}}@media(max-width:520px){.topbar{height:62px}.brand{font-size:13px}.brand small{font-size:6px}.text-button{padding:8px;font-size:10px}.layout{padding:0 10px;grid-template-columns:minmax(0,1fr) 104px;gap:9px}.intro h1{font-size:19px}.score-card{padding:8px 11px;gap:12px}.score-card strong,.best strong{font-size:21px}.play-heading{font-size:9px;padding:0 10px}.play-heading>span:last-child{display:none}.side{padding-top:32px}.next-card{border-radius:14px;padding:15px 5px}.next-card .eyebrow{display:none}.next-card h2{font-size:11px;margin:0}.next-image{height:88px}.next-image img{height:73px;max-width:78px}.pill{font-size:8px;padding:5px}.cooldown{margin:13px 10px 7px}.controls{gap:8px;margin-top:12px}.controls button{font-size:10px;padding:10px 4px;border-radius:9px}.goal-card{margin-top:13px;padding:8px 4px}.goal-card img{height:55px}.goal-card strong{font-size:10px}.goal-card small{display:none}.debug-toggle{font-size:8px;gap:2px;margin-top:12px}.debug-toggle input{width:12px}.under-game{font-size:8px;padding:3px 10px}.under-game>span:last-child{display:none}.collection{margin-top:15px;padding-top:17px}#gallery{grid-template-columns:repeat(3,1fr);row-gap:17px}.family-member>div{height:65px}.family-member img{height:58px}.family-member>span{font-size:9px}.modal{padding:20px 12px;width:94%}.modal h2{font-size:17px}.modal p{font-size:10px}.modal button{font-size:11px;padding:10px}#modal-icon{font-size:32px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:801px){.topbar{height:74px}.layout{margin-top:22px;grid-template-columns:230px clamp(290px,calc((100dvh - 160px)*.6383),475px) 210px;gap:32px}.intro{padding-top:26px}.intro h1{font-size:37px;margin-top:15px}.side{padding-top:34px}.next-image{height:126px}.next-image img{max-height:107px}.next-card{padding:22px 15px 16px}.score-card{margin-top:21px;padding:19px 22px}.footer-note{margin-top:22px}.collection{margin-top:8px}}@media(min-width:801px)and (max-height:760px){.intro h1{font-size:32px}.subtitle{font-size:12px}.score-card strong{font-size:34px}.best strong{font-size:20px}.footer-note{display:none}.goal-card{margin-top:16px}}.modal:has(#modal-actions button:nth-child(2)) #modal-icon{animation:crown-pop .65s ease-out both}@keyframes crown-pop{0%{transform:scale(.55) rotate(-12deg);opacity:.2}60%{transform:scale(1.15) rotate(6deg)}to{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.modal #modal-icon{animation:none!important}}:where(#app,.sheet),:where(#app,.sheet) *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:where(#app,.sheet) img{-webkit-user-drag:none}:where(#app,.sheet) :is(input,textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.quiet-button[hidden]{display:none}:root{background:#f7f5fa;color:#635674}body{background:radial-gradient(ellipse at 50% 40%,#f0edf8,transparent 65%),#faf8fc}button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#a38cbd}.topbar{height:44px;max-width:620px;padding:0 14px;border:0}.brand{font-size:12px;gap:6px}.brand-mark{width:25px;height:25px;font-size:17px;border-radius:9px;background:#ebe6f3;color:#8d7aab}.brand small{display:none}.text-button{min-height:40px;padding:6px 8px;font-size:11px}.layout{display:flex;flex-direction:column;align-items:center;gap:0;max-width:620px;margin:0 auto;padding:0 max(8px,env(safe-area-inset-left))}.game-hud{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;width:100%;max-width:450px;height:48px;border-bottom:1px solid #e6e0eb;padding:0 12px;gap:12px}.hud-stat{min-width:0}.hud-stat>span{display:block;font-size:10px;color:#8a8296}.hud-stat strong{display:block;font-size:22px;line-height:1.25;font-variant-numeric:tabular-nums;font-weight:600;color:#635579}.hud-stat.best strong{font-size:18px;color:#9c8daa}.next-card{border:0;background:none;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0;text-align:left;border-radius:0;position:relative;height:44px}.next-card h2{font-size:10px;white-space:nowrap;font-weight:400;margin:0;color:#8a8296;letter-spacing:0}.next-image{width:40px;height:40px;background:none}.next-image img{max-width:40px;max-height:40px;width:auto;height:auto;filter:none}.next-card .cooldown{position:absolute;bottom:0;right:0;width:40px;margin:0;height:2px;background:#e4dfeb}.cooldown span{background:#b5a5cc}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.play-column{width:min(100%,calc((100svh - 198px - env(safe-area-inset-bottom))*.6),480px);min-width:190px;position:relative;padding:0;margin:0;flex:none}.play-heading{position:absolute;z-index:1;right:18px;top:6px;height:auto;padding:0;pointer-events:none;font-size:9px}.play-heading>span:last-child{font-size:9px;color:#9c93aa}.canvas-wrap{width:100%;aspect-ratio:510/850}canvas{width:100%;height:100%;border-radius:0;outline:none!important;touch-action:none}.under-game{display:none}.game-actions{display:flex;align-items:center;justify-content:center;gap:4px;height:48px;padding-bottom:env(safe-area-inset-bottom);flex:none;width:100%;max-width:440px}.game-actions button{flex:1;min-height:44px;font-size:12px;padding:8px 5px;border:0;background:transparent;color:#80738f;border-radius:12px;white-space:nowrap}.game-actions button:hover{background:#ece7f1}.game-actions button:first-child{color:#77618e;background:#efebf5}.game-title{font-size:12px;font-weight:500;color:#796a88;margin:0}.desktop-note{display:none}.sheet{width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 32px);border:1px solid #e6dfed;border-radius:23px;background:#fbf9fd;color:#635674;padding:22px;box-shadow:0 24px 90px #45364e26;overflow-y:auto;overscroll-behavior:contain}.sheet::backdrop{background:#3e334344;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-heading h2{font-size:23px;letter-spacing:1px;margin:6px 0}.sheet-heading .eyebrow{color:#a092ad;font-size:8px}.close-sheet{padding:0;width:40px;height:40px;font-size:25px;line-height:1;background:none;border:0;color:#9b8da9;flex:none}.sheet-note{font-size:12px;color:#a397af;margin:4px 0 15px}.my-rank{background:#ede7f5;border-radius:12px;padding:12px;font-size:12px;line-height:1.6}.rank-submit{display:flex;gap:8px;margin:7px 0}.rank-submit input{min-width:0;width:100%;font:inherit;font-size:16px;padding:10px;border:1px solid #ddd4e6;border-radius:10px;background:#fff;color:#61546f}.rank-submit button{white-space:nowrap;padding:10px 12px;font-size:12px}#rank-form label{font-size:12px}#rank-form small{font-size:10px;line-height:1.5;color:#a496ad}#rank-message{font-size:12px;line-height:1.6;color:#8a709f;min-height:20px}.rank-table-head{display:flex;justify-content:space-between;font-size:10px;color:#a395ad;border-bottom:1px solid #e8e1ed;padding:12px 0}#rank-list{padding:0;list-style:none;margin:0}.rank-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:13px 5px;border-bottom:1px solid #eee8f2}.rank-number{color:#af9cc3;font-size:14px}.rank-row b{font-weight:500;font-size:13px;overflow-wrap:anywhere}.rank-row small{display:block;color:#aa9fb3;font-size:10px;margin-top:4px}.rank-row strong{font-size:17px;font-variant-numeric:tabular-nums}.rank-row.is-me{background:#f0eaf7}.rank-empty{text-align:center;padding:32px 8px;color:#a99bb4;font-size:12px}.quiet-button{display:block;margin:16px auto 0;border:0;background:transparent;font-size:12px}.primary{background:#9883b4;border-color:#9883b4;color:#fff;box-shadow:none}.primary:hover{background:#8770a5}#family-dialog #gallery{grid-template-columns:repeat(3,1fr);gap:18px 8px}.family-member>div{height:82px;background:#f0edf4}.family-member img{height:72px}.family-member>span{white-space:normal;font-size:10px;line-height:1.4}.family-member b{display:inline}.family-member.reached>div{background:#ece6f3;border-color:#dacee4}.modal{width:88%;background:#fcf9fef5;border-color:#e5dbea;border-radius:22px;padding:22px 15px}.modal h2{font-size:22px;color:#7c6595;letter-spacing:1px}.modal p{font-size:12px;color:#93849f}.modal button{min-height:44px;font-size:12px}#modal-icon{color:#b19bc9;font-size:38px}#modal-actions{margin-top:16px}#overlay{border-radius:18px;background:#f3eef674}#loading{background:#f6f2f8;color:#9b8aac;font-size:12px}@media(min-width:760px)and (orientation:landscape){.topbar{max-width:840px;height:48px}.brand,.game-title{font-size:14px}.layout{max-width:840px}.game-hud{height:52px;max-width:420px}.play-column{width:min(calc((100dvh - 202px)*.6),540px);min-width:220px}.game-actions{height:48px;max-width:420px}.desktop-note{display:block;position:fixed;left:calc(50% + 245px);top:48%;width:135px;color:#ab9fb6;font-size:11px;line-height:2;pointer-events:none}.desktop-note strong{display:block;font-size:15px;font-weight:500;color:#9683aa}}@media(max-width:360px){.topbar{padding-inline:10px}.game-title,.brand{font-size:11px}.game-hud{gap:8px;padding-inline:10px}.hud-stat strong{font-size:20px}.sheet{padding:16px}.modal h2{font-size:18px}}@media(orientation:landscape)and (max-height:500px){.topbar{height:34px}.game-hud{height:40px}.play-column{width:210px;min-width:0}.game-actions{height:40px}}.champion-strip{width:100%;max-width:450px;height:46px;min-height:46px;display:flex;align-items:center;gap:9px;padding:0 12px;border:0;border-radius:0;background:linear-gradient(90deg,#eee8f480,#f6f2fa00);text-align:left;color:#7c6993;box-shadow:none;flex:none}.champion-strip:hover{background:#eee8f4;transform:none}.champion-strip:focus-visible{outline-offset:-2px}.champion-badge{display:flex;align-items:center;gap:5px;flex:none;font-size:10px;letter-spacing:1px;color:#9b87ac}.champion-badge svg{width:16px;height:16px;fill:#d3c0a028;stroke:#b29c7d;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.champion-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.champion-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.2px}.champion-reign{font-size:10px;line-height:13px;color:#9a86ac;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.champion-result{display:flex;align-items:baseline;gap:4px;flex:none}.champion-result strong{font-size:16px;line-height:1;font-weight:600;letter-spacing:.2px;font-variant-numeric:tabular-nums;color:#827091}.champion-result>span{font-size:9px;color:#ac9db9}.champion-arrow{font-size:17px;color:#b4a8c0;line-height:1}.champion-strip[data-state=empty] .champion-name,.champion-strip[data-state=offline] .champion-name{color:#a597b0;font-weight:400;font-size:11px}.champion-strip[data-state=empty] .champion-result,.champion-strip[data-state=offline] .champion-result{visibility:hidden}@media(min-width:760px)and (orientation:landscape){.champion-strip{max-width:420px}}html[data-theme=feibi]{background:#f2f8ff;color:#506d91}[data-theme=feibi] body{background:radial-gradient(ellipse at 50% 40%,#e8f2ff,transparent 65%),#f9fcff}[data-theme=feibi] .canvas-wrap{aspect-ratio:530/875}[data-theme=feibi] .play-heading{left:18px;display:flex;align-items:center;justify-content:space-between;gap:8px}[data-theme=feibi] .game-watermark{font-size:10px;line-height:1.5;letter-spacing:.5px;color:#879fba;white-space:nowrap}[data-theme=feibi] .brand-mark{background:#e1efff;color:#6086ba}[data-theme=feibi] :is(.game-title,.hud-stat strong,.champion-result strong,.game-actions button,.sheet){color:#52769f}[data-theme=feibi] :is(.hud-stat.best strong,.champion-reign,.champion-badge,.sheet-note,.modal p){color:#829abd}[data-theme=feibi] .game-hud{border-color:#dae7f4}[data-theme=feibi] .champion-strip{background:linear-gradient(90deg,#e2effd90,#fff9e900);color:#52769f}[data-theme=feibi] :is(.game-actions button:first-child,.my-rank,.rank-row.is-me){background:#e6f1ff}[data-theme=feibi] :is(.game-actions button:hover,.champion-strip:hover){background:#e1edfa}[data-theme=feibi] .cooldown span{background:#9abfec}[data-theme=feibi] .sheet{background:#f9fcff;border-color:#d9e7f5}[data-theme=feibi] #family-dialog .family-member>div{background:#ecf4fd}[data-theme=feibi] #family-dialog .family-member.reached>div{background:#e2efff;border-color:#d4b879}[data-theme=feibi] .modal{background:#fcfdfff7;border-color:#dec892}[data-theme=feibi] .modal h2{color:#5b80ad}[data-theme=feibi] #modal-icon{color:#d1ab5f}[data-theme=feibi] #overlay{background:#ecf5fc74}[data-theme=feibi] #loading{background:#f2f8ff;color:#7395bb}[data-theme=feibi] .primary{background:#7ea6d6;border-color:#7ea6d6}[data-theme=feibi] .primary:hover{background:#6c96ca}[data-theme=feibi] :is(button,a,input):focus-visible{outline-color:#bd9c57}
