:root{--color-bg:#f8f6f3;--color-bg-card:#fff;--color-bg-glass:#ffffffb8;--color-primary:#7c6fea;--color-primary-light:#a99ef5;--color-primary-soft:#ece9fd;--color-accent:#5cc6a0;--color-accent-light:#a8e6cf;--color-text:#2d2b3d;--color-text-secondary:#6e6b80;--color-text-muted:#a09daf;--color-border:#e8e5f0;--color-border-hover:#d0cde0;--color-shadow:#7c6fea14;--color-shadow-hover:#7c6fea29;--color-danger:#ef6b6b;--color-danger-hover:#e04e4e;--color-success:#5cc6a0;--color-warning:#f5b461;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--shadow-sm:0 2px 8px var(--color-shadow);--shadow-md:0 4px 20px var(--color-shadow);--shadow-lg:0 8px 40px var(--color-shadow);--shadow-hover:0 8px 32px var(--color-shadow-hover);--transition-fast:.18s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 20% 0,#7c6fea0f 0%,#0000 50%),radial-gradient(at 80% 100%,#5cc6a00f 0%,#0000 50%);background-attachment:fixed;min-height:100vh;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:0;filter:blur(60px);border-radius:50%;position:fixed}body:before{background:radial-gradient(circle,#7c6fea1a 0%,#0000 70%);width:320px;height:320px;animation:12s ease-in-out infinite floatBlob;top:-80px;right:-60px}body:after{background:radial-gradient(circle,#5cc6a01a 0%,#0000 70%);width:280px;height:280px;animation:15s ease-in-out infinite reverse floatBlob;bottom:-60px;left:-40px}#app{z-index:1;flex-direction:column;align-items:center;width:100%;min-height:100vh;display:flex;position:relative}input,textarea,select{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}@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(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-12px)}to{opacity:1;max-height:300px;transform:translateY(0)}}@keyframes slideUp{0%{opacity:1;max-height:300px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-12px)}}@keyframes floatBlob{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-20px)scale(1.05)}50%{transform:translate(-20px,15px)scale(.95)}75%{transform:translate(15px,25px)scale(1.02)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #7c6fea26}50%{box-shadow:0 0 35px #7c6fea4d,0 0 60px #5cc6a01a}}@keyframes wiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes gradientRotate{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes breathe{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.03)rotate(1deg)}}.profile-header[data-v-794dd3eb]{text-align:center;padding:var(--space-2xl) var(--space-lg) var(--space-lg);animation:.6s both fadeInUp;position:relative}.profile-header__decor[data-v-794dd3eb]{background:linear-gradient(135deg, var(--color-primary-soft) 0%, #a8e6cf33 100%);filter:blur(40px);z-index:0;pointer-events:none;border-radius:50%;width:240px;height:240px;animation:6s ease-in-out infinite breathe;position:absolute;top:-60px;left:50%;transform:translate(-50%)}.profile-header__avatar-wrap[data-v-794dd3eb]{width:110px;height:110px;margin:0 auto var(--space-lg);z-index:1;animation:4s ease-in-out infinite float;position:relative}.profile-header__avatar[data-v-794dd3eb]{object-fit:cover;border:3px solid var(--color-bg-card);width:100%;height:100%;box-shadow:var(--shadow-md);opacity:0;border-radius:50%;transition:all .5s cubic-bezier(.34,1.56,.64,1);transform:scale(.9)}.profile-header__avatar--loaded[data-v-794dd3eb]{opacity:1;transform:scale(1)}.profile-header__avatar-ring[data-v-794dd3eb]{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);z-index:-1;border-radius:50%;animation:3s ease-in-out infinite pulse,4s ease-in-out infinite glowPulse;position:absolute;inset:-4px}.profile-header__name[data-v-794dd3eb]{color:var(--color-text);margin-bottom:var(--space-xs);letter-spacing:-.02em;z-index:1;font-size:1.6rem;font-weight:700;position:relative}.profile-header__bio[data-v-794dd3eb]{color:var(--color-text-secondary);max-width:340px;margin:0 auto var(--space-md);z-index:1;font-size:.92rem;line-height:1.6;position:relative}.profile-header__stats[data-v-794dd3eb]{z-index:1;position:relative}.profile-header__stat[data-v-794dd3eb]{background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-spring);padding:6px 16px;font-size:.82rem;animation:.6s .4s both bounceIn;display:inline-block}.profile-header__stat[data-v-794dd3eb]:hover{border-color:var(--color-primary-light);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:scale(1.08)}.link-card[data-v-dba3604f]{background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal);animation:.5s both fadeInUp;position:relative;overflow:hidden}.link-card[data-v-dba3604f]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#7c6fea0a,#0000);width:60%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.link-card[data-v-dba3604f]:hover:after{left:120%}.link-card[data-v-dba3604f]:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.link-card--pinned[data-v-dba3604f]{border-color:var(--color-primary-light);background:linear-gradient(135deg, #fefefe 0%, var(--color-primary-soft) 100%)}.pin-badge[data-v-dba3604f]{top:var(--space-sm);right:var(--space-sm);background:var(--color-primary-soft);color:var(--color-primary);border-radius:var(--radius-full);z-index:2;letter-spacing:.5px;padding:2px 8px;font-size:.7rem;font-weight:600;animation:.4s both bounceIn;position:absolute}.link-card__content[data-v-dba3604f]{align-items:center;gap:var(--space-md);padding:var(--space-lg);color:inherit;text-decoration:none;display:flex}.link-card__icon[data-v-dba3604f]{border-radius:var(--radius-md);width:48px;height:48px;transition:transform var(--transition-spring);flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.link-card:hover .link-card__icon[data-v-dba3604f]{animation:.6s wiggle}.link-card__info[data-v-dba3604f]{flex:1;min-width:0}.link-card__title[data-v-dba3604f]{color:var(--color-text);margin-bottom:2px;font-size:1rem;font-weight:600}.link-card__desc[data-v-dba3604f]{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.link-card__arrow[data-v-dba3604f]{color:var(--color-text-muted);transition:all var(--transition-fast);opacity:0;flex-shrink:0;font-size:1.2rem;transform:translate(-8px)}.link-card:hover .link-card__arrow[data-v-dba3604f]{opacity:1;color:var(--color-primary);transform:translate(0)}.link-card__actions[data-v-dba3604f]{gap:var(--space-xs);padding:0 var(--space-lg) var(--space-sm);animation:.2s fadeIn;display:flex}.action-btn[data-v-dba3604f]{border-radius:var(--radius-sm);transition:all var(--transition-fast);border:1px solid var(--color-border);background:var(--color-bg);padding:4px 10px;font-size:.78rem}.action-btn[data-v-dba3604f]:hover{transform:scale(1.08)}.action-btn--confirm[data-v-dba3604f]{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.action-btn--confirm[data-v-dba3604f]:hover{background:var(--color-danger-hover)}.action-btn--cancel[data-v-dba3604f]{color:var(--color-text-muted)}.link-card--pinned[data-v-dba3604f]{background:linear-gradient(135deg, #fefefe 0%, var(--color-primary-soft) 100%) padding-box, linear-gradient(135deg, var(--color-primary-light), var(--color-accent-light)) border-box;background-size:200% 200%;border-color:#0000;animation:.5s both fadeInUp,6s infinite gradientRotate}.add-form-wrap[data-v-c2e6ec11]{animation:.5s .2s both fadeInUp}.add-form__toggle[data-v-c2e6ec11]{width:100%;padding:var(--space-md) var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-glass);color:var(--color-text-secondary);justify-content:center;align-items:center;gap:var(--space-sm);transition:all var(--transition-normal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.92rem;font-weight:500;display:flex}.add-form__toggle[data-v-c2e6ec11]:hover{border-color:var(--color-primary-light);color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.add-form__toggle--active[data-v-c2e6ec11]{border-color:var(--color-danger);color:var(--color-danger);border-style:solid}.add-form__toggle--active[data-v-c2e6ec11]:hover{border-color:var(--color-danger);color:var(--color-danger);background:#fef0f0}.add-form__toggle-icon[data-v-c2e6ec11]{transition:transform var(--transition-spring);font-size:1.1rem}.add-form__toggle--active .add-form__toggle-icon[data-v-c2e6ec11]{transform:rotate(90deg)}.add-form[data-v-c2e6ec11]{margin-top:var(--space-md);padding:var(--space-lg);background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:.3s both scaleIn}.form-group[data-v-c2e6ec11]{margin-bottom:var(--space-md)}.form-label[data-v-c2e6ec11]{color:var(--color-text-secondary);margin-bottom:var(--space-xs);letter-spacing:.3px;font-size:.82rem;font-weight:600;display:block}.form-input[data-v-c2e6ec11]{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;color:var(--color-text);transition:all var(--transition-fast);outline:none;padding:10px 14px;font-size:.9rem}.form-input[data-v-c2e6ec11]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);transform:translateY(-1px)}.form-input[data-v-c2e6ec11]::placeholder{color:var(--color-text-muted)}.icon-picker[data-v-c2e6ec11]{gap:var(--space-sm);flex-wrap:wrap;display:flex}.icon-option[data-v-c2e6ec11]{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);background:var(--color-bg);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.icon-option[data-v-c2e6ec11]:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm);transform:scale(1.15)rotate(-5deg)}.icon-option--selected[data-v-c2e6ec11]{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary-soft);animation:.3s bounceIn}.color-picker[data-v-c2e6ec11]{gap:var(--space-sm);flex-wrap:wrap;display:flex}.color-option[data-v-c2e6ec11]{cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:flex}.color-option[data-v-c2e6ec11]:hover{transform:scale(1.2);box-shadow:0 2px 12px #0000001a}.color-option--selected[data-v-c2e6ec11]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.color-check[data-v-c2e6ec11]{color:var(--color-primary);font-size:.78rem;font-weight:700}.sr-only[data-v-c2e6ec11]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-submit[data-v-c2e6ec11]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:#fff;border-radius:var(--radius-sm);width:100%;transition:all var(--transition-normal);margin-top:var(--space-sm);background-size:200% 200%;padding:12px;font-size:.92rem;font-weight:600;animation:4s infinite gradientRotate;position:relative;overflow:hidden}.form-submit[data-v-c2e6ec11]:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.form-submit[data-v-c2e6ec11]:hover:after{left:100%}.form-submit[data-v-c2e6ec11]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c6fea59}.form-submit[data-v-c2e6ec11]:active{transform:translateY(0)scale(.98)}.page[data-v-ea640c97]{width:100%;min-height:100vh;padding:var(--space-md)}.container[data-v-ea640c97]{max-width:480px;padding-bottom:var(--space-2xl);margin:0 auto}.toolbar[data-v-ea640c97]{gap:var(--space-sm);margin-bottom:var(--space-lg);animation:.5s .1s both fadeInUp;display:flex}.search-bar[data-v-ea640c97]{flex:1;align-items:center;display:flex;position:relative}.search-bar__icon[data-v-ea640c97]{pointer-events:none;font-size:.9rem;position:absolute;left:12px}.search-bar__input[data-v-ea640c97]{border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-card);width:100%;color:var(--color-text);transition:all var(--transition-fast);outline:none;padding:10px 36px;font-size:.88rem}.search-bar__input[data-v-ea640c97]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);transform:translateY(-1px)}.search-bar__input[data-v-ea640c97]::placeholder{color:var(--color-text-muted)}.search-bar__clear[data-v-ea640c97]{background:var(--color-border);width:22px;height:22px;color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;display:flex;position:absolute;right:10px}.search-bar__clear[data-v-ea640c97]:hover{background:var(--color-danger);color:#fff;transform:rotate(90deg)scale(1.1)}.filter-btn[data-v-ea640c97]{border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-card);color:var(--color-text-secondary);white-space:nowrap;transition:all var(--transition-fast);padding:10px 16px;font-size:.82rem;font-weight:500}.filter-btn[data-v-ea640c97]:hover{border-color:var(--color-primary-light);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.filter-btn--active[data-v-ea640c97]{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.links-list[data-v-ea640c97]{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.empty-state[data-v-ea640c97]{text-align:center;padding:var(--space-2xl) var(--space-lg);animation:.3s fadeIn}.empty-state__icon[data-v-ea640c97]{margin-bottom:var(--space-md);opacity:.6;font-size:2.5rem;animation:3s ease-in-out infinite float;display:block}.empty-state__text[data-v-ea640c97]{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.92rem}.empty-state__btn[data-v-ea640c97]{background:var(--color-primary-soft);color:var(--color-primary);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:8px 20px;font-size:.85rem;font-weight:500}.empty-state__btn[data-v-ea640c97]:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #7c6fea40}.page-footer[data-v-ea640c97]{text-align:center;padding:var(--space-xl) 0 var(--space-md);color:var(--color-text-muted);letter-spacing:.5px;transition:color var(--transition-fast);font-size:.78rem;animation:.5s .4s both fadeIn}.page-footer[data-v-ea640c97]:hover{color:var(--color-primary)}
