:root{--red:#c41e3a;--red-dark:#9b1b30;--red-light:#e8453c;--gold:#daa520;--gold-light:#f5e6c8;--gold-dark:#b8860b;--bg:#fffbf5;--bg-card:#fff;--bg-overlay:#00000080;--text:#1a1a2e;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-inverse:#fff;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 12px 48px #0000001f;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:42px;--leading-tight:1.3;--leading-normal:1.6;--leading-relaxed:1.75;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--z-dropdown:100;--z-sticky:200;--z-navbar:300;--z-overlay:400;--z-modal:500;--container-max:1200px;--container-padding:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;line-height:var(--leading-normal);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.container{max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.navbar{z-index:var(--z-navbar);background:linear-gradient(135deg, var(--red-dark), var(--red));padding:0 var(--space-6);transition:box-shadow var(--transition-base);position:sticky;top:0;box-shadow:0 2px 20px #00000026}.navbar .container{justify-content:space-between;align-items:center;height:64px;display:flex}.nav-logo{align-items:center;gap:var(--space-3);color:#fff;font-size:var(--text-lg);letter-spacing:2px;flex-shrink:0;font-weight:700;display:flex}.nav-logo img{object-fit:contain;border-radius:var(--radius-sm);width:40px;height:40px}.nav-links{gap:var(--space-1);display:flex}.nav-links a{color:#fffc;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap;position:relative}.nav-links a:hover{color:#fff;background:#ffffff1f}.nav-links a.router-link-active{color:#fff;background:#ffffff26}.nav-links a.router-link-active:after{content:"";background:var(--gold);border-radius:1px;width:20px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.hamburger{cursor:pointer;padding:var(--space-1);z-index:calc(var(--z-navbar) + 10);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;display:none}.hamburger span{transform-origin:50%;background:#fff;border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.hamburger span.open:first-child{transform:translateY(7px)rotate(45deg)}.hamburger span.open:nth-child(2){opacity:0}.hamburger span.open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{background:linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);color:#fff;text-align:center;padding:var(--space-20) var(--space-6);position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle at 30% 40%,#daa5201f 0%,#0000 40%),radial-gradient(circle at 70% 60%,#ffffff0d 0%,#0000 30%);width:200%;height:200%;animation:10s ease-in-out infinite heroGlow;position:absolute;top:-50%;left:-50%}@keyframes heroGlow{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(2%,1%)rotate(1deg)}66%{transform:translate(-1%,2%)rotate(-.5deg)}}.hero>*{z-index:1;position:relative}.hero h1{font-size:var(--text-4xl);letter-spacing:4px;margin-bottom:var(--space-4);text-shadow:0 2px 10px #0003;font-weight:800}.hero .subtitle{font-size:var(--text-lg);opacity:.9;letter-spacing:2px;margin-top:var(--space-2)}.hero .badge-area{margin-top:var(--space-8)}.hero .class-badge{object-fit:contain;border-radius:var(--radius-lg);width:100px;height:100px;transition:transform var(--transition-base);border:3px solid #ffffff40;margin:0 auto}.hero .class-badge:hover{transform:scale(1.05)}.section-title{text-align:center;padding:var(--space-16) 0 var(--space-10);font-size:var(--text-2xl);color:var(--red-dark);letter-spacing:3px;font-weight:700}.section-title span{font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:1px;margin-top:var(--space-2);font-weight:400;display:block}.section-title:after{content:"";background:linear-gradient(90deg, var(--gold), var(--gold-dark));width:60px;height:3px;margin:var(--space-4) auto 0;border-radius:2px;display:block}.card-grid{gap:var(--space-6);padding-bottom:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.card{border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition-base), box-shadow var(--transition-base);background:#fff;flex-direction:column;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.card img{object-fit:cover;width:100%;height:200px}.card-body{padding:var(--space-5);flex-direction:column;flex:1;display:flex}.card-body h3{font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--red-dark)}.card-body p{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);flex:1}.card-body .card-btn{padding:var(--space-2) var(--space-5);background:var(--red);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);transition:all var(--transition-fast);align-self:flex-start;margin-top:auto;font-weight:600;display:inline-block}.card-body .card-btn:hover{background:var(--red-dark);transform:translate(2px)}.stats-row{padding:var(--space-10) 0;flex-wrap:wrap;justify-content:center;gap:60px;display:flex}.stat-item{text-align:center}.stat-num{font-size:var(--text-4xl);color:var(--red);font-weight:800;line-height:1.1}.stat-num small{font-size:.5em;font-weight:600}.stat-label{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);letter-spacing:1px}.footer{background:var(--red-dark);color:#ffffffb3;text-align:center;padding:var(--space-8) var(--space-6);font-size:var(--text-sm);letter-spacing:1px}.timeline{max-width:800px;padding:0 var(--space-6) var(--space-16);margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--gold), var(--gold-light));width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{margin-bottom:var(--space-10);align-items:flex-start;display:flex;position:relative}.timeline-item:nth-child(odd){flex-direction:row}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-dot{background:var(--gold);border:3px solid var(--red);z-index:1;width:16px;height:16px;transition:transform var(--transition-base), box-shadow var(--transition-base);border-radius:50%;position:absolute;top:8px;left:50%;transform:translate(-50%)}.timeline-item:hover .timeline-dot{transform:translate(-50%)scale(1.3);box-shadow:0 0 12px #daa52066}.timeline-content{background:var(--bg-card);border-radius:var(--radius-md);width:45%;padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base), transform var(--transition-base)}.timeline-content:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.timeline-item:nth-child(odd) .timeline-content{margin-right:5%}.timeline-item:nth-child(2n) .timeline-content{margin-left:5%}.timeline-content h3{color:var(--red-dark);margin-bottom:var(--space-2);font-size:var(--text-lg)}.timeline-content .date{font-size:var(--text-sm);color:var(--gold-dark);font-weight:600}.timeline-content p{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2)}.gallery-grid{gap:var(--space-4);padding-bottom:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.gallery-item{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);aspect-ratio:4/3;cursor:pointer;position:relative;overflow:hidden}.gallery-item:hover{box-shadow:var(--shadow-md);transform:scale(1.03)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.08)}.member-grid{gap:var(--space-6);padding-bottom:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.member-card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base)}.member-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.member-card .avatar{object-fit:cover;width:80px;height:80px;margin:0 auto var(--space-3);background:linear-gradient(135deg, var(--gold-light), var(--gold));font-size:var(--text-3xl);color:#fff;letter-spacing:1px;transition:transform var(--transition-base);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.member-card:hover .avatar{transform:scale(1.1)}.member-card h3{font-size:var(--text-base);margin-bottom:var(--space-1)}.member-card .role{font-size:var(--text-sm);color:var(--red);margin-bottom:var(--space-2);font-weight:500}.member-card .motto{font-size:var(--text-xs);color:var(--text-secondary);font-style:italic;line-height:var(--leading-normal)}.page-banner{background:linear-gradient(135deg, var(--red), var(--red-dark));color:#fff;text-align:center;padding:var(--space-16) var(--space-6)}.page-banner h1{font-size:var(--text-3xl);letter-spacing:3px;font-weight:700}.page-banner p{margin-top:var(--space-3);opacity:.85;font-size:var(--text-base)}.honor-list{max-width:700px;padding:0 var(--space-6) var(--space-16);margin:0 auto}.honor-item{align-items:center;gap:var(--space-4);background:var(--bg-card);padding:var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);border-left:4px solid var(--gold);transition:box-shadow var(--transition-base), transform var(--transition-base);display:flex}.honor-item:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.honor-item .medal{text-align:center;flex-shrink:0;width:44px;font-size:28px}.honor-item h3{font-size:var(--text-base);color:var(--red-dark)}.honor-item .detail{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.activity-semester{margin-bottom:var(--space-12)}.activity-semester h2{text-align:center;font-size:var(--text-xl);color:var(--red-dark);margin-bottom:var(--space-2);letter-spacing:2px}.activity-semester .theme{text-align:center;font-size:var(--text-sm);color:var(--gold-dark);margin-bottom:var(--space-8);font-weight:600}.about-intro{max-width:800px;padding:0 var(--space-6) var(--space-16);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0 auto}.about-intro p{margin-bottom:var(--space-4);text-indent:2em}.fade-in-up{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.fade-in-up.visible{opacity:1;transform:translateY(0)}.fade-in{opacity:0;transition:opacity .5s ease-out}.fade-in.visible{opacity:1}.stagger-1{transition-delay:50ms}.stagger-2{transition-delay:.1s}.stagger-3{transition-delay:.15s}.stagger-4{transition-delay:.2s}.stagger-5{transition-delay:.25s}.stagger-6{transition-delay:.3s}.stagger-7{transition-delay:.35s}.stagger-8{transition-delay:.4s}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton}.lightbox-overlay{background:var(--bg-overlay);z-index:var(--z-modal);opacity:0;cursor:pointer;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.lightbox-overlay.show{opacity:1}.lightbox-overlay img{object-fit:contain;border-radius:var(--radius-sm);max-width:90vw;max-height:90vh;box-shadow:var(--shadow-xl);transition:transform .3s;transform:scale(.9)}.lightbox-overlay.show img{transform:scale(1)}.lightbox-close{top:var(--space-6);right:var(--space-6);color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--transition-fast);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute}.lightbox-close:hover{background:#ffffff4d}.text-center{text-align:center}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.ripple-btn{position:relative;overflow:hidden}.ripple-btn:after{content:"";background:radial-gradient(circle at var(--x,50%) var(--y,50%), #ffffff4d 0%, transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.ripple-btn:active:after{opacity:1}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.fade-in-up,.fade-in{opacity:1;transform:none}}@media (width<=768px){:root{--container-padding:16px}.hamburger{display:flex}.hero{padding:var(--space-12) var(--space-5)}.hero h1{font-size:var(--text-2xl);letter-spacing:2px}.hero .subtitle{font-size:var(--text-base)}.section-title{font-size:var(--text-xl);padding:var(--space-10) 0 var(--space-6)}.page-banner{padding:var(--space-10) var(--space-5)}.page-banner h1{font-size:var(--text-2xl)}.nav-links{background:linear-gradient(135deg, var(--red-dark), var(--red));justify-content:center;align-items:center;gap:var(--space-2);width:100%;height:100dvh;z-index:calc(var(--z-navbar) - 1);flex-direction:column;transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;transform:translate(100%)}.nav-links.show{transform:translate(0)}.nav-links a{font-size:var(--text-lg);padding:var(--space-3) var(--space-6);text-align:center;width:80%}.nav-links a.router-link-active:after{bottom:4px}.stats-row{gap:var(--space-6)}.stat-num{font-size:var(--text-3xl)}.card-grid{gap:var(--space-4);grid-template-columns:1fr}.gallery-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.gallery-item{aspect-ratio:1}.member-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.member-card{padding:var(--space-4)}.timeline:before,.timeline-dot{left:20px}.timeline-item,.timeline-item:nth-child(2n){flex-direction:row}.timeline-content{width:calc(100% - 50px);margin:0 0 0 35px!important}.about-intro{font-size:var(--text-sm)}}@media (width<=480px){.hero h1{font-size:var(--text-xl);letter-spacing:1px}.page-banner h1{font-size:var(--text-xl)}.section-title{font-size:var(--text-lg)}.member-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.member-card{padding:var(--space-3)}.member-card .avatar{width:60px;height:60px;font-size:var(--text-2xl)}.gallery-grid{gap:var(--space-1)}}@media (width>=1024px){.card-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:48px}}.page-enter-active{transition:all .3s ease-out}.page-leave-active{transition:all .2s ease-in}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-5px)}
