.notification-enter-active[data-v-a59b3ae4],.notification-leave-active[data-v-a59b3ae4]{transition:transform .3s cubic-bezier(.4,0,.2,1)}.notification-enter-from[data-v-a59b3ae4],.notification-leave-to[data-v-a59b3ae4]{transform:translate(120%)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1e40af;--primary-light: #3b82f6;--accent: #0ea5e9;--accent-glow: rgba(14, 165, 233, .4);--bg-dark: #0f172a;--bg-darker: #020617;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--gradient-primary: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);--gradient-surface: linear-gradient(135deg, rgba(37, 99, 235, .1) 0%, rgba(14, 165, 233, .05) 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 40px var(--accent-glow);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:SF Pro Text,SF Pro Display,PingFang TC,PingFang SC,Helvetica Neue,Helvetica,Microsoft JhengHei,Segoe UI,Segoe,Roboto,Arial,sans-serif;background:var(--bg-darker);color:var(--text-primary);line-height:1.6;overflow-x:hidden}.particle-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.main-container{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.hero-section{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.hero-content{max-width:700px;width:100%;text-align:center;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-title{margin-bottom:3rem}.title-main{display:block;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-sub{display:block;font-size:clamp(1rem,3vw,1.25rem);font-weight:400;color:var(--text-secondary)}.progress-info{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2rem;margin-bottom:2.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:var(--transition)}.progress-info:hover{background:var(--surface-hover);border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:500}.progress-percent{color:var(--accent);font-size:1.25rem;font-weight:600}.progress-track{width:100%;height:10px;background:#ffffff1a;border-radius:10px;overflow:hidden;margin-bottom:1rem}.progress-bar{height:100%;background:var(--gradient-primary);border-radius:10px;width:0%;transition:width 2s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 20px var(--accent-glow)}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-desc{color:var(--text-muted);font-size:.9rem;margin:0}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.contact-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;text-decoration:none;color:var(--text-primary);transition:var(--transition);cursor:pointer;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.contact-item:hover{background:var(--surface-hover);border-color:var(--primary-light);transform:translateY(-3px);box-shadow:var(--shadow-md)}.contact-item:active{transform:translateY(-1px)}.contact-icon{width:48px;height:48px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}.contact-icon svg{width:24px;height:24px;color:#fff}.contact-item:hover .contact-icon{transform:rotate(-5deg) scale(1.1)}.contact-details{display:flex;flex-direction:column;gap:.25rem;flex:1;text-align:left}.contact-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.contact-value{font-size:1rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;word-break:break-all}.footer{padding:2rem;text-align:center;border-top:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.footer p{color:var(--text-muted);font-size:.875rem}.notification-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.notification{background:var(--gradient-primary);color:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:500;transform:translate(120%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem}.notification.show{transform:translate(0)}.notification.error{background:linear-gradient(135deg,#dc2626,#ef4444)}@media (max-width: 768px){.shape{animation-duration:40s}.progress-bar:after{display:none}.hero-section{padding:2rem 1.5rem}.progress-info{padding:1.5rem}.contact-grid{grid-template-columns:1fr}}@media (max-width: 480px){.contact-item{padding:1rem}.contact-icon{width:40px;height:40px}.contact-icon svg{width:20px;height:20px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.contact-item:focus{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.contact-item,.progress-info{will-change:transform}.contact-item:hover,.progress-info:hover{will-change:auto}
