*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
background-color:#0a0a0f;
background-image:linear-gradient(rgba(102,126,234,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(102,126,234,.04) 1px,transparent 1px);
background-size:40px 40px;
color:#e0e0e0;
font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
min-height:100vh;position:relative;z-index:0}

@keyframes fall-cw{
0%{transform:translateY(0) rotate(0deg);opacity:0}
10%{opacity:.7}
25%{transform:translateY(calc(var(--h,100vh)*.25)) rotate(90deg)}
50%{transform:translateY(calc(var(--h,100vh)*.5)) rotate(180deg)}
75%{transform:translateY(calc(var(--h,100vh)*.75)) rotate(270deg)}
90%{opacity:.7}
100%{transform:translateY(calc(var(--h,100vh)*1.1)) rotate(360deg);opacity:0}
}
@keyframes fall-ccw{
0%{transform:translateY(0) rotate(0deg);opacity:0}
10%{opacity:.7}
25%{transform:translateY(calc(var(--h,100vh)*.25)) rotate(-90deg)}
50%{transform:translateY(calc(var(--h,100vh)*.5)) rotate(-180deg)}
75%{transform:translateY(calc(var(--h,100vh)*.75)) rotate(-270deg)}
90%{opacity:.7}
100%{transform:translateY(calc(var(--h,100vh)*1.1)) rotate(-360deg);opacity:0}
}
.fall-icon{
position:fixed;top:-50px;pointer-events:none;z-index:1;
opacity:0;
animation-fill-mode:forwards;
}
.h{text-align:center;padding:40px 20px 20px;position:relative;z-index:2}
.h h1{
font-size:2rem;
background:linear-gradient(135deg,#667eea,#764ba2);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
/* 标题无描边 */
}
.bw{max-width:800px;margin:0 auto;padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;position:relative;z-index:2}

/* 品牌卡片 */
.bc{
background:rgba(255,255,255,.08);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.12);
border-radius:16px;padding:30px 16px;text-align:center;cursor:pointer;transition:.3s;
color:#fff;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
font-weight:600;
}
.bc:hover{
background:rgba(255,255,255,.15);
border-color:rgba(102,126,234,.4);
transform:translateY(-2px);
box-shadow:0 4px 20px rgba(0,0,0,.3);
}
.bce{opacity:.4;pointer-events:none}
.dp{display:none;max-width:800px;margin:0 auto;padding:0 20px 60px;position:relative;z-index:2}
.dpa{display:block}
.sb{margin:0 auto 24px;max-width:500px}
.sb input{
width:100%;padding:12px 20px;
border:1px solid rgba(255,255,255,.12);
border-radius:50px;
background:rgba(255,255,255,.08);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
color:#fff;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
outline:none;
font-size:.95rem;
font-family:inherit;
}
.sb input::placeholder{
color:rgba(255,255,255,.5);
text-shadow:none;
}
.dg{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
/* 设备卡片 */
.dc{
background:rgba(255,255,255,.08);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
border:1px solid rgba(255,255,255,.12);
border-radius:12px;padding:16px;cursor:pointer;transition:.25s;
color:#fff;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
}
.dc:hover{
background:rgba(255,255,255,.15);
border-color:rgba(102,126,234,.4);
transform:translateY(-2px);
box-shadow:0 4px 16px rgba(0,0,0,.3);
}
/* 返回按钮 */
.back-btn{
position:absolute;top:20px;left:20px;width:40px;height:40px;
border-radius:12px;
border:1px solid rgba(255,255,255,.15);
background:rgba(255,255,255,.08);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
color:#fff;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1.2rem;z-index:3;
}
.back-btn:hover{background:rgba(255,255,255,.15);}
.mo{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;justify-content:center;align-items:center;padding:20px}
.moa{display:flex}
.mb{background:rgba(20,20,30,.8);border:1px solid rgba(255,255,255,.12);border-radius:16px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 60px rgba(0,0,0,.5);}
.mh{padding:20px 24px 0;display:flex;justify-content:space-between;align-items:center}
.mt{font-size:1.2rem;font-weight:700;color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;}
.mc{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.mc:hover{background:rgba(255,255,255,.15);}
.mdb{
padding:16px 24px 24px;
overflow-y:auto;
white-space:pre-wrap;
font-size:.9rem;
line-height:1.8;
color:#bbb;
}
.mdb a{
color:#5b9cf5;
text-decoration:underline;
text-underline-offset:3px;
transition:color .15s
}
.mdb a:hover{
color:#8bb8ff
}

.f{text-align:center;padding:30px 20px;color:#555;font-size:.75rem;position:relative;z-index:2}
.f p{text-shadow:none;}

/* 提示弹窗 */
.overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:3000;justify-content:center;align-items:center;padding:20px}
.overlay.show{display:flex}
.toast-box{
background:rgba(20,20,30,.8);
backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);
border:1px solid rgba(255,255,255,.12);
border-radius:16px;max-width:400px;width:100%;padding:24px;position:relative;text-align:center;animation:toastIn .2s ease;
}
@keyframes toastIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.toast-close{
position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:6px;
border:1px solid rgba(255,255,255,.15);
background:rgba(255,255,255,.08);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
color:#fff;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem
}
.toast-close:hover{background:rgba(255,255,255,.15);}
.toast-msg{padding:20px 10px;color:#ccc;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;font-size:.95rem;line-height:1.6}
.toast-btn{
display:block;width:100%;padding:12px;margin-top:16px;border-radius:12px;
border:1px solid rgba(102,126,234,.4);
background:rgba(102,126,234,.15);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
color:#fff;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
font-size:1rem;font-weight:600;cursor:pointer;transition:.2s
}
.toast-btn:hover{background:rgba(102,126,234,.25);}