:root{--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-accent:#0ea5e9;--color-surface:#fff;--color-bg:#f8fafc;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-sm:0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 12px rgba(15,23,42,.06);--shadow-lg:0 12px 40px rgba(15,23,42,.08);--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1)}*,:after,:before{box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:0 24px;width:100%}.header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffe0;border-bottom:1px solid rgba(226,232,240,.6);position:sticky;top:0;transition:box-shadow var(--transition-base);z-index:50}.header:before{background:linear-gradient(135deg,#4f46e50a,#0ea5e90a,#8b5cf608);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.header.scrolled{box-shadow:var(--shadow-md)}.header .container{height:64px;justify-content:space-between}.header .container,.logo-link{align-items:center;display:flex}.logo-link{gap:10px;text-decoration:none;transition:opacity var(--transition-fast)}.logo-link:hover{opacity:.8}.logo-mark{align-items:center;display:flex;justify-content:center}.logo-text{color:var(--color-text);font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.nav-link{border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:14px;font-weight:500;padding:8px 16px;position:relative;text-decoration:none;transition:all var(--transition-fast)}.nav-link:hover{background:#4f46e50f;color:var(--color-primary)}.nav-link.router-link-active{background:#4f46e514;color:var(--color-primary);font-weight:600}.main{flex:1}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:auto;padding:48px 0 32px}.footer-content{text-align:center}.footer-brand{align-items:center;display:inline-flex;gap:8px;margin-bottom:8px}.footer-name{color:var(--color-text);font-size:16px;font-weight:700}.footer-desc{font-size:13px;margin:0 0 16px}.footer-copy,.footer-desc{color:var(--color-text-muted)}.footer-copy{font-size:12px;margin:0;opacity:.7}.footer-domain{color:var(--color-primary);opacity:.85;text-decoration:none;transition:opacity var(--transition-fast)}.footer-domain:hover{opacity:1;text-decoration:underline}.footer-icp{color:var(--color-text-muted);opacity:.7;text-decoration:none;transition:opacity var(--transition-fast)}.footer-icp:hover{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}.animate-fade-in-up{animation:fadeInUp .6s var(--transition-slow) forwards}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-scale-in{animation:scaleIn .5s var(--transition-slow) forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.will-animate{opacity:0}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.btn-primary{overflow:hidden;position:relative;transition:all var(--transition-base)}.btn-primary:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform:translate(-100%);transition:transform .6s ease}.btn-primary:hover:after{transform:translate(100%)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:768px){.container{padding:0 16px}.header .container{height:56px}.logo-text{font-size:18px}}
