
html.s-app, body.s-app, body.s-app *{margin:0;padding:0;box-sizing:border-box}
html.s-app{
  --bg:#050507;
  --bg-2:#08080b;
  --card:rgba(12,12,16,.62);
  --card-solid:#0a0a0d;
  --card-hover:rgba(20,20,28,.7);
  --text:#fff;
  --text-dim:#a3a3aa;
  --text-mut:#7f7f89;
  --border:rgba(255,255,255,.025);
  --border-2:rgba(255,255,255,.045);
  --accent:#3b82f6;
  --accent-2:#8b5cf6;
  --accent-3:#06b6d4;
  --accent-glow:rgba(59,130,246,.18);
  --accent-glow-2:rgba(139,92,246,.14);
  --ok:#4ade80;
  --warn:#facc15;
  --danger:#f87171;
  --r-md:10px;
  --r-lg:16px;
  --tr:.22s cubic-bezier(.4,0,.2,1);
}
html.s-app,body.s-app{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Inter","SF Pro Display","Segoe UI",Roboto,sans-serif;font-size:14px;line-height:1.55;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
body.s-app{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-top:calc(68px + env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px)}
body.s-app .bg-fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
body.s-app .bg-fx::before,body.s-app .bg-fx::after{content:"";position:absolute;border-radius:50%;mix-blend-mode:screen;filter:blur(140px)}
body.s-app .bg-fx::before{width:780px;height:780px;background:radial-gradient(circle at center,rgba(59,130,246,.45) 0%,rgba(59,130,246,.14) 40%,transparent 72%);top:-260px;left:-200px;opacity:.45}
body.s-app .bg-fx::after{width:680px;height:680px;background:radial-gradient(circle at center,rgba(139,92,246,.36) 0%,rgba(139,92,246,.12) 42%,transparent 72%);bottom:-240px;right:-180px;opacity:.4}
@supports (-webkit-touch-callout:none){
  body.s-app .bg-fx{contain:layout style paint}
  body.s-app .bg-fx::before,body.s-app .bg-fx::after{mix-blend-mode:normal;filter:blur(80px);-webkit-filter:blur(80px)}
  body.s-app .balance-hero,body.s-app .card,body.s-app .auth-card,body.s-app .cat-btn,body.s-app .cat-btn:hover,body.s-app .product,body.s-app .key-card,body.s-app .pay-card,body.s-app .stat-card,body.s-app .detail-modal,body.s-app .detail-text{backdrop-filter:none;-webkit-backdrop-filter:none}
}
body.s-app header,body.s-app main,body.s-app section,body.s-app footer,body.s-app .wrap{position:relative;z-index:1}
body.s-app a{color:inherit;text-decoration:none}
html.s-app::selection, body.s-app ::selection{background:var(--accent-glow);color:#fff}
body.s-app button{font-family:inherit}
body.s-app svg{display:block;flex-shrink:0}
body.s-app input,body.s-app textarea,body.s-app select{font-family:inherit}
body.s-app textarea{resize:none!important}

body.s-app .wrap{max-width:1560px;margin:0 auto;padding:0 32px;width:100%}

body.s-app header{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:none;z-index:50;pointer-events:none;padding-top:env(safe-area-inset-top,0px)}
body.s-app header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,9,14,.55) 0%,rgba(8,9,14,.4) 40%,rgba(8,9,14,.18) 75%,transparent 100%);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,.4) 85%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,.4) 85%,transparent 100%);pointer-events:none;transition:opacity .25s ease}
body.s-app header .header-inner{position:relative;z-index:1;pointer-events:auto}
body.s-app header.scrolled::before{background:linear-gradient(to bottom,rgba(8,9,14,.7) 0%,rgba(8,9,14,.5) 40%,rgba(8,9,14,.22) 75%,transparent 100%)}
body.s-app .header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:14px}
body.s-app .logo{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.5px}
body.s-app .logo-mark{width:28px;height:28px;flex-shrink:0;display:inline-flex;filter:drop-shadow(0 2px 6px rgba(0,119,255,.45))}
body.s-app .logo-mark svg{width:100%;height:100%;display:block}
body.s-app .logo-text{color:#fff;font-weight:700}
body.s-app .nav-wrap{display:flex;align-items:center;gap:8px}
body.s-app a.tg-hdr{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;text-decoration:none;color:#7fb8ff;border:1px solid rgba(127,184,255,.3);background:rgba(127,184,255,.1);transition:all var(--tr)}
body.s-app a.tg-hdr:hover{color:#a6ccff;border-color:rgba(127,184,255,.55);background:rgba(127,184,255,.16)}
body.s-app a.tg-hdr .tg-hdr-ic{width:19px;height:19px;flex-shrink:0}
body.s-app a.tg-hdr::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#161616;color:#e5e5e5;font-size:11px;font-weight:600;padding:5px 9px;border-radius:6px;white-space:nowrap;border:1px solid #2a2a2a;box-shadow:0 4px 12px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .15s;z-index:60}
body.s-app a.tg-hdr:hover::after{opacity:1}
body.s-app #userChipBox{display:inline-flex;align-items:center;gap:8px}
body.s-app .balance-hero{position:relative;border-radius:14px;padding:18px 22px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
body.s-app .balance-hero-left{display:flex;flex-direction:column;gap:4px;min-width:0}
body.s-app .balance-hero-right{flex-shrink:0}
body.s-app .balance-hero-label{font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.8px;font-weight:600}
body.s-app .balance-hero-amount{font-size:28px;line-height:1.05;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
body.s-app .balance-hero-btn{padding:10px 18px!important;font-size:13px!important;border-radius:9px!important;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}
body.s-app .balance-hero-btn svg{margin-right:2px;vertical-align:-1px}
@media (max-width:480px){
  body.s-app .balance-hero{padding:16px 18px;gap:14px}
  body.s-app .balance-hero-amount{font-size:24px}
  body.s-app .balance-hero-btn{padding:9px 14px!important;font-size:12.5px!important}
}
body.s-app .balance-card{padding:18px 22px}
body.s-app .balance-card-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
body.s-app .balance-card-info{flex:1;min-width:200px}
body.s-app .balance-card-info h2{margin:0 0 4px;font-size:16px}
body.s-app .balance-card-info .muted{font-size:12px;line-height:1.4}
body.s-app .balance-card-value{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;min-width:140px}
body.s-app .balance-card-label{font-size:11px;color:var(--text-mut);margin-bottom:2px}
body.s-app .balance-card-amount{font-size:26px;font-weight:700;color:#10b981;font-variant-numeric:tabular-nums;line-height:1}
body.s-app .balance-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media (max-width:680px){
  body.s-app .balance-card-row{align-items:stretch}
  body.s-app .balance-card-value{align-items:flex-start;min-width:auto;flex:1}
  body.s-app .balance-card-actions{width:100%}
  body.s-app .balance-card-actions .btn{flex:1;justify-content:center}
}
body.s-app .bal-head{display:grid !important;grid-template-columns:1.4fr 1fr 1fr 1fr !important}
body.s-app .bal-row{display:grid !important;grid-template-columns:1.4fr 1fr 1fr 1fr !important;gap:10px}
body.s-app .bal-note{color:var(--text-mut);font-size:11px;margin-top:2px}
@media (max-width:600px){body.s-app .bal-head{display:none !important}body.s-app .bal-row{grid-template-columns:1fr 1fr !important}body.s-app .bal-row .ref-when{display:none}}
body.s-app .ref-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.01)}
body.s-app .ref-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:12.5px;align-items:center}
body.s-app .ref-row:last-child{border-bottom:0}
body.s-app .ref-head{background:rgba(255,255,255,.02);color:var(--text-mut);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
body.s-app .ref-from{color:#ddd;font-family:ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.s-app .ref-when{color:var(--text-dim)}
body.s-app .ref-amt{text-align:right;font-variant-numeric:tabular-nums}
body.s-app .ref-amt-active{color:#10b981;font-weight:700}
body.s-app .ref-amt-zero{color:var(--text-mut);font-size:11.5px;font-weight:500;font-style:italic}
body.s-app .ref-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12px;color:var(--text-mut)}
body.s-app .ref-pager-info{font-variant-numeric:tabular-nums}
body.s-app .ref-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;color:var(--text-mut);font-size:13px;text-align:center}
body.s-app .ref-empty>div:first-of-type{color:#ddd;font-size:14px;font-weight:600}
body.s-app .ref-empty-sub{color:var(--text-mut);font-size:12px;max-width:340px}
@media (max-width:600px){body.s-app .ref-row{grid-template-columns:1fr 1fr;gap:6px}body.s-app .ref-row .ref-when{display:none}body.s-app .ref-head .ref-when{display:none}}
body.s-app .topup-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
body.s-app .topup-preset{height:46px!important;padding:0 8px!important;font-size:13.5px!important;font-weight:600;font-variant-numeric:tabular-nums;border-radius:11px!important;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.09)!important;color:var(--text)!important;transition:background var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr)}
body.s-app .topup-preset:hover{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.15)!important}
body.s-app .topup-preset.selected{background:rgba(59,130,246,.16)!important;border-color:rgba(59,130,246,.55)!important;color:#fff!important;box-shadow:0 0 0 3px rgba(59,130,246,.14)}
body.s-app .topup-custom-row{position:relative}
body.s-app .topup-custom-input{height:48px!important;padding-right:38px!important;font-size:16px!important;font-weight:600;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:11px!important}
body.s-app .topup-custom-input:hover{border-color:rgba(255,255,255,.15)!important}
body.s-app .topup-custom-input:focus{outline:none;border-color:rgba(59,130,246,.5)!important;background:rgba(255,255,255,.05)!important;box-shadow:0 0 0 3px rgba(59,130,246,.16)}
body.s-app .topup-custom-suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-mut);font-size:14px;pointer-events:none}
body.s-app .topup-amount-hint{font-size:12px;color:var(--text-mut);margin-top:9px;line-height:1.5}
@media (max-width:600px){body.s-app .topup-presets{grid-template-columns:repeat(2,1fr)}}
body.s-app .balance-chip{display:inline-flex;align-items:center;height:38px;padding:0;background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.25);border-radius:10px;font-size:13px;color:#10b981;font-weight:600;cursor:pointer;font-family:inherit;transition:background var(--tr),border-color var(--tr);font-variant-numeric:tabular-nums;line-height:1;overflow:hidden;vertical-align:middle}
body.s-app .balance-chip:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4)}
body.s-app .balance-chip .balance-value{display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 14px}
body.s-app .balance-chip .balance-plus{display:inline-flex;align-items:center;justify-content:center;width:32px;height:100%;border-left:1px solid rgba(16,185,129,.18);color:#10b981}
body.s-app .balance-chip .balance-plus svg{width:14px;height:14px}
@media (max-width:600px){body.s-app .balance-chip{height:38px;font-size:12px}body.s-app .balance-chip .balance-value{padding:0 10px}body.s-app .balance-chip .balance-plus{width:28px}}
body.s-app .user-chip{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 14px 0 5px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:10px;font-size:12.5px;color:var(--text-dim);transition:background var(--tr),border-color var(--tr);max-width:240px;cursor:pointer;font-family:inherit;text-decoration:none}
@media (max-width:500px){
  body.s-app #userChipBox .user-chip{padding:0;width:38px;height:38px;gap:0;justify-content:center;max-width:none;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07)}
  body.s-app #userChipBox .user-chip .um{display:none}
  body.s-app #userChipBox .user-chip .avatar{width:auto;height:auto;background:transparent!important;box-shadow:none!important;font-size:14px;color:var(--text)}
}
body.s-app .user-chip:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.09)}
body.s-app .user-chip .avatar{width:28px;height:28px;border-radius:8px;background:#3b82f6;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;text-transform:uppercase;flex-shrink:0;letter-spacing:.3px}
body.s-app .user-chip .um{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body.s-app .lang-dd{position:relative;flex-shrink:0}
body.s-app .lang-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--text);padding:0 12px;font-size:12.5px;font-weight:700;cursor:pointer;letter-spacing:.3px;transition:all var(--tr);font-family:inherit;line-height:1}
body.s-app .lang-trigger:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
body.s-app .lang-trigger svg{width:11px;height:11px;opacity:.6;transition:transform var(--tr)}
body.s-app .lang-dd.open .lang-trigger svg{transform:rotate(180deg)}
body.s-app .lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:120px;background:rgba(14,14,18,.94);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:5px;box-shadow:0 14px 38px -8px rgba(0,0,0,.55);display:none;z-index:60}
body.s-app .lang-dd.open .lang-menu{display:block;animation:ddIn .16s cubic-bezier(.4,0,.2,1)}
@keyframes ddIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
body.s-app .lang-menu button{display:flex;align-items:center;gap:9px;width:100%;background:transparent;border:none;color:var(--text-dim);padding:9px 11px;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:7px;text-align:left;font-family:inherit;transition:all var(--tr)}
body.s-app .lang-menu button:hover{background:rgba(255,255,255,.05);color:#fff}
body.s-app .lang-menu button.active{background:var(--accent-glow);color:#fff}
body.s-app .lang-menu .flag{font-size:14px;line-height:1}
body.s-app .lang-menu .check{margin-left:auto;opacity:0;color:var(--accent)}
body.s-app .lang-menu button.active .check{opacity:1}
body.s-app .icon-btn{background:transparent;border:none;color:#2aabee;padding:0;border-radius:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;transition:color var(--tr);text-decoration:none;line-height:0}
body.s-app .menu-btn{display:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--text);padding:0;border-radius:10px;cursor:pointer;align-items:center;justify-content:center;width:38px;height:38px;transition:all var(--tr)}
body.s-app .menu-btn:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}
body.s-app .menu-btn svg{width:18px;height:18px}
body.s-app .mobile-menu{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:100dvh;height:var(--mm-vh,100vh);max-height:100vh;max-height:100dvh;max-height:var(--mm-vh,100vh);background:rgba(0,0,0,.55);z-index:90;flex-direction:column;padding:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s,backdrop-filter 0s linear .22s}
body.s-app .mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);transition:opacity .22s ease,visibility 0s,backdrop-filter 0s}
body.s-app .mm-inner{max-width:1200px;width:100%;margin:0 auto;padding:env(safe-area-inset-top,0px) 14px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;box-sizing:border-box}
@media(min-width:480px){body.s-app .mm-inner{padding:env(safe-area-inset-top,0px) 18px calc(28px + env(safe-area-inset-bottom,0px));}}
body.s-app .mm-head{display:flex;align-items:center;justify-content:space-between;height:56px;flex-shrink:0;gap:16px}
body.s-app .mm-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--text);cursor:pointer;padding:0;transition:background var(--tr),border-color var(--tr)}
body.s-app .mm-close:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}
body.s-app .mm-close svg{width:16px;height:16px}
body.s-app .mm-list{display:flex;flex-direction:column;padding-top:12px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
body.s-app .mm-list a,body.s-app .mm-list button{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:16px;color:var(--text);font-weight:500;border-bottom:1px solid rgba(255,255,255,.04);transition:color var(--tr);background:transparent;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}
body.s-app .mm-list a:last-child,body.s-app .mm-list button:last-child{border-bottom:none}
body.s-app .mm-list a:hover,body.s-app .mm-list a:active,body.s-app .mm-list button:hover{color:#9cc6ff}
body.s-app .mm-list a.active,body.s-app .mm-list button.active{color:#9cc6ff}
body.s-app .mm-list a .mm-arr,body.s-app .mm-list button .mm-arr{color:var(--text-mut);flex-shrink:0;margin-left:12px}
body.s-app .mm-list a:hover .mm-arr,body.s-app .mm-list button:hover .mm-arr{color:#9cc6ff}
body.s-app .mm-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:18px;gap:10px;flex-shrink:0}
body.s-app .mm-foot .mm-lang{display:inline-flex;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);border-radius:9px;padding:3px;gap:2px}
body.s-app .mm-foot .mm-lang button{background:transparent;border:none;color:var(--text-dim);padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;border-radius:6px;font-family:inherit;transition:background var(--tr),color var(--tr)}
body.s-app .mm-foot .mm-lang button.active{background:var(--accent);color:#fff}
body.s-app .mm-foot .mm-lang button:not(.active):hover{color:#fff}
body.s-app .mm-foot .mm-tg{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-dim);text-decoration:none;transition:color var(--tr)}
body.s-app .mm-foot .mm-tg:hover{color:#fff}
html.s-app.mm-locked,body.s-app.mm-locked{overflow:hidden;height:100%;overscroll-behavior:contain;-webkit-overflow-scrolling:auto}
body.s-app.mm-locked > *:not(#mobileMenu){pointer-events:none}
body.s-app .mobile-menu,body.s-app .mobile-menu *{pointer-events:auto}
body.s-app .icon-btn:hover{color:#5cc1f1}
body.s-app .icon-btn svg{width:18px;height:18px}

body.s-app .btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--r-md);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--tr);border:1px solid transparent;text-align:center;justify-content:center;white-space:nowrap;text-decoration:none}
body.s-app .btn[data-loading="1"]{position:relative;color:transparent !important;pointer-events:none;cursor:wait;opacity:.5;overflow:hidden}
body.s-app .btn[data-loading="1"]>*{visibility:hidden}
body.s-app .btn[data-loading="1"]::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.18) 50%,transparent 100%);background-size:200% 100%;animation:btnShimmer 1.1s linear infinite;border-radius:inherit;pointer-events:none}
@keyframes btnShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
body.s-app .btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}
body.s-app .btn-primary:hover{background:#1d4fd8;border-color:#1d4fd8}
body.s-app .btn-secondary{background:var(--bg-2);color:#d4d4d4;border:1px solid var(--border-2)}
body.s-app .btn-secondary:hover{background:#15151a;color:#fff;border-color:#3a3a44}
body.s-app .btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border-2)}
body.s-app .btn-ghost:hover{color:var(--text);border-color:#333}
body.s-app .btn-sm{padding:7px 14px;font-size:12px;border-radius:8px}
body.s-app .btn-lg{padding:14px 26px;font-size:14.5px;border-radius:12px}
body.s-app .btn-block{width:100%}
body.s-app .btn-danger{background:transparent;color:var(--danger);border-color:#3a1a1a}
body.s-app .btn-danger:hover{background:#1a0a0a}
body.s-app .btn-tg{background:#229ed9;color:#fff;border-color:#229ed9}
body.s-app .btn-tg:hover{background:#1e8ec3;border-color:#1e8ec3}

body.s-app .app-shell{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:flex-start;margin:24px 0 60px;min-height:calc(100vh - 200px);min-height:calc(100dvh - 200px)}
body.s-app .app-content{min-height:480px}
body.s-app .profile-hero{display:flex;flex-direction:column;gap:14px;padding:16px 18px;margin-bottom:14px}
body.s-app .profile-hero-top{display:flex;align-items:center;gap:14px;min-width:0;width:100%}
body.s-app .profile-avatar{width:44px;height:44px;border-radius:50%;background:#3b82f6;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;text-transform:uppercase;flex-shrink:0;letter-spacing:.3px}
body.s-app .profile-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
body.s-app .profile-name{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
body.s-app .profile-email{font-size:12.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.s-app .profile-id-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--text-mut);margin-top:0}
body.s-app .profile-id-row .pid{padding:3px 9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.025);border-radius:6px;letter-spacing:.4px;cursor:pointer;transition:background var(--tr),color var(--tr)}
body.s-app .profile-id-row .pid:hover{background:rgba(255,255,255,.05);color:var(--text)}
body.s-app .profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;width:100%}
body.s-app .profile-stats .ps{padding:12px 14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.025);border-radius:12px}
body.s-app .profile-stats .ps .l{font-size:10.5px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:6px}
body.s-app .profile-stats .ps .v{font-size:17px;font-weight:700;color:var(--text);line-height:1.1;display:flex;align-items:baseline;gap:4px}
body.s-app .profile-stats .ps .v small{font-size:inherit;font-weight:inherit;color:var(--text-mut)}
body.s-app .profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
body.s-app .profile-grid .card{margin-bottom:0;padding:24px}
body.s-app .profile-grid .profile-danger{grid-column:1/-1}
body.s-app .profile-section-head{margin-bottom:14px}
body.s-app .profile-section-head h2{margin-bottom:4px}
body.s-app .profile-section-head .muted{font-size:12.5px;line-height:1.5}
body.s-app .profile-sessions-card{grid-column:1/-1}
body.s-app .sessions-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
body.s-app .sessions-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
body.s-app .sess-row{display:flex;align-items:center;gap:14px;padding:14px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.025);border-radius:12px}
body.s-app .sess-row.current{border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.04)}
body.s-app .sess-icn{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0}
body.s-app .sess-row.current .sess-icn{background:rgba(74,222,128,.1);color:#86efac}
body.s-app .sess-icn svg{width:18px;height:18px}
body.s-app .sess-info{flex:1;min-width:0}
body.s-app .sess-line1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--text);font-weight:600}
body.s-app .sess-line2{font-size:12px;color:var(--text-mut);margin-top:4px;display:flex;flex-wrap:wrap;gap:10px}
body.s-app .sess-line2 span:not(:first-child){padding-left:14px;margin-left:14px;border-left:1px solid rgba(255,255,255,.06)}
body.s-app .sess-row .btn{flex-shrink:0}
@media(max-width:880px){body.s-app .profile-grid{grid-template-columns:1fr}}
body.s-app .sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:2px;background:transparent;border:none;padding:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;contain:layout style;will-change:auto}
body.s-app .sidebar .side-head{display:none}
body.s-app .side-link{display:flex;align-items:center;gap:11px;padding:10px 14px;border-radius:10px;color:var(--text-mut);font-size:14px;font-weight:500;cursor:pointer;border:none;background:transparent;text-align:left;transition:color var(--tr),background var(--tr);width:100%;position:relative;overflow:hidden}
body.s-app .side-link:hover{color:var(--text);background:rgba(255,255,255,.025)}
body.s-app .side-link.active{color:#fff;font-weight:600;background:rgba(59,130,246,.08)}
body.s-app .side-link::before{content:"";position:absolute;left:0;top:50%;width:3px;height:20px;border-radius:0 2px 2px 0;background:var(--accent);transform:translateY(-50%) scaleY(.4);opacity:0;transition:opacity .25s ease,transform .25s cubic-bezier(.4,0,.2,1)}
body.s-app .side-link.active::before{opacity:1;transform:translateY(-50%) scaleY(1)}
body.s-app .side-link svg{width:17px;height:17px;flex-shrink:0;opacity:.7;transition:opacity var(--tr),color var(--tr)}
body.s-app .side-link.active svg{opacity:1;color:var(--accent)}
body.s-app .side-link:hover svg{opacity:1}
body.s-app .side-link .badge{margin-left:auto;font-size:11px;color:var(--text-mut);padding:0;background:transparent;font-weight:500}
body.s-app .side-link.active .badge{color:var(--text-dim)}
body.s-app .side-divider{height:1px;background:rgba(255,255,255,.04);margin:10px 0}
body.s-app .side-foot{margin-top:auto;padding-top:0}
body.s-app .side-foot .side-link{color:var(--text-mut)}
body.s-app .side-foot .side-link:hover{color:var(--danger);background:rgba(248,113,113,.06)}
body.s-app .app-content{min-width:0}
body.s-app .tabs{display:none}
@media(max-width:920px){
  body.s-app .app-shell{grid-template-columns:1fr;gap:14px}
  body.s-app .sidebar{display:none}
}

body.s-app .page-head{margin:8px 0 22px}
body.s-app .page-head h1{font-size:32px;font-weight:800;letter-spacing:-.8px;line-height:1.15;margin-bottom:8px;color:var(--text)}
body.s-app .page-head p{color:var(--text-dim);font-size:14px;line-height:1.55;max-width:680px}

body.s-app .card{background:var(--card);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;margin-bottom:14px;transition:border-color var(--tr),background var(--tr);box-shadow:0 1px 0 rgba(255,255,255,.02) inset}
body.s-app .card.flat{padding:16px}
body.s-app .card.no-pad{padding:0;overflow:hidden}

body.s-app h2{font-size:20px;font-weight:700;letter-spacing:-.4px;margin-bottom:12px}
body.s-app h3{font-size:15px;font-weight:600;margin-bottom:10px;letter-spacing:-.2px}
body.s-app .muted{color:var(--text-mut);font-size:12px}

body.s-app .field{margin-bottom:14px}
body.s-app .auth-captcha{display:flex;justify-content:center;margin:6px 0 14px;min-height:0}
body.s-app .auth-captcha:empty{display:none}
body.s-app .auth-captcha>div{max-width:100%}
body.s-app .field label{display:block;font-size:11px;color:var(--text-mut);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
body.s-app .input{display:block;width:100%;padding:12px 14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:10px;color:var(--text);font-size:13.5px;transition:border-color var(--tr),background var(--tr),box-shadow var(--tr);font-family:inherit}
body.s-app .input::placeholder{color:var(--text-mut)}
body.s-app .input:focus{outline:none;border-color:rgba(59,130,246,.5);background:rgba(255,255,255,.04);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
body.s-app .input:disabled{opacity:.6;cursor:not-allowed}
body.s-app .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

body.s-app .auth-wrap{max-width:440px;margin:64px auto 40px;padding:0 16px;width:100%}
body.s-app .auth-brand{text-align:center;margin-bottom:24px}
body.s-app .auth-brand .logo-mark{width:52px;height:52px;display:inline-block;margin-bottom:14px;filter:drop-shadow(0 4px 16px rgba(0,119,255,.5))}
body.s-app .auth-brand .logo-mark svg{width:100%;height:100%}
body.s-app .auth-brand h2{font-size:24px;font-weight:700;letter-spacing:-.5px;color:var(--text);margin-bottom:6px;line-height:1.2}
body.s-app .auth-brand p{font-size:13.5px;color:var(--text-mut);line-height:1.5;max-width:340px;margin:0 auto}
body.s-app .auth-card{background:rgba(14,14,18,.55);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,255,255,.04);border-radius:18px;padding:28px}
body.s-app .auth-tabs{display:flex;gap:4px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);border-radius:11px;padding:4px;margin-bottom:22px}
body.s-app .auth-tabs button{flex:1;background:transparent;border:none;color:var(--text-dim);padding:9px 0;font-size:13px;font-weight:600;cursor:pointer;border-radius:8px;transition:color var(--tr),background var(--tr);font-family:inherit}
body.s-app .auth-tabs button:hover{color:var(--text)}
body.s-app .auth-tabs button.active{color:#fff;background:rgba(255,255,255,.06)}
body.s-app .auth-foot-link{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;margin-top:18px;font-size:13px;color:var(--text-mut)}
body.s-app .auth-foot-link a{color:var(--accent);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
body.s-app .auth-foot-link a:hover{color:#9cc6ff;text-decoration:none}
body.s-app .icon-arr{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;vertical-align:-2px}
body.s-app .icon-arr svg{width:14px;height:14px}

body.s-app .off-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid rgba(250,204,21,.25);background:rgba(250,204,21,.06);color:var(--warn);border-radius:10px;margin-bottom:16px;font-size:13px;font-weight:500}
body.s-app .off-banner svg{flex-shrink:0;color:var(--warn)}

body.s-app .catalog-controls{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}
body.s-app .catalog-controls .cat-bar{margin-bottom:0;flex:1;min-width:0}
body.s-app .sort-bar{display:flex;align-items:center;gap:10px;flex-shrink:0}
body.s-app .sort-label{font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
body.s-app .sort-dd{position:relative;flex-shrink:0}
body.s-app .sort-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;height:38px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:10px;color:var(--text);padding:0 14px;font-size:12.5px;font-weight:600;cursor:pointer;letter-spacing:.1px;transition:all var(--tr);font-family:inherit;line-height:1;min-width:170px}
body.s-app .sort-trigger:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.09)}
body.s-app .sort-trigger svg{width:12px;height:12px;opacity:.6;transition:transform var(--tr);flex-shrink:0}
body.s-app .sort-dd.open .sort-trigger svg{transform:rotate(180deg)}
body.s-app .sort-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:rgba(14,14,18,.94);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:5px;box-shadow:0 14px 38px -8px rgba(0,0,0,.55);display:none;z-index:60}
body.s-app .sort-dd.open .sort-menu{display:block;animation:ddIn .16s cubic-bezier(.4,0,.2,1)}
body.s-app .sort-menu button{display:flex;align-items:center;gap:9px;width:100%;background:transparent;border:none;color:var(--text-dim);padding:9px 11px;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:7px;text-align:left;font-family:inherit;transition:all var(--tr)}
body.s-app .sort-menu button:hover{background:rgba(255,255,255,.05);color:#fff}
body.s-app .sort-menu button.active{background:var(--accent-glow);color:#fff}
body.s-app .sort-menu .check{margin-left:auto;opacity:0;color:var(--accent);flex-shrink:0}
body.s-app .sort-menu button.active .check{opacity:1}
body.s-app .cat-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
body.s-app .cat-btn{padding:8px 16px;border:1px solid rgba(255,255,255,.04);border-radius:24px;background:rgba(14,14,18,.28);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);color:var(--text-dim);font-size:12.5px;cursor:pointer;transition:background .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),color .32s cubic-bezier(.4,0,.2,1),backdrop-filter .32s cubic-bezier(.4,0,.2,1);font-weight:600;font-family:inherit}
body.s-app .cat-btn:hover{color:var(--text);border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.025);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4)}
body.s-app .cat-btn.active{border-color:rgba(59,130,246,.32);color:#fff;background:rgba(59,130,246,.1)}
body.s-app .cat-btn .n{color:var(--text-mut);margin-left:4px;font-weight:500;transition:color .28s cubic-bezier(.4,0,.2,1)}
body.s-app .cat-btn:hover .n{color:var(--text-dim)}
body.s-app .cat-btn.active .n{color:rgba(255,255,255,.7)}
body.s-app .cat-btn.active:hover .n{color:rgba(255,255,255,.85)}

body.s-app .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
body.s-app .grid .product{opacity:0;transition:opacity .32s cubic-bezier(.4,0,.2,1),border-color var(--tr),background var(--tr)}
body.s-app .grid.grid-in .product{opacity:1}
body.s-app .product{position:relative;background:rgba(14,14,18,.55);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.04);border-radius:16px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color var(--tr),background var(--tr);cursor:pointer;overflow:hidden}
body.s-app .product:hover{border-color:rgba(255,255,255,.08);background:rgba(8,8,12,.7)}
body.s-app .product>*{position:relative;z-index:1}
body.s-app .product .name{font-size:16px;font-weight:700;color:var(--text);line-height:1.3;letter-spacing:-.3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
body.s-app .product .desc{font-size:12.5px;color:var(--text-dim);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(12.5px * 1.5 * 2)}
body.s-app .product .meta{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}
body.s-app .product .badge{font-size:11px;font-weight:700;padding:4px 9px;border-radius:7px;background:rgba(59,130,246,.14);border:1px solid rgba(59,130,246,.22);color:#a5c7ff;font-family:inherit;letter-spacing:.2px;line-height:1}
body.s-app .product .badge.img{background:rgba(250,204,21,.1);border-color:rgba(250,204,21,.22);color:#facc15}
body.s-app .product.flag-hot{border-color:rgba(239,68,68,.55);box-shadow:0 0 0 1px rgba(239,68,68,.35),0 12px 32px -16px rgba(239,68,68,.55)}
body.s-app .product.flag-hot:hover{border-color:rgba(249,115,22,.75);box-shadow:0 0 0 1px rgba(249,115,22,.55),0 16px 36px -16px rgba(249,115,22,.6)}
body.s-app .product.flag-popular{border-color:rgba(139,92,246,.5);box-shadow:0 0 0 1px rgba(139,92,246,.32),0 12px 32px -16px rgba(139,92,246,.5)}
body.s-app .product.flag-popular:hover{border-color:rgba(139,92,246,.75);box-shadow:0 0 0 1px rgba(139,92,246,.55),0 16px 36px -16px rgba(139,92,246,.6)}
body.s-app .product .card-models{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
body.s-app .product .card-models .cm{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.1px;padding:3px 7px;border-radius:6px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05);color:var(--text-mut);line-height:1;font-family:inherit}
body.s-app .product .divider{height:1px;background:rgba(255,255,255,.04);margin:4px -18px 0;margin-top:auto}
body.s-app .product .price-row{display:flex;align-items:center;justify-content:space-between;padding-top:6px;gap:10px;flex-wrap:nowrap}
body.s-app .product .price-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}
body.s-app .product .price{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.6px;line-height:1;white-space:nowrap}
body.s-app .product .price .cur{font-size:14px;color:var(--text-dim);font-weight:600;margin-left:3px}
body.s-app .product .price-usd{font-size:11.5px;color:var(--text-mut);font-weight:600;letter-spacing:.2px;line-height:1;white-space:nowrap;min-height:11.5px}
body.s-app .product .more{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--text);font-weight:600;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);white-space:nowrap;flex-shrink:0;line-height:1;letter-spacing:-.1px}
body.s-app .product .more svg{width:13px;height:13px;flex-shrink:0}
body.s-app .product .buy{width:100%;margin-top:4px}

body.s-app .detail-overlay{position:fixed;inset:0;background:rgba(2,3,7,.78);z-index:200;display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s,backdrop-filter 0s linear .22s;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
body.s-app .detail-overlay.open{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .22s ease,visibility 0s,backdrop-filter 0s}
body.s-app .detail-overlay .detail-modal{transform:translateY(10px) scale(.985);transition:transform .28s cubic-bezier(.22,1,.36,1)}
body.s-app .detail-overlay.open .detail-modal{transform:none}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
body.s-app .detail-modal{background:linear-gradient(180deg,rgba(20,21,28,.97) 0%,rgba(12,13,18,.97) 100%);backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);border:1px solid rgba(255,255,255,.06);border-radius:20px;max-width:560px;width:100%;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 32px 90px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.02);position:relative;animation:popIn .26s cubic-bezier(.4,0,.2,1)}
body.s-app .detail-modal::before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:radial-gradient(ellipse at 50% 0%,rgba(59,130,246,.14) 0%,transparent 70%);pointer-events:none;z-index:0}
@keyframes popIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
body.s-app .detail-head{position:relative;z-index:1;padding:26px 28px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-shrink:0}
body.s-app .detail-head h2{font-size:24px;font-weight:800;letter-spacing:-.5px;line-height:1.2;color:var(--text);margin:0;padding-right:8px}
body.s-app .detail-close{flex-shrink:0;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.04);color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--tr),color var(--tr),border-color var(--tr);font-family:inherit}
body.s-app .detail-close:hover{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
body.s-app .detail-body{position:relative;z-index:1;padding:0 28px 24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
body.s-app .detail-body::-webkit-scrollbar{width:6px}
body.s-app .detail-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}
body.s-app .detail-row{display:flex;flex-wrap:wrap;gap:7px}
body.s-app .detail-row .badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:8px;background:rgba(59,130,246,.14);border:1px solid rgba(59,130,246,.22);color:#a5c7ff;letter-spacing:.2px;line-height:1}
body.s-app .detail-row .badge.img{background:rgba(250,204,21,.1);border-color:rgba(250,204,21,.22);color:#facc15}
body.s-app .detail-row .badge.expiry{background:rgba(139,92,246,.12);border-color:rgba(139,92,246,.24);color:#c4b5fd}
body.s-app .detail-row .badge.model{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.05);color:var(--text-mut);font-weight:500;letter-spacing:.1px}
body.s-app .detail-row-models{display:flex;flex-wrap:wrap;gap:7px;width:100%;flex-basis:100%;margin-top:4px}
body.s-app .detail-section h4{font-size:10.5px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin:0 0 9px;display:inline-flex;align-items:center;gap:7px}
body.s-app .detail-section h4::before{content:"";width:3px;height:12px;background:linear-gradient(180deg,#3b82f6,#8b5cf6);border-radius:2px}
body.s-app .detail-text{font-size:14px;color:var(--text-dim);line-height:1.65;white-space:pre-wrap;padding:14px 16px;background:rgba(255,255,255,.018);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.04);border-radius:12px}
body.s-app .detail-models{display:flex;flex-wrap:wrap;gap:6px}
body.s-app .detail-models .m{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--text-dim);padding:5px 10px;border-radius:7px;font-family:inherit;font-weight:500;letter-spacing:.1px;line-height:1}
body.s-app .detail-models .m.img{border-color:rgba(250,204,21,.3);color:#facc15;background:rgba(250,204,21,.06)}
body.s-app .detail-models .m .m-tag{font-size:9px;font-weight:800;letter-spacing:.5px;color:#facc15;background:rgba(250,204,21,.16);padding:2px 5px;border-radius:4px;line-height:1}
body.s-app .detail-foot{position:relative;z-index:1;padding:18px 28px 24px;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(8,9,14,.4);flex-shrink:0}
body.s-app .detail-foot .price-wrap{display:flex;flex-direction:column;gap:5px;min-width:0}
body.s-app .detail-foot .price{font-size:32px;font-weight:800;letter-spacing:-.9px;color:var(--text);line-height:1}
body.s-app .detail-foot .price .cur{font-size:15px;color:var(--text-dim);font-weight:600;margin-left:4px}
body.s-app .detail-foot .price-usd{font-size:13px;color:var(--text-mut);font-weight:600;letter-spacing:.2px;line-height:1;white-space:nowrap}
body.s-app .detail-foot .btn{padding:14px 28px;font-size:14.5px;font-weight:700;border-radius:12px}
@media (max-width:600px){
  body.s-app .detail-overlay{padding:0;align-items:flex-end}
  body.s-app .detail-modal{border-radius:20px 20px 0 0;max-height:92vh;max-width:100%;width:100%}
  body.s-app .detail-overlay .detail-modal{transform:translateY(100%);transition:transform .34s cubic-bezier(.22,1,.36,1)}
  body.s-app .detail-overlay.open .detail-modal{transform:none}
  body.s-app .detail-modal::after{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:38px;height:4px;background:rgba(255,255,255,.12);border-radius:2px;z-index:2}
  body.s-app .detail-head{padding:24px 20px 14px}
  body.s-app .detail-body{padding:0 20px 22px;gap:18px}
  body.s-app .detail-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}
  body.s-app .detail-head h2{font-size:20px;letter-spacing:-.4px}
  body.s-app .detail-foot .price{font-size:24px;letter-spacing:-.6px;line-height:1;white-space:nowrap}
  body.s-app .detail-foot .price .cur{font-size:13px}
  body.s-app .detail-foot .btn{width:100%;padding:14px 18px;font-size:14px}
  body.s-app .detail-text{font-size:13.5px;padding:12px 14px}
  body.s-app .detail-section h4{font-size:10px}
}

body.s-app .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 24px;color:var(--text-mut);font-size:14px;border:none;border-radius:0;background:transparent;width:100%;min-height:340px}
body.s-app .empty .icn-wrap{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-mut);margin-bottom:20px;padding:0;width:auto;height:auto;opacity:.5}
body.s-app .empty .icn-wrap svg{width:48px;height:48px;stroke-width:1.5}
body.s-app .empty .empty-title{font-size:17px;font-weight:600;color:var(--text);margin-bottom:8px;letter-spacing:-.2px}
body.s-app .empty .empty-sub{font-size:13.5px;color:var(--text-mut);max-width:380px;line-height:1.55;margin-bottom:16px}
body.s-app .empty .empty-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer}
body.s-app .empty .empty-link:hover{color:#9cc6ff}
body.s-app .empty .icn-wrap+.empty-link,body.s-app .empty .icon-arr svg{transition:transform var(--tr)}

body.s-app .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}
body.s-app .stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;transition:border-color var(--tr)}
body.s-app .stat-card:hover{border-color:var(--border-2)}
body.s-app .stat-card .l{font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:6px}
body.s-app .stat-card .v{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.4px;line-height:1.1}
body.s-app .stat-card .v .cur{font-size:inherit;color:var(--text-mut);font-weight:inherit;margin-left:2px}
body.s-app .stat-card .sub{font-size:12px;color:var(--text-mut);margin-top:4px}

body.s-app .key-card{background:rgba(14,14,18,.5);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid rgba(255,255,255,.025);border-radius:16px;padding:22px;margin-bottom:12px;transition:border-color var(--tr),background var(--tr);position:relative}
body.s-app .key-card.disabled{opacity:.55}
body.s-app .key-reasoning{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.04)}
body.s-app .key-reasoning-row{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-dim);cursor:pointer;user-select:none}
body.s-app .key-reasoning-row span{font-weight:600;letter-spacing:.2px}

body.s-app input[type=checkbox].tk-check,
body.s-app .key-reasoning-row input[type=checkbox]{
  -webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;
  box-sizing:border-box !important;
  width:20px !important;height:20px !important;min-width:20px !important;min-height:20px !important;max-width:20px !important;max-height:20px !important;
  flex:0 0 20px !important;
  margin:0 !important;padding:0 !important;
  border:1.5px solid rgba(255,255,255,.22) !important;
  border-radius:6px !important;
  background:rgba(14,14,18,.7) !important;
  cursor:pointer;
  display:inline-block !important;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
  position:relative;vertical-align:middle;
}
body.s-app input[type=checkbox].tk-check:hover,
body.s-app .key-reasoning-row input[type=checkbox]:hover{border-color:rgba(255,255,255,.45) !important}
body.s-app input[type=checkbox].tk-check:focus-visible,
body.s-app .key-reasoning-row input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.3) !important}
body.s-app input[type=checkbox].tk-check:checked,
body.s-app .key-reasoning-row input[type=checkbox]:checked{
  background:var(--accent) !important;border-color:var(--accent) !important;
}
body.s-app input[type=checkbox].tk-check:checked::after,
body.s-app .key-reasoning-row input[type=checkbox]:checked::after{
  content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2.2px 2.2px 0;
  transform:rotate(45deg);
}
body.s-app input[type=checkbox].tk-check:disabled,
body.s-app .key-reasoning-row input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
body.s-app .key-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
body.s-app .key-meta{min-width:0;flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.s-app .key-name{font-size:15.5px;font-weight:600;color:var(--text);letter-spacing:-.2px;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.s-app .key-tags{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:0;align-items:center}
body.s-app .key-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:7px;letter-spacing:.1px;border:1px solid transparent}
body.s-app .key-tag.ok{background:rgba(74,222,128,.1);color:#86efac;border-color:rgba(74,222,128,.18)}
body.s-app .key-tag.warn{background:rgba(250,204,21,.1);color:#fde68a;border-color:rgba(250,204,21,.18)}
body.s-app .key-tag.danger{background:rgba(248,113,113,.1);color:#fca5a5;border-color:rgba(248,113,113,.18)}
body.s-app .key-tag.muted{background:rgba(255,255,255,.04);color:var(--text-dim);border-color:rgba(255,255,255,.05)}
body.s-app .key-time{font-size:11.5px;color:var(--text-mut);margin-top:0;display:inline-flex;flex-wrap:wrap;gap:10px;align-items:center}
body.s-app .key-time span{display:inline-flex;align-items:center;gap:5px}
body.s-app .key-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
body.s-app .key-mono{font-family:inherit;font-size:12.5px;color:var(--text-dim);background:rgba(255,255,255,.025);padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.03);cursor:pointer;transition:all var(--tr);word-break:break-all;display:flex;align-items:center;gap:8px}
body.s-app .key-mono:hover{color:var(--text);border-color:rgba(255,255,255,.07)}
body.s-app .key-mono .copy-ic{margin-left:auto;color:var(--text-mut);transition:color var(--tr);flex-shrink:0}
body.s-app .key-mono:hover .copy-ic{color:var(--accent)}
body.s-app .key-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
body.s-app .key-stat{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.025);border-radius:10px;padding:10px 12px}
body.s-app .key-stat .l{font-size:10.5px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:4px}
body.s-app .key-stat .v{font-size:14.5px;font-weight:600;color:var(--text);font-family:inherit}
body.s-app .key-stat .v .total{color:var(--text-dim);font-size:13px}
body.s-app .bar{height:5px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;margin-top:10px}
body.s-app .bar-fill{height:100%;background:var(--accent);transition:width .4s;border-radius:3px}
body.s-app .bar-fill.warn{background:var(--warn)}
body.s-app .bar-fill.danger{background:var(--danger)}
@media(max-width:600px){
  body.s-app .key-stats-grid{grid-template-columns:1fr}
  body.s-app .key-actions{width:100%;margin-top:6px}
}

body.s-app .payments-list{display:flex;flex-direction:column;gap:10px}
body.s-app .pay-card{display:flex;align-items:center;gap:16px;padding:16px 18px;background:rgba(14,14,18,.5);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid rgba(255,255,255,.025);border-radius:14px;transition:border-color var(--tr),background var(--tr)}
body.s-app .pay-status-icn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);border-radius:10px;transition:background var(--tr),border-color var(--tr)}
body.s-app .pay-status-icn.paid{color:#86efac;background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.18)}
body.s-app .pay-status-icn.pending{color:#fde68a;background:rgba(253,224,71,.08);border-color:rgba(253,224,71,.18)}
body.s-app .pay-status-icn.failed,body.s-app .pay-status-icn.cancelled{color:#fca5a5;background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.2)}
body.s-app .pay-status-icn svg{width:22px;height:22px}
body.s-app .pay-info{flex:1;min-width:0}
body.s-app .pay-product{font-size:14.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.s-app .pay-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:5px;font-size:12.5px;color:var(--text-mut)}
body.s-app .pay-amount{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.3px;margin-left:auto;flex-shrink:0;font-variant-numeric:tabular-nums}
body.s-app .pay-key-btn{flex-shrink:0}
@media(max-width:600px){
  body.s-app .pay-card{flex-wrap:wrap}
  body.s-app .pay-amount{margin-left:0}
  body.s-app .pay-info{flex:1 1 calc(100% - 58px)}
  body.s-app .pay-key-btn{width:100%;margin-top:4px}
}
body.s-app .tbl{width:100%;border-collapse:collapse}
body.s-app .tbl th{text-align:left;padding:13px 18px;font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.6px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.015)}
body.s-app .tbl td{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;font-size:13.5px;color:var(--text-dim)}
body.s-app .tbl td:first-child,body.s-app .tbl td:nth-child(2){color:var(--text)}
body.s-app .tbl tr:last-child td{border-bottom:none}
body.s-app .tbl tr:hover td{background:rgba(255,255,255,.02)}
body.s-app .tag{display:inline-flex;align-items:center;gap:6px;padding:0;border-radius:0;font-size:12px;font-weight:600;letter-spacing:.1px;text-transform:capitalize;border:0;background:transparent}
body.s-app .tag::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
body.s-app .tag-paid{color:#86efac}
body.s-app .tag-pending{color:#fde68a}
body.s-app .tag-failed,body.s-app .tag-cancelled{color:#fca5a5}
body.s-app .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}
body.s-app .stat-card{background:rgba(14,14,18,.5);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid rgba(255,255,255,.025);border-radius:14px;padding:16px 18px;transition:border-color var(--tr)}
body.s-app .stat-card .l{font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.6px;font-weight:700;margin-bottom:6px}
body.s-app .stat-card .v{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.4px;line-height:1.1}

body.s-app .modal-overlay{position:fixed;inset:0;background:rgba(2,3,7,.78);display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s,backdrop-filter 0s linear .2s;align-items:center;justify-content:center;z-index:100;padding:20px}
body.s-app .modal-overlay.visible{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);transition:opacity .22s ease,visibility 0s,backdrop-filter 0s}
body.s-app .modal-overlay .modal{transform:translateY(10px) scale(.985);transition:transform .26s cubic-bezier(.22,1,.36,1)}
body.s-app .modal-overlay.visible .modal{transform:none}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
body.s-app .modal{background:var(--card);border:1px solid var(--border-2);border-radius:var(--r-lg);max-width:480px;width:100%;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;animation:popIn .22s cubic-bezier(.4,0,.2,1)}
@keyframes popIn{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
body.s-app .modal-head{padding:12px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
body.s-app .modal-head .ttl-eb{font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
body.s-app .modal-head h3{font-size:16px;font-weight:700;margin:0;letter-spacing:-.3px}
body.s-app .modal-head .close-x{width:28px;height:28px;border-radius:7px}
body.s-app .modal-head .close-x svg{width:14px;height:14px}
body.s-app .modal-body{padding:16px 18px 20px;overflow-y:auto;scrollbar-width:none}
body.s-app .modal-body::-webkit-scrollbar{display:none}
body.s-app .modal-foot{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}

body.s-app .ck-section{border:1px solid var(--border);border-radius:14px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.024) 0%,rgba(255,255,255,.008) 100%);box-shadow:0 1px 2px rgba(0,0,0,.35);margin-top:14px}
body.s-app .ck-section:first-child{margin-top:0}
body.s-app .ck-section-title{font-size:11.5px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:12px}
body.s-app .ck-options{display:flex;flex-direction:column;gap:8px}
body.s-app .ck-opt{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid rgba(255,255,255,.05);border-radius:11px;background:transparent;cursor:pointer;transition:background var(--tr),border-color var(--tr);font-family:inherit;text-align:left;width:100%}
body.s-app .ck-opt:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
body.s-app .ck-opt.active{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.10);box-shadow:0 0 0 3px rgba(59,130,246,.10)}
body.s-app .ck-opt-dot{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);position:relative;margin-top:1px;transition:border-color var(--tr)}
body.s-app .ck-opt-dot::after{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .22s cubic-bezier(.4,0,.2,1)}
body.s-app .ck-opt.active .ck-opt-dot{border-color:var(--accent)}
body.s-app .ck-opt.active .ck-opt-dot::after{transform:scale(1)}
body.s-app .ck-opt-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
body.s-app .ck-opt-title{font-weight:600;color:var(--text);font-size:13.5px}
body.s-app .ck-opt-sub{font-size:12px;color:var(--text-mut);line-height:1.45}
body.s-app .ck-topup-box{margin-top:10px;display:flex;flex-direction:column;gap:8px}
body.s-app .ck-key-input{font-family:inherit;font-size:13px;letter-spacing:.2px}
body.s-app .ck-key-status{font-size:12px;color:var(--text-mut);min-height:14px;line-height:1.45}
body.s-app .ck-status-pending{display:inline-flex;align-items:center;gap:7px;color:var(--text-mut)}
body.s-app .ck-status-ok{display:inline-flex;align-items:center;gap:7px;color:#86efac;font-weight:600}
body.s-app .ck-status-err{display:inline-flex;align-items:center;gap:7px;color:#fca5a5;font-weight:500}
body.s-app .ck-status-meta{margin-top:3px;color:var(--text-dim);font-size:12px}
body.s-app .ck-spin{display:inline-block;width:11px;height:11px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:ck-spin .7s linear infinite}
@keyframes ck-spin{to{transform:rotate(360deg)}}

body.s-app .ck-checks{display:flex;flex-direction:column;gap:8px}
body.s-app .ck-check{display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border:1px solid rgba(255,255,255,.04);border-radius:10px;cursor:pointer;transition:background var(--tr),border-color var(--tr);user-select:none}
body.s-app .ck-check:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.11)}
body.s-app .ck-check.checked{border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.09)}
body.s-app .ck-check input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
body.s-app .ck-check-box{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.02);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background var(--tr),border-color var(--tr);margin-top:1px}
body.s-app .ck-check-box svg{width:13px;height:13px;opacity:0;transform:scale(.6);transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}
body.s-app .ck-check.checked .ck-check-box{background:var(--accent);border-color:var(--accent)}
body.s-app .ck-check.checked .ck-check-box svg{opacity:1;transform:scale(1)}
body.s-app .ck-check-text{flex:1;font-size:13px;color:var(--text);line-height:1.5}
body.s-app .ck-check-text a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
body.s-app .ck-check-text a:hover{color:#7fb8ff}

body.s-app .det-specs{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02)}
body.s-app .det-spec{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 14px;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.006) 100%)}
body.s-app .det-spec+.det-spec{border-top:1px solid rgba(255,255,255,.05)}
body.s-app .det-spec-k{font-size:12.5px;color:var(--text-mut);flex-shrink:0}
body.s-app .det-spec-v{font-size:13.5px;color:var(--text);font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}
body.s-app .det-faq{margin-top:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.015);overflow:hidden}
body.s-app .det-faq-head{width:100%;background:transparent;border:0;font-family:inherit;cursor:pointer;padding:13px 14px;font-size:13px;font-weight:600;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between;gap:12px;transition:color .18s ease,background .18s ease}
body.s-app .det-faq-head:hover{color:var(--text);background:rgba(255,255,255,.03)}
body.s-app .det-faq.open>.det-faq-head{color:var(--text);background:rgba(255,255,255,.04)}
body.s-app .det-faq-ar{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;opacity:.6;transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .18s ease}
body.s-app .det-faq.open>.det-faq-head .det-faq-ar,body.s-app .det-faq-item.open>.det-faq-q .det-faq-ar{transform:rotate(-135deg);opacity:1}
body.s-app .det-faq-wrap,body.s-app .det-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1)}
body.s-app .det-faq.open>.det-faq-wrap,body.s-app .det-faq-item.open>.det-faq-a{grid-template-rows:1fr}
body.s-app .det-faq-wrap>.det-faq-body,body.s-app .det-faq-a>.det-faq-a-in{overflow:hidden;min-height:0}
body.s-app .det-faq-body{padding:0 14px}
body.s-app .det-faq-item{border-top:1px solid rgba(255,255,255,.05)}
body.s-app .det-faq-item:first-child{border-top:0}
body.s-app .det-faq-q{width:100%;background:transparent;border:0;font-family:inherit;cursor:pointer;text-align:left;font-size:13px;color:var(--text);font-weight:500;padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:color .18s ease}
body.s-app .det-faq-q:hover{color:#fff}
body.s-app .det-faq-a-in p{margin:0 0 11px;font-size:12.5px;color:var(--text-dim);line-height:1.6}
body.s-app .det-faq-item>summary::-webkit-details-marker{display:none}
body.s-app .det-faq-item p{margin:4px 0 6px;font-size:12.5px;color:var(--text-dim);line-height:1.6}
body.s-app .ck-promo-row{display:flex;gap:8px;align-items:stretch}
body.s-app .ck-promo-input-wrap{position:relative;flex:1;display:flex}
body.s-app .ck-promo-input{flex:1;width:100%;font-family:inherit;font-size:13.5px;text-transform:uppercase;letter-spacing:.4px;height:44px;padding-right:40px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:11px}
body.s-app .ck-promo-input::placeholder{text-transform:none;letter-spacing:0;color:var(--text-mut);font-size:13.5px}
body.s-app .ck-promo-input:hover{border-color:rgba(255,255,255,.15)}
body.s-app .ck-promo-input:focus{outline:none;border-color:rgba(59,130,246,.5);background:rgba(255,255,255,.05);box-shadow:0 0 0 3px rgba(59,130,246,.16)}
body.s-app .ck-promo-row.applied .ck-promo-input{color:#86efac;font-weight:700;background:rgba(74,222,128,.06);border-color:rgba(74,222,128,.22);cursor:default}
body.s-app .ck-promo-btn{flex-shrink:0;white-space:nowrap;height:44px;padding:0 20px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:var(--text);font-weight:600}
body.s-app .ck-promo-btn:hover{background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.45);color:#fff}
body.s-app #promoApplyBtn{background:rgba(74,222,128,.10)!important;border-color:rgba(74,222,128,.30)!important;color:#86efac!important}
body.s-app #promoApplyBtn:hover{background:rgba(74,222,128,.18)!important;border-color:rgba(74,222,128,.55)!important;color:#bbf7d0!important}
body.s-app #promoRemoveBtn{background:rgba(248,113,113,.10)!important;border-color:rgba(248,113,113,.30)!important;color:#fca5a5!important}
body.s-app #promoRemoveBtn:hover{background:rgba(248,113,113,.18)!important;border-color:rgba(248,113,113,.55)!important;color:#fecaca!important}

body.s-app .ck-key-wrap{position:relative;display:flex}
body.s-app .ck-key-input{padding-right:40px;height:42px}
body.s-app .ck-key-input.valid{border-color:rgba(74,222,128,.32);background:rgba(74,222,128,.04)}
body.s-app .ck-key-input.invalid{border-color:rgba(248,113,113,.32);background:rgba(248,113,113,.04)}
body.s-app .ck-key-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;color:var(--text-mut)}
body.s-app .ck-key-icon svg{width:16px;height:16px}
body.s-app .ck-key-icon.ok{color:#4ade80}
body.s-app .ck-key-icon.err{color:#f87171}
body.s-app .ck-key-icon.pending{color:var(--text-mut)}

body.s-app .ck-pay-section{margin-top:12px}
body.s-app .ck-pay-list{display:flex;flex-direction:column;gap:8px}
body.s-app .ck-pay-btn{display:flex;align-items:center;gap:12px;justify-content:flex-start;font-weight:600;padding:12px 14px;text-align:left;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);transition:border-color var(--tr),color var(--tr);width:100%;color:var(--text-dim);font-size:13.5px;line-height:1.2;cursor:pointer;font-family:inherit}
body.s-app .ck-pay-btn:hover{border-color:rgba(59,130,246,.4);color:var(--text);background:rgba(59,130,246,.07)}
body.s-app .ck-pay-btn .ck-pay-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;letter-spacing:-.1px}
body.s-app .ck-pay-btn .ck-pay-arrow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--text-mut);transition:color var(--tr),transform var(--tr)}
body.s-app .ck-pay-btn .ck-pay-arrow svg{width:14px;height:14px}
body.s-app .ck-pay-btn:hover .ck-pay-arrow{color:var(--text)}
body.s-app .ck-pay-ico{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--text);overflow:hidden}
body.s-app .ck-pay-ico.png{padding:0;background:transparent;border:0}
body.s-app .ck-pay-ico.png img{width:38px;height:38px;display:block;border-radius:50%;object-fit:cover;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}
body.s-app .ck-pay-ico.generic{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.22);color:#c4b5fd}
body.s-app .ck-pay-btn[disabled],body.s-app .ck-pay-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
body.s-app .ck-pay-btn[disabled]:hover,body.s-app .ck-pay-btn:disabled:hover{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.06);color:inherit;transform:none}
body.s-app .ck-pay-btn[disabled] .ck-pay-arrow,body.s-app .ck-pay-btn:disabled .ck-pay-arrow{transform:none;color:var(--text-mut)}

body.s-app .ck-total{margin-top:16px;padding:18px 20px;border:1px solid rgba(59,130,246,.30);background:linear-gradient(135deg,rgba(59,130,246,.16) 0%,rgba(59,130,246,.06) 100%);border-radius:14px;box-shadow:0 6px 20px rgba(37,99,235,.10);display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.s-app .ck-total-label{font-size:14px;color:#c7d6ee;font-weight:600;letter-spacing:-.1px;text-transform:none}
body.s-app .ck-total-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.s-app .ck-total-amount{font-size:23px;font-weight:700;color:#fff;letter-spacing:-.6px;line-height:1}
body.s-app .ck-total-old{font-size:13px;color:var(--text-mut);text-decoration:line-through}
body.s-app .ck-total-disc{font-size:11px;color:#86efac;font-weight:700;padding:2px 7px;background:rgba(74,222,128,.1);border-radius:6px;letter-spacing:.2px}
body.s-app .close-x{background:transparent;border:1px solid var(--border-2);color:var(--text-dim);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:all var(--tr)}
body.s-app .close-x:hover{color:var(--text);border-color:#3a3a44}
body.s-app .warn-box{background:rgba(250,204,21,.08);border:1px solid rgba(250,204,21,.25);border-radius:10px;padding:14px;margin-bottom:14px}
body.s-app .warn-box .lbl{color:var(--warn);font-weight:700;margin-bottom:6px;font-size:13px;display:flex;align-items:center;gap:6px}
body.s-app .warn-box .txt{font-size:12.5px;color:var(--text-dim);line-height:1.5}

body.s-app #toastStack{position:fixed;top:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
body.s-app .toast-item{pointer-events:auto;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;background:linear-gradient(180deg,#0b7dff 0%,#0066dd 100%);color:#fff;font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.5),0 4px 14px rgba(0,119,255,.35);border:1px solid rgba(255,255,255,.08);transform:translateX(calc(100% + 40px));opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .25s ease-out;max-width:min(360px,calc(100vw - 40px));white-space:normal;word-break:break-word}
body.s-app .toast-item.in{transform:translateX(0);opacity:1}
body.s-app .toast-item.out{transform:translateX(calc(100% + 40px));opacity:0;transition:transform .26s cubic-bezier(.4,0,1,.4),opacity .22s ease-in}
body.s-app .toast-item.toast-error{background:linear-gradient(180deg,#e23030 0%,#bb1d1d 100%);box-shadow:0 10px 30px rgba(0,0,0,.5),0 4px 14px rgba(220,38,38,.4)}
body.s-app .toast-item svg{flex-shrink:0;opacity:.95}
@media(max-width:600px){body.s-app #toastStack{left:12px;right:12px;top:12px;align-items:stretch}body.s-app .toast-item{max-width:none}}
body.s-app .toast{display:none}

body.s-app .page-flex{display:flex;flex-direction:column;flex:1 0 auto;width:100%}
body.s-app .footer-fade{position:relative;height:120px;margin-top:auto;background:linear-gradient(to bottom,transparent 0%,rgba(8,8,11,.4) 35%,rgba(8,8,11,.85) 75%,#080808 100%);pointer-events:none;flex-shrink:0}
body.s-app footer{padding:24px;color:var(--text-mut);font-size:12.5px;background:#080808;flex-shrink:0;position:relative}
body.s-app .footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
body.s-app .footer-left,body.s-app .footer-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
body.s-app footer a{color:var(--text-dim);transition:color var(--tr)}
body.s-app footer a:hover{color:var(--text)}
body.s-app .footer-right a{padding:0;border-radius:0;font-size:12.5px}
body.s-app .uptime-pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-dim);text-decoration:none;padding:0}
body.s-app .uptime-pill:hover{color:var(--text)}
body.s-app .uptime-pill .ud{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px rgba(74,222,128,.6)}
body.s-app .uptime-pill .uv{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
body.s-app .footer-refund{padding:14px 0 0;font-size:11.5px;color:var(--text-mut);line-height:1.5}
body.s-app .footer-sep{color:var(--text-mut);opacity:.5}
body.s-app .tg{display:inline-flex;align-items:center;gap:8px;color:#2aabee !important;padding:7px 14px;border:1px solid rgba(42,171,238,.25);border-radius:20px;background:rgba(42,171,238,.06);font-size:12.5px;transition:all var(--tr)}
body.s-app .tg:hover{background:rgba(42,171,238,.12);border-color:rgba(42,171,238,.4)}

body.s-app .skel{background:linear-gradient(90deg,var(--bg-2) 0%,var(--card) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}


@media (max-width:1024px){
  body.s-app .wrap{padding:0 24px}
  body.s-app .grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
}
@media (max-width:880px){
  body.s-app .logo-mark{width: 26px; height: 26px;}
  body.s-app .nav-wrap > #userChipBox{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1;justify-content:flex-end;overflow:hidden}
  body.s-app .user-chip{max-width:100%;font-size:12px;height:38px}
  body.s-app .balance-chip{height:38px;font-size:12px;margin-right:0}
  body.s-app .user-chip .avatar{background:rgba(255,255,255,.06)!important;color:var(--text);box-shadow:none!important}
  body.s-app .user-chip .um{font-size:12px}
  body.s-app .footer-inner{flex-direction:column;align-items:flex-start}
  body.s-app .footer-right{flex-wrap:wrap;font-size:12px}
  body.s-app .catalog-controls{flex-direction:column;gap:10px}
  body.s-app .catalog-controls .cat-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%}
  body.s-app .catalog-controls .cat-bar::-webkit-scrollbar{display:none}
  body.s-app .cat-btn{flex-shrink:0}
  body.s-app .sort-bar{width:100%}
  body.s-app .sort-select{flex:1}
  body.s-app .wrap{padding:0 18px}
  body.s-app .header-inner{height:56px}
  body.s-app .logo{font-size:18px}
  body.s-app .lang-trigger{padding:7px 9px;font-size:11.5px}
  body.s-app .page-head h1{font-size:26px}
  body.s-app .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  body.s-app .product{padding:16px}
  body.s-app .product .name{font-size:14px;}
  body.s-app .product .price{font-size:20px}
  body.s-app .row{grid-template-columns:1fr;gap:0}
  body.s-app .auth-wrap{margin-top:32px}
  body.s-app .auth-card{padding:22px}
  body.s-app .key-mono{font-size:11px}
  body.s-app .key-actions{width:100%;margin-top:8px}
  body.s-app .tbl th,body.s-app .tbl td{padding:10px 12px;font-size:12px}
  body.s-app .tbl .hide-sm{display:none}
}
@media (max-width:600px){
  body.s-app .header-inner{height:56px;gap:8px}
  body.s-app .user-chip{padding:0 10px 0 4px;height:38px}
  body.s-app .user-chip .avatar{width:26px;height:26px;font-size:11px}
  body.s-app .user-chip .um{font-size:11.5px;max-width:130px}
  body.s-app .auth-wrap{margin-top:24px;padding:0 14px}
  body.s-app .auth-card{padding:18px}
  body.s-app .page-head h1{font-size:23px}
  body.s-app .page-head{margin-bottom:14px}
  body.s-app .modal{max-width:none}
  body.s-app .app-shell{margin:14px 0 40px}
  body.s-app .stats-grid{grid-template-columns:1fr 1fr;gap:8px}
  body.s-app .stat-card{padding:14px}
  body.s-app .stat-card .v{font-size:18px}
}
@media (max-width:500px){
  body.s-app .user-chip {
    padding: 0 4px;
  }
}
@media (max-width:480px){
  body.s-app .wrap{padding:0 14px}
  body.s-app .grid{grid-template-columns:1fr}
  body.s-app .page-head h1{font-size:22px}
  body.s-app .modal-overlay{align-items:flex-end;padding:0}
  body.s-app .modal-overlay #checkoutModal-inner,body.s-app #checkoutModal .modal,body.s-app #topupModal .modal{max-width:100%;width:100%;border-radius:20px 20px 0 0;max-height:92vh}
  body.s-app .modal-overlay .modal{transform:translateY(100%);transition:transform .34s cubic-bezier(.22,1,.36,1)}
  body.s-app .modal-overlay.visible .modal{transform:none}
  body.s-app .modal{max-width:none}
  body.s-app .toast{left:12px;right:12px;bottom:12px;max-width:none}
  body.s-app .key-head{flex-direction:column;align-items:stretch;gap:10px}
  body.s-app .key-meta{flex-direction:column;align-items:flex-start;gap:6px}
  body.s-app .key-name{font-size:14.5px}
  body.s-app .key-actions{margin-top:0;display:flex;gap:6px}
  body.s-app .key-actions .btn{flex:1;justify-content:center}
  body.s-app .card{padding:16px}
  body.s-app .empty{padding:56px 16px}
  body.s-app .empty .icn-wrap svg{width:42px;height:42px}
  body.s-app .empty .empty-title{font-size:15px}
  body.s-app .empty .empty-sub{font-size:13px}
  body.s-app .tbl th,body.s-app .tbl td{padding:10px 12px;font-size:12.5px}
  body.s-app .footer-inner{flex-direction:column;align-items:flex-start;gap:10px}
  body.s-app .stats-grid{grid-template-columns:1fr 1fr}
}
body.s-app .build-stamp{color:inherit;font-size:inherit;white-space:nowrap;letter-spacing:.5px;font-weight:600}
body.s-app .build-sep{opacity:.28;margin:0 8px}
@media (max-width:640px){body.s-app .build-sep{display:none}body.s-app .build-stamp{display:block;margin-top:4px}}
body.s-app header{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:none;z-index:50;pointer-events:none;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
body.s-app header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,9,14,.55) 0%,rgba(8,9,14,.4) 40%,rgba(8,9,14,.18) 75%,transparent 100%);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,.4) 85%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,.4) 85%,transparent 100%);pointer-events:none;transition:opacity .25s ease}
body.s-app header .header-inner{position:relative;z-index:1;pointer-events:auto}
body.s-app header.scrolled::before{background:linear-gradient(to bottom,rgba(8,9,14,.7) 0%,rgba(8,9,14,.5) 40%,rgba(8,9,14,.22) 75%,transparent 100%)}
body.s-app .header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;gap:14px}
body.s-app .logo{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:700;letter-spacing:-.5px;color:#fff}
body.s-app .logo-mark{width:26px;height:26px;flex-shrink:0;display:inline-flex;filter:drop-shadow(0 2px 6px rgba(0,119,255,.45))}
body.s-app .logo-mark svg{width:100%;height:100%;display:block}
body.s-app .nav-wrap{display:flex;align-items:center;gap:7px}
body.s-app .nav{display:flex;gap:2px;align-items:center}
body.s-app .nav a{color:var(--text-dim);font-size:13px;padding:10px 16px;border-radius:9px;transition:color var(--tr),background var(--tr);font-weight:500;line-height:1}
body.s-app .nav a:hover{color:var(--text);background:rgba(255,255,255,.015)}
body.s-app .nav a.active{color:#fff;position:relative}
body.s-app .nav a.active::after{content:"";position:absolute;left:calc(50% - 9px);bottom:-2px;width:18px;height:2px;border-radius:2px;background:var(--accent)}
body.s-app a.cta-dash{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;color:#d4dae4;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);padding:0 16px !important;font-weight:600;border-radius:10px;font-size:13px;line-height:1;transition:color var(--tr),border-color var(--tr),background var(--tr)}
body.s-app a.cta-dash:hover{color:#fff;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.05)}
body.s-app a.cta-dash svg{width:14px;height:14px;opacity:.75;transition:opacity var(--tr);flex-shrink:0}
body.s-app a.cta-dash:hover svg{opacity:1}
body.s-app a.cta-account{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;color:#fff;background:#3b82f6;padding:0 18px;font-weight:600;border-radius:10px;font-size:13px;line-height:1;text-decoration:none;border:1px solid rgba(255,255,255,.06);transition:all var(--tr)}
body.s-app a.cta-account:hover{background:#2f6fde;border-color:rgba(255,255,255,.1);color:#fff}
body.s-app a.cta-account .cta-account-icon{display:none;flex-shrink:0}
body.s-app a.cta-account{padding:0;width:38px;height:38px;gap:0}
body.s-app a.cta-account .cta-account-label{display:none}
body.s-app a.cta-account .cta-account-icon{display:inline-block}
body.s-app a.support-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:34px;width:34px;flex-shrink:0;color:#f87171;border:1px solid rgba(248,113,113,.28);background:rgba(248,113,113,.09);border-radius:10px;text-decoration:none;transition:color var(--tr),border-color var(--tr),background var(--tr)}
body.s-app a.support-btn:hover{color:#fca5a5;border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.16)}
body.s-app a.support-btn svg{width:16px;height:16px}
body.s-app a.support-btn::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#161616;color:#e5e5e5;font-size:11px;font-weight:600;padding:5px 9px;border-radius:6px;white-space:nowrap;border:1px solid #2a2a2a;box-shadow:0 4px 12px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .15s;z-index:60}
body.s-app a.support-btn:hover::after{opacity:1}
body.s-app a.tg-hdr{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;text-decoration:none;color:#7fb8ff;border:1px solid rgba(127,184,255,.3);background:rgba(127,184,255,.1);transition:all var(--tr)}
body.s-app a.tg-hdr:hover{color:#a6ccff;border-color:rgba(127,184,255,.55);background:rgba(127,184,255,.16)}
body.s-app a.tg-hdr .tg-hdr-ic{width:19px;height:19px;flex-shrink:0}
body.s-app a.tg-hdr::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#161616;color:#e5e5e5;font-size:11px;font-weight:600;padding:5px 9px;border-radius:6px;white-space:nowrap;border:1px solid #2a2a2a;box-shadow:0 4px 12px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .15s;z-index:60}
body.s-app a.tg-hdr:hover::after{opacity:1}
body.s-app .lang-dd{position:relative;flex-shrink:0}
body.s-app .lang-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--text);padding:0 12px;font-size:12.5px;font-weight:700;cursor:pointer;letter-spacing:.3px;transition:all var(--tr);font-family:inherit;line-height:1}
body.s-app .lang-trigger:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
body.s-app .lang-trigger svg{width:11px;height:11px;opacity:.6;transition:transform var(--tr)}
body.s-app .lang-dd.open .lang-trigger svg{transform:rotate(180deg)}
body.s-app .lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:rgba(14,14,18,.94);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:5px;box-shadow:0 14px 38px -8px rgba(0,0,0,.55);display:none;z-index:60}
body.s-app .lang-dd.open .lang-menu{display:block;animation:ddIn .16s cubic-bezier(.4,0,.2,1)}
@keyframes ddIn{from{opacity:0}to{opacity:1}}
body.s-app .lang-menu button{display:flex;align-items:center;gap:9px;width:100%;background:transparent;border:none;color:var(--text-dim);padding:9px 11px;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:7px;text-align:left;font-family:inherit;transition:all var(--tr)}
body.s-app .lang-menu button:hover{background:rgba(255,255,255,.05);color:#fff}
body.s-app .lang-menu button.active{background:var(--accent-glow);color:#fff}
body.s-app .lang-menu .check{margin-left:auto;opacity:0;color:var(--accent)}
body.s-app .lang-menu button.active .check{opacity:1}
body.s-app .menu-btn{display:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--text);padding:0;border-radius:9px;cursor:pointer;align-items:center;justify-content:center;width:34px;height:34px;transition:all var(--tr);font-family:inherit}
body.s-app .menu-btn:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}
body.s-app .menu-btn svg{width:18px;height:18px}
body.s-app .mobile-menu{display:flex;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:90;flex-direction:column;padding:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s,backdrop-filter 0s linear .22s}
body.s-app .mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);transition:opacity .22s ease,visibility 0s,backdrop-filter 0s}
body.s-app .mm-inner{max-width:1200px;width:100%;margin:0 auto;padding:0 14px 22px;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}
@media(min-width:480px){body.s-app .mm-inner{padding:0 18px 22px}}
body.s-app .mm-head{display:flex;align-items:center;justify-content:space-between;height:56px;flex-shrink:0;gap:16px;padding-top:env(safe-area-inset-top,0px)}
body.s-app .mm-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--text);cursor:pointer;padding:0;transition:background var(--tr),border-color var(--tr)}
body.s-app .mm-close:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}
body.s-app .mm-close svg{width:16px;height:16px}
body.s-app .mm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column}
body.s-app .mm-list{display:flex;flex-direction:column;padding-top:8px;flex:0 0 auto}
body.s-app .mm-sep{font-size:12px;font-weight:600;color:#8b8b95;padding:16px 0 4px}
body.s-app .mm-list a,body.s-app .mm-list button{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;font-family:inherit;text-align:left;cursor:pointer;padding:13px 0;font-size:15px;color:var(--text);font-weight:500;border-bottom:1px solid rgba(255,255,255,.04);transition:color var(--tr)}
body.s-app .mm-list a:last-child,body.s-app .mm-list button:last-child{border-bottom:none}
body.s-app .mm-list a:hover,body.s-app .mm-list a:active,body.s-app .mm-list button:hover{color:#9cc6ff}
body.s-app .mm-list a.active,body.s-app .mm-list button.active{color:#9cc6ff}
body.s-app .mm-list a .mm-arr,body.s-app .mm-list button .mm-arr{color:var(--text-mut);flex-shrink:0;margin-left:12px}
body.s-app .mm-list a:hover .mm-arr,body.s-app .mm-list button:hover .mm-arr{color:#9cc6ff}
body.s-app .mm-list .mm-logout:hover,body.s-app .mm-list .mm-logout:hover .mm-arr{color:#f87171}
body.s-app .mm-foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:16px 0 env(safe-area-inset-bottom,0px);gap:10px;border-top:1px solid rgba(255,255,255,.05);margin-top:8px}
body.s-app .mm-foot .mm-lang{display:inline-flex;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);border-radius:9px;padding:3px;gap:2px}
body.s-app .mm-foot .mm-lang button{background:transparent;border:none;color:var(--text-dim);padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;border-radius:6px;font-family:inherit;transition:background var(--tr),color var(--tr)}
body.s-app .mm-foot .mm-lang button.active{background:var(--accent);color:#fff}
body.s-app .mm-foot .mm-lang button:not(.active):hover{color:#fff}
html.s-app.mm-locked{overflow:hidden;height:100%}
body.s-app.mm-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:contain}
body.s-app.mm-locked > *:not(#mobileMenu){pointer-events:none}
body.s-app .mobile-menu,body.s-app .mobile-menu *{pointer-events:auto}
body.s-app .header-inner{height:56px}
body.s-app .logo{font-size:18px}
body.s-app .logo-mark{width:26px;height:26px}
body.s-app .lang-trigger{padding:7px 9px;font-size:11.5px}
body.s-app .nav a.cta-account{padding:8px 14px;font-size:12.5px}
body.s-app a.cta-account{padding:0;width:38px;height:38px;gap:0}
@media (max-width:1000px){body.s-app .nav-item{display:none}body.s-app .nav a{display:none}body.s-app a.cta-dash{display:none}body.s-app .menu-btn{display:inline-flex}}
@media (max-width:1024px){body.s-app .wrap{padding:0 24px}}
@media (max-width:880px){body.s-app .wrap{padding:0 18px}body.s-app .header-inner{height:54px}body.s-app .logo{font-size:17px}body.s-app .logo-mark{width:24px;height:24px}body.s-app .lang-trigger{padding:6px 9px;font-size:11.5px}}
@media (max-width:880px){body.s-app{padding-top:calc(54px + env(safe-area-inset-top,0px))}}
@media (max-width:720px){body.s-app .nav-wrap{gap:6px}body.s-app .lang-dd{display:none}}
@media (max-width:500px){body.s-app a.cta-account{padding:0;width:34px;height:34px;gap:0}body.s-app a.cta-account .cta-account-label{display:none}body.s-app a.cta-account .cta-account-icon{display:inline-block}}
@media (max-width:480px){body.s-app .wrap{padding:0 14px}}
body.s-app{padding-top:calc(60px + env(safe-area-inset-top,0px))}
@media (max-width:880px){body.s-app{padding-top:calc(56px + env(safe-area-inset-top,0px))}}
body.s-app .header-inner{min-width:0}
body.s-app .nav-wrap{min-width:0;flex-shrink:0}
body.s-app .nav{min-width:0;flex-wrap:nowrap}
body.s-app a.tg-hdr,body.s-app a.support-btn,body.s-app a.cta-account,body.s-app .menu-btn{flex-shrink:0}
body.s-app header.tk-collapsed .nav a{display:none}
body.s-app header.tk-collapsed .nav-item{display:none}
body.s-app header.tk-collapsed a.cta-dash{display:none}
body.s-app header.tk-tight .lang-dd{display:none}
body.s-app header.tk-tighter a.tg-hdr{display:none}
body.s-app header.tk-tightest a.support-btn{display:none}
body.s-app header.tk-tightest .logo{font-size:17px}
body.s-app header.tk-tightest .logo-mark{width:24px;height:24px}
@media (max-width:400px){body.s-app a.tg-hdr{display:none}}
body.s-app .nav-item{position:relative;display:flex;align-items:center}
body.s-app .nav-link{display:inline-flex;align-items:center;gap:5px;color:var(--text-dim);font-size:12.5px;padding:8px 11px;border-radius:8px;transition:color var(--tr),background var(--tr);font-weight:500;line-height:1;white-space:nowrap;text-decoration:none}
body.s-app .nav-link:hover{color:var(--text);background:rgba(255,255,255,.03)}
body.s-app .nav-link.tk-on{color:#fff;position:relative}
body.s-app .nav-link.tk-on::after{content:"";position:absolute;left:11px;right:11px;bottom:0;height:2px;border-radius:2px;background:var(--accent)}
body.s-app .nav-chev{width:11px;height:11px;opacity:.55;transition:transform var(--tr)}
body.s-app .nl-s{display:none}
body.s-app header.tk-short .nl-l{display:none}
body.s-app header.tk-short .nl-s{display:inline}
body.s-app header.tk-short .nav-link{padding:8px 8px;font-size:12px}
body.s-app header.tk-short .nav{gap:0}
body.s-app header.tk-short a.cta-dash{padding:0 10px !important}
body.s-app header.tk-short .nav-chev{width:10px;height:10px}
body.s-app header.tk-short .logo{font-size:17px}
body.s-app header.tk-short .logo-mark{width:24px;height:24px}
body.s-app header.tk-short .nav-wrap{gap:6px}
body.s-app header.tk-short .lang-trigger{padding:0 10px;font-size:11.5px}
body.s-app header.tk-short .nav-sub{min-width:196px;padding:5px;border-radius:11px}
body.s-app header.tk-short .nav-sub a{padding:7px 9px;font-size:12px}
body.s-app header.tk-short .lang-menu{min-width:118px;padding:4px}
body.s-app header.tk-short .lang-menu a,body.s-app header.tk-short .lang-menu button{padding:8px 10px;font-size:12px}
body.s-app header.tk-collapsed .nav-sub{min-width:186px;padding:5px}
body.s-app header.tk-collapsed .nav-sub a{padding:7px 9px;font-size:12px}
body.s-app header.tk-tighter .logo{font-size:16.5px}
body.s-app header.tk-tighter .nav-wrap{gap:5px}
body.s-app .nav-item.has-sub:hover .nav-chev,body.s-app .nav-item.has-sub.open .nav-chev{transform:rotate(180deg);opacity:.9}
body.s-app .nav-sub{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:rgba(14,14,18,.97);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:6px;box-shadow:0 16px 40px -10px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:1px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s,transform .16s,visibility 0s linear .16s;z-index:70}
body.s-app .nav-item.has-sub:hover .nav-sub,body.s-app .nav-item.has-sub:focus-within .nav-sub,body.s-app .nav-item.has-sub.open .nav-sub{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .16s,transform .16s,visibility 0s}
body.s-app .nav-item.has-sub.tk-subhide .nav-sub{opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none}
body.s-app .nav-item.has-sub.tk-subhide .nav-chev{transform:none;opacity:.55}
body.s-app .nav-item.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:8px}
body.s-app .nav-sub a{display:block;padding:8px 10px;border-radius:8px;font-size:12.5px;color:var(--text-dim);text-decoration:none;white-space:nowrap;transition:background var(--tr),color var(--tr)}
body.s-app .nav-sub a:hover{background:rgba(255,255,255,.05);color:#fff}
body.s-app .nav-sub a.on{background:rgba(59,130,246,.14);color:#fff;font-weight:600}
body.s-app .nav-sub a.on:hover{background:rgba(59,130,246,.2)}
body.s-app .mm-lang-dd{position:relative}
body.s-app .mm-lang-trigger{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:9px;color:var(--text);font-size:12.5px;font-weight:700;letter-spacing:.3px;cursor:pointer;font-family:inherit;line-height:1}
body.s-app .mm-lang-trigger svg{width:12px;height:12px;opacity:.6;transition:transform var(--tr)}
body.s-app .mm-lang-dd.open .mm-lang-trigger svg{transform:rotate(180deg)}
body.s-app .mm-lang-menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:150px;background:rgba(14,14,18,.98);border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:5px;box-shadow:0 -12px 32px -10px rgba(0,0,0,.75);display:none;z-index:95}
body.s-app .mm-lang-dd.open .mm-lang-menu{display:block}
body.s-app .mm-lang-menu a,body.s-app .mm-lang-menu button{display:flex;align-items:center;width:100%;padding:9px 11px;border:none;background:transparent;color:var(--text-dim);font-size:13px;font-weight:500;font-family:inherit;border-radius:7px;text-decoration:none;cursor:pointer;text-align:left}
body.s-app .mm-lang-menu a:hover,body.s-app .mm-lang-menu button:hover{background:rgba(255,255,255,.05);color:#fff}
body.s-app .mm-lang-menu a.active,body.s-app .mm-lang-menu button.active{background:var(--accent-glow);color:#fff}
body.s-app .nav a.tk-on{color:#fff;position:relative}
body.s-app .nav a.tk-on::after{content:"";position:absolute;left:calc(50% - 9px);bottom:-2px;width:18px;height:2px;border-radius:2px;background:var(--accent)}
body.s-app .lang-menu a{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--text-dim);padding:10px 12px;font-size:13px;font-weight:500;border-radius:7px;text-decoration:none;transition:background var(--tr),color var(--tr)}
body.s-app .lang-menu a:hover{background:rgba(255,255,255,.05);color:#fff}
body.s-app .lang-menu a.active{background:var(--accent-glow);color:#fff}
body.s-app .mm-foot .mm-lang a{display:inline-flex;align-items:center;background:transparent;color:var(--text-dim);padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.3px;border-radius:6px;text-decoration:none;transition:background var(--tr),color var(--tr)}
body.s-app .mm-foot .mm-lang a.active{background:var(--accent);color:#fff}
body.s-app .mm-foot .mm-lang a:not(.active):hover{color:#fff}
body.s-app a.cta-account{height:34px}
body.s-app a.cta-dash{height:34px;padding:0 12px !important;font-size:12.5px}
body.s-app .lang-trigger{height:34px;font-size:12px}
body.s-app #userChipBox{gap:7px}
body.s-app #userChipBox .user-chip{height:34px;max-width:210px;padding:0 12px 0 4px}
body.s-app #userChipBox .user-chip .avatar{width:26px;height:26px}
body.s-app #userChipBox .user-chip .um{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.s-app #userChipBox .balance-chip-landing,body.s-app #userChipBox .balance-chip{height:34px}
@media (max-width:1200px){body.s-app #userChipBox .user-chip .um{max-width:96px}}
@media (max-width:620px){body.s-app #userChipBox .user-chip{width:34px;height:34px;padding:0;gap:0;max-width:none;justify-content:center}body.s-app #userChipBox .user-chip .um{display:none}body.s-app #userChipBox .balance-chip-landing .balance-value,body.s-app #userChipBox .balance-chip .balance-value{padding:0 9px}}
body.s-app header.tk-tighter #userChipBox .user-chip{width:34px;padding:0;gap:0;max-width:none;justify-content:center}
body.s-app header.tk-tighter #userChipBox .user-chip .um{display:none}
body.s-app header.tk-tightest #userChipBox .balance-chip-landing,body.s-app header.tk-tightest #userChipBox .balance-chip{display:none}
body.s-app header.tk-collapsed a.cta-account,body.s-app header.tk-collapsed .menu-btn,body.s-app header.tk-collapsed a.tg-hdr,body.s-app header.tk-collapsed a.support-btn{width:32px;height:32px}
body.s-app header.tk-collapsed .balance-chip-landing,body.s-app header.tk-collapsed #userChipBox .balance-chip{height:32px;font-size:12px}
body.s-app header.tk-collapsed .balance-chip-landing .balance-value,body.s-app header.tk-collapsed #userChipBox .balance-chip .balance-value{padding:0 10px}
body.s-app header.tk-collapsed .balance-chip-landing .balance-plus,body.s-app header.tk-collapsed #userChipBox .balance-chip .balance-plus{width:26px}
body.s-app header.tk-tighter a.cta-account,body.s-app header.tk-tighter .menu-btn,body.s-app header.tk-tighter a.support-btn{width:31px;height:31px}
body.s-app header.tk-tighter .menu-btn svg{width:16px;height:16px}
body.s-app header.tk-tighter .balance-chip-landing,body.s-app header.tk-tighter #userChipBox .balance-chip{height:31px;font-size:11.5px}
body.s-app header.tk-tighter .balance-chip-landing .balance-value,body.s-app header.tk-tighter #userChipBox .balance-chip .balance-value{padding:0 8px}
body.s-app .balance-chip-landing{display:inline-flex;align-items:center;height:34px;padding:0;background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.25);border-radius:10px;font-size:13px;color:#10b981!important;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s;font-variant-numeric:tabular-nums;text-decoration:none;line-height:1;overflow:hidden;flex-shrink:0}
body.s-app .balance-chip-landing:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4)}
body.s-app .balance-chip-landing .balance-value{display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 13px;white-space:nowrap}
body.s-app .balance-chip-landing .balance-plus{display:inline-flex;align-items:center;justify-content:center;width:30px;height:100%;border-left:1px solid rgba(16,185,129,.18);color:#10b981}
body.s-app .balance-chip-landing .balance-plus svg{width:14px;height:14px}
@media (max-width:720px){body.s-app .balance-chip-landing{font-size:12px}body.s-app .balance-chip-landing .balance-value{padding:0 10px}body.s-app .balance-chip-landing .balance-plus{width:28px}}
body.s-app header.tk-tightest .balance-chip-landing .balance-plus{display:none}
body.s-app .nav-more{display:none}
body.s-app .nav-more>.nav-link{background:transparent;border:none;font-family:inherit;cursor:pointer}
body.s-app .nav-more .nav-sub{left:auto;right:0;min-width:190px}
body.s-app header.tk-collapsed .nav-more{display:flex}
body.s-app header.tk-collapsed .nav-more .nav-link{display:inline-flex}
body.s-app header.tk-collapsed .nav-more .nav-sub a{display:block}
@media (max-width:1000px){body.s-app header .nav-more,body.s-app header.tk-collapsed .nav-more{display:none}}
body.s-app header.tk-hasside .menu-btn{display:none}
@media (max-width:1000px){body.s-app header.tk-hasside .nav-more{display:flex}body.s-app header.tk-hasside .nav-more .nav-link{display:inline-flex}body.s-app header.tk-hasside .nav-more .nav-sub a{display:block}}
body.s-app footer{padding:44px 0 32px;background:#080808;color:var(--text-mut);font-size:13px;line-height:1.55;position:relative;flex-shrink:0}
body.s-app .footer-fade{position:relative;height:140px;margin-top:auto;background:linear-gradient(to bottom,transparent 0%,rgba(8,8,11,.4) 35%,rgba(8,8,11,.85) 75%,#080808 100%);pointer-events:none;flex-shrink:0}
body.s-app footer .wrap{max-width:1560px;margin:0 auto;padding:0 32px;width:100%}
body.s-app .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.05fr 1.05fr 1.05fr;gap:26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.045)}
body.s-app .footer-brand{display:flex;flex-direction:column;align-items:flex-start}
body.s-app .footer-brand .logo{font-size:18px;margin-bottom:10px;cursor:default;display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.5px;color:#fff}
body.s-app footer a{text-decoration:none}
body.s-app .footer-brand .logo a{display:inline-flex;align-items:center;gap:10px;color:#fff}
body.s-app .footer-brand .logo-mark{width:26px;height:26px;flex-shrink:0;display:inline-flex}
body.s-app .footer-brand .logo-mark svg{width:100%;height:100%;display:block}
body.s-app .footer-tagline{color:var(--text-dim);font-size:13px;line-height:1.5;max-width:280px}
body.s-app .footer-uptime{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--text-dim);font-size:12.5px}
body.s-app .footer-uptime .ud{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.55);flex-shrink:0}
body.s-app .footer-uptime .uv{font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
body.s-app .footer-h{font-size:11.5px;color:#84848f;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px}
body.s-app .footer-col a{display:block;color:var(--text-dim);font-size:13px;line-height:1.35;padding:7px 0;transition:color .2s;text-decoration:none}
body.s-app .footer-col a:hover{color:#fff}
body.s-app .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;color:#84848f;font-size:12.5px;padding-top:22px}
body.s-app .footer-bottom a{color:var(--text-dim);transition:color .2s;text-decoration:none}
body.s-app .footer-bottom a:hover{color:#fff}
body.s-app .footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:1024px){body.s-app footer .wrap{padding:0 24px}body.s-app .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:26px}body.s-app .footer-brand{grid-column:1/-1}}
@media(max-width:640px){body.s-app footer .wrap{padding:0 18px}body.s-app .footer-grid{grid-template-columns:1fr 1fr;gap:24px}body.s-app .footer-brand{grid-column:1/-1}body.s-app .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:420px){body.s-app .footer-grid{grid-template-columns:1fr}}
body.s-app #tkPre{position:fixed;inset:0;z-index:400;background:#08080b;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .34s ease,visibility 0s linear .34s}
body.s-app #tkPre.tk-out{opacity:0;visibility:hidden;pointer-events:none}
body.s-app #tkPre::before{content:"";position:absolute;width:min(620px,92vw);height:min(620px,92vw);border-radius:50%;background:radial-gradient(circle at center,rgba(59,130,246,.18) 0%,rgba(59,130,246,.06) 42%,transparent 70%);filter:blur(34px);animation:tkPreGlow 2.8s ease-in-out infinite}
body.s-app .tk-pre-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px}
body.s-app .tk-pre-ring{position:relative;width:86px;height:86px;display:flex;align-items:center;justify-content:center}
body.s-app .tk-pre-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,255,255,.04) 0deg,rgba(59,130,246,.12) 140deg,#2f6fde 268deg,#7fb8ff 348deg,rgba(255,255,255,.04) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3.5px));animation:tkPreSpin 1.1s linear infinite}
body.s-app .tk-pre-mark{position:relative;width:40px;height:40px;display:block;filter:drop-shadow(0 6px 18px rgba(0,119,255,.42));animation:tkPreBreath 2.4s ease-in-out infinite}
body.s-app .tk-pre-mark svg{width:100%;height:100%;display:block}
body.s-app .tk-pre-bar{position:relative;width:108px;height:2px;border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden}
body.s-app .tk-pre-bar span{position:absolute;top:0;left:0;width:38%;height:100%;border-radius:2px;background:linear-gradient(90deg,rgba(59,130,246,0),#3b82f6 45%,#7fb8ff 75%,rgba(127,184,255,0));animation:tkPreSweep 1.25s ease-in-out infinite}
@keyframes tkPreSpin{to{transform:rotate(360deg)}}
@keyframes tkPreSweep{0%{transform:translateX(-110%)}100%{transform:translateX(370%)}}
@keyframes tkPreGlow{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes tkPreBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){body.s-app #tkPre::before,body.s-app .tk-pre-ring::before,body.s-app .tk-pre-mark{animation:none}body.s-app .tk-pre-bar span{animation:tkPreSweep 2.4s linear infinite}}
@keyframes tkPreFail{to{opacity:0;visibility:hidden;pointer-events:none}}
body.s-app #tkPre[data-auto="1"]{animation:tkPreFail .34s ease .9s forwards}
body.s-app #tkPre[data-auto="0"]{animation:tkPreFail .34s ease 20s forwards}
body.s-app #tkPre.tk-held{animation:none}
