.page{background:-webkit-radial-gradient(50% -160px,1200px 480px,rgba(61,255,168,.1),transparent 60%),-webkit-radial-gradient(110% 18%,700px 380px,rgba(167,139,255,.08),transparent 65%),#07090f;background:radial-gradient(1200px 480px at 50% -160px,rgba(61,255,168,.1),transparent 60%),radial-gradient(700px 380px at 110% 18%,rgba(167,139,255,.08),transparent 65%),#07090f;min-height:100vh;padding:16px 16px 96px}.page-title{color:#f2f6ff;font-size:22px;font-weight:800;letter-spacing:.5px;margin:6px 0 4px}.page-sub{color:#93a0b8;font-size:12px;margin-bottom:14px}.nav-back{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;background:rgba(122,146,188,.12);border:1px solid rgba(122,146,188,.16);border-radius:12px;color:#e8ecf5;font-size:16px;height:34px;justify-content:center;margin-bottom:8px;width:34px}.card{background:-webkit-linear-gradient(290deg,#161b2b,#10141f 62%);background:linear-gradient(160deg,#161b2b,#10141f 62%);border:1px solid rgba(122,146,188,.16);border-radius:20px;margin-bottom:14px;padding:16px}.card-title{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:#f2f6ff;font-size:15px;font-weight:700;gap:8px;margin-bottom:10px}.card-title .dot{background:#3dffa8;border-radius:50%;-webkit-box-shadow:0 0 8px rgba(61,255,168,.45);box-shadow:0 0 8px rgba(61,255,168,.45);height:6px;width:6px}.btn{background:-webkit-linear-gradient(315deg,#45ffb4,#17c37f);background:linear-gradient(135deg,#45ffb4,#17c37f);border:none;border-radius:999px;-webkit-box-shadow:0 6px 22px rgba(61,255,168,.35),inset 0 1px 0 hsla(0,0%,100%,.45);box-shadow:0 6px 22px rgba(61,255,168,.35),inset 0 1px 0 hsla(0,0%,100%,.45);color:#05271a;display:block;font-size:16px;font-weight:700;height:46px;line-height:46px;text-align:center;width:100%}.btn.disabled{-webkit-filter:grayscale(.7);filter:grayscale(.7);opacity:.45}.btn-ghost{background:rgba(122,146,188,.1);border:1px solid rgba(122,146,188,.16);border-radius:999px;color:#e8ecf5;display:block;font-size:14px;height:42px;line-height:42px;text-align:center;width:100%}.btn-ghost.disabled{opacity:.4}.btn-sm{background:rgba(122,146,188,.1);border:1px solid rgba(122,146,188,.16);border-radius:999px;color:#e8ecf5;display:inline-block;font-size:12px;height:32px;line-height:30px;padding:0 14px}.btn-sm.accent{background:-webkit-linear-gradient(315deg,#45ffb4,#17c37f);background:linear-gradient(135deg,#45ffb4,#17c37f);border:none;color:#05271a;font-weight:700}.btn-sm.danger{border-color:rgba(255,93,122,.4);color:#ff5d7a}.btn-sm.disabled{opacity:.35}.tag{-webkit-align-items:center;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;background:rgba(122,146,188,.14);border-radius:999px;color:#93a0b8;font-size:10px;font-weight:600;gap:4px;line-height:18px;padding:2px 10px}.tag.ok{background:rgba(61,255,168,.14);color:#3dffa8}.tag.warn{background:rgba(255,184,77,.14);color:#ffb84d}.tag.bad{background:rgba(255,93,122,.14);color:#ff5d7a}.tag.violet{background:rgba(167,139,255,.14);color:#a78bff}.empty{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;color:#5d6a83;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:13px;gap:10px;justify-content:center;padding:42px 0}.empty .empty-icon{font-size:40px;opacity:.6}.loading{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;color:#93a0b8;font-size:13px;gap:10px;justify-content:center;padding:30px 0}.loading .loading-dot{-webkit-animation:bounce-dot .9s ease-in-out infinite;animation:bounce-dot .9s ease-in-out infinite;background:#3dffa8;border-radius:50%;height:10px;width:10px}.loading .loading-dot:nth-child(2){-webkit-animation-delay:.15s;animation-delay:.15s}.loading .loading-dot:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}.slime-blob{-webkit-animation:blob-breathe 3.2s ease-in-out infinite;animation:blob-breathe 3.2s ease-in-out infinite;background:-webkit-radial-gradient(32% 28%,circle,hsla(0,0%,100%,.85) 0,hsla(0,0%,100%,0) 24%),-webkit-linear-gradient(290deg,#55ffc0,#0fae6f);background:radial-gradient(circle at 32% 28%,hsla(0,0%,100%,.85) 0,hsla(0,0%,100%,0) 24%),linear-gradient(160deg,#55ffc0,#0fae6f);border-radius:46% 54% 52% 48%/58% 44% 56% 42%;-webkit-box-shadow:0 10px 26px rgba(61,255,168,.35),inset 0 -8px 16px rgba(4,46,28,.45);box-shadow:0 10px 26px rgba(61,255,168,.35),inset 0 -8px 16px rgba(4,46,28,.45);position:relative}.slime-blob::after{background:hsla(0,0%,100%,.9);border-radius:50%;content:"";-webkit-filter:blur(1px);filter:blur(1px);height:12%;left:22%;position:absolute;top:20%;-webkit-transform:rotate(-18deg);-ms-transform:rotate(-18deg);transform:rotate(-18deg);width:16%}.sheet-mask{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(3,5,10,.72);inset:0;position:fixed;z-index:90}.sheet{-webkit-animation:sheet-up .24s ease-out;animation:sheet-up .24s ease-out;background:-webkit-linear-gradient(280deg,#1c2337,#10141f 30%);background:linear-gradient(170deg,#1c2337,#10141f 30%);border-radius:26px 26px 0 0;border-top:1px solid rgba(61,255,168,.35);bottom:0;left:0;margin:0 auto;max-width:390px;padding:18px 18px calc(20px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:91}.sheet-title{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;color:#f2f6ff;font-size:16px;font-weight:700;justify-content:space-between;margin-bottom:14px}.sheet-title .close{color:#5d6a83;font-size:18px;padding:2px 8px}.toast{-webkit-animation:toast-pop .22s ease-out;animation:toast-pop .22s ease-out;background:rgba(10,14,24,.92);border:1px solid rgba(122,146,188,.16);border-radius:14px;-webkit-box-shadow:0 12px 40px rgba(0,0,0,.5);box-shadow:0 12px 40px rgba(0,0,0,.5);color:#f2f6ff;font-size:13px;left:50%;line-height:1.6;max-width:74%;padding:12px 20px;position:fixed;text-align:center;top:42%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:120}.toast.ok{border-color:rgba(61,255,168,.35);color:#3dffa8}.toast.bad{border-color:rgba(255,93,122,.5);color:#ff5d7a}.tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(10,14,24,.94);border-top:1px solid rgba(122,146,188,.16);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;left:50%;max-width:390px;padding:8px 0 calc(8px + env(safe-area-inset-bottom));position:fixed;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:100%;z-index:80}.tabbar .tab-item{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;color:#5d6a83;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:10px;gap:3px;justify-content:center}.tabbar .tab-item .tab-icon{font-size:21px;line-height:1}.tabbar .tab-item.active{color:#3dffa8;text-shadow:0 0 12px rgba(61,255,168,.55)}@-webkit-keyframes bounce-dot{0%,100%,80%{opacity:.5;-webkit-transform:translateY(0);transform:translateY(0)}40%{opacity:1;-webkit-transform:translateY(-7px);transform:translateY(-7px)}}@keyframes bounce-dot{0%,100%,80%{opacity:.5;-webkit-transform:translateY(0);transform:translateY(0)}40%{opacity:1;-webkit-transform:translateY(-7px);transform:translateY(-7px)}}@-webkit-keyframes blob-breathe{0%,100%{border-radius:46% 54% 52% 48%/58% 44% 56% 42%;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}50%{border-radius:52% 48% 46% 54%/52% 58% 42% 48%;-webkit-transform:scale(1.04) translateY(-3px);transform:scale(1.04) translateY(-3px)}}@keyframes blob-breathe{0%,100%{border-radius:46% 54% 52% 48%/58% 44% 56% 42%;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}50%{border-radius:52% 48% 46% 54%/52% 58% 42% 48%;-webkit-transform:scale(1.04) translateY(-3px);transform:scale(1.04) translateY(-3px)}}@-webkit-keyframes sheet-up{from{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes sheet-up{from{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes toast-pop{from{opacity:0;-webkit-transform:translate(-50%,-46%) scale(.92);transform:translate(-50%,-46%) scale(.92)}to{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}}@keyframes toast-pop{from{opacity:0;-webkit-transform:translate(-50%,-46%) scale(.92);transform:translate(-50%,-46%) scale(.92)}to{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}}@-webkit-keyframes fade-in{from{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fade-in{from{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.fade-in{-webkit-animation:fade-in .28s ease-out both;animation:fade-in .28s ease-out both}@-webkit-keyframes pop-in{0%{opacity:0;-webkit-transform:scale(.6);transform:scale(.6)}70%{-webkit-transform:scale(1.06);transform:scale(1.06)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes pop-in{0%{opacity:0;-webkit-transform:scale(.6);transform:scale(.6)}70%{-webkit-transform:scale(1.06);transform:scale(1.06)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.pop-in{-webkit-animation:pop-in .32s cubic-bezier(.34,1.56,.64,1) both;animation:pop-in .32s cubic-bezier(.34,1.56,.64,1) both}@-webkit-keyframes float-up{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-46px);transform:translateY(-46px)}}@keyframes float-up{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-46px);transform:translateY(-46px)}}@-webkit-keyframes sparkle-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes sparkle-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}