:root{--primary: #4F46E5;--primary-light: #6366F1;--primary-dark: #4338CA;--secondary: #7C3AED;--secondary-dark: #6D28D9;--gradient: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);--gradient-hover: linear-gradient(135deg, #4338CA 0%, #6D28D9 100%);--gradient-subtle: linear-gradient(135deg, rgba(79, 70, 229, .1) 0%, rgba(124, 58, 237, .1) 100%);--bg: #F9FAFB;--bg-elevated: #FFFFFF;--bg-dark: #111827;--bg-overlay: rgba(0, 0, 0, .5);--text: #111827;--text-secondary: #4B5563;--text-light: #6B7280;--text-muted: #9CA3AF;--text-white: #FFFFFF;--border: #E5E7EB;--border-light: #F3F4F6;--border-dark: #D1D5DB;--card: #FFFFFF;--card-hover: #FAFAFA;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow: 0 4px 6px rgba(0, 0, 0, .05), 0 10px 15px rgba(0, 0, 0, .03);--shadow-md: 0 10px 20px rgba(0, 0, 0, .08), 0 3px 6px rgba(0, 0, 0, .04);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .1), 0 5px 10px rgba(0, 0, 0, .05);--shadow-xl: 0 25px 50px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--shadow-primary: 0 4px 20px rgba(79, 70, 229, .3);--shadow-primary-hover: 0 8px 30px rgba(79, 70, 229, .4);--radius-none: 0;--radius-xs: 4px;--radius-sm: 8px;--radius: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--space-0: 0;--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;--max-width: 1200px;--max-width-sm: 480px;--navbar-height: 64px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 32px;--text-4xl: 38px;--text-5xl: 48px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .3s;--duration-slower: .4s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--z-navbar: 300;--z-toast: 800}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.navbar{position:sticky;top:0;z-index:var(--z-navbar);background:var(--gradient);box-shadow:0 2px 20px #4f46e54d;transition:box-shadow var(--duration-normal) var(--ease-out)}.navbar--scrolled{box-shadow:0 4px 30px #4f46e566}.navbar-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6);height:var(--navbar-height);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-icon{font-size:28px}.brand-text{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-white);letter-spacing:.5px}.nav-links{display:flex;align-items:center;gap:var(--space-2)}.nav-link{color:#ffffffd9;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--duration-fast) var(--ease-out);cursor:pointer}.nav-link:hover,.nav-link.router-link-active{color:#fff;background:#ffffff26}.logout-link{border:none;background:transparent}.logout-link:hover{background:#ffffff26}.main-content{min-height:calc(100vh - var(--navbar-height) - 60px)}.footer{text-align:center;padding:var(--space-5);color:var(--text-light);font-size:var(--text-sm);background:var(--card);border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);line-height:var(--leading-snug);will-change:transform;transform:translateZ(0);font-family:inherit}.btn-primary{background:var(--gradient);color:var(--text-white);box-shadow:var(--shadow-primary)}.btn-primary:hover{background:var(--gradient-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary-hover)}.btn-primary:active{transform:translateY(0)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.btn-ghost{background:transparent;color:var(--text-light)}.btn-ghost:hover{background:#4f46e514;color:var(--primary)}.btn-block{width:100%}.btn-lg{padding:14px 32px;font-size:var(--text-base)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-loader{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:6px;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text);margin-bottom:var(--space-2)}.form-label .required{color:#ef4444;margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--text);background:var(--card);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);outline:none;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #ef444426}.form-textarea{resize:vertical;min-height:100px}.form-error{color:#ef4444;font-size:var(--text-xs);margin-top:var(--space-1);display:flex;align-items:center;gap:4px;animation:shake .4s var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.page-container{max-width:var(--max-width);margin:0 auto;padding:var(--space-10) var(--space-6)}.page-container-sm{max-width:var(--max-width-sm);margin:0 auto;padding:var(--space-12) var(--space-6)}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out) forwards}.animate-fade-in{animation:fadeIn .4s var(--ease-out) 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}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.page-enter-active,.page-leave-active{transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.page-enter-from{opacity:0;transform:translate(10px)}.page-leave-to{opacity:0;transform:translate(-10px)}.list-enter-active,.list-leave-active{transition:all .4s var(--ease-out)}.list-enter-from,.list-leave-to{opacity:0;transform:translateY(20px)}.list-leave-active{position:absolute}.toast-enter-active,.toast-leave-active{transition:all .3s var(--ease-out)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(10px)}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 768px){.navbar-inner{padding:0 var(--space-4)}.brand-text{font-size:var(--text-lg)}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.page-container{padding:var(--space-6) var(--space-4)}.page-container-sm{padding:var(--space-10) var(--space-4)}}.project-card[data-v-b2a6ddb6]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .3s ease;position:relative;overflow:visible}.project-card[data-v-b2a6ddb6]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-header[data-v-b2a6ddb6]{display:flex;gap:16px;align-items:flex-start}.project-icon[data-v-b2a6ddb6]{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;overflow:hidden}.icon-img[data-v-b2a6ddb6]{width:100%;height:100%;object-fit:cover;border-radius:14px}.icon-emoji[data-v-b2a6ddb6]{font-size:28px}.project-name[data-v-b2a6ddb6]{font-size:17px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.3}.project-desc[data-v-b2a6ddb6]{font-size:13px;color:var(--text-light);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags[data-v-b2a6ddb6]{display:flex;flex-wrap:wrap;gap:6px}.tag[data-v-b2a6ddb6]{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;background:#4f46e514;color:var(--primary)}.card-entries[data-v-b2a6ddb6]{display:flex;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.entry-btn[data-v-b2a6ddb6]{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-light);background:var(--bg);transition:all .2s;cursor:pointer;border:none}a.entry-btn[data-v-b2a6ddb6]:hover{color:var(--primary);background:#4f46e514}.entry-btn--miniapp[data-v-b2a6ddb6]{cursor:pointer}.entry-btn--miniapp[data-v-b2a6ddb6]:hover{color:#07c160;background:#07c16014}.card-footer[data-v-b2a6ddb6]{display:flex;justify-content:flex-end}.apply-btn[data-v-b2a6ddb6]{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;background:var(--gradient);color:#fff;border-radius:6px;font-size:13px;font-weight:600;transition:all .25s;box-shadow:0 2px 8px #4f46e540}.apply-btn[data-v-b2a6ddb6]:hover{background:var(--gradient-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4f46e559}.miniapp-toast[data-v-b2a6ddb6]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:10;pointer-events:none}.toast-content[data-v-b2a6ddb6]{display:flex;align-items:center;gap:8px;background:var(--bg-dark);color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;white-space:nowrap;box-shadow:0 4px 20px #0003}.toast-icon[data-v-b2a6ddb6]{font-size:16px}.toast-fade-enter-active[data-v-b2a6ddb6],.toast-fade-leave-active[data-v-b2a6ddb6]{transition:opacity .3s,transform .3s}.toast-fade-enter-from[data-v-b2a6ddb6],.toast-fade-leave-to[data-v-b2a6ddb6]{opacity:0;transform:translate(-50%) translateY(4px)}@media (max-width: 768px){.project-card[data-v-b2a6ddb6]{padding:18px}.project-icon[data-v-b2a6ddb6]{width:48px;height:48px;border-radius:12px}.icon-emoji[data-v-b2a6ddb6]{font-size:24px}.project-name[data-v-b2a6ddb6]{font-size:16px}.project-desc[data-v-b2a6ddb6]{font-size:13px;-webkit-line-clamp:3}}.hero[data-v-c55f5577]{position:relative;overflow:hidden;padding:80px 24px 60px}.hero-bg[data-v-c55f5577]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);opacity:.06}.hero-bg[data-v-c55f5577]:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(79,70,229,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(124,58,237,.1) 0%,transparent 50%)}.hero-content[data-v-c55f5577]{position:relative;max-width:700px;margin:0 auto;text-align:center}.hero-badge[data-v-c55f5577]{display:inline-block;padding:6px 16px;background:#4f46e51a;color:var(--primary);border-radius:20px;font-size:13px;font-weight:600;margin-bottom:20px;border:1px solid rgba(79,70,229,.15)}.hero-title[data-v-c55f5577]{font-size:38px;font-weight:800;color:var(--text);line-height:1.2;margin-bottom:16px;letter-spacing:-.5px}.hero-desc[data-v-c55f5577]{font-size:16px;color:var(--text-light);line-height:1.7;margin-bottom:40px}.hero-stats[data-v-c55f5577]{display:flex;align-items:center;justify-content:center;gap:32px;padding:24px 40px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);max-width:480px;margin:0 auto}.stat-item[data-v-c55f5577]{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-num[data-v-c55f5577]{font-size:24px;font-weight:800;color:var(--primary)}.stat-label[data-v-c55f5577]{font-size:12px;color:var(--text-light);font-weight:500}.stat-divider[data-v-c55f5577]{width:1px;height:36px;background:var(--border)}.projects-section[data-v-c55f5577]{padding:40px 0 60px}.section-header[data-v-c55f5577]{text-align:center;margin-bottom:40px}.section-title[data-v-c55f5577]{font-size:26px;font-weight:700;color:var(--text);margin-bottom:8px}.section-desc[data-v-c55f5577]{font-size:14px;color:var(--text-light)}.loading-grid[data-v-c55f5577]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.skeleton-card[data-v-c55f5577]{background:var(--card);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:16px;animation:pulse-c55f5577 1.5s ease-in-out infinite}.skeleton-icon[data-v-c55f5577]{width:56px;height:56px;border-radius:14px;background:var(--border)}.skeleton-text[data-v-c55f5577]{height:16px;border-radius:4px;background:var(--border);width:100%}.skeleton-text.short[data-v-c55f5577]{width:60%}.skeleton-tags[data-v-c55f5577]{height:28px;border-radius:14px;background:var(--border);width:40%}@keyframes pulse-c55f5577{0%,to{opacity:1}50%{opacity:.6}}.error-state[data-v-c55f5577],.empty-state[data-v-c55f5577]{text-align:center;padding:60px 24px;background:var(--card);border-radius:var(--radius);border:1px dashed var(--border)}.error-icon[data-v-c55f5577],.empty-icon[data-v-c55f5577]{font-size:48px;margin-bottom:16px}.error-state p[data-v-c55f5577],.empty-state p[data-v-c55f5577]{color:var(--text-light);margin-bottom:20px;font-size:15px}.projects-grid[data-v-c55f5577]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.agent-banner[data-v-c55f5577]{background:var(--gradient);padding:0;margin:0}.banner-content[data-v-c55f5577]{max-width:var(--max-width);margin:0 auto;padding:32px 24px;display:flex;align-items:center;gap:24px}.banner-icon[data-v-c55f5577]{font-size:48px;flex-shrink:0}.banner-text[data-v-c55f5577]{flex:1;color:#fff}.banner-text h3[data-v-c55f5577]{font-size:20px;font-weight:700;margin-bottom:6px}.banner-text p[data-v-c55f5577]{font-size:14px;opacity:.85}.banner-btn[data-v-c55f5577]{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:#fff;color:var(--primary);border-radius:var(--radius-sm);font-size:15px;font-weight:700;transition:all .25s;flex-shrink:0;box-shadow:0 4px 16px #00000026}.banner-btn[data-v-c55f5577]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0003}.icp-footer[data-v-c55f5577]{text-align:center;padding:24px;color:var(--text-light);font-size:13px;border-top:1px solid var(--border);background:var(--bg)}@media (max-width: 768px){.hero[data-v-c55f5577]{padding:50px 16px 40px}.hero-title[data-v-c55f5577]{font-size:26px}.hero-desc[data-v-c55f5577]{font-size:14px}.hero-stats[data-v-c55f5577]{gap:20px;padding:20px 24px}.stat-num[data-v-c55f5577]{font-size:20px}.projects-grid[data-v-c55f5577]{grid-template-columns:1fr}.banner-content[data-v-c55f5577]{flex-direction:column;text-align:center;gap:16px}.banner-text h3[data-v-c55f5577]{font-size:18px}}
