:root{font-size:15px;--font-family-base:"SF Pro Text","SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Helvetica Neue",Arial,sans-serif;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:22px;--space-6:28px;--layout-sidebar-width:310px;--layout-main-pad-x:36px;--layout-main-pad-y:calc(var(--space-6) + 4px);--navbar-offset-top:18px;--navbar-height:56px}*,::after,::before{box-sizing:border-box;font-family:var(--font-family-base)}body{margin:0;min-height:100vh;font-family:var(--font-family-base);line-height:1.58;display:block;padding:0;color:#1d1d1f;color:var(--text)}body,html{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;overflow-x:hidden}body.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-3);padding:calc(var(--space-6) + 4px) 36px 52px}body.auth-page .navbar{width:min(1100px,100%);align-self:center;position:static;margin-bottom:0}body.auth-page .container{align-self:center}.auth-title{margin:0;font-size:28px;font-weight:800;letter-spacing:1px;color:var(--text)}@supports (-webkit-background-clip:text) or (background-clip:text){.auth-title{background:linear-gradient(120deg,var(--accent),#8b5cf6,var(--accent-strong));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}.auth-subtitle{margin:0;color:var(--muted);font-size:14px}.dashboard-page .menu-toggle{overflow:hidden;display:inline-flex}img{max-width:100%;height:auto}a{text-decoration:none;color:var(--accent)}.container{width:min(1100px,100%);padding:0 20px;margin:0 auto}.page{display:grid;gap:var(--space-4)}.page-header{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-5) 24px;border-radius:var(--radius-lg)}.page-title{margin:0;font-size:26px;font-weight:700}.page-subtitle{margin:var(--space-2) 0 0;color:var(--muted);line-height:1.65}.page-meta{display:flex;flex-wrap:wrap;gap:8px}.page-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.page-main,.page-side{display:grid;gap:var(--space-4);min-width:0}.panel{padding:var(--space-5);border-radius:var(--radius-lg)}.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.panel-title{margin:0;font-size:18px;font-weight:700}.panel-subtitle{margin:0;color:var(--muted);font-size:13px}.panel-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.stat-list{display:grid;gap:var(--space-2)}.stat-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-weight:700}.glass-divider{height:1px;background:rgba(255,255,255,.25);margin:var(--space-3) 0}.sidebar{position:fixed;top:18px;left:18px;bottom:18px;width:270px;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto}.sidebar-profile{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center}.sidebar-profile h3{margin:0;line-height:1.35}.profile-avatar{width:84px;height:84px;border-radius:50%;padding:4px;border:1px solid rgba(255,255,255,.25)}.avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.sidebar-menu{display:grid;gap:var(--space-2)}.menu-item{display:flex;align-items:center;gap:12px;padding:11px 14px;min-height:42px;border-radius:14px;color:var(--text);transition:background .2s,transform .2s}.menu-item:hover{transform:translateY(-1px)}.menu-item-icon{font-size:18px}.menu-item-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.main-content{margin-left:var(--layout-sidebar-width);padding:var(--layout-main-pad-y) var(--layout-main-pad-x) 52px;width:calc(100% - var(--layout-sidebar-width));min-width:0}.auth-main-content{width:100%;min-width:0}.navbar{position:sticky;position:-webkit-sticky;top:var(--navbar-offset-top);z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:var(--navbar-height);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-5);transition:transform .24s cubic-bezier(.22, 1, .36, 1),box-shadow .24s}.sidebar~.main-content{padding-top:calc(var(--layout-main-pad-y) + var(--navbar-height) + var(--space-3))}.sidebar~.main-content>.navbar{position:fixed;top:var(--navbar-offset-top);left:calc(var(--layout-sidebar-width) + var(--layout-main-pad-x));right:var(--layout-main-pad-x);margin-bottom:0;z-index:24}.navbar-brand{font-size:18px;font-weight:700;color:var(--text);max-width:min(62vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-user{display:flex;align-items:center;gap:12px}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(2,6,23,.45);z-index:15}.card,.download-item-card,.info-card,.panel,.user-action-card,.user-card,.welcome-card{padding:var(--space-5);border-radius:var(--radius-lg);transition:transform .24s cubic-bezier(.22, 1, .36, 1),box-shadow .24s,border-color .24s,background-color .24s;will-change:transform}@media (hover:hover) and (pointer:fine){.card:hover,.download-item-card:hover,.info-card:hover,.panel:hover,.user-action-card:hover,.user-card:hover,.welcome-card:hover{transform:translateY(-3px)}}@media (hover:none) and (pointer:coarse){.card:active,.download-item-card:active,.info-card:active,.panel:active,.user-action-card:active,.user-card:active,.welcome-card:active{transform:translateY(-1px) scale(.995)}}.card-header h1,.info-card h2,.welcome-card h1{margin:0 0 8px;font-size:22px}.dashboard-cards,.dashboard-container,.download-items{display:grid;gap:var(--space-4)}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.download-items{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--space-1);font-size:13px;color:var(--muted);font-weight:600;line-height:1.4}.form-control{width:100%;height:46px;padding:0 var(--space-3);border-radius:var(--radius-md)}.turnstile-zone{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:86px;padding:12px;border-radius:16px;border:1px solid var(--glass-edge);background:radial-gradient(circle at 12% 16%,rgba(10,132,255,.2),transparent 54%),linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.16))}.turnstile-zone>[id^=turnstile-]{width:100%;min-height:65px;display:flex;align-items:center;justify-content:center}.turnstile-zone iframe{max-width:100%;border-radius:12px}.turnstile-tip{margin:2px 0 0}html[data-theme=dark] .turnstile-zone{background:radial-gradient(circle at 12% 16%,rgba(90,200,250,.22),transparent 58%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}.inline-input-group{display:flex;align-items:center;gap:var(--space-2)}.action-btn,.activate-btn,.btn,.btn-change-password,.btn-change-password-modal,.btn-generate,.btn-logout,.btn-modal,.btn-primary,.download-btn,.no-access-message,.search-btn{border-radius:16px;border:none;padding:10px 16px;min-height:40px;line-height:1.25;font-size:14px;font-weight:600;cursor:pointer}.btn-ghost{background:rgba(142,142,147,.2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-mini{padding:6px 10px;font-size:12px;min-height:30px;border-radius:12px}.page-controls{display:inline-flex;align-items:center;gap:var(--space-2)}.page-size-label{display:inline-flex;align-items:center;gap:var(--space-1);font-size:12px;color:var(--muted)}.menu-toggle{overflow:hidden;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:var(--glass-bg);cursor:pointer}.menu-toggle .menu-logo{width:26px;height:26px;border-radius:10px;object-fit:cover;display:block}.modal{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;padding:var(--space-5);background:rgba(8,12,20,.38);z-index:2000;opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);transition:opacity .28s cubic-bezier(.22, 1, .36, 1),visibility .28s}.modal-content{width:min(520px,92vw);padding:var(--space-5);position:relative;opacity:0;transform:translateY(16px) scale(.98);transition:transform .28s cubic-bezier(.22, 1, .36, 1),opacity .28s;max-height:calc(100vh - 80px);overflow-y:auto;will-change:transform,opacity}.modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.modal.is-open .modal-content{opacity:1;transform:translateY(0) scale(1);animation:.5s cubic-bezier(.22,1.2,.36,1) both modalSpringIn}.modal.is-closing{opacity:0;visibility:hidden}.modal.is-closing .modal-content{opacity:0;transform:translateY(10px) scale(.98);animation:.42s cubic-bezier(.22,1,.36,1) both modalSpringOut}@keyframes modalSpringIn{0%{transform:translateY(18px) scale(.96);opacity:0}60%{transform:translateY(-2px) scale(1.02);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}@keyframes modalSpringOut{0%{transform:translateY(0) scale(1);opacity:1}60%{transform:translateY(6px) scale(.99);opacity:.8}100%{transform:translateY(14px) scale(.96);opacity:0}}.modal .close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.35);color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.modal .close:hover{background:rgba(255,255,255,.55);transform:scale(1.06);box-shadow:0 8px 20px rgba(0,0,0,.15)}.modal-body,.modal-footer,.modal-header{text-align:center}.modal-header{margin-bottom:var(--space-3)}.modal-body{margin-bottom:var(--space-4)}.modal-body>*,.modal-footer>*,.modal-header>*{margin:0}.modal-body>*+*{margin-top:var(--space-2)}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.text-muted{color:var(--muted)}.text-danger{color:#ff453a}.text-success{color:#34c759}.text-center{text-align:center}.text-small{font-size:13px;line-height:1.4}.auth-main-content,.main-content{opacity:0;transition:opacity .25s}body.page-ready .auth-main-content,body.page-ready .main-content{opacity:1}body.page-leaving .auth-main-content,body.page-leaving .main-content{opacity:0}.route-loader{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;background:rgba(8,15,34,.26);backdrop-filter:blur(4px) saturate(1.15);-webkit-backdrop-filter:blur(4px) saturate(1.15);transition:opacity .2s,visibility .2s}.route-loader-card{min-width:170px;border-radius:16px;padding:14px 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--text);background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 30px rgba(15,23,42,.16)}html[data-theme=dark] .route-loader-card{background:rgba(29,35,54,.92);border-color:rgba(255,255,255,.12);box-shadow:0 12px 34px rgba(2,6,23,.5)}.route-loader-text{font-size:13px;letter-spacing:.2px;color:var(--text)}.route-loader-spinner{width:17px;height:17px;border-radius:50%;border:2px solid rgba(10,132,255,.26);border-top-color:rgba(10,132,255,.95);animation:.75s linear infinite routeSpin}@keyframes routeSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}body.route-transition-active .route-loader{opacity:1;visibility:visible;pointer-events:auto}.route-skeleton{display:grid;gap:12px;animation:.18s routeSkeletonFade}.route-skeleton-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.route-skeleton-block{position:relative;border-radius:12px;overflow:hidden;background:rgba(15,23,42,.08)}.route-skeleton-block::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));animation:1.2s linear infinite routeSkeletonShimmer}.route-skeleton-title{height:34px;width:min(340px,76%)}.route-skeleton-line{height:16px;width:100%}.route-skeleton-line-short{width:min(460px,58%)}.route-skeleton-card{height:118px}html[data-theme=dark] .route-skeleton-block{background:rgba(255,255,255,.12)}@keyframes routeSkeletonShimmer{100%{transform:translateX(100%)}}@keyframes routeSkeletonFade{from{opacity:0}to{opacity:1}}@supports (view-transition-name:root){@view-transition{navigation:auto}::view-transition-group(root){animation-duration:220ms;animation-timing-function:cubic-bezier(0.22,1,0.36,1)}::view-transition-old(root){animation:220ms cubic-bezier(.22,1,.36,1) both uc-fade-out}::view-transition-new(root){animation:220ms cubic-bezier(.22,1,.36,1) both uc-fade-in}@keyframes uc-fade-out{from{opacity:1;transform:translateY(0)}to{opacity:.82;transform:translateY(-5px)}}@keyframes uc-fade-in{from{opacity:.84;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}.text-body{font-size:16px;line-height:1.8;color:var(--muted)}.text-strong{font-weight:700}.mt-10{margin-top:10px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.my-20{margin:20px 0}.ml-8{margin-left:8px}.row{display:flex;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between}.row-center{display:flex;align-items:center;justify-content:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.flex-col{display:flex;flex-direction:column}.gap-10{gap:10px}.gap-20{gap:20px}.flex-1{flex:1}.grid-1{display:grid;grid-template-columns:1fr;gap:10px}.p-20{padding:20px}.is-hidden{display:none!important}.checkbox{width:16px;height:16px;margin-top:3px;accent-color:var(--accent)}.scrollable-container{max-height:100vh;overflow-y:auto}.link-accent{color:#12b7f5;text-decoration:none;cursor:pointer}.pill{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(10,132,255,.15);color:var(--accent)}.membership-status{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:600}.status-blue{color:#0a84ff;background:rgba(10,132,255,.14)}.status-none{color:#98a2b3;background:rgba(152,162,179,.18)}.status-active{color:#10b981;background:rgba(16,185,129,.16)}.status-pro{color:#06b6d4;background:rgba(6,182,212,.16)}.expired,.status-expired{color:#ef4444;background:rgba(239,68,68,.15)}.status-success{color:#16a34a;background:rgba(22,163,74,.14);padding:4px 10px;border-radius:999px}.status-danger{color:#dc2626;background:rgba(220,38,38,.14);padding:4px 10px;border-radius:999px}.text-warning{color:#d97706}.admin-item-meta,.download-info,.order-meta{min-width:0}.admin-item-meta strong,.detail-value,.download-title,.order-meta strong{word-break:break-word}@media (max-width:1024px){.sidebar{transform:translateX(-120%);transition:transform .25s;z-index:30}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block;opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-overlay.open{opacity:1;pointer-events:auto}.main-content{margin-left:0;width:100%;padding:var(--space-4)}.sidebar~.main-content{padding-top:calc(var(--space-4) + var(--navbar-height) + var(--space-3))}.sidebar~.main-content>.navbar{top:var(--space-4);left:var(--space-4);right:var(--space-4)}.navbar-brand{max-width:72vw}.menu-toggle{overflow:hidden;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:var(--glass-bg);cursor:pointer}}@media (max-width:760px){.page,.page-grid,.page-main,.page-side{gap:var(--space-3)}.page-grid{grid-template-columns:1fr}.panel-header{flex-wrap:wrap;align-items:flex-start;margin-bottom:var(--space-2)}}@media (max-width:640px){html{font-size:14px}.main-content{padding:14px}.sidebar~.main-content{padding-top:calc(14px + var(--navbar-height) + var(--space-2))}.sidebar~.main-content>.navbar{top:10px;left:14px;right:14px}.navbar{padding:7px 12px}.navbar-brand{max-width:68vw;font-size:16px}.page-header{padding:18px}.page-title{font-size:22px}.card,.download-item-card,.info-card,.panel,.user-action-card,.user-card,.welcome-card{padding:16px}body.auth-page{padding:14px}body.auth-page .navbar{width:100%}}@media (max-width:520px){.turnstile-zone{min-height:82px;padding:8px;border-radius:14px}}@media (max-width:480px){html{font-size:13px}.auth-title{font-size:24px}}.auth-page .menu-toggle{overflow:hidden;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:var(--glass-bg);cursor:default}