@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";.link-modal-overlay[data-v-acce7c00]{position:fixed;inset:0;z-index:9999;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.link-modal-box[data-v-acce7c00]{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-lg, 12px);width:100%;max-width:560px;box-shadow:0 20px 60px #00000040;animation:link-modal-pop-acce7c00 .25s cubic-bezier(.34,1.56,.64,1)}@keyframes link-modal-pop-acce7c00{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.link-modal-header[data-v-acce7c00]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--color-border-light, #e5e7eb)}.link-modal-title[data-v-acce7c00]{font-size:15px;font-weight:700;color:var(--color-text-primary, #111)}.link-modal-close[data-v-acce7c00]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-text-muted, #999);line-height:1;padding:0 4px;transition:color .15s}.link-modal-close[data-v-acce7c00]:hover{color:var(--color-text-primary, #111)}.link-modal-body[data-v-acce7c00]{padding:16px 20px;display:flex;flex-direction:column;gap:14px;max-height:60vh;overflow-y:auto}.link-item[data-v-acce7c00]{display:flex;flex-direction:column;gap:6px}.link-label[data-v-acce7c00]{font-size:12px;font-weight:600;color:var(--color-text-secondary, #555);letter-spacing:.02em}.link-url-row[data-v-acce7c00]{display:flex;gap:8px;align-items:center}.link-url-input[data-v-acce7c00]{flex:1;min-width:0;background:var(--color-sidebar, #f5f5f5);border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-sm, 6px);padding:8px 10px;font-size:12px;line-height:1.5;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;color:var(--color-text-primary, #111);outline:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.link-url-input[data-v-acce7c00]:focus{border-color:var(--color-accent, #3b82f6);white-space:normal;word-break:break-all}.link-action-btn[data-v-acce7c00]{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:7px 14px;border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-sm, 6px);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0;height:34px}.link-copy-btn[data-v-acce7c00]{background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #111)}.link-copy-btn[data-v-acce7c00]:hover,.link-download-btn[data-v-acce7c00]{background:var(--color-accent, #3b82f6);color:#fff;border-color:var(--color-accent, #3b82f6)}.link-download-btn[data-v-acce7c00]:hover{opacity:.85}.link-modal-enter-active[data-v-acce7c00],.link-modal-leave-active[data-v-acce7c00]{transition:opacity .2s}.link-modal-enter-from[data-v-acce7c00],.link-modal-leave-to[data-v-acce7c00]{opacity:0}.notify-overlay[data-v-70d30264]{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#00000040;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.notify-card[data-v-70d30264]{position:relative;min-width:280px;max-width:380px;padding:28px 24px 20px;border-radius:20px;text-align:center;background:#ffffffb8;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border:1px solid rgba(255,255,255,.5);box-shadow:0 16px 48px #0000001f,0 2px 8px #0000000f,inset 0 1px #fff9;animation:notify-pop-70d30264 .35s cubic-bezier(.34,1.56,.64,1) both}.notify-card[data-v-70d30264]:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}.notify-icon-wrap[data-v-70d30264]{margin-bottom:12px}.notify-icon[data-v-70d30264]{width:48px;height:48px}.notify-success .notify-icon[data-v-70d30264]{color:#059669}.notify-error .notify-icon[data-v-70d30264]{color:#dc2626}.notify-warning .notify-icon[data-v-70d30264]{color:#d97706}.notify-info .notify-icon[data-v-70d30264]{color:#4f46e5}.notify-captcha .notify-icon[data-v-70d30264]{color:#0ea5e9}.notify-message[data-v-70d30264]{font-size:15px;font-weight:500;color:#1a1d26;line-height:1.5;margin-bottom:20px;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei UI,sans-serif}.captcha-container[data-v-70d30264]{margin-bottom:16px;min-height:32px;display:flex;align-items:center;justify-content:center}.captcha-hint[data-v-70d30264]{font-size:13px;color:#6b7280}.captcha-loading[data-v-70d30264]{display:flex;align-items:center;justify-content:center}.captcha-spinner[data-v-70d30264]{width:24px;height:24px;border:3px solid rgba(14,165,233,.2);border-top-color:#0ea5e9;border-radius:50%;animation:spin-70d30264 .8s linear infinite}.captcha-done[data-v-70d30264]{font-size:24px;animation:notify-pop-70d30264 .3s ease both}.captcha-failed[data-v-70d30264]{display:flex;flex-direction:column;align-items:center;gap:6px;animation:notify-pop-70d30264 .3s ease both}.captcha-fail-icon[data-v-70d30264]{font-size:24px}.captcha-fail-text[data-v-70d30264]{font-size:13px;color:#dc2626;font-weight:500}.notify-btn-group[data-v-70d30264]{display:flex;gap:10px;justify-content:center}.notify-btn[data-v-70d30264]{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:10px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei UI,sans-serif}.notify-btn[data-v-70d30264]:disabled{opacity:.6;cursor:not-allowed}.notify-btn-cancel[data-v-70d30264]{background:#6b72801a;color:#6b7280;min-width:80px}.notify-btn-cancel[data-v-70d30264]:hover{background:#6b728033}.notify-btn-captcha[data-v-70d30264]{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff;box-shadow:0 4px 12px #0ea5e94d}.notify-btn-captcha[data-v-70d30264]:hover:not(:disabled){box-shadow:0 6px 20px #0ea5e966;transform:translateY(-1px)}.notify-btn-success[data-v-70d30264]{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 4px 12px #0596694d}.notify-btn-success[data-v-70d30264]:hover{box-shadow:0 6px 20px #05966966;transform:translateY(-1px)}.notify-btn-error[data-v-70d30264]{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 4px 12px #dc26264d}.notify-btn-error[data-v-70d30264]:hover{box-shadow:0 6px 20px #dc262666;transform:translateY(-1px)}.notify-btn-warning[data-v-70d30264]{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;box-shadow:0 4px 12px #d977064d}.notify-btn-warning[data-v-70d30264]:hover{box-shadow:0 6px 20px #d9770666;transform:translateY(-1px)}.notify-btn-info[data-v-70d30264]{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 4px 12px #4f46e54d}.notify-btn-info[data-v-70d30264]:hover{box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}@keyframes notify-pop-70d30264{0%{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin-70d30264{to{transform:rotate(360deg)}}.notify-fade-enter-active[data-v-70d30264]{transition:opacity .2s ease}.notify-fade-leave-active[data-v-70d30264]{transition:opacity .15s ease}.notify-fade-enter-from[data-v-70d30264],.notify-fade-leave-to[data-v-70d30264]{opacity:0}@media(max-width:768px){.notify-card[data-v-70d30264]{min-width:240px;max-width:90vw;padding:24px 20px 16px}.notify-icon[data-v-70d30264]{width:40px;height:40px}.notify-message[data-v-70d30264]{font-size:14px}.notify-btn[data-v-70d30264]{min-width:100px;padding:8px 20px;font-size:13px}.notify-btn-group[data-v-70d30264]{gap:8px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.captcha-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#00000040;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.captcha-card{position:relative;min-width:280px;max-width:380px;padding:28px 24px 20px;border-radius:20px;text-align:center;background:#ffffffb8;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border:1px solid rgba(255,255,255,.5);box-shadow:0 16px 48px #0000001f,0 2px 8px #0000000f,inset 0 1px #fff9;animation:notify-pop .35s cubic-bezier(.34,1.56,.64,1) both}.captcha-card:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}@keyframes notify-pop{0%{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.captcha-icon-wrap{margin-bottom:12px}.captcha-bot-svg{width:48px;height:48px;color:#4f46e5;animation:robotBounce 2s ease-in-out infinite}.captcha-ok-svg{width:48px;height:48px;color:#059669;animation:successPop .4s ease both}@keyframes robotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes successPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.captcha-msg{font-size:15px;font-weight:500;color:#1a1d26;line-height:1.5;margin-bottom:6px;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei UI,sans-serif}.captcha-sub{font-size:13px;color:#6b7280;line-height:1.5;margin-bottom:20px;white-space:pre-line}.captcha-action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:200px;padding:10px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:none;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 4px 12px #4f46e54d;transition:all .2s ease;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei UI,sans-serif}.captcha-action-btn:hover{box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}.notify-fade-enter-active{transition:opacity .2s ease}.notify-fade-leave-active{transition:opacity .15s ease}.notify-fade-enter-from,.notify-fade-leave-to{opacity:0}@media(max-width:768px){.captcha-card{min-width:240px;max-width:90vw;padding:24px 20px 16px}.captcha-bot-svg,.captcha-ok-svg{width:40px;height:40px}.captcha-msg{font-size:14px}.captcha-action-btn{min-width:160px;padding:8px 20px;font-size:13px}}:root{--color-bg: #f8f9fc;--color-surface: #ffffff;--color-sidebar: #f1f3f8;--color-border: #e5e7f0;--color-border-light: #eef0f7;--color-text-primary: #1a1d26;--color-text-secondary: #5c6370;--color-text-muted: #9ca3af;--color-primary: #4f46e5;--color-primary-light: #eef2ff;--color-accent-orange: #ea580c;--color-accent-green: #059669;--color-accent-blue: #2563eb;--color-accent-red: #dc2626;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 4px 20px rgba(0,0,0,.08);--shadow-glow: 0 0 0 3px rgba(79,70,229,.12);--glass-bg: rgba(255, 255, 255, .22);--glass-border: rgba(255, 255, 255, .45);--glass-blur: blur(16px) saturate(180%);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .5);--glass-shadow-active: 0 4px 16px rgba(79, 70, 229, .12), inset 0 1px 0 rgba(255, 255, 255, .6);--font-display: "Plus Jakarta Sans", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei UI", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", "Consolas", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.brand-group-header,.device-item,.stat-card,.rom-entry-header,.rom-badge,.brand-tab,.header-btn,.qq-group-btn,.sidebar-stats,.welcome-card{user-select:none;-webkit-user-select:none}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;font-size:14px;overflow:hidden;padding-top:env(safe-area-inset-top,0px)}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-header{height:58px;min-height:58px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 20px;z-index:100;gap:14px;flex-shrink:0}.app-header .logo{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--color-text-primary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.app-header .logo-favicon{width:22px;height:22px;border-radius:5px;flex-shrink:0;object-fit:contain}.brand-tabs{display:flex;gap:3px;background:#f1f3f8b3;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:12px;padding:4px;border:1px solid var(--glass-border);box-shadow:inset 0 1px #ffffff80}.brand-tab{position:relative;display:flex;align-items:center;gap:6px;padding:6px 16px;border-radius:10px;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);border:1px solid transparent;background:transparent;white-space:nowrap;font-family:var(--font-body);overflow:hidden}.brand-tab:hover{color:var(--color-text-primary);background:var(--glass-bg);border-color:#ffffff4d}.brand-tab.active{background:#ffffffa6;backdrop-filter:blur(12px) saturate(200%);-webkit-backdrop-filter:blur(12px) saturate(200%);color:var(--color-text-primary);box-shadow:var(--glass-shadow-active);font-weight:600;border-color:var(--glass-border)}.brand-tab.active:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:glass-light-sweep 1.2s ease-out forwards;pointer-events:none}.brand-tab img{width:20px;height:20px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.header-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border:none;background:transparent;white-space:nowrap;transition:all .15s ease;font-family:var(--font-body);line-height:1}.header-btn:hover{background:var(--color-sidebar);color:var(--color-text-primary)}.header-btn svg{width:14px;height:14px;flex-shrink:0}.community-btn{background:linear-gradient(135deg,#1a3a6b,#2563eb)!important;color:#fff!important;border-radius:8px!important;padding:6px 16px!important;gap:8px!important;font-size:14px!important;font-weight:600!important;letter-spacing:.3px;box-shadow:0 2px 10px #1a3a6b59;transition:all .25s ease;white-space:nowrap}.community-btn:hover{background:linear-gradient(135deg,#142d54,#1a3a6b)!important;box-shadow:0 4px 18px #1a3a6b80;transform:translateY(-1px)}.community-btn svg{color:#fff!important;flex-shrink:0}.lang-dropdown{position:relative}.lang-dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);overflow:hidden;z-index:200;min-width:100px}.lang-dropdown-item{display:block;width:100%;padding:8px 14px;font-size:12px;font-weight:500;color:var(--color-text-secondary);border:none;background:transparent;cursor:pointer;text-align:left;transition:background .1s;font-family:var(--font-body)}.lang-dropdown-item:hover{background:var(--color-sidebar);color:var(--color-text-primary)}.master-detail{display:flex;flex:1;overflow:hidden}.sidebar{width:260px;min-width:260px;background:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:12px 12px 8px;flex-shrink:0}.sidebar-search{width:100%;height:34px;padding:0 10px 0 32px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:13px;color:var(--color-text-primary);outline:none;transition:all .15s ease;font-family:var(--font-body)}.sidebar-search:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.sidebar-search-wrap{position:relative}.sidebar-search-wrap svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--color-text-muted);pointer-events:none}.sidebar-stats{padding:6px 14px 8px;font-size:11px;color:var(--color-text-muted);flex-shrink:0}.sidebar-stats strong{color:var(--color-primary);font-weight:700}.device-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 6px 12px;scroll-behavior:smooth}.device-list::-webkit-scrollbar{width:4px}.device-list::-webkit-scrollbar-track{background:transparent}.device-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.device-item{position:relative;display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;overflow:hidden}.device-item:hover{background:#ffffff80;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border-color:#ffffff4d}.device-item.active{background:#ffffffb3;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}.device-item .device-name{font-size:13px;font-weight:600;color:var(--color-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-item.active .device-name{color:var(--color-primary)}.device-item .device-code{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.2px}.sidebar-load-more{padding:8px 10px;flex-shrink:0}.brand-group{margin-bottom:2px}.brand-group-fold{overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}.brand-group-fold.collapsed{max-height:0!important;opacity:0}.brand-group-fold.expanded{opacity:1}.brand-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-primary);transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.brand-group-header:hover{background:var(--glass-bg);backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border-color:#ffffff4d}.brand-group-header.expanded{background:#ffffff80;border-color:var(--glass-border);box-shadow:inset 0 1px #fff6}.brand-group-header .brand-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.brand-group-header .count{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:400;color:var(--color-text-muted)}.content-panel{flex:1;overflow:hidden;background:var(--color-bg);display:flex;flex-direction:column}.content-panel>.empty-state{overflow-y:auto;flex:1}.view-transition-enter-active{animation:view-slide-in .4s cubic-bezier(.4,0,.2,1) both}.view-transition-leave-active{animation:view-slide-out .25s ease both}@keyframes view-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes view-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-12px)}}.device-switch-enter-active{animation:device-switch-in .35s cubic-bezier(.4,0,.2,1) both}@keyframes device-switch-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.content-panel::-webkit-scrollbar{width:5px}.content-panel::-webkit-scrollbar-track{background:transparent}.content-panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.welcome-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:0 24px;text-align:center;overflow-y:auto;margin-top:-20px}.welcome-title{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--color-text-primary);letter-spacing:-.5px;margin-bottom:6px}.welcome-subtitle{font-size:14px;color:var(--color-text-secondary);max-width:360px;margin-bottom:36px}.welcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:540px;width:100%}.welcome-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 20px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.welcome-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}.welcome-card:nth-child(1):hover{border-color:#ea580c}.welcome-card:nth-child(2):hover{border-color:#059669}.welcome-card:nth-child(3):hover{border-color:#2563eb}.welcome-card img{width:36px;height:36px}.welcome-card .wc-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--color-text-primary)}.welcome-card .wc-desc{font-size:12px;color:var(--color-text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 40px;text-align:center;color:var(--color-text-muted)}.empty-state svg{width:48px;height:48px;opacity:.15;margin-bottom:12px}.empty-state p{font-size:13px}.device-dashboard{padding:24px 28px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-dashboard-header{margin-bottom:20px}.device-dashboard-header h2{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.2;letter-spacing:-.3px}.device-dashboard-header .device-meta{margin-top:4px;font-size:13px;color:var(--color-text-secondary);display:flex;align-items:center;gap:10px}.device-dashboard-header .device-meta .meta-pill{font-size:11px;background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:99px;font-family:var(--font-mono);font-weight:500;letter-spacing:.3px}.rom-section,.rom-list-scroller{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px}.rom-section::-webkit-scrollbar,.rom-list-scroller::-webkit-scrollbar{width:4px}.rom-section::-webkit-scrollbar-track,.rom-list-scroller::-webkit-scrollbar-track{background:transparent}.rom-section::-webkit-scrollbar-thumb,.rom-list-scroller::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:4px}.rom-section::-webkit-scrollbar-thumb:hover,.rom-list-scroller::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.stat-card{position:relative;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px 12px;box-shadow:var(--glass-shadow);transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.stat-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000014,inset 0 1px #fff9}.stat-card .stat-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px}.stat-card .stat-value{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--color-text-primary)}.stat-card .stat-sub{font-size:11px;color:var(--color-text-muted);margin-top:2px}.rom-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:16px;flex-wrap:wrap}.rom-toolbar .rom-search{flex:1;min-width:180px;height:34px;padding:0 10px 0 32px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:13px;outline:none;transition:all .15s ease;font-family:var(--font-body)}.rom-toolbar .rom-search:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.rom-filter-btn{height:30px;padding:0 10px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);font-size:11px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .12s ease;font-family:var(--font-body)}.rom-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.rom-filter-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.rom-section{margin-bottom:24px}.rom-section-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding:8px 0;border-bottom:2px solid var(--color-border-light);position:sticky;top:0;z-index:2;background:var(--color-bg)}.rom-section-title .section-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;color:#fff;letter-spacing:.3px}.rom-section-title .badge-recovery{background:var(--color-accent-green)}.rom-section-title .badge-fastboot{background:var(--color-accent-orange)}.rom-entry{position:relative;background:#ffffff8c;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border:1px solid rgba(199,210,254,.45);border-radius:var(--radius-md);padding:0;margin-bottom:4px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.rom-entry:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.rom-entry:hover{border-color:#818cf880;box-shadow:0 4px 16px #0000000f,inset 0 1px #ffffff80}.rom-entry.is-latest{border-left:3px solid var(--color-primary)}.rom-entry .rom-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 10px;transition:margin-bottom .35s cubic-bezier(.4,0,.2,1)}.rom-entry.is-expanded .rom-entry-header{margin-bottom:2px}.rom-entry-header .expand-icon{width:16px;height:16px;transition:transform .35s cubic-bezier(.4,0,.2,1);color:var(--color-text-muted);flex-shrink:0}.rom-entry.is-expanded .expand-icon{transform:rotate(180deg)}.rom-entry .rom-collapse{max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px) scale(.99);filter:blur(2px);padding:0 10px;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),filter .3s cubic-bezier(.4,0,.2,1)}.rom-entry.is-expanded .rom-collapse{max-height:5000px;opacity:1;transform:translateY(0) scale(1);filter:blur(0);padding-bottom:8px}.rom-entry .rom-sub-collapse{max-height:0;overflow:hidden;opacity:0;transform:translateY(-4px) scale(.99);filter:blur(1px);transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),filter .25s cubic-bezier(.4,0,.2,1)}.rom-entry.is-sub-expanded .rom-sub-collapse{max-height:3000px;opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.rom-entry.is-sub-expanded .expand-icon{transform:rotate(180deg)}.rom-entry .rom-version{font-size:14px;font-weight:700;font-family:var(--font-display);color:var(--color-text-primary)}.rom-entry .rom-badge{font-size:10px;font-weight:700;text-transform:uppercase;color:#fff;background:var(--color-primary);padding:2px 7px;border-radius:4px;letter-spacing:.4px}.rom-entry .rom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px 10px;font-size:12px;margin-bottom:4px}.rom-entry .rom-grid .rom-label{color:var(--color-text-muted);font-size:11px}.rom-entry .rom-grid .rom-value{color:var(--color-text-primary);font-weight:500}.rom-entry .rom-hash{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono);word-break:break-all;line-height:1.4;margin-bottom:2px}.rom-entry .rom-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-download{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .12s ease;font-family:var(--font-body)}.btn-download.primary{background:var(--color-primary);color:#fff}.btn-download.primary:hover{background:#4338ca}.btn-download.outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-download.outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.brand-xiaomi .btn-download.primary{background:var(--color-accent-orange)}.brand-xiaomi .btn-download.primary:hover{background:#c2410c}.brand-xiaomi .device-item.active .device-name{color:var(--color-accent-orange)}.brand-xiaomi .rom-entry.is-latest{border-left-color:var(--color-accent-orange)}.brand-xiaomi .stat-card .stat-value{color:var(--color-accent-orange)}.brand-oppo .btn-download.primary{background:var(--color-accent-green)}.brand-oppo .btn-download.primary:hover{background:#047857}.brand-oppo .device-item.active .device-name{color:var(--color-accent-green)}.brand-oppo .rom-entry.is-latest{border-left-color:var(--color-accent-green)}.brand-oppo .stat-card .stat-value{color:var(--color-accent-green)}.brand-vivo .btn-download.primary{background:var(--color-accent-blue)}.brand-vivo .btn-download.primary:hover{background:#1d4ed8}.brand-vivo .device-item.active .device-name{color:var(--color-accent-blue)}.brand-vivo .rom-entry.is-latest{border-left-color:var(--color-accent-blue)}.brand-vivo .stat-card .stat-value{color:var(--color-accent-blue)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glass-light-sweep{0%{left:-100%}to{left:200%}}@keyframes glass-pulse{0%,to{box-shadow:var(--glass-shadow)}50%{box-shadow:0 8px 32px #4f46e514,inset 0 1px #ffffffb3}}.anim-fade{animation:fade-in .2s ease both}.anim-slide-right{animation:slide-in-right .25s ease both}.anim-slide-up{animation:slide-in-up .2s ease both}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:6px}.qq-group-btn{background:#eef2ffb3!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important;border:1px solid rgba(199,210,254,.6)!important;border-radius:10px!important;padding:5px 14px!important;gap:6px!important;box-shadow:0 2px 8px #4f46e514,inset 0 1px #ffffff80!important;font-size:14px!important}.qq-group-btn:hover{background:#e0e7ffd9!important;box-shadow:0 4px 16px #4f46e51f,inset 0 1px #fff9!important}.qq-group-btn .qq-label{color:var(--color-primary);font-weight:700;font-size:14px;white-space:nowrap}.qq-group-btn .qq-number{font-family:"Tabular Nums",var(--font-mono);font-size:14px;font-weight:800;color:var(--color-primary);background:#fffc;padding:2px 8px;border-radius:6px;letter-spacing:1px;font-variant-numeric:tabular-nums}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .15s ease}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;max-width:480px;width:90vw;box-shadow:0 8px 40px #0000001f;animation:slide-in-up .2s ease;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--color-text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--color-text-muted);transition:all .12s}.modal-close:hover{background:var(--color-sidebar);color:var(--color-text-primary)}.donate-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:all .2s ease;text-align:center}.donate-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media(max-width:768px){.app-header{padding:0 8px;gap:4px;height:46px;min-height:46px}.app-header .logo span{display:none}.app-header .logo-favicon{width:24px;height:24px}.brand-tab span{display:none}.brand-tab{padding:4px 6px}.brand-tab img{width:18px;height:18px}.brand-tabs{padding:2px;gap:1px}.community-btn{padding:4px 10px!important;font-size:11px!important;border-radius:6px!important}.community-btn>span{display:inline!important}.header-actions .header-btn:not(.community-btn)>span{display:none}.header-btn{padding:5px 6px}.master-detail{flex-direction:column}.sidebar{width:100%;min-width:100%;height:100%;max-height:none;border-right:none;border-bottom:none;flex:1}.sidebar-header{padding:8px 8px 4px}.sidebar-search{height:34px;font-size:13px}.sidebar-stats{padding:4px 10px 6px;font-size:11px}.device-item{padding:10px 12px}.device-item .device-name{font-size:14px}.device-item .device-code{font-size:11px}.device-list{-webkit-overflow-scrolling:touch;min-height:0;touch-action:pan-y}.device-item{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.08);cursor:pointer}.sidebar{min-height:0}.content-panel{display:none}.mobile-has-device .sidebar{display:none!important}.mobile-has-device .content-panel{display:flex!important;flex:1;min-height:0;width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.stat-cards .stat-card:not(:nth-child(2)){display:none!important}.stat-cards{grid-template-columns:1fr!important}.device-dashboard-header{padding:12px 14px 8px!important}.device-dashboard-header h2{font-size:18px!important}.mobile-back-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-sidebar);border-bottom:1px solid var(--color-border);flex-shrink:0;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s}.mobile-back-bar:active{background:var(--color-border-light)}.mobile-back-bar svg{width:16px;height:16px;color:var(--color-primary);flex-shrink:0}.mobile-back-bar span{font-size:13px;font-weight:600;color:var(--color-primary)}.brand-group-header{padding:8px 10px;font-size:12px}.device-dashboard{padding:12px}.device-dashboard-header h2{font-size:18px}.device-dashboard-header .device-meta{font-size:11px}.stat-cards{grid-template-columns:1fr 1fr;gap:6px}.stat-card{padding:10px}.stat-card .stat-value{font-size:16px}.stat-card .stat-label{font-size:10px}.rom-toolbar{margin-bottom:10px}.rom-toolbar .rom-search{height:30px;font-size:12px}.rom-entry{padding:10px}.rom-entry .rom-version{font-size:13px}.rom-entry .rom-grid{grid-template-columns:1fr;gap:2px 0}.rom-entry .rom-actions{flex-direction:column;gap:4px}.btn-download{font-size:11px;padding:5px 10px;justify-content:center;width:100%}.welcome-panel{padding:30px 16px}.welcome-title{font-size:20px}.welcome-subtitle{font-size:12px;margin-bottom:24px}.welcome-grid{grid-template-columns:1fr;max-width:260px;gap:10px}.welcome-card{padding:20px 16px;gap:8px}.welcome-card img{width:28px;height:28px}.welcome-card .wc-name{font-size:14px}.mobile-community-section{display:flex;flex-direction:column;gap:8px;margin-top:24px;width:100%;max-width:260px}.mobile-community-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-primary);transition:all .2s;font-family:var(--font-body)}.mobile-community-btn:active{transform:scale(.98);background:var(--color-sidebar)}.mobile-community-btn svg{width:16px;height:16px;color:var(--color-primary)}.empty-state{padding:30px 20px}.empty-state svg{width:40px;height:40px}.modal-content{padding:16px;max-width:95vw}.modal-header h3{font-size:16px}}.mobile-back-bar,.mobile-community-section{display:none}@media(max-width:768px){.mobile-back-bar,.mobile-community-section{display:flex}}@media(max-width:380px){.stat-cards{grid-template-columns:1fr}.qq-group-btn .qq-number{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important}}.download-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}[data-sonner-toaster]{z-index:99999!important;position:fixed!important;top:16px!important;left:50%!important;transform:translate(-50%)!important;width:auto!important;pointer-events:none!important}[data-sonner-toaster]>*{pointer-events:auto!important}[data-sonner-toast]{background:#ffffffb8!important;backdrop-filter:blur(20px) saturate(200%)!important;-webkit-backdrop-filter:blur(20px) saturate(200%)!important;border:1px solid rgba(255,255,255,.45)!important;color:var(--color-text-primary)!important;font-family:var(--font-body)!important;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80!important;border-radius:14px!important;padding:14px 20px!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important}[data-sonner-toast][data-type=success]{background:#ecfdf5bf!important;border-color:#a7f3d080!important;color:#065f46!important;box-shadow:0 8px 32px #0596691a,inset 0 1px #ffffff80!important}[data-sonner-toast][data-type=error]{background:#fef2f2bf!important;border-color:#fecaca80!important;color:#991b1b!important;box-shadow:0 8px 32px #dc26261a,inset 0 1px #ffffff80!important}[data-sonner-toast][data-type=warning]{background:#fffbebbf!important;border-color:#fde68a80!important;color:#92400e!important;box-shadow:0 8px 32px #d977061a,inset 0 1px #ffffff80!important}[data-reka-dropdown-menu-content],[data-radix-popper-content-wrapper]{z-index:9999!important}[data-reka-dropdown-menu-content]{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:0 8px 32px #0000001f!important;padding:4px!important;min-width:180px!important;animation:slide-in-up .12s ease!important}[data-reka-dropdown-menu-item]{display:flex!important;align-items:center!important;padding:8px 12px!important;border-radius:6px!important;cursor:pointer!important;font-size:13px!important;color:var(--color-text-primary)!important;transition:background .1s!important;outline:none!important}[data-reka-dropdown-menu-item]:hover,[data-reka-dropdown-menu-item][data-highlighted]{background:var(--color-sidebar)!important}[data-reka-dropdown-menu-label]{padding:6px 12px!important;font-size:11px!important;font-weight:600!important;color:var(--color-text-muted)!important;text-transform:uppercase!important;letter-spacing:.5px!important}[data-reka-dropdown-menu-separator]{height:1px!important;background:var(--color-border)!important;margin:4px 0!important}
