/* ============ 页面层：广场 / 视频 / 壁纸 / 图文 / 同城 … ============ */

/* ---- 首页 Hero ---- */
.hero{position:relative;border-radius:28px;overflow:hidden;padding:64px 52px;margin-bottom:10px;
  background:linear-gradient(120deg,rgba(94,234,212,.09),rgba(167,139,250,.09) 50%,rgba(244,114,182,.09));
  border:1px solid var(--line2);transform-style:preserve-3d}
.hero h1{font-size:44px;line-height:1.25;letter-spacing:1px}
.hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{margin:16px 0 26px;color:var(--txt2);font-size:15.5px;max-width:520px;line-height:1.7}
.hero-actions{display:flex;gap:14px}
.hero-stats{display:flex;gap:36px;margin-top:38px}
.hstat b{font-size:24px;background:var(--grad2);-webkit-background-clip:text;background-clip:text;color:transparent}
.hstat span{display:block;font-size:12px;color:var(--txt3);margin-top:2px}
.hero-orbs{position:absolute;inset:0;pointer-events:none;transform-style:preserve-3d}
.orb{position:absolute;border-radius:50%;filter:blur(2px);animation:orbFloat 7s ease-in-out infinite}
.orb:nth-child(1){width:120px;height:120px;right:60px;top:30px;background:radial-gradient(circle at 35% 30%,rgba(94,234,212,.5),transparent 65%)}
.orb:nth-child(2){width:170px;height:170px;right:230px;bottom:-40px;background:radial-gradient(circle at 60% 35%,rgba(244,114,182,.4),transparent 65%);animation-delay:1.6s}
.orb:nth-child(3){width:90px;height:90px;right:40px;bottom:60px;background:radial-gradient(circle at 40% 40%,rgba(167,139,250,.5),transparent 65%);animation-delay:3s}
@keyframes orbFloat{0%,100%{transform:translateY(0) translateZ(0)}50%{transform:translateY(-22px) translateZ(40px)}}

/* ---- 视频竖屏网格 ---- */
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.v-card{position:relative;border-radius:var(--r2);overflow:hidden;cursor:pointer;background:var(--panel-solid);
  border:1px solid var(--line);aspect-ratio:9/14;transform-style:preserve-3d;transition:transform .25s,box-shadow .25s}
.v-card:hover{transform:translateY(-6px) rotateX(5deg);box-shadow:0 20px 44px rgba(0,0,0,.55),var(--glow)}
.v-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.v-card:hover img{transform:scale(1.07)}
.v-info{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(to top,rgba(5,5,15,.95),transparent)}
.v-info b{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.v-info .v-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11.5px;color:var(--txt2)}

/* ---- 3D 旋转画廊（壁纸） ---- */
.carousel-stage{perspective:1400px;height:420px;position:relative;margin:20px 0 8px;overflow:hidden}
.carousel{position:absolute;left:50%;top:50%;width:300px;height:400px;transform-style:preserve-3d;
  transform:translate(-50%,-50%)}
.carousel .c-item{position:absolute;inset:0;border-radius:18px;overflow:hidden;cursor:pointer;
  border:1px solid var(--line2);box-shadow:0 24px 60px rgba(0,0,0,.6);background:var(--panel-solid);
  transition:box-shadow .3s}
.carousel .c-item:hover{box-shadow:0 24px 70px rgba(96,165,250,.4)}
.carousel .c-item img{width:100%;height:100%;object-fit:cover}
.carousel .c-cap{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:13px;
  background:linear-gradient(to top,rgba(5,5,15,.95),transparent)}
.carousel-nav{display:flex;justify-content:center;gap:10px;margin-bottom:6px}
.carousel-nav button{width:40px;height:40px;border-radius:50%;background:rgba(120,120,255,.12);
  border:1px solid var(--line2);font-size:16px;transition:.25s}
.carousel-nav button:hover{background:var(--grad);color:#0a0a18}

/* ---- 搜索页 ---- */
.search-head{padding:30px 0 8px}
.search-head h1{font-size:30px}
.search-head h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hot-tags{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}

/* ---- 通知中心 ---- */
.notif-tabs{display:flex;gap:8px;margin:24px 0 18px}
.notif-item{display:flex;gap:14px;padding:16px 18px;align-items:center;transition:.25s;cursor:pointer}
.notif-item:hover{background:rgba(120,120,255,.08)}
.notif-item.unread{background:rgba(96,165,250,.07)}
.notif-item img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#22224a}
.notif-item .n-body{flex:1}
.notif-item .n-title{font-size:14.5px}
.notif-item .n-time{font-size:12px;color:var(--txt3);margin-top:3px}
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--pink);flex:none}

/* ---- 个人中心 ---- */
.profile-head{display:flex;gap:24px;padding:34px;align-items:center}
.profile-head img{width:104px;height:104px;border-radius:50%;object-fit:cover;border:2px solid var(--line2);background:#22224a}
.profile-head h1{font-size:25px}
.profile-head .p-sub{color:var(--txt2);font-size:13.5px;margin-top:6px;line-height:1.7}
.p-stats{display:flex;gap:26px;margin-top:14px}
.p-stats b{font-size:18px}
.p-stats span{font-size:12px;color:var(--txt3);margin-left:4px}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tabs{display:flex;gap:6px;margin:26px 0 20px;border-bottom:1px solid var(--line)}
.tabs a{padding:10px 20px;font-size:14.5px;color:var(--txt2);border-bottom:2px solid transparent;transition:.25s}
.tabs a:hover{color:var(--txt)}
.tabs a.on{color:var(--txt);border-bottom-color:var(--cyan)}

/* ---- 登录页 ---- */
.auth-wrap{max-width:430px;margin:40px auto;padding:40px;perspective:900px}
.auth-card{transform-style:preserve-3d;transition:transform .2s ease-out}
.auth-wrap h1{font-size:27px;text-align:center;margin-bottom:6px}
.auth-wrap .a-sub{text-align:center;color:var(--txt3);font-size:13px;margin-bottom:28px}
.auth-switch{text-align:center;margin-top:20px;font-size:13px;color:var(--txt2)}
.auth-switch a{color:var(--cyan)}
.code-row{display:flex;gap:10px}
.code-row input{flex:1}
.code-row button{flex:none;padding:0 16px;border-radius:12px;background:rgba(120,120,255,.14);
  border:1px solid var(--line2);font-size:13px;color:var(--cyan);transition:.25s}
.code-row button:hover{background:rgba(120,120,255,.28)}
.code-row button:disabled{opacity:.5;cursor:not-allowed}

/* ============ 明暗模式 + 主题面板 + 特效层 + 同城社区 ============ */
body{transition:background .5s,color .4s}
body.light{background:var(--bg);color:var(--txt)}
body.light #vignette{background:radial-gradient(ellipse at 50% 0%,transparent 45%,rgba(120,120,160,.14) 100%)}
body.light #topbar{background:rgba(255,255,255,.8);border-bottom-color:var(--line)}
body.light .search-box input{background-color:rgba(255,255,255,.7)}
body.light .search-suggest{box-shadow:0 16px 50px rgba(80,80,140,.18)}
body.light .card{box-shadow:0 4px 20px rgba(90,90,150,.08)}
body.light .hero{background:linear-gradient(120deg,rgba(13,148,136,.06),rgba(124,58,237,.06) 50%,rgba(219,39,119,.06))}
body.light .m-card:hover,.v-card:hover{box-shadow:0 20px 44px rgba(90,90,150,.22),var(--glow)}
body.light .carousel .c-item{box-shadow:0 24px 60px rgba(90,90,150,.28)}
body.light .detail-media{background:#f2f2f8}
body.light .detail-media img,.detail-media video{background:#f2f2f8}
body.light .lightbox{background:rgba(240,240,250,.96)}
body.light #toast{background:rgba(255,255,255,.94);box-shadow:0 12px 40px rgba(90,90,150,.2)}
body.light #tabbar{background:rgba(255,255,255,.88)}
body.light .upload-zone{background:rgba(120,120,255,.05)}
body.light .form-row input,.light .form-row textarea,.light .form-row select,body.light .filter-bar input,body.light .filter-bar select{background:rgba(255,255,255,.75)}
body.light .btn:not(.ghost){color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.15)}
body.light .act-btn.on,body.light .tag.on{color:#fff}
body.light .stat-card b,body.light .section-title h2 em,body.light .logo-text i{-webkit-text-fill-color:transparent}

/* ---- 频道头图 ---- */
.ch-banner{position:relative;margin:8px 0 20px;padding:52px 30px;border-radius:20px;overflow:hidden;
  background-size:cover;background-position:center;isolation:isolate}
.ch-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,14,22,.10),rgba(4,14,22,.55));z-index:-1}
.ch-banner h1{margin:0;font-size:30px;letter-spacing:1px;color:#f2fbff;text-shadow:0 2px 18px rgba(4,18,28,.6)}
.ch-banner h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:8px}
.ch-banner p{margin:10px 0 0;color:#cfe4ee;font-size:13.5px}

/* ---- 同城社区 ---- */
.nearby-head-card{display:flex;align-items:center;justify-content:flex-end;padding:16px 20px;margin-bottom:18px}
.nearby-head-card .city-picker{display:flex;align-items:center;gap:12px}
.nearby-head-card label{font-size:13px;color:var(--txt2)}
.nearby-head-card select{min-width:150px}

/* ---- 详情页媒体辅助 ---- */
.media-tip{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--txt3);font-size:12.5px}
.back-row{margin:6px 0 18px}

/* ---- 通知中心 ---- */
.notif-item .n-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(127,216,232,.10);color:var(--cyan);flex:none}
.notif-item .n-ico .ico{width:19px;height:19px}

/* ---- 登录 / 注册 ---- */
.auth-card{text-align:center}
.auth-logo{width:52px;height:52px;margin-bottom:10px;filter:drop-shadow(0 4px 16px rgba(94,234,212,.35))}
.auth-card h1{margin:0 0 6px}
.a-sub{color:var(--txt3);font-size:13px;margin-bottom:22px}
.code-row{display:flex;gap:10px}
.code-row input{flex:1}
.code-row .btn{flex:none;white-space:nowrap}
.auth-switch{margin-top:18px;font-size:13px;color:var(--txt3)}
.auth-switch a{color:var(--cyan);text-decoration:none}

/* ---- 404 ---- */
.nf-wrap{max-width:600px;margin:60px auto;text-align:center;padding:0 20px}
.nf-wrap .nf-art{width:min(380px,78%);opacity:.92}
.nf-wrap h1{font-size:64px;margin:8px 0 0;letter-spacing:4px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf-wrap .nf-text{color:var(--txt2);margin:14px 0 26px}
.nf-wrap .nf-actions{display:flex;gap:12px;justify-content:center}
.nf-wrap .nf-suggest{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;color:var(--txt3);font-size:13px}

/* ---- 登录页提示（当前数据源与演示账号） ---- */
.auth-hint{margin:14px 0 0;padding:10px 14px;border-radius:10px;font-size:12.5px;line-height:1.7;
  color:var(--txt3);background:rgba(127,216,232,.06);border:1px dashed var(--line);text-align:left}
.auth-hint b{color:var(--cyan);font-weight:600}
