@font-face{font-family:ZCOOL KuaiLe;src:url(./display-iwS75zY5.woff2)format("woff2");font-display:swap}:root{--ink:#23324a;--ink-soft:#5a6a85;--glass:#ffffffbd;--glass-strong:#ffffffe6;--line:#23324a1a;--accent:#ffc947;--accent-ink:#5a3b00;--primary:#ff7b3d;--primary-dark:#d85a1f;--shadow:0 10px 30px #1428462e, 0 2px 6px #14284614;--radius:18px;--display:"ZCOOL KuaiLe", "PingFang SC", "Hiragino Sans GB", sans-serif;--body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}body.night{--ink:#eef0ff;--ink-soft:#aab1d8;--glass:#1a1c3ab3;--glass-strong:#1e2042eb;--line:#ffffff1f;--shadow:0 10px 30px #00000073}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;touch-action:none;background:#cfeaf8;margin:0;overflow:hidden}#stage,#stage canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}.hud-top{padding:max(14px, env(safe-area-inset-top)) 16px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.chip{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #ffffff80}body.night .chip{border-color:#ffffff1a}.level-chip{align-items:center;gap:10px;min-width:0;padding:8px 16px 8px 12px;display:flex}.world-dot{background:linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #000));width:34px;height:34px;box-shadow:inset 0 -3px 0 #00000026, 0 0 16px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:11px;flex:none}.level-id{letter-spacing:.08em;color:var(--ink-soft);font-size:12px;font-weight:800}.level-name{font-family:var(--display);white-space:nowrap;font-size:20px;line-height:1.1}.stats{gap:4px;padding:6px 8px;display:flex}.stat{font-variant-numeric:tabular-nums;border-radius:12px;align-items:center;gap:5px;padding:6px 10px;display:flex}.stat svg{width:18px;height:18px;fill:var(--ink-soft);flex:none}.stat b{font-size:17px;font-weight:800}.stat small{color:var(--ink-soft);font-size:12px;font-weight:600}.coin-stat svg{fill:#f2b01e}.stat.flash{animation:.5s flash}@keyframes flash{0%{background:color-mix(in srgb, var(--accent) 60%, transparent);transform:scale(1.08)}to{background:0 0;transform:none}}.btn-row{gap:8px;display:flex}.icon-btn{background:var(--glass);-webkit-backdrop-filter:blur(14px);width:44px;height:44px;box-shadow:var(--shadow);border:1px solid #ffffff80;border-radius:14px;place-items:center;transition:transform .15s,background .15s;display:grid}body.night .icon-btn{border-color:#ffffff1a}.icon-btn svg{width:22px;height:22px;fill:var(--ink)}.icon-btn:hover{background:var(--glass-strong);transform:translateY(-2px)}.icon-btn:active{transform:scale(.94)}.icon-btn.off{opacity:.45}.icon-btn.off svg{fill:var(--ink-soft)}.toast{left:50%;bottom:max(28px, env(safe-area-inset-bottom));opacity:0;background:var(--glass-strong);max-width:min(560px,100vw - 32px);box-shadow:var(--shadow);text-align:center;pointer-events:none;border-radius:16px;padding:12px 20px;font-size:15px;font-weight:600;line-height:1.5;transition:opacity .35s,transform .35s;position:absolute;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.toast .tag{background:var(--accent);color:var(--accent-ink);border-radius:8px;margin-right:8px;padding:1px 8px;font-size:12px;font-weight:800;display:inline-block}.cam-btns{left:16px;bottom:max(20px, env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute}.keys-hint{right:16px;bottom:max(22px, env(safe-area-inset-bottom));color:var(--ink-soft);background:var(--glass);pointer-events:none;border-radius:10px;padding:6px 12px;font-size:12px;position:absolute}.dpad{right:18px;bottom:max(18px, env(safe-area-inset-bottom));width:168px;height:168px;display:none;position:absolute}.dpad button{background:var(--glass);-webkit-backdrop-filter:blur(12px);width:58px;height:58px;box-shadow:var(--shadow);border-radius:18px;place-items:center;display:grid;position:absolute}.dpad button svg{width:26px;height:26px;fill:var(--ink)}.dpad button:active{background:var(--glass-strong);transform:scale(.92)}.d-up{top:0;left:55px}.d-down{bottom:0;left:55px}.d-left{top:55px;left:0}.d-right{top:55px;right:0}@media (pointer:coarse){.dpad{display:block}.keys-hint{display:none}.toast{bottom:200px}}@media (width<=760px){.hud-top{flex-wrap:wrap;padding-left:12px;padding-right:12px}.level-chip{padding:6px 12px 6px 8px}.world-dot{border-radius:9px;width:28px;height:28px}.level-name{font-size:17px}.stats{order:3;justify-content:space-around;width:100%}.stat{padding:4px 6px}.stat b{font-size:15px}.icon-btn{border-radius:12px;width:40px;height:40px}.btn-row{gap:6px}#btnMusic,.keys-hint{display:none}.toast{font-size:14px;bottom:84px}}.screen{place-items:center;padding:16px;animation:.4s fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}#title{background:radial-gradient(at 50% 60%,#0000 30%,#0a1e3c59 100%);align-items:end;padding-bottom:max(8vh,40px)}.title-card{text-align:center;max-width:620px}.title-kicker{letter-spacing:.3em;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border-radius:99px;padding:6px 14px;font-size:12px;font-weight:800;display:inline-block}#title h1{font-family:var(--display);color:#fff;text-shadow:0 4px #d9722f,0 8px #a4501c,0 16px 30px #00000059;letter-spacing:.04em;margin:16px 0 10px;font-size:clamp(56px,12vw,112px);font-weight:400;line-height:1;animation:4s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-6px)}}.title-sub{color:#fff;text-shadow:0 2px 8px #00000073;margin:0 0 28px;font-size:16px;font-weight:600}.title-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.title-progress{color:#fff;text-shadow:0 1px 6px #00000080;margin-top:18px;font-size:14px;font-weight:600}.btn{letter-spacing:.05em;background:var(--glass-strong);min-width:150px;color:var(--ink);box-shadow:0 5px 0 #0000001f, var(--shadow);border-radius:16px;padding:14px 26px;font-size:18px;font-weight:800;transition:transform .12s,box-shadow .12s}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:0 2px 0 #0000001f, var(--shadow);transform:translateY(3px)}.btn.primary{background:linear-gradient(180deg, #ff9a5c, var(--primary));color:#fff;box-shadow:0 5px 0 var(--primary-dark), var(--shadow)}.btn.primary:active{box-shadow:0 2px 0 var(--primary-dark), var(--shadow)}.panel{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px)saturate(1.3);border-radius:26px;padding:24px;box-shadow:0 30px 80px #0a1e3c59}#select,#win{background:#0f1e3759}.select-panel{width:min(1060px,100%);max-height:calc(100vh - 32px);overflow:auto}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-head h2{font-family:var(--display);margin:0;font-size:32px;font-weight:400}.worlds{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.world{color:#fff;border-radius:20px;padding:16px;position:relative;overflow:hidden;box-shadow:inset 0 -4px #00000026}.world:after{content:"";background:#ffffff24;border-radius:30px;width:120px;height:120px;position:absolute;top:-30px;right:-30px;transform:rotate(20deg)}.world h3{font-family:var(--display);text-shadow:0 2px #00000026;margin:0;font-size:24px;font-weight:400}.world p{opacity:.92;min-height:2.8em;margin:4px 0 14px;font-size:13px}.world .lv{z-index:1;grid-template-columns:repeat(5,1fr);gap:6px;display:grid;position:relative}.lv-btn{aspect-ratio:1;color:#2c3548;background:#ffffffeb;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:transform .12s;display:flex;box-shadow:0 4px #0000002e}.lv-btn:hover{transform:translateY(-3px)}.lv-btn b{font-size:20px;font-weight:800}.lv-btn .mini-stars{gap:1px;display:flex}.lv-btn .mini-stars svg{fill:#d5d9e2;width:13px;height:13px}.lv-btn .mini-stars svg.on{fill:#ffb300}.lv-btn.locked{color:#ffffffe6;cursor:not-allowed;box-shadow:none;background:#ffffff59}.lv-btn.locked:hover{transform:none}.lv-btn.locked svg{fill:#ffffffd9;width:20px;height:20px}.lv-btn.current{outline-offset:2px;outline:3px solid #fff}.win-panel{text-align:center;width:min(420px,100%);animation:.5s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.7)}}.win-kicker{color:var(--ink-soft);letter-spacing:.1em;font-size:13px;font-weight:800}.win-panel h2{font-family:var(--display);margin:6px 0 8px;font-size:42px;font-weight:400}.stars{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.stars svg{fill:#dde1ea;filter:drop-shadow(0 3px #0000001a);width:64px;height:64px;transition:fill .2s}.stars svg:nth-child(2){width:76px;height:76px;transform:translateY(-12px)}.stars svg.on{fill:#ffb300;filter:drop-shadow(0 3px #d98b00)drop-shadow(0 0 16px #ffbe0099);animation:.45s cubic-bezier(.2,1.6,.4,1) starPop}@keyframes starPop{0%{transform:scale(.2)rotate(-40deg)}}.stars svg:nth-child(2).on{animation-name:starPop2}@keyframes starPop2{0%{transform:translateY(-12px)scale(.2)rotate(-40deg)}to{transform:translateY(-12px)}}.win-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.win-stats div{background:var(--line);border-radius:14px;padding:10px 4px}.win-stats span{color:var(--ink-soft);font-size:12px;font-weight:600;display:block}.win-stats b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.win-tip{color:var(--ink-soft);min-height:1.4em;margin:0 0 16px;font-size:13px}.win-actions{justify-content:center;gap:10px;display:flex}.win-actions .btn{flex:1;min-width:0}#fade{opacity:0;pointer-events:none;background:#fff;transition:opacity .35s;position:fixed;inset:0}#fade.on{opacity:1}body.night #fade{background:#0d1433}@media (pointer:coarse) and (width<=760px){.toast{bottom:calc(200px + env(safe-area-inset-bottom))}}#editor{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px)saturate(1.3);z-index:5;border-radius:22px;flex-direction:column;width:372px;animation:.35s cubic-bezier(.2,1,.3,1) slideIn;display:flex;position:fixed;top:12px;bottom:12px;left:12px;box-shadow:0 20px 60px #0a1e3c4d}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}}.ed-head{justify-content:space-between;align-items:center;padding:16px 16px 8px 20px;display:flex}.ed-head h2{font-family:var(--display);margin:0;font-size:26px;font-weight:400}.ed-scroll{flex:1;padding:4px 16px 18px;overflow-y:auto}.ed-label{color:var(--ink-soft);letter-spacing:.08em;margin:14px 2px 8px;font-size:12px;font-weight:800}.ed-label small{letter-spacing:0;opacity:.8;margin-left:6px;font-weight:600}.ed-name{width:100%;font:inherit;color:var(--ink);background:var(--line);border:2px solid #0000;border-radius:12px;outline:none;padding:9px 12px;font-size:17px;font-weight:700}.ed-name:focus{border-color:var(--accent)}.ed-worlds{flex-wrap:wrap;gap:6px;display:flex}.world-chip{background:var(--line);border:2px solid #0000;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:700}.world-chip.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 22%, transparent)}.ed-tools{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.tool{background:var(--line);border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;font-size:11px;font-weight:700;display:flex}.tool canvas{border-radius:6px;width:28px;height:28px}.tool.on{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent)}.ed-grid-wrap{justify-content:center;margin-top:14px;display:flex}#edGrid{touch-action:none;cursor:crosshair;border-radius:8px;box-shadow:0 2px 10px #00000026}.ed-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.stepper{background:var(--line);border-radius:10px;align-items:center;gap:4px;padding:3px 3px 3px 10px;font-size:13px;font-weight:700;display:flex}.stepper button{background:var(--glass-strong);border-radius:8px;width:28px;height:28px;font-size:17px;font-weight:800}.ed-size{font-variant-numeric:tabular-nums;color:var(--ink-soft);margin-left:auto}.chip-btn{background:var(--line);border-radius:10px;padding:7px 11px;font-size:13px;font-weight:700}.chip-btn:hover,.stepper button:hover{filter:brightness(.95)}.ed-status{gap:6px;margin-top:12px;display:grid}.st{background:var(--line);color:var(--ink-soft);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.45}.st.ok{color:#1f8a4c;background:#3cbe6e29}.st.err{color:#c0392b;background:#e6463c21}.st.warn{color:#9a6a00;background:#f0aa1e29}body.night .st.ok{color:#7be0a4}body.night .st.err{color:#ff8f85}body.night .st.warn{color:#ffd27a}.spin{vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.ed-actions{gap:8px;margin-top:10px;display:flex}.ed-actions .btn{flex:1;min-width:0;padding:11px 8px;font-size:15px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.ed-link input{width:100%;font:inherit;background:var(--line);color:var(--ink);border:0;border-radius:10px;margin-top:8px;padding:8px 10px;font-size:12px}.ed-list{gap:6px;display:grid}.ed-empty{color:var(--ink-soft);margin:0;font-size:13px}.ed-item{background:var(--line);border:2px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:8px 8px 8px 12px;display:flex}.ed-item.on{border-color:var(--accent)}.ed-item div{flex:1;min-width:0}.ed-item b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.ed-item small{color:var(--ink-soft);font-size:11px}.ed-item button{background:var(--glass-strong);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}.ed-item button.danger{color:#c0392b}@media (width<=760px){#editor{border-radius:22px 22px 0 0;width:auto;height:56vh;animation-name:slideUp;inset:auto 0 0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}}.ed-tools{grid-template-columns:repeat(7,1fr)}.tool span{display:none}.ed-scroll{flex-direction:column;display:flex}.ed-grid-wrap{order:-3;margin:0 0 4px}.ed-row:has(.stepper){order:-2;margin:0 0 8px}#edTools{order:-1;margin-bottom:4px}.ed-label:has(small){display:none}.ed-name{padding:7px 10px;font-size:15px}}.world.custom-card{background:linear-gradient(120deg,#3a4a6b,#ff7b3d);grid-column:1/-1}.custom-card p{min-height:0}.custom-card .lv{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.custom-row{gap:6px;display:flex}.custom-row .lv-btn{aspect-ratio:auto;text-align:left;flex:1;align-items:flex-start;padding:8px 10px}.custom-row .lv-btn b{font-size:14px}.custom-row .lv-btn small{color:#6b7488;font-size:11px}.custom-new{font-weight:800;aspect-ratio:auto!important;color:#fff!important;box-shadow:none!important;background:#ffffff40!important;align-items:center!important;padding:10px!important}#achScreen{background:#0f1e3759}.ach-panel{width:min(720px,100%);max-height:calc(100vh - 32px);overflow:auto}.panel-head h2 small{font-family:var(--body);color:var(--ink-soft);margin-left:8px;font-size:15px;font-weight:700}.ach-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;display:grid}.ach-item{background:var(--line);opacity:.6;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.ach-item.on{opacity:1;background:#ffc53d2e}.ach-item .ach-icon{text-align:center;filter:grayscale();width:36px;font-size:26px}.ach-item.on .ach-icon{filter:none}.ach-item b{font-size:15px;display:block}.ach-item small{color:var(--ink-soft);font-size:12px}#achPop{color:#fff;z-index:20;pointer-events:none;background:linear-gradient(135deg,#2b2f4a,#4a3b6b);border-radius:18px;align-items:center;gap:12px;min-width:260px;padding:12px 20px 12px 14px;transition:transform .45s cubic-bezier(.2,1.3,.4,1);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%,-140%);box-shadow:0 12px 40px #00000059}#achPop.show{transform:translate(-50%)}#achPop .ach-icon{font-size:34px}#achPop small{letter-spacing:.15em;color:#ffd166;font-size:11px;font-weight:800;display:block}#achPop b{font-size:18px;display:block}#achPop .ach-desc{opacity:.8;font-size:12px}.head-btn{margin-left:auto;margin-right:10px;padding:9px 14px;font-size:14px}
