:root{color-scheme:light;--brand: #0F52BA;--brand-light: #E6F0FF;--brand-dark: #0A3A8C;--campus: #10B981;--campus-light: #D1FAE5;--campus-dark: #059669;--playground: #06B6D4;--playground-light: #CFFAFE;--playground-dark: #0891B2;--news: #3B82F6;--news-light: #DBEAFE;--news-dark: #2563EB;--secretary: #F97316;--secretary-light: #FFEDD5;--secretary-dark: #EA580C;--forge: #EF4444;--forge-light: #FEE2E2;--forge-dark: #DC2626;--arms: #8B5CF6;--arms-light: #EDE9FE;--arms-dark: #7C3AED;--admin: #64748B;--admin-light: #F1F5F9;--admin-dark: #475569;--bg: #FFFFFF;--bg2: #F8FAFC;--bg3: #F1F5F9;--text-1: #0F172A;--text-2: #64748B;--text-3: #94A3B8;--border: #E2E8F0;--border-dark: #CBD5E1;--success: #22C55E;--success-light: #DCFCE7;--warning: #F59E0B;--warning-light: #FEF3C7;--error: #EF4444;--error-light: #FEE2E2;--info: #3B82F6;--info-light: #DBEAFE;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--s9: 48px;--r-btn: 12px;--r-card: 16px;--r-input: 10px;--r-tag: 8px;--r-icon: 12px;--r-pill: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.03), 0 2px 8px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.04), 0 4px 24px rgba(0,0,0,.06);--shadow-lg: 0 4px 12px rgba(0,0,0,.04), 0 8px 32px rgba(0,0,0,.08);--shadow-xl: 0 8px 24px rgba(0,0,0,.06), 0 16px 48px rgba(0,0,0,.1);--z-dropdown: 100;--z-sticky: 200;--z-modal: 500;--z-toast: 600;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .15s;--duration: .25s;--duration-slow: .4s;--primary: var(--brand)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #1A1A2E;--bg2: #16213E;--bg3: #222244;--text-1: #F0F0F5;--text-2: #A0A0B8;--text-3: #6B6B80;--border: #2E2E4A;--border-dark: #3A3A5C;--shadow-sm: 0 1px 3px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.16);--shadow: 0 2px 8px rgba(0,0,0,.12), 0 4px 24px rgba(0,0,0,.18);--shadow-lg: 0 4px 12px rgba(0,0,0,.12), 0 8px 32px rgba(0,0,0,.2);--shadow-xl: 0 8px 24px rgba(0,0,0,.16), 0 16px 48px rgba(0,0,0,.24)}.card{border:1px solid var(--border)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg2);color:var(--text-1);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.page{padding:var(--s5);padding-bottom:40px;animation:pageIn var(--duration) var(--ease)}.card{background:var(--bg);border:none;border-radius:var(--r-card);padding:var(--s4);box-shadow:var(--shadow);transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration) var(--ease)}.card:active{transform:scale(.98)}.card:hover .chevron-right{transform:translate(3px)}.card:hover .card-img{transform:scale(1.04)}.card-img{transition:transform .4s var(--ease);overflow:hidden}input,select,textarea{width:100%;background:var(--bg);border:1.5px solid var(--border);color:var(--text-1);padding:14px var(--s4);border-radius:var(--r-input);font-size:16px;outline:none;transition:border-color var(--duration),box-shadow var(--duration)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent);animation:focusPulse 1.8s ease infinite}@keyframes focusPulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 6%,transparent)}}input::placeholder,textarea::placeholder{color:var(--text-3)}textarea{min-height:80px;resize:vertical}.btn{height:52px;padding:0 var(--s6);border-radius:var(--r-btn);font-size:16px;font-weight:600;letter-spacing:-.2px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);transition:transform var(--duration-fast) var(--ease),background var(--duration) var(--ease),box-shadow var(--duration) var(--ease),opacity var(--duration)}.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease,opacity .4s;opacity:1;pointer-events:none}.btn:active:after{width:300%;height:300%;opacity:0;transition:0s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover{opacity:.92}.btn-secondary{background:transparent;color:var(--primary);border:1.5px solid var(--border)}.btn-secondary:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.btn-ghost{background:transparent;color:var(--primary);border:none}.btn-ghost:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}.btn-sm{height:36px;padding:0 var(--s4);font-size:14px;border-radius:var(--r-input)}.btn-lg{height:56px;padding:0 var(--s7);font-size:17px}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.badge{display:inline-flex;align-items:center;gap:var(--s1);padding:2px 8px;border-radius:var(--r-tag);font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.badge-success{background:#ecfdf5;color:#059669}.badge-warning{background:#fffbeb;color:#d97706}.badge-error{background:#fef2f2;color:#dc2626}.badge-info{background:#eff6ff;color:#2563eb}.badge-neutral{background:#f3f4f6;color:#6b7280}.badge-pill{border-radius:var(--r-pill);padding:2px 10px}@media(min-width:768px){.page{max-width:960px;margin:0 auto;padding:var(--s6) var(--s7)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary:hover{transform:translateY(-1px);opacity:.92}.btn-secondary:hover{transform:translateY(-1px)}.desktop-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.desktop-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}input,select,textarea{font-size:14px}}@media(min-width:1024px){.page{max-width:1120px}.desktop-sidebar{display:grid;grid-template-columns:240px 1fr;gap:var(--s6)}}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes toastBounce{0%{opacity:0;transform:translate(-50%) translateY(-110%)}60%{opacity:1;transform:translate(-50%) translateY(6px)}80%{transform:translate(-50%) translateY(-3px)}to{transform:translate(-50%) translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes listIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:listIn .35s var(--ease) forwards;animation-delay:calc(var(--i, 0) * 50ms)}.skeleton{background:linear-gradient(90deg,var(--bg2) 25%,var(--border) 50%,var(--bg2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--r-tag);animation-delay:calc(var(--i, 0) * .12s)}::view-transition-old(root){animation:vtSlideOut .25s var(--ease) both}::view-transition-new(root){animation:vtSlideIn .25s var(--ease) both}@keyframes vtSlideOut{to{opacity:0;transform:translate(-8%)}}@keyframes vtSlideIn{0%{opacity:0;transform:translate(8%)}}[data-vt-dir=back]~::view-transition-old(root){animation-name:vtSlideInReverse}[data-vt-dir=back]~::view-transition-new(root){animation-name:vtSlideOutReverse}@keyframes vtSlideOutReverse{to{opacity:0;transform:translate(8%)}}@keyframes vtSlideInReverse{0%{opacity:0;transform:translate(-8%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
