/* Shared glassmorphism theme for user-facing pages. */
:root {
  --glass-canvas: #eef3fb;
  --glass-surface: rgba(255, 255, 255, .68);
  --glass-bar: rgba(255, 255, 255, .72);
  --glass-strong: rgba(255, 255, 255, .82);
  --glass-border: rgba(255, 255, 255, .82);
  --glass-input: rgba(255, 255, 255, .58);
  --glass-muted: #5f6b7a;
  --glass-shadow: 0 18px 50px rgba(74, 92, 130, .14);
  --glass-shadow-strong: 0 24px 65px rgba(74, 92, 130, .18);
}

body.user-glass {
  position: relative;
  isolation: isolate;
  overflow-x: hidden;
  background: var(--glass-canvas);
  color: #172033;
}

body.user-glass::before,
body.user-glass::after {
  content: "";
  position: fixed;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
  opacity: .72;
}

body.user-glass::before {
  width: 420px;
  height: 420px;
  top: -130px;
  left: -120px;
  background: rgba(147, 197, 253, .52);
  box-shadow: 700px 180px 0 38px rgba(196, 181, 253, .25);
}

body.user-glass::after {
  width: 350px;
  height: 350px;
  right: -120px;
  bottom: -70px;
  background: rgba(125, 211, 252, .33);
  box-shadow: -600px -420px 0 30px rgba(165, 180, 252, .23);
}

.user-glass button,
.user-glass .btn,
.user-glass .nav-item,
.user-glass .pf-menu-item,
.user-glass .card {
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.user-glass button:active,
.user-glass .btn:active,
.user-glass .nav-item:active,
.user-glass .pf-menu-item:active,
.user-glass .card:active {
  transform: translateY(1px);
  box-shadow: 0 4px 10px rgba(37, 99, 235, .14);
}

.user-console .topbar,
.user-plugins header {
  background: rgba(255, 255, 255, .62);
  border-color: var(--glass-border);
  box-shadow: 0 8px 28px rgba(74, 92, 130, .08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.user-console .device-card,
.user-console .profile-card,
.user-console .panel-card,
.user-console .stat-card,
.user-console .section-card,
.user-console .acc-group,
.user-console .out-card,
.user-plugins .upload,
.user-plugins .card {
  background: var(--glass-surface);
  border-color: var(--glass-border);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.user-console .device-card:hover,
.user-plugins .card:hover {
  background: var(--glass-strong);
  box-shadow: 0 22px 55px rgba(74, 92, 130, .18);
  transform: translateY(-2px);
}

.user-console .bottom-nav {
  background: var(--glass-bar);
  border-top-color: var(--glass-border);
  box-shadow: 0 -8px 28px rgba(74, 92, 130, .1);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.user-console .modal,
.user-console .detail-panel,
.user-plugins .panel-modal {
  background: rgba(61, 78, 112, .34);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.user-console .modal-content,
.user-console .detail-content,
.user-console .detail-head,
.user-console .modal-box,
.user-plugins .panel-dialog,
.user-login .login-card,
.user-renew .panel {
  background: var(--glass-strong);
  border-color: var(--glass-border);
  box-shadow: var(--glass-shadow-strong);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.user-console .modal-box { overflow: hidden; }
.user-console input,
.user-console textarea,
.user-console select,
.user-login .input-box,
.user-renew input,
.user-plugins input[type="file"] {
  background: var(--glass-input);
  border-color: rgba(148, 163, 184, .38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.user-login .login-header p,
.user-login .switch-tip,
.user-renew .head p,
.user-renew .footer,
.user-plugins .meta { color: var(--glass-muted); }
.user-login .input-box i { color: #6b7788; }
.user-login .login-icon { background: rgba(23, 32, 51, .86); box-shadow: 0 10px 24px rgba(23, 32, 51, .18); }
.user-login .btn-primary,
.user-renew button { box-shadow: 0 10px 22px rgba(37, 99, 235, .2); }
.user-plugins .tag { background: rgba(239, 246, 255, .78); }
.user-plugins input[type="file"] { border-radius: 7px; padding: 7px; }

/* Profile */
.user-console .profile-page{max-width:680px;margin:0 auto;padding:28px 20px 44px}
.user-console .pf-overview{overflow:hidden;margin-bottom:26px;background:#fff;border:1px solid #e5e9f0;border-radius:8px;box-shadow:0 4px 16px rgba(23,32,51,.05)}
.user-console .pf-person{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px}
.user-console .pf-avatar{width:64px;height:64px;margin:0;border-radius:50%;background:#172033}
.user-console .pf-identity{min-width:0}
.user-console .pf-name{margin:0;color:#172033;font-size:19px;line-height:1.35}
.user-console .pf-uid{margin:2px 0 7px;color:#8a94a6;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all}
.user-console .pf-plan{margin:0;color:#4f5d70;font-size:12px}.user-console .pf-plan i{margin-right:5px;color:#16a34a}
.user-console .pf-qq-bound,.user-console .pf-qq-bind{min-height:32px;padding:0 10px;border:1px solid #dfe4eb;border-radius:6px;background:#fff;color:#5f6b7a;font:600 11px inherit;white-space:nowrap;cursor:pointer}
.user-console .pf-qq-bound:hover,.user-console .pf-qq-bind:hover{border-color:#b8c2d0;background:#f8fafc;color:#172033}
.user-console .pf-qq-num{color:inherit;font-size:11px}.user-console .pf-qq-num i{color:#12a8df}
.user-console .pf-qq-area{margin:0}.user-console .pf-qq-edit{padding:0 24px 18px}.user-console .pf-qq-input-row{display:flex;justify-content:flex-end;gap:8px}.user-console .pf-qq-input-row .input{width:180px;flex:none}.user-console .pf-cancel-btn,.user-console .pf-unbind-btn{padding:0 8px;border:0;background:transparent;font:12px inherit;cursor:pointer}.user-console .pf-cancel-btn{color:#64748b}.user-console .pf-unbind-btn{color:#dc2626}
.user-console .pf-account-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #edf0f4;background:#fafbfc}
.user-console .pf-account-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label action" "value action";align-items:center;column-gap:14px;padding:16px 20px}.user-console .pf-account-item+ .pf-account-item{border-left:1px solid #edf0f4}
.user-console .pf-account-item span{grid-area:label;color:#8490a3;font-size:11px}.user-console .pf-account-item strong{grid-area:value;overflow:hidden;color:#172033;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.user-console .pf-account-item button{grid-area:action;padding:6px 10px;border:1px solid #dbe3ee;border-radius:6px;background:#fff;color:#2563eb;font:600 12px inherit;cursor:pointer}
.user-console .pf-section-title{margin:0 2px 9px;color:#7b8798;font-size:12px;font-weight:600}
.user-console .pf-menu{overflow:hidden;margin:0 0 20px;border:1px solid #e5e9f0;border-radius:8px;background:#fff;box-shadow:0 4px 16px rgba(23,32,51,.04)}
.user-console .pf-menu-item{width:100%;min-height:66px;padding:12px 16px;border:0;border-bottom:1px solid #edf0f4;border-radius:0!important;background:#fff;cursor:pointer;text-align:left}.user-console .pf-menu-item:last-child{border-bottom:0}.user-console .pf-menu-item:hover{background:#fafbfc}
.user-console .pf-menu-icon{width:36px;height:36px;border-radius:7px}.user-console .pf-icon-store{background:#ecfdf3}.user-console .pf-icon-store i{color:#15803d}.user-console .pf-icon-build{background:#eff6ff}.user-console .pf-icon-build i{color:#2563eb}.user-console .pf-icon-docs{background:#fff7ed}.user-console .pf-icon-docs i{color:#c2410c}
.user-console .pf-menu-copy{display:flex;min-width:0;flex:1;flex-direction:column}.user-console .pf-menu-copy strong{color:#172033;font-size:14px;font-weight:600}.user-console .pf-menu-copy small{margin-top:2px;overflow:hidden;color:#8a94a6;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.user-console .pf-logout{display:flex;width:100%;height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid #f0d7d7;border-radius:8px;background:#fff;color:#c24141;font:500 13px inherit;cursor:pointer}.user-console .pf-logout:hover{background:#fff8f8}
@media (max-width:700px){
  .user-console .device-list{overflow-x:hidden}
  .user-console .profile-page{padding:16px 14px 34px}
  .user-console .pf-person{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:20px 16px 16px}.user-console .pf-avatar{width:54px;height:54px}.user-console .pf-name{font-size:17px}.user-console .pf-plan{font-size:11px}
  .user-console .pf-qq-bound,.user-console .pf-qq-bind{grid-column:2;justify-self:start;margin-top:-2px}
  .user-console .pf-qq-edit{padding:0 16px 16px}.user-console .pf-qq-input-row{justify-content:stretch}.user-console .pf-qq-input-row .input{min-width:0;flex:1;width:auto}
  .user-console .pf-account-item{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "value" "action";padding:14px}.user-console .pf-account-item button{width:100%;margin-top:10px}.user-console .pf-account-item strong{font-size:13px}
  .user-console .modal-box{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto}
  .user-login .login-card{max-width:100%;overflow:hidden}.user-renew .panel{max-width:100%;padding:24px 20px;overflow:hidden}.user-plugins .panel-dialog{max-width:100vw;max-height:100vh}
}

@media (prefers-reduced-motion: reduce) {
  .user-glass *, .user-glass *::before, .user-glass *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Unified glass workspace. These final rules intentionally win over legacy inline styles. */
:root {
  --ops-bg: #edf3f8;
  --ops-surface: rgba(255, 255, 255, .66);
  --ops-surface-strong: rgba(255, 255, 255, .86);
  --ops-border: rgba(255, 255, 255, .82);
  --ops-line: rgba(118, 139, 166, .20);
  --ops-text: #162033;
  --ops-muted: #64748b;
  --ops-primary: #1677e8;
  --ops-primary-dark: #0f5fbe;
  --ops-success: #15945b;
  --ops-radius: 16px;
  --ops-radius-sm: 11px;
  --ops-blur: blur(20px) saturate(145%);
  --ops-shadow: 0 16px 42px rgba(45, 67, 96, .11), inset 0 1px 0 rgba(255, 255, 255, .76);
  --ops-shadow-hover: 0 22px 54px rgba(35, 75, 125, .16), inset 0 1px 0 rgba(255, 255, 255, .9);
}
body.user-glass {
  background:radial-gradient(circle at 8% 5%,rgba(92,181,255,.25),transparent 32%),radial-gradient(circle at 92% 17%,rgba(255,184,109,.18),transparent 27%),radial-gradient(circle at 72% 92%,rgba(87,211,175,.16),transparent 30%),var(--ops-bg)!important;
  background-attachment:fixed!important;color:var(--ops-text)
}
body.user-glass::before,body.user-glass::after{display:block!important;opacity:.34;filter:blur(12px)}
.user-console .topbar,.user-plugins header{background:rgba(255,255,255,.62)!important;border-color:var(--ops-border)!important;box-shadow:0 8px 30px rgba(45,67,96,.08)!important;backdrop-filter:var(--ops-blur)!important;-webkit-backdrop-filter:var(--ops-blur)!important}
.user-console .topbar-title{color:var(--ops-text);font-size:16px}.user-console .topbar-btn{color:#526175;border-radius:10px}.user-console .topbar-btn:hover{background:rgba(255,255,255,.72);color:var(--ops-primary);box-shadow:0 6px 18px rgba(45,67,96,.10)}
.user-console .device-list{width:min(100%,1120px);margin:0 auto;padding:26px 20px}
.user-console .device-card,.user-console .profile-card,.user-console .panel-card,.user-console .stat-card,.user-console .section-card,.user-console .acc-group,.user-console .out-card,.user-console .pf-overview,.user-console .pf-menu,.user-plugins .upload,.user-plugins .card,.user-plugins .plugin-card,.user-plugins .developer-card,.user-plugins .summary-facts,.user-plugins .empty-state{background:var(--ops-surface)!important;border:1px solid var(--ops-border)!important;border-radius:var(--ops-radius)!important;box-shadow:var(--ops-shadow)!important;backdrop-filter:var(--ops-blur)!important;-webkit-backdrop-filter:var(--ops-blur)!important}
.user-console .device-card{position:relative;min-height:88px;padding:17px 18px!important;overflow:hidden}.user-console .device-card::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#a7b2c2;box-shadow:0 0 14px rgba(100,116,139,.25)}.user-console .device-card.online::after{background:var(--ops-success);box-shadow:0 0 16px rgba(21,148,91,.48)}
.user-console .device-card.online,.user-console .device-card.offline{border-top:1px solid var(--ops-border)!important;border-left:1px solid var(--ops-border)!important}.user-console .device-card:hover,.user-plugins .plugin-card:hover,.user-plugins .developer-card:hover{background:var(--ops-surface-strong)!important;border-color:rgba(255,255,255,.96)!important;box-shadow:var(--ops-shadow-hover)!important;transform:translateY(-2px)!important}.user-console .card-avatar{border-radius:13px;background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(118,139,166,.14)}.user-console .status-online{color:#087346;background:rgba(222,250,237,.82)}.user-console .status-offline{color:#596579;background:rgba(238,242,247,.82)}.user-console .status-online,.user-console .status-offline{border:1px solid rgba(255,255,255,.76);border-radius:999px;padding:3px 8px}.user-console .card-id{color:var(--ops-muted)}
.user-console .bottom-nav{background:rgba(255,255,255,.68)!important;border-color:var(--ops-border)!important;box-shadow:0 -10px 34px rgba(45,67,96,.10)!important;backdrop-filter:var(--ops-blur)!important;-webkit-backdrop-filter:var(--ops-blur)!important}.user-console .nav-item{min-width:72px;color:#718096}.user-console .nav-item.active{color:var(--ops-primary)}
.user-console .detail-panel,.user-console .modal,.user-plugins .panel-modal{background:rgba(27,39,58,.28)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.user-console .detail-head{background:rgba(255,255,255,.70)!important;border-color:var(--ops-border)!important;box-shadow:0 8px 30px rgba(45,67,96,.10)!important;backdrop-filter:var(--ops-blur)!important;-webkit-backdrop-filter:var(--ops-blur)!important}.user-console .detail-body{padding-top:22px}.user-console .modal-content,.user-console .detail-content,.user-console .modal-box,.user-plugins .panel-dialog,.user-login .login-card,.user-renew .panel{background:var(--ops-surface-strong)!important;border:1px solid var(--ops-border)!important;border-radius:18px!important;box-shadow:0 28px 80px rgba(26,43,68,.24),inset 0 1px 0 rgba(255,255,255,.86)!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important}.user-console .back-btn,.user-console .modal-close{border-radius:10px!important;background:rgba(255,255,255,.62)!important;border:1px solid var(--ops-line)!important}
.user-console input,.user-console textarea,.user-console select,.user-login .input-box,.user-renew input,.user-plugins input{background:rgba(255,255,255,.62)!important;border-color:var(--ops-line)!important;border-radius:10px!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.user-console input:focus,.user-console textarea:focus,.user-console select:focus,.user-plugins input:focus{border-color:rgba(22,119,232,.62)!important;box-shadow:0 0 0 4px rgba(22,119,232,.11)!important}.user-console .btn-dark,.user-plugins .action-btn:not(.secondary){background:linear-gradient(135deg,var(--ops-primary),var(--ops-primary-dark))!important;border-color:transparent!important;box-shadow:0 9px 22px rgba(22,119,232,.22)}.user-console .btn,.user-plugins .action-btn{border-radius:10px!important}
@media (min-width:900px){.user-console .device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.user-console .device-card{margin-bottom:0}}
@media (max-width:700px){.user-console .device-list{padding:14px}.user-console .device-card{min-height:80px}.user-console .bottom-nav{height:calc(62px + env(safe-area-inset-bottom))}.user-console .modal-box{border-radius:16px!important}}
.user-plugins .store-header{position:sticky;top:0;z-index:30}.user-plugins .store-main{padding-top:34px}.user-plugins .back-link{border:1px solid transparent;border-radius:10px}.user-plugins .back-link:hover{background:rgba(255,255,255,.66);border-color:var(--ops-border);box-shadow:0 6px 18px rgba(45,67,96,.09)}.user-plugins .store-summary h1{font-size:26px}.user-plugins .summary-facts{overflow:hidden}.user-plugins .summary-fact+.summary-fact{border-left-color:var(--ops-line)}.user-plugins .plugin-grid,.user-plugins .developer-grid{gap:16px}.user-plugins .plugin-card{min-height:260px;padding:20px}.user-plugins .plugin-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(217,235,252,.68));color:var(--ops-primary-dark);box-shadow:0 8px 22px rgba(54,95,139,.13),inset 0 1px 0 #fff}.user-plugins .install-state,.user-plugins .review-state,.user-plugins .permission{border-radius:999px;border:1px solid rgba(255,255,255,.72)}.user-plugins .permission{background:rgba(240,246,252,.72)}.user-plugins .plugin-footer{border-top-color:var(--ops-line)}.user-plugins .action-btn.secondary{background:rgba(255,255,255,.58)!important;border-color:var(--ops-line)!important;color:#475569}.user-plugins .notice{border-radius:12px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(45,67,96,.08)}.user-plugins .developer-section{border-top-color:rgba(118,139,166,.18)}.user-plugins .panel-head{border-bottom-color:var(--ops-line)}
.user-console #magiskBtn,.user-console #injectBtn{background:linear-gradient(135deg,var(--ops-primary),var(--ops-primary-dark))!important;border-radius:11px!important;box-shadow:0 9px 22px rgba(22,119,232,.22)!important}.user-console #magiskPreviewBtn,.user-console #injectPreviewBtn{background:rgba(255,255,255,.62)!important;border-color:var(--ops-line)!important;color:#526175!important;border-radius:11px!important}.user-console #magiskResult,.user-console #injectResult{background:rgba(241,246,251,.74)!important;border:1px solid var(--ops-line);border-radius:10px!important}
@supports not ((backdrop-filter:blur(1px))){.user-console .topbar,.user-console .device-card,.user-console .profile-card,.user-console .panel-card,.user-console .stat-card,.user-console .bottom-nav,.user-console .modal-content,.user-console .detail-content,.user-console .detail-head,.user-console .section-card,.user-console .acc-group,.user-console .out-card,.user-console .modal-box,.user-login .login-card,.user-login .input-box,.user-renew .panel,.user-renew input,.user-plugins header,.user-plugins .upload,.user-plugins .card,.user-plugins .plugin-card,.user-plugins .developer-card,.user-plugins .panel-dialog{background:#f8fbff!important}}