/* ============================================
   临洮县北街小学二胡社团官网 · 新界面 v1.0 全量样式
   包含：新首页布局 + 原功能面板/证书/后台样式
   ============================================ */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --red:#B03A2E;
  --red-deep:#8E2A21;
  --gold:#D9A75C;
  --ink:#2C2A29;
  --paper:#FBF7F0;
  --paper-2:#F3EDE2;
  --line:#E8DFCE;
  --shadow:0 8px 24px rgba(44,42,41,.10);
  --hero-h:100vh;
}
html,body{width:100%;overflow-x:hidden;scroll-behavior:smooth;}
body{font-family:'PingFang SC','Microsoft YaHei','Segoe UI',Arial,sans-serif;background:var(--paper);color:var(--ink);}
.serif{font-family:'Songti SC','STSong','SimSun',serif;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ===== 顶栏 ===== */
.topbar{position:absolute;top:0;left:0;right:0;z-index:20;padding:14px 0;}
.topbar .wrap{display:flex;justify-content:flex-end;align-items:center;}
.brand{display:flex;align-items:center;color:#fff;}
.brand .name{font-size:17px;font-weight:700;letter-spacing:2px;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.brand .sub{font-size:11px;opacity:.85;letter-spacing:3px;margin-top:2px;}
.topbar .tools{display:flex;gap:10px;align-items:center;}
.topbar .tools a{color:#fff;text-decoration:none;font-size:13px;padding:7px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);backdrop-filter:blur(4px);cursor:pointer;display:inline-block;line-height:1.4;}
.topbar .tools a:hover{background:rgba(255,255,255,.25);}
.topbar .tools #login-state{display:inline-flex;align-items:center;gap:8px;}
.topbar .tools #login-state>span{font-size:13px;color:#F3D9A4;white-space:nowrap;}

/* ===== Hero ===== */
.hero{position:relative;min-height:auto;display:flex;flex-direction:column;color:#fff;
  background:linear-gradient(180deg,rgba(46,22,16,.62) 0%,rgba(46,22,16,.42) 45%,rgba(46,22,16,.78) 100%),url('../bg640.jpg') center/cover no-repeat;}
.hero-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 20px 40px;}
.hero .school-tag{font-size:12px;letter-spacing:3px;color:#F3D9A4;border:1px solid rgba(217,167,92,.55);padding:6px 18px;border-radius:30px;background:rgba(0,0,0,.18);}
.hero-logo-wrap{margin:6px 0 10px;animation:logoReveal 1.2s ease-out both;}
.hero-logo{width:76px;height:76px;object-fit:contain;border-radius:50%;
  filter:brightness(1.35) saturate(1.25) drop-shadow(0 2px 14px rgba(217,167,92,.85));
  animation:logoSpin 12s linear 1.2s infinite;}
@keyframes logoReveal{0%{opacity:0;transform:translateY(24px) scale(.55);}100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes logoSpin{0%{transform:perspective(280px) rotateY(0deg);}100%{transform:perspective(280px) rotateY(360deg);}}
.hero h1{font-size:clamp(34px,6vw,60px);font-weight:700;margin:0 0 8px;letter-spacing:8px;text-shadow:0 3px 18px rgba(0,0,0,.55);}
.hero .sub{font-size:clamp(15px,2.2vw,20px);letter-spacing:6px;color:#FBF7F0;opacity:.95;margin-bottom:26px;}
.hero .divider{width:120px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 30px;}

/* 玻璃宫格 */
.hero-card{width:100%;max-width:980px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);
  border-radius:18px;padding:26px 22px;backdrop-filter:blur(10px);box-shadow:0 12px 40px rgba(0,0,0,.28);}
.grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.func-card{background:rgba(255,255,255,.94);color:var(--ink);border-radius:14px;padding:20px 10px 16px;text-align:center;cursor:pointer;
  transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.func-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.22);}
.func-card .d{font-size:12px;color:#8A8178;margin-top:2px;}

/* 四字彩色标识框（2×2 居中） */
.ic,.fi{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;place-items:center;
  color:#fff;font-weight:600;margin:0 auto;border-radius:14px;box-shadow:0 3px 8px rgba(0,0,0,.18);}
.ic span,.fi span{display:block;line-height:1;}
.ic{width:66px;height:66px;font-size:15px;margin-bottom:10px;}
.fi{width:56px;height:56px;font-size:13px;}
.ic-1,.fi-1{background:linear-gradient(135deg,#B03A2E,#D96C5A);}
.ic-2,.fi-2{background:linear-gradient(135deg,#8E2A21,#C0553F);}
.ic-3,.fi-3{background:linear-gradient(135deg,#B98A3E,#D9A75C);}
.ic-4,.fi-4{background:linear-gradient(135deg,#7C5A2E,#A9834D);}
.ic-5,.fi-5{background:linear-gradient(135deg,#A63A32,#E08A5A);}
.ic-6,.fi-6{background:linear-gradient(135deg,#5D4037,#8D6E63);}

/* 公告条（置于大标题下方、分隔线上方） */
.marquee-bar{margin:18px 0 6px;width:100%;max-width:980px;background:rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.25);
  border-radius:40px;padding:10px 20px;display:flex;align-items:center;gap:16px;overflow:hidden;}
.marquee-bar .lab{color:#F3D9A4;font-weight:600;letter-spacing:2px;font-size:12px;white-space:nowrap;flex:none;}
.mq-view{flex:1;overflow:hidden;}
.mq-track{display:inline-block;white-space:nowrap;color:#fff;font-size:12px;letter-spacing:2px;animation:slide 26s linear infinite;}
@keyframes slide{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ===== 首页主体分区 ===== */
.section{padding:64px 0 10px;}
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.sec-head .no{font-family:'Songti SC',serif;font-size:30px;color:var(--gold);font-weight:700;}
.sec-head h2{font-size:26px;letter-spacing:3px;color:var(--ink);}
.sec-head .line{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}
.sec-head .more{font-size:13px;color:#8A8178;text-decoration:none;cursor:pointer;}
.welcome{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.welcome .quote{flex:1 1 300px;font-size:15px;line-height:2;color:#5A524A;}
.welcome .quote b{color:var(--red);}
.welcome .stats{display:flex;gap:26px;flex-wrap:wrap;}
.welcome .stat{text-align:center;}
.welcome .stat .n{font-size:30px;font-weight:700;color:var(--red);font-family:'Songti SC',serif;}
.welcome .stat .l{font-size:12px;color:#8A8178;letter-spacing:1px;}

/* 社团风采精选卡 */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.style-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.style-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.style-card .cover{height:150px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Songti SC',serif;letter-spacing:6px;font-size:20px;background:linear-gradient(135deg,#A63A32,#7C241D);text-align:center;padding:0 12px;overflow:hidden;}
.style-card .body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;}
.style-card .body h3{font-size:16px;font-weight:600;letter-spacing:1px;}
.style-card .body .time{font-size:12px;color:#9A9188;margin:8px 0 14px;}
.style-card .body .btn{margin-top:auto;display:inline-block;align-self:flex-start;color:var(--red);border:1px solid var(--red);border-radius:20px;padding:6px 16px;font-size:13px;text-decoration:none;}
.style-card .body .btn:hover{background:var(--red);color:#fff;}

/* 服务一览 */
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.feature-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;gap:14px;align-items:flex-start;
  cursor:pointer;transition:transform .25s,box-shadow .25s;}
.feature-box:hover{transform:translateY(-6px);box-shadow:0 12px 26px rgba(0,0,0,.14);animation:fbounce .7s;}
@keyframes fbounce{0%,100%{transform:translateY(-6px);}30%{transform:translateY(-13px);}60%{transform:translateY(-2px);}}
.feature-box h4{font-size:15px;letter-spacing:1px;}
.feature-box p{font-size:13px;color:#8A8178;line-height:1.8;margin-top:6px;}

/* 页脚 */
footer{margin-top:64px;background:var(--ink);color:#C9C2B8;text-align:center;padding:36px 20px;}
footer .f-title{font-family:'Songti SC',serif;font-size:18px;letter-spacing:4px;color:#F3D9A4;margin-bottom:10px;}
footer p{font-size:12.5px;line-height:2;letter-spacing:1px;}

/* 列表分页 */
.list-scroll{max-height:640px;overflow-y:auto;padding-right:4px;}
.pager-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pager-bar .pager-total{font-size:13px;color:#8A8178;margin-right:4px;}
.pager-bar select.pager-size{padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:#fff;color:var(--ink);}
.pager-bar .pager-btn{padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;color:var(--ink);cursor:pointer;min-width:34px;}
.pager-bar .pager-btn:hover:not(:disabled){border-color:var(--red);color:var(--red);}
.pager-bar .pager-btn.active{background:var(--red);border-color:var(--red);color:#fff;}
.pager-bar .pager-btn:disabled{opacity:.4;cursor:not-allowed;}

/* ===== 功能面板（原） ===== */
.tab-content{display:none;scroll-margin-top:10px;margin:40px auto;max-width:920px;}
.tab-content.active{display:block;}
.tab-content h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.collapse-btn{margin-left:auto;font-size:13px;padding:4px 16px;border-radius:14px;border:1px solid rgba(0,0,0,.12);
  background:linear-gradient(135deg,#f5e3b3,#e6bc6d);color:#5b3a0e;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12);}
.collapse-btn:hover{filter:brightness(1.08);}
.tab-content .card{background-color:#ffffff;border:1px solid #dde2eb;}
.card{border:1px solid #e9ecef;border-radius:8px;padding:15px !important;background:#fff;}
.sidebar{display:none;min-height:calc(100vh - 60px);background:#f8f9fa;padding-top:15px;box-shadow:2px 0 5px rgba(0,0,0,0.1);}
.sidebar.show-sidebar{display:block;}
.main-content{padding:15px;background:#ffffff;}
.admin-tab{display:none;}
.admin-tab.active{display:block;}
.hidden{display:none !important;}
.login-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:15px;}
.login-modal{background:#fff;padding:25px;border-radius:8px;width:100%;max-width:400px;box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.item-card{border:1px solid #dee2e6;border-radius:8px;padding:14px;margin-bottom:12px;background:#ffffff;}
/*=====视频播放控制：互斥+播放展开/暂停小化=====*/
.video-wrap{position:relative;display:inline-block;background:#000;border-radius:8px;overflow:hidden;line-height:0;}
.video-wrap video{display:block;background:#000;transition:max-width .3s,width .3s;}
.video-wrap.playing video{max-width:100% !important;width:100% !important;}
.video-wrap.mini video{width:180px !important;max-width:45vw !important;}
.video-wrap .mini-mask{display:none;position:absolute;left:0;right:0;bottom:0;top:0;background:rgba(0,0,0,.55);color:#fff;font-size:13px;align-items:center;justify-content:center;cursor:pointer;z-index:5;}
.video-wrap.mini .mini-mask{display:flex;}
.item-title{font-size:17px;font-weight:500;}
.item-time{font-size:13px;color:#666;}
audio,video{width:100%;max-width:100%;}
.certificate{
  position:relative;width:98%;max-width:860px;margin:24px auto 0;
  padding:56px 46px 48px;text-align:center;
  background:
    radial-gradient(ellipse at 50% -10%, rgba(212,175,55,.14), transparent 65%),
    linear-gradient(180deg,#fffef8 0%, #fdf3d9 100%);
  border:2px solid #b8933c;
  box-shadow:
    0 0 0 5px #fff,
    0 0 0 6px #d4af37,
    0 0 0 7px #fff,
    0 0 0 8px #b8933c,
    0 18px 40px rgba(120,85,0,.18);
  border-radius:4px;
}
.certificate::before{
  content:'二胡考级';
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-28deg);
  font-size:clamp(64px,15vw,128px);color:rgba(201,162,39,.07);
  letter-spacing:18px;white-space:nowrap;pointer-events:none;font-weight:700;
}
.cert-corner{position:absolute;width:34px;height:34px;z-index:2;}
.cert-corner.tl{top:14px;left:14px;border-top:3px solid #c9a227;border-left:3px solid #c9a227;}
.cert-corner.tr{top:14px;right:14px;border-top:3px solid #c9a227;border-right:3px solid #c9a227;}
.cert-corner.bl{bottom:14px;left:14px;border-bottom:3px solid #c9a227;border-left:3px solid #c9a227;}
.cert-corner.br{bottom:14px;right:14px;border-bottom:3px solid #c9a227;border-right:3px solid #c9a227;}
.certificate-title{
  font-size:clamp(32px,5.5vw,48px);font-weight:900;
  letter-spacing:12px;margin:12px 0 2px;color:#8c1f00;
  background:linear-gradient(180deg,#a8320a 0%, #c9a227 95%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cert-subtitle{font-size:12px;color:#b8933c;letter-spacing:4px;margin-top:2px;}
.cert-divider{color:#c9a227;letter-spacing:10px;font-size:13px;margin:12px 0 6px;}
.cert-body{position:relative;z-index:1;}
.cert-line{font-size:clamp(15px,2.4vw,18px);color:#5b4a32;letter-spacing:1.5px;margin:7px 0;line-height:1.8;}
.cert-name{color:#8c1f00;font-size:1.25em;font-weight:800;padding:0 4px;}
.cert-grade{
  font-size:clamp(28px,5vw,40px);font-weight:900;color:#a8320a;
  letter-spacing:8px;margin:18px 0 14px;
  text-shadow:0 2px 6px rgba(168,50,10,.15);
}
.cert-foot{margin-top:36px;position:relative;z-index:1;}
.cert-school{font-size:clamp(16px,2.6vw,20px);color:#6b4f1d;font-weight:700;letter-spacing:3px;}
.cert-no{position:absolute;left:46px;bottom:30px;font-size:12px;color:#9a8560;letter-spacing:1px;z-index:1;}
@media (max-width:576px){
  .certificate{padding:44px 22px 60px;}
  .cert-no{left:22px;bottom:20px;}
  .cert-foot{margin-top:30px;}
}
#pagination,#recycle-pagination{margin-top:12px;}
.progress-wrap{margin-top:10px;display:none;}
.hw-progress-bar{height:22px;background:#e9ecef;border-radius:6px;overflow:hidden;margin-top:8px;}
.hw-progress-inner{height:100%;width:0%;background:#198754;transition:0.2s;}
.btn-yellow{background-color:#ffc107;color:#000;border-color:#ffc107;}
.btn-green{background-color:#198754;color:#fff;border-color:#198754;}
.stat-row{display:flex;gap:2rem;flex-wrap:wrap;margin:1rem 0;}
.stat-col{flex:1;min-width:280px;}
.date-filter-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem;}
.chart-container{height:260px;max-width:900px;margin:0 auto;}
.chart-small{height:240px;}

/* ===== 响应式 ===== */
@media(max-width:900px){
  .grid-6{grid-template-columns:repeat(3,1fr);gap:10px;}
  .func-card{padding:14px 8px 12px;}
  .func-card .ic{width:56px;height:56px;font-size:12px;line-height:14px;}
  .cards-3{grid-template-columns:repeat(2,1fr);}
  .section{padding:44px 0 6px;}
  .hero-card{padding:18px 14px;}
  .hero-inner{padding:86px 14px 30px;}
  .sidebar{min-height:auto;margin-bottom:15px;}
  .sidebar .list-group{display:flex;flex-wrap:wrap;gap:6px;}
  .sidebar .list-group-item{flex:1 1 42%;text-align:center;}
  .tab-content{margin:30px 10px;}
  .stat-row{flex-direction:column;}
  .date-filter-row{flex-direction:column;align-items:start;}
}
@media(max-width:520px){
  .grid-6{grid-template-columns:repeat(2,1fr);}
  .brand .sub{display:none;}
  .brand .name{font-size:14px;letter-spacing:1px;}
  .topbar .tools{gap:6px;}
  .topbar .tools a{font-size:11px;padding:4px 9px;}
  .hero .school-tag{letter-spacing:2px;font-size:11px;padding:5px 12px;}
  .hero-logo-wrap{margin:4px 0 8px;}
  .hero-logo{width:56px;height:56px;}
  .hero h1{font-size:24px;letter-spacing:2px;}
  .list-scroll{max-height:480px;}
}

/* 作业红点提示 */
.notify-dot{display:inline-block;min-width:16px;height:16px;line-height:16px;padding:0 4px;border-radius:8px;background:#e53935;color:#fff;font-size:11px;text-align:center;margin-left:6px;vertical-align:middle;font-weight:600;}
