.honor-wall[data-v-7bcf6751]{--wall-surface: rgba(255, 255, 255, .9);--wall-border: rgba(229, 231, 235, .92);--wall-shadow: 0 20px 48px rgba(15, 23, 42, .08);--wall-accent: #d97706;--wall-accent-soft: #fff4df;--wall-title: #172033;--wall-text: #5f6b7a;padding:24px 20px 64px;max-width:1240px;margin:0 auto;min-height:calc(100vh - 150px);background:radial-gradient(circle at 100% 0%,rgba(245,158,11,.18),transparent 28%),radial-gradient(circle at 0% 24%,rgba(251,191,36,.12),transparent 25%),linear-gradient(180deg,#fffaf3,#fff 38%)}.hero-panel[data-v-7bcf6751]{position:relative;padding:32px;border-radius:30px;background:linear-gradient(135deg,#fffffff5,#fff6e6f0);border:1px solid rgba(245,158,11,.18);box-shadow:0 24px 54px #92611c1a;overflow:hidden}.hero-panel[data-v-7bcf6751]:after{content:"";position:absolute;width:240px;height:240px;top:-120px;right:-80px;border-radius:50%;background:radial-gradient(circle,#f59e0b38,#f59e0b00);pointer-events:none}.hero-copy[data-v-7bcf6751]{position:relative;z-index:1}.hero-kicker[data-v-7bcf6751],.section-kicker[data-v-7bcf6751]{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--wall-accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-kicker[data-v-7bcf6751]:before,.section-kicker[data-v-7bcf6751]:before{content:"";width:24px;height:1px;background:currentColor}.hero-copy h1[data-v-7bcf6751]{margin:0;font-size:clamp(34px,5vw,52px);line-height:1.05;color:var(--wall-title);letter-spacing:-.04em}.year-section[data-v-7bcf6751]{margin-top:28px;padding:28px;border-radius:28px;background:var(--wall-surface);border:1px solid var(--wall-border);box-shadow:var(--wall-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.year-header[data-v-7bcf6751]{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}.year-header h2[data-v-7bcf6751]{margin:0;font-size:42px;line-height:1;color:var(--wall-title)}.batch-section[data-v-7bcf6751]{padding:20px;border-radius:24px;background:linear-gradient(180deg,#fffaf1ad,#fffffffa);border:1px solid rgba(236,239,244,.94)}.batch-section+.batch-section[data-v-7bcf6751]{margin-top:18px}.batch-header[data-v-7bcf6751]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.batch-header h3[data-v-7bcf6751]{margin:0;font-size:24px;color:var(--wall-title)}.photos[data-v-7bcf6751]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;align-items:start}.photo-item[data-v-7bcf6751]{position:relative;width:min(100%,240px);justify-self:start;display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:24px;background:linear-gradient(180deg,#fff,#fffaf2);border:1px solid rgba(229,231,235,.95);box-shadow:0 12px 24px #0f172a12;cursor:pointer;transform-origin:center;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;animation:card-enter-7bcf6751 .45s ease both}.photo-item[data-v-7bcf6751]:hover{transform:translateY(-6px) scale(1.03);border-color:#d97706b8;box-shadow:0 18px 32px #d9770624}.photo-frame[data-v-7bcf6751]{position:relative;padding:10px;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#eef2f6);overflow:hidden}.photo-frame[data-v-7bcf6751]:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffffc7;pointer-events:none}.photo-img[data-v-7bcf6751]{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;background:#fff}.photo-info[data-v-7bcf6751]{display:flex;flex-direction:column;gap:6px}.school-name[data-v-7bcf6751]{margin:0;font-size:18px;font-weight:700;line-height:1.35;color:var(--wall-title);transition:color .24s ease}.photo-meta[data-v-7bcf6751]{margin:0;font-size:13px;line-height:1.5;color:var(--wall-text);transition:color .24s ease}.photo-item:hover .school-name[data-v-7bcf6751]{color:#b45309}.photo-item:hover .photo-meta[data-v-7bcf6751]{color:#d97706}.empty-state[data-v-7bcf6751]{margin-top:28px;padding:54px 24px;border-radius:28px;text-align:center;background:#ffffffe6;border:1px solid var(--wall-border);box-shadow:var(--wall-shadow)}.empty-state h2[data-v-7bcf6751]{margin:0;font-size:28px;color:var(--wall-title)}.empty-state p[data-v-7bcf6751]{margin:14px auto 0;max-width:520px;font-size:15px;line-height:1.8;color:var(--wall-text)}.dialog-body[data-v-7bcf6751]{display:flex;flex-direction:column;gap:16px}.dialog-image[data-v-7bcf6751]{display:block;width:100%;border-radius:20px;border:1px solid rgba(229,231,235,.94);background:#f8fafc}.dialog-caption[data-v-7bcf6751]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.dialog-title[data-v-7bcf6751],.dialog-meta[data-v-7bcf6751]{margin:0}.dialog-title[data-v-7bcf6751]{font-size:18px;font-weight:700;color:var(--wall-title)}.dialog-meta[data-v-7bcf6751]{font-size:14px;color:var(--wall-text)}[data-v-7bcf6751] .honor-dialog{border-radius:24px;overflow:hidden}[data-v-7bcf6751] .honor-dialog .el-dialog__header{margin-right:0;padding:22px 24px 0}[data-v-7bcf6751] .honor-dialog .el-dialog__title{font-size:20px;font-weight:700;color:var(--wall-title)}[data-v-7bcf6751] .honor-dialog .el-dialog__body{padding:18px 24px 24px}@keyframes card-enter-7bcf6751{0%{opacity:0}to{opacity:1}}@media(max-width:720px){.honor-wall[data-v-7bcf6751]{padding:16px 14px 42px}.hero-panel[data-v-7bcf6751]{padding:22px 18px;border-radius:24px}.year-section[data-v-7bcf6751]{padding:20px 16px;border-radius:22px}.year-header[data-v-7bcf6751]{align-items:flex-start;flex-direction:column}.year-header h2[data-v-7bcf6751]{font-size:30px}.batch-section[data-v-7bcf6751]{padding:16px;border-radius:18px}.batch-header[data-v-7bcf6751]{align-items:flex-start;flex-direction:column}.batch-header h3[data-v-7bcf6751]{font-size:20px}.photos[data-v-7bcf6751]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.photo-item[data-v-7bcf6751]{width:100%;padding:12px;border-radius:20px}.school-name[data-v-7bcf6751]{font-size:16px}[data-v-7bcf6751] .honor-dialog .el-dialog__header{padding:18px 18px 0}[data-v-7bcf6751] .honor-dialog .el-dialog__body{padding:16px 18px 18px}}
