.music-player--mini[data-v-a47a6014]{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:40px;background:#ffffffd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 24px #0000001f,inset 0 0 0 1px #fff9;user-select:none;-webkit-user-select:none}.music-player--mini[data-v-a47a6014]:hover{background:#ffffffeb;box-shadow:0 6px 32px #00000029,inset 0 0 0 1px #ffffffb3}.music-player__mini-icon[data-v-a47a6014]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.music-player__mini-icon .music-player__icon-svg[data-v-a47a6014]{width:26px;height:26px}.music-player__mini-info[data-v-a47a6014]{display:flex;flex-direction:column;min-width:0;max-width:120px}.music-player__mini-title[data-v-a47a6014]{font-size:13px;font-weight:600;color:#2d2d3a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-player__mini-artist[data-v-a47a6014]{font-size:11px;color:#6a6a8a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-player__mini-btn[data-v-a47a6014]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:linear-gradient(135deg,#7ec8e3,#a78bfa);color:#fff;cursor:pointer;outline:none;transition:all .2s ease}.music-player__mini-btn[data-v-a47a6014]:hover{opacity:.85;transform:scale(1.05)}.music-player__mini-btn[data-v-a47a6014]:active{transform:scale(.95)}.music-player__mini-btn[data-v-a47a6014]:disabled{opacity:.4;cursor:not-allowed;transform:none}.music-player__mini-btn.music-player__btn--loading[data-v-a47a6014]{pointer-events:none}.music-player--glass[data-v-a47a6014]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px 16px 8px;display:flex;flex-direction:column;gap:8px;overflow:hidden;height:100%;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:all .3s ease}.music-player--glass[data-v-a47a6014]:hover{background:#ffffff59;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.music-player__row[data-v-a47a6014]{display:flex;align-items:center;gap:8px;min-width:0}.music-player__icon[data-v-a47a6014]{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.music-player__icon-svg[data-v-a47a6014]{width:40px;height:40px}.music-player__info[data-v-a47a6014]{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden;-webkit-user-select:none;user-select:none}.music-player__title[data-v-a47a6014]{font-size:18px;font-weight:600;color:#2d2d3a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.music-player__artist[data-v-a47a6014]{font-size:12px;color:#6a6a8a;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.music-player__actions[data-v-a47a6014]{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0;-webkit-user-select:none;user-select:none}.music-player__btn[data-v-a47a6014]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:#6a6a8a;cursor:pointer;outline:none;transition:all .15s ease}.music-player__btn[data-v-a47a6014]:hover{background:#ffffff59;color:#2d2d3a}.music-player__btn[data-v-a47a6014]:active{transform:scale(.9)}.music-player__btn[data-v-a47a6014]:disabled{opacity:.4;cursor:not-allowed}.music-player__btn--play[data-v-a47a6014]{width:32px;height:32px;background:#ffffff40;color:#2d2d3a}.music-player__btn--play[data-v-a47a6014]:hover{background:#ffffff73}.music-player__btn--loading[data-v-a47a6014]{pointer-events:none}.music-player__spinner[data-v-a47a6014]{animation:music-spin-a47a6014 1s linear infinite}@keyframes music-spin-a47a6014{to{transform:rotate(360deg)}}.music-player__volume[data-v-a47a6014]{display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.music-player__volume-slider[data-v-a47a6014]{width:48px;cursor:pointer;padding:4px 0;outline:none}.music-player__volume-track[data-v-a47a6014]{height:4px;background:#0000001f;border-radius:2px;overflow:hidden;position:relative}.music-player__volume-fill[data-v-a47a6014]{height:100%;background:#7ec8e3;border-radius:2px;transition:width .1s ease}.music-player__time-row[data-v-a47a6014]{display:flex;justify-content:space-between;padding:0 2px}.music-player__time[data-v-a47a6014]{font-size:12px;color:#9a9ab0;font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none}.music-player__progress[data-v-a47a6014]{cursor:pointer;padding:4px 0;margin-top:24px;touch-action:none;user-select:none;-webkit-user-select:none}.music-player__progress--seeking[data-v-a47a6014]{cursor:grabbing}.music-player__progress-track[data-v-a47a6014]{height:5px;background:#0000001a;border-radius:3px;position:relative;overflow:visible;max-width:95%;margin:0 auto}.music-player__progress-fill[data-v-a47a6014]{height:100%;background:linear-gradient(135deg,#7ec8e3,#a78bfa);border-radius:2px;transition:width .2s linear;position:relative}.music-player__progress-thumb[data-v-a47a6014]{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;opacity:0;transition:opacity .15s ease;pointer-events:none}.music-player__progress:hover .music-player__progress-thumb[data-v-a47a6014],.music-player__progress--seeking .music-player__progress-thumb[data-v-a47a6014]{opacity:1}.music-player__progress--seeking .music-player__progress-fill[data-v-a47a6014]{transition:none}.music-player__error[data-v-a47a6014]{font-size:12px;color:#e74c3c;text-align:center;padding:2px 0}.tilt-effect[data-v-76139d07]{width:100%;height:100%;flex-shrink:0;transition:transform .5s ease;transform-style:preserve-3d;will-change:transform}.tilt-effect--disabled[data-v-76139d07]{transform:none!important;transition:none!important}.player-wrapper[data-v-de264f03]{position:fixed;z-index:260;will-change:left,top,width,height}.player-wrapper[data-v-de264f03] .music-player--mini{border-radius:40px}.greeting-card[data-v-ee1bde1d]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.greeting-card[data-v-ee1bde1d]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.greeting-card[data-v-ee1bde1d]{display:flex;align-items:center;gap:24px;width:100%;height:100%}.greeting-card__avatar[data-v-ee1bde1d]{width:96px;height:96px;border-radius:50%;overflow:hidden;flex-shrink:0;border:none;box-shadow:inset 0 0 0 2px #fff9,0 4px 12px #00000014}.greeting-card__avatar img[data-v-ee1bde1d]{width:100%;height:100%;object-fit:cover}.greeting-card__text[data-v-ee1bde1d]{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.greeting-card__greeting[data-v-ee1bde1d]{font-size:48px;font-weight:700;margin-bottom:4px;background:linear-gradient(135deg,#7ec8e3,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.greeting-card__subtitle[data-v-ee1bde1d]{color:#6a6a8a;font-size:14px}.clock-widget[data-v-bbef5f11]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.clock-widget[data-v-bbef5f11]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.clock-widget[data-v-bbef5f11]{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;flex-shrink:0;align-self:flex-start;border-radius:50%;padding:12px}.clock-widget__face[data-v-bbef5f11]{position:relative;width:100%;height:100%;border-radius:50%;background:#fff9;border:none;box-shadow:inset 0 0 0 2px #ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.clock-widget__mark[data-v-bbef5f11]{position:absolute;top:0;left:50%;width:0;height:50%;transform-origin:bottom center}.clock-widget__number[data-v-bbef5f11]{position:absolute;top:10px;left:50%;font-size:14px;font-weight:600;color:#2d2d3a;line-height:1}.clock-widget__tick[data-v-bbef5f11]{position:absolute;top:12px;left:50%;width:2px;height:8px;background:#6a6a8a;border-radius:1px}.clock-widget__hand[data-v-bbef5f11]{position:absolute;bottom:50%;left:50%;transform-origin:bottom center;border-radius:4px}.clock-widget__hand--hour[data-v-bbef5f11]{width:5px;height:30%;background:#2d2d3a;z-index:1}.clock-widget__hand--minute[data-v-bbef5f11]{width:3px;height:40%;background:#2d2d3a;z-index:1}.clock-widget__hand--second[data-v-bbef5f11]{width:1.5px;height:45%;background:#e74c3c;z-index:1}.clock-widget__center[data-v-bbef5f11]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#2d2d3a;z-index:2}.calendar-widget[data-v-4dde0ae2]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.calendar-widget[data-v-4dde0ae2]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.calendar-widget[data-v-4dde0ae2]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.calendar-widget__header[data-v-4dde0ae2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-widget__title[data-v-4dde0ae2]{font-size:18px;font-weight:600}.calendar-widget__nav[data-v-4dde0ae2]{background:transparent;border:none;color:#6a6a8a;cursor:pointer;font-size:16px;padding:4px 8px;transition:color .15s ease;line-height:1}.calendar-widget__nav[data-v-4dde0ae2]:hover{color:#2d2d3a}.calendar-widget__weekdays[data-v-4dde0ae2]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.calendar-widget__weekday[data-v-4dde0ae2]{text-align:center;font-size:16px;color:#9a9ab0;padding:6px 0}.calendar-widget__days[data-v-4dde0ae2]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;flex:1;align-content:stretch}.calendar-widget__day[data-v-4dde0ae2]{text-align:center;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:6px;cursor:default}.calendar-widget__day--other[data-v-4dde0ae2]{color:#9a9ab0;opacity:.4}.calendar-widget__day--today[data-v-4dde0ae2]{background:#7ec8e3;color:#fff;font-weight:600}.nav-menu[data-v-6c8f17db]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.nav-menu[data-v-6c8f17db]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.nav-menu[data-v-6c8f17db]{display:flex;flex-direction:column;width:100%;height:100%}.nav-menu__item[data-v-6c8f17db]{flex:1;background:transparent;display:flex;align-items:center;gap:16px;padding:16px 24px;border-radius:16px;text-decoration:none;color:#2d2d3a;cursor:pointer;transition:all .3s ease}.nav-menu__item[data-v-6c8f17db]:hover{background:#ffffff73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 16px #0000000f;color:#7ec8e3}.nav-menu__icon[data-v-6c8f17db]{display:flex;align-items:center;flex-shrink:0;color:#6a6a8a}.nav-menu__label[data-v-6c8f17db]{flex:1;font-size:16px;font-weight:500;color:#6a6a8a}.nav-menu--collapsed[data-v-6c8f17db]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;position:fixed;top:16px;right:16px;z-index:300;display:flex;flex-direction:row;align-items:center;gap:2px;padding:6px 10px;border-radius:20px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:none}.nav-menu--collapsed .nav-menu__avatar[data-v-6c8f17db]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;margin-right:4px;text-decoration:none;box-shadow:inset 0 0 0 1px #ffffff80}.nav-menu--collapsed .nav-menu__avatar img[data-v-6c8f17db]{width:100%;height:100%;object-fit:cover}.nav-menu--collapsed .nav-menu__item[data-v-6c8f17db]{flex:none;padding:8px;border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#2d2d3a;cursor:pointer;transition:background .2s ease}.nav-menu--collapsed .nav-menu__item[data-v-6c8f17db]:hover{background:#ffffff73;color:#7ec8e3}.nav-menu--collapsed .nav-menu__label[data-v-6c8f17db],.nav-menu--hidden[data-v-6c8f17db]{display:none}.github-card[data-v-659dfe36]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.github-card[data-v-659dfe36]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.github-card[data-v-659dfe36]{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#2d2d3a;cursor:pointer;width:100%;height:100%;transition:all .3s ease}.github-card[data-v-659dfe36]:hover{color:#7ec8e3}.github-card__icon[data-v-659dfe36]{display:flex;align-items:center;justify-content:center;color:inherit}.github-card__label[data-v-659dfe36]{display:none}.image-gallery[data-v-edb5846c]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.image-gallery[data-v-edb5846c]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.image-gallery[data-v-edb5846c]{width:100%;height:100%}.image-gallery__grid[data-v-edb5846c]{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:8px;height:100%}.image-gallery__item[data-v-edb5846c]{border-radius:6px;overflow:hidden;cursor:pointer;position:relative;background:#ffffff0d}.image-gallery__item picture[data-v-edb5846c]{display:block;width:100%;height:100%;opacity:0;transition:opacity .3s ease}.image-gallery__item .image-gallery__picture--loaded[data-v-edb5846c]{opacity:1}.image-gallery__item img[data-v-edb5846c]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.image-gallery__item:hover img[data-v-edb5846c]{transform:scale(1.1)}.image-gallery__skeleton[data-v-edb5846c]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:shimmer-edb5846c 1.2s ease-in-out infinite}@keyframes shimmer-edb5846c{0%{background-position:200% 0}to{background-position:-200% 0}}.image-gallery__preview[data-v-edb5846c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:zoom-out}.image-gallery__preview .image-gallery__preview-image[data-v-edb5846c]{max-width:75vw;max-height:80vh;border-radius:16px;overflow:hidden;cursor:default;box-shadow:0 24px 80px #00000059;transform-style:preserve-3d;will-change:transform;opacity:0;transition:opacity .3s ease}.image-gallery__preview .image-gallery__preview-image--visible[data-v-edb5846c]{opacity:1}.image-gallery__preview .image-gallery__preview-image img[data-v-edb5846c]{display:block;max-width:75vw;max-height:80vh;object-fit:contain}.image-gallery__spinner[data-v-edb5846c]{position:absolute;width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fffc;border-radius:50%;animation:spin-edb5846c .8s linear infinite}@keyframes spin-edb5846c{to{transform:rotate(360deg)}}.email-widget[data-v-9ac729f1]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.email-widget[data-v-9ac729f1]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.email-widget[data-v-9ac729f1]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;cursor:pointer;text-decoration:none;color:#2d2d3a;transition:all .3s ease;padding:16px}.email-widget[data-v-9ac729f1]:hover,.email-widget--copied[data-v-9ac729f1]{color:#7ec8e3}.email-widget__icon[data-v-9ac729f1]{flex-shrink:0;color:inherit}.wechat-widget[data-v-b34c2044]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.wechat-widget[data-v-b34c2044]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.wechat-widget[data-v-b34c2044]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;cursor:pointer;text-decoration:none;color:#07c160;transition:all .3s ease;padding:16px}.wechat-widget[data-v-b34c2044]:hover{color:#06ad56;opacity:.85}.wechat-widget--copied[data-v-b34c2044]{opacity:.7}.wechat-widget__icon[data-v-b34c2044]{flex-shrink:0;color:inherit}.layout-settings[data-v-e1d767c6]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.layout-settings[data-v-e1d767c6]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.layout-settings[data-v-e1d767c6]{position:relative;width:520px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:24px;z-index:310}.layout-settings-overlay[data-v-e1d767c6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:300}.layout-settings__header[data-v-e1d767c6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.layout-settings__title[data-v-e1d767c6]{font-size:24px;font-weight:700;color:#2d2d3a;margin:0}.layout-settings__close[data-v-e1d767c6]{background:none;border:none;font-size:28px;color:#6a6a8a;cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;transition:color .15s ease}.layout-settings__close[data-v-e1d767c6]:hover{color:#2d2d3a}.layout-settings__list[data-v-e1d767c6]{display:flex;flex-direction:column;gap:16px}.layout-settings__item[data-v-e1d767c6]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#ffffff4d;border-radius:12px}.layout-settings__label[data-v-e1d767c6]{font-size:16px;font-weight:600;color:#2d2d3a}.layout-settings__inputs[data-v-e1d767c6]{display:flex;gap:16px}.layout-settings__field[data-v-e1d767c6]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:14px;color:#6a6a8a}.layout-settings__number[data-v-e1d767c6]{display:flex;align-items:center;gap:0}.layout-settings__step[data-v-e1d767c6]{width:28px;height:28px;border:1px solid rgba(255,255,255,.3);background:#ffffff80;color:#2d2d3a;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.layout-settings__step[data-v-e1d767c6]:first-child{border-radius:6px 0 0 6px}.layout-settings__step[data-v-e1d767c6]:last-child{border-radius:0 6px 6px 0}.layout-settings__step[data-v-e1d767c6]:hover{background:#fffc}.layout-settings__input[data-v-e1d767c6]{width:64px;height:28px;padding:0 4px;border:1px solid rgba(255,255,255,.3);border-left:none;border-right:none;font-size:14px;background:#fff9;color:#2d2d3a;text-align:center;-moz-appearance:textfield}.layout-settings__input[data-v-e1d767c6]::-webkit-inner-spin-button,.layout-settings__input[data-v-e1d767c6]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.layout-settings__input[data-v-e1d767c6]:focus{outline:none;background:#ffffffd9}.layout-settings__actions[data-v-e1d767c6]{margin-top:24px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.layout-settings__btn[data-v-e1d767c6]{padding:8px 32px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease}.layout-settings__btn--drag[data-v-e1d767c6]{background:linear-gradient(135deg,#7ec8e3,#a78bfa);color:#fff}.layout-settings__btn--drag[data-v-e1d767c6]:hover{opacity:.9;transform:translateY(-1px)}.layout-settings__btn--export[data-v-e1d767c6]{background:#fff6;color:#2d2d3a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.layout-settings__btn--export[data-v-e1d767c6]:hover{background:#fff9;transform:translateY(-1px)}.toast-container[data-v-80cb63b5]{position:fixed;bottom:32px;right:32px;z-index:500;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast-container__item[data-v-80cb63b5]{background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;box-shadow:0 4px 20px #0003;white-space:nowrap}.toast-enter-active[data-v-80cb63b5]{transition:all .3s ease}.toast-leave-active[data-v-80cb63b5]{transition:all .2s ease}.toast-enter-from[data-v-80cb63b5]{opacity:0;transform:translateY(12px)}.toast-leave-to[data-v-80cb63b5]{opacity:0;transform:translateY(-8px)}.home-page[data-v-244eb501]{min-height:100vh;background:linear-gradient(135deg,#c8d8ff,#d4c4f5);background-attachment:fixed;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:center;overflow-x:auto}.home-page[data-v-244eb501]:before,.home-page[data-v-244eb501]:after{content:"";flex:1;min-height:0;pointer-events:none}.home-page[data-v-244eb501]:before{flex:.42}.home-page__container[data-v-244eb501]{position:relative;width:1100px;flex-shrink:0;margin:0 auto;padding:40px 0 100px;min-height:800px}.home-page__cell[data-v-244eb501]{position:absolute}.home-page__settings-btn[data-v-244eb501]{position:fixed;top:16px;right:16px;z-index:290;width:40px;height:40px;border-radius:50%;border:none;background:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #ffffffa6,inset 0 0 8px 2px #ffffff1f;color:#6a6a8a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.home-page__settings-btn[data-v-244eb501]:hover{background:#fff9;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 12px 3px #fff3;color:#2d2d3a;transform:rotate(30deg)}.home-page__drag-overlay[data-v-244eb501]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#0000000f}.home-page__drag-handle[data-v-244eb501]{position:absolute;z-index:251;cursor:grab;border:2px dashed rgba(126,200,227,.4);border-radius:24px;transition:border-color .2s ease,background .2s ease}.home-page__drag-handle[data-v-244eb501]:hover{border-color:#7ec8e3;background:#7ec8e30f}.home-page__drag-handle--active[data-v-244eb501]{border-color:#7ec8e3;background:#7ec8e31a;cursor:grabbing}.home-page__drag-actions[data-v-244eb501]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:252;display:flex;gap:16px}.home-page__live2d-placeholder[data-v-244eb501]{width:100%;height:100%;overflow:hidden;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.home-page__live2d-placeholder[data-v-244eb501]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.home-page__live2d-shimmer[data-v-244eb501]{width:100%;height:100%;background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f,#ffffff08 75%);background-size:200% 100%;animation:l2d-shimmer-244eb501 1.5s ease-in-out infinite}@keyframes l2d-shimmer-244eb501{0%{background-position:200% 0}to{background-position:-200% 0}}.home-page__drag-btn[data-v-244eb501]{padding:12px 32px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease}.home-page__drag-btn--save[data-v-244eb501]{background:linear-gradient(135deg,#7ec8e3,#a78bfa);color:#fff}.home-page__drag-btn--save[data-v-244eb501]:hover{opacity:.9;transform:translateY(-1px)}.home-page__drag-btn--cancel[data-v-244eb501]{background:#fff9;color:#2d2d3a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-page__drag-btn--cancel[data-v-244eb501]:hover{background:#fffc}.app-layout[data-v-783476d6]{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#c8d8ff,#d4c4f5);background-attachment:fixed}.app-layout__header[data-v-783476d6]{position:sticky;top:0;z-index:200;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-top:none;border-left:none;border-right:none;border-radius:0}.app-layout__container[data-v-783476d6]{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.app-layout__logo[data-v-783476d6]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#2d2d3a}.app-layout__logo-text[data-v-783476d6]{font-size:18px;font-weight:700;background:linear-gradient(135deg,#7ec8e3,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-layout__nav[data-v-783476d6]{display:flex;gap:24px}.app-layout__nav-item[data-v-783476d6]{color:#6a6a8a;text-decoration:none;font-size:14px;font-weight:500;transition:color .15s ease;position:relative}.app-layout__nav-item[data-v-783476d6]:hover,.app-layout__nav-item.router-link-active[data-v-783476d6]{color:#2d2d3a}.app-layout__nav-item.router-link-active[data-v-783476d6]:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:#7ec8e3;border-radius:1px}.app-layout__main[data-v-783476d6]{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:32px 24px 100px}.app-layout__footer[data-v-783476d6]{text-align:center;padding:24px;color:#9a9ab0;font-size:14px}.app-layout__beian[data-v-783476d6]{margin-top:8px;font-size:12px;color:#666}.app-layout__beian a[data-v-783476d6]{color:#666;text-decoration:none}.app-layout__beian a[data-v-783476d6]:hover{color:#2d2d3a}.app-layout__beian span[data-v-783476d6]{margin:0 5px}.blog-list__title[data-v-a1160ee5]{font-size:32px;font-weight:700;margin-bottom:32px}.blog-list__empty[data-v-a1160ee5]{text-align:center;padding:64px;color:#9a9ab0}.blog-list__items[data-v-a1160ee5]{display:flex;flex-direction:column;gap:24px}.blog-list__item[data-v-a1160ee5]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.blog-list__item[data-v-a1160ee5]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.blog-list__item[data-v-a1160ee5]{cursor:pointer}.blog-list__item-link[data-v-a1160ee5]{text-decoration:none;color:inherit;display:block}.blog-list__item-title[data-v-a1160ee5]{font-size:24px;font-weight:600;margin-bottom:8px;color:#2d2d3a;transition:color .15s ease}.blog-list__item-title[data-v-a1160ee5]:hover{color:#7ec8e3}.blog-list__item-excerpt[data-v-a1160ee5]{color:#6a6a8a;font-size:16px;line-height:1.6;margin-bottom:16px}.blog-list__item-meta[data-v-a1160ee5]{display:flex;align-items:center;gap:16px}.blog-list__item-date[data-v-a1160ee5]{color:#9a9ab0;font-size:14px}.blog-list__item-tags[data-v-a1160ee5]{display:flex;gap:4px}.blog-list__item-tag[data-v-a1160ee5]{padding:2px 8px;border-radius:6px;background:#7ec8e326;color:#7ec8e3;font-size:12px}.blog-post[data-v-7a759c18]{max-width:800px;margin:0 auto}.blog-post__not-found[data-v-7a759c18]{text-align:center;padding:64px}.blog-post__not-found h1[data-v-7a759c18]{font-size:32px;margin-bottom:24px}.blog-post__back[data-v-7a759c18]{display:inline-block;margin-bottom:24px;color:#6a6a8a;font-size:14px}.blog-post__back[data-v-7a759c18]:hover{color:#7ec8e3}.blog-post__header[data-v-7a759c18]{margin-bottom:32px}.blog-post__title[data-v-7a759c18]{font-size:32px;font-weight:700;margin-bottom:16px}.blog-post__meta[data-v-7a759c18]{display:flex;align-items:center;gap:16px;color:#9a9ab0;font-size:14px}.blog-post__tags[data-v-7a759c18]{display:flex;gap:4px}.blog-post__tag[data-v-7a759c18]{padding:2px 8px;border-radius:6px;background:#7ec8e326;color:#7ec8e3;font-size:12px}.blog-post__body[data-v-7a759c18]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.blog-post__body[data-v-7a759c18]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.blog-post__body[data-v-7a759c18]{line-height:1.8;font-size:16px;color:#6a6a8a}.blog-post__body[data-v-7a759c18] h1,.blog-post__body[data-v-7a759c18] h2,.blog-post__body[data-v-7a759c18] h3{color:#2d2d3a;margin-top:32px;margin-bottom:16px}.blog-post__body[data-v-7a759c18] p{margin-bottom:16px}.blog-post__body[data-v-7a759c18] code{background:#0000000d;padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:14px}.blog-post__body[data-v-7a759c18] pre{background:#0000000d;padding:16px;border-radius:12px;overflow-x:auto;margin-bottom:16px}.blog-post__body[data-v-7a759c18] pre code{background:none;padding:0}.blog-post__body[data-v-7a759c18] blockquote{border-left:3px solid #7ec8e3;padding-left:16px;margin:16px 0;color:#9a9ab0}.blog-post__body[data-v-7a759c18] ul,.blog-post__body[data-v-7a759c18] ol{padding-left:32px;margin-bottom:16px}.blog-post__body[data-v-7a759c18] hr{border:none;border-top:1px solid rgba(255,255,255,.3);margin:32px 0}.blog-post__body[data-v-7a759c18] a{color:#7ec8e3}.projects__title[data-v-52d947ab]{font-size:32px;font-weight:700;margin-bottom:32px}.projects__tags[data-v-52d947ab]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.projects__tag[data-v-52d947ab]{padding:6px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.5);background:#fff3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#6a6a8a;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.projects__tag[data-v-52d947ab]:hover{background:#fff6;color:#2d2d3a}.projects__tag--active[data-v-52d947ab]{background:#7ec8e3;color:#fff;border-color:#7ec8e3}.projects__tag--active[data-v-52d947ab]:hover{background:#7ec8e3;color:#fff;opacity:.9}.projects__loading[data-v-52d947ab],.projects__error[data-v-52d947ab],.projects__empty[data-v-52d947ab]{text-align:center;padding:64px;color:#9a9ab0}.projects__grid[data-v-52d947ab]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.projects__card[data-v-52d947ab]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.projects__card[data-v-52d947ab]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.projects__card[data-v-52d947ab]{text-decoration:none;display:flex;flex-direction:column;gap:16px}.projects__card-title-link[data-v-52d947ab]{text-decoration:none;color:inherit}.projects__card-title-link:hover .projects__card-name[data-v-52d947ab]{color:#7ec8e3}.projects__card-name[data-v-52d947ab]{font-size:24px;font-weight:600;color:#2d2d3a;transition:color .15s ease}.projects__card-description[data-v-52d947ab]{color:#6a6a8a;font-size:16px;line-height:1.6}.projects__card-techs[data-v-52d947ab]{display:flex;flex-wrap:wrap;gap:4px}.projects__card-tech[data-v-52d947ab]{padding:2px 8px;border-radius:6px;background:#7ec8e340;color:#4a8ba8;font-weight:500;font-size:12px}.projects__card-link[data-v-52d947ab]{margin-top:auto;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 14px;border-radius:12px;background:#24292e;color:#fff;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s ease}.projects__card-link[data-v-52d947ab]:hover{opacity:.85}.project-post[data-v-20051344]{max-width:1100px;margin:0 auto}.project-post__not-found[data-v-20051344],.project-post__loading[data-v-20051344],.project-post__error[data-v-20051344]{text-align:center;padding:64px}.project-post__not-found h1[data-v-20051344],.project-post__loading h1[data-v-20051344],.project-post__error h1[data-v-20051344]{font-size:32px;margin-bottom:24px}.project-post__layout[data-v-20051344]{display:flex;gap:32px;align-items:flex-start}.project-post__toc[data-v-20051344]{position:sticky;top:200px;flex-shrink:0;width:200px;max-height:calc(100vh - 100px);overflow-y:auto;margin-left:-96px}.project-post__toc-title[data-v-20051344]{font-size:14px;font-weight:600;color:#9a9ab0;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.project-post__toc-item[data-v-20051344]{display:block;text-decoration:none;color:#6a6a8a;font-size:14px;line-height:1.5;padding:4px 0;border-radius:6px;transition:color .15s ease}.project-post__toc-item[data-v-20051344]:hover{color:#7ec8e3}.project-post__toc-item--h2[data-v-20051344]{padding-left:16px}.project-post__toc-item--h3[data-v-20051344]{padding-left:32px}.project-post__content[data-v-20051344]{flex:1;min-width:0}.project-post__back[data-v-20051344]{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;padding:8px 18px;border-radius:20px;background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#6a6a8a;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s ease}.project-post__back[data-v-20051344]:hover{background:#ffffff4d;color:#2d2d3a;border-color:#ffffff80;transform:translateY(-1px)}.project-post__header[data-v-20051344]{margin-bottom:32px}.project-post__title[data-v-20051344]{font-size:32px;font-weight:700;margin-bottom:16px}.project-post__description[data-v-20051344]{color:#6a6a8a;font-size:16px;line-height:1.6;margin-bottom:16px}.project-post__techs[data-v-20051344]{display:flex;flex-wrap:wrap;gap:4px}.project-post__tech[data-v-20051344]{padding:6px 14px;border-radius:6px;background:#7ec8e340;color:#4a8ba8;font-weight:500;font-size:16px}.project-post__body[data-v-20051344]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.project-post__body[data-v-20051344]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.project-post__body[data-v-20051344]{padding-left:32px;padding-right:32px;line-height:1.8;font-size:16px;color:#6a6a8a}.project-post__body[data-v-20051344] h1,.project-post__body[data-v-20051344] h2,.project-post__body[data-v-20051344] h3{color:#2d2d3a;margin-top:32px;margin-bottom:16px}.project-post__body[data-v-20051344] p{margin-bottom:16px}.project-post__body[data-v-20051344] code{background:#0000000d;padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:14px}.project-post__body[data-v-20051344] pre{background:#0000000d;padding:16px;border-radius:12px;overflow-x:auto;margin-bottom:16px}.project-post__body[data-v-20051344] pre code{background:none;padding:0}.project-post__body[data-v-20051344] blockquote{border-left:3px solid #7ec8e3;padding-left:16px;margin:16px 0;color:#9a9ab0}.project-post__body[data-v-20051344] ul,.project-post__body[data-v-20051344] ol{padding-left:32px;margin-bottom:16px}.project-post__body[data-v-20051344] hr{border:none;border-top:1px solid rgba(255,255,255,.3);margin:32px 0}.project-post__body[data-v-20051344] a{color:#7ec8e3}.project-post__body[data-v-20051344] picture{display:block;margin:16px auto}.project-post__body[data-v-20051344] img{max-width:100%;height:auto;border-radius:12px;display:block;margin:0 auto;opacity:0;animation:pj-img-fadein-20051344 .4s ease forwards}@keyframes pj-img-fadein-20051344{to{opacity:1}}.project-post__body[data-v-20051344] table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.project-post__body[data-v-20051344] th,.project-post__body[data-v-20051344] td{border:1px solid rgba(0,0,0,.1);padding:8px 16px;text-align:left}.project-post__body[data-v-20051344] th{background:#7ec8e31a;color:#2d2d3a;font-weight:600}.project-post__body[data-v-20051344] tr:nth-child(2n){background:#00000005}.project-post__body[data-v-20051344] img{cursor:zoom-in}.project-post__lightbox[data-v-20051344]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:pj-lb-fadein-20051344 .2s ease}.project-post__lightbox-close[data-v-20051344]{position:absolute;top:20px;right:20px;z-index:1;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.project-post__lightbox-close[data-v-20051344]:hover{background:#ffffff4d}.project-post__lightbox-img[data-v-20051344]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:12px;box-shadow:0 16px 64px #0000004d;animation:pj-lb-zoomin-20051344 .25s ease}@keyframes pj-lb-fadein-20051344{0%{opacity:0}to{opacity:1}}@keyframes pj-lb-zoomin-20051344{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.project-post__github-btn[data-v-20051344]{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:6px;background:#24292e;color:#fff;font-size:16px;font-weight:500;text-decoration:none;transition:opacity .15s ease}.project-post__github-btn[data-v-20051344]:hover{opacity:.85}.about[data-v-048c4dff]{max-width:600px;margin:0 auto}.about__title[data-v-048c4dff]{font-size:32px;font-weight:700;margin-bottom:32px}.about__content[data-v-048c4dff]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.about__content[data-v-048c4dff]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.about__content[data-v-048c4dff]{text-align:center}.about__avatar-wrapper[data-v-048c4dff]{width:120px;height:120px;margin:0 auto 24px;border-radius:50%;overflow:hidden;border:3px solid #7ec8e3}.about__avatar[data-v-048c4dff]{width:100%;height:100%;object-fit:cover}.about__name[data-v-048c4dff]{font-size:24px;font-weight:700;margin-bottom:4px;color:#2d2d3a}.about__handle[data-v-048c4dff]{color:#9a9ab0;font-size:14px;margin-bottom:16px}.about__description[data-v-048c4dff]{color:#6a6a8a;line-height:1.6;margin-bottom:32px}.about__info[data-v-048c4dff]{text-align:left;display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.about__info-item[data-v-048c4dff]{display:flex;gap:16px}.about__info-label[data-v-048c4dff]{min-width:60px;color:#9a9ab0;font-size:14px;font-weight:500}.about__info-value[data-v-048c4dff]{color:#6a6a8a;font-size:14px}.about__skills[data-v-048c4dff]{text-align:left;margin-bottom:32px}.about__skills-title[data-v-048c4dff]{font-size:14px;font-weight:600;color:#9a9ab0;margin-bottom:8px}.about__skills-tags[data-v-048c4dff]{display:flex;flex-wrap:wrap;gap:8px}.about__skills-tag[data-v-048c4dff]{padding:4px 12px;border-radius:12px;background:#ffffff4d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);color:#6a6a8a;font-size:14px}.about__links[data-v-048c4dff]{display:flex;flex-direction:column;align-items:center;gap:8px}.about__link[data-v-048c4dff]{display:inline-block;padding:8px 24px;border-radius:12px;background:linear-gradient(135deg,#7ec8e3,#a78bfa);color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s ease}.about__link[data-v-048c4dff]:hover{opacity:.85}.about__link-placeholder[data-v-048c4dff]{color:#9a9ab0;font-size:12px}.favorites[data-v-3cf54c02]{max-width:960px;margin:0 auto}.favorites__header[data-v-3cf54c02]{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:16px}.favorites__title[data-v-3cf54c02]{font-size:32px;font-weight:700;margin:0}.favorites__folder-info[data-v-3cf54c02]{font-size:14px;color:#6a6a8a}.favorites__updated[data-v-3cf54c02]{font-size:12px;color:#9a9ab0;margin-left:auto}.favorites__search[data-v-3cf54c02]{position:relative;margin-bottom:24px}.favorites__search-icon[data-v-3cf54c02]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9a9ab0;pointer-events:none}.favorites__search-input[data-v-3cf54c02]{width:100%;padding:10px 40px;border:none;border-radius:16px;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#2d2d3a;font-size:14px;outline:none;transition:background .2s ease,box-shadow .2s ease}.favorites__search-input[data-v-3cf54c02]::placeholder{color:#9a9ab0}.favorites__search-input[data-v-3cf54c02]:focus{background:#ffffff40;box-shadow:0 0 0 2px #ffffff4d}.favorites__search-clear[data-v-3cf54c02]{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:#0000001a;color:#6a6a8a;cursor:pointer;padding:0}.favorites__search-clear[data-v-3cf54c02]:hover{background:#0003;color:#2d2d3a}.favorites__result-hint[data-v-3cf54c02]{font-size:12px;color:#9a9ab0;margin-bottom:16px;padding-left:4px}.favorites__empty[data-v-3cf54c02]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.favorites__empty[data-v-3cf54c02]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.favorites__empty[data-v-3cf54c02]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:16px;color:#9a9ab0}.favorites__spinner[data-v-3cf54c02]{animation:fav-spin-3cf54c02 1.5s linear infinite}@keyframes fav-spin-3cf54c02{to{transform:rotate(360deg)}}.favorites__empty-text[data-v-3cf54c02]{font-size:18px;font-weight:600;color:#6a6a8a;margin:0}.favorites__empty-hint[data-v-3cf54c02]{font-size:14px;color:#9a9ab0;margin:0}.favorites__grid[data-v-3cf54c02]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.favorites__card[data-v-3cf54c02]{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.favorites__card[data-v-3cf54c02]:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}.favorites__card[data-v-3cf54c02]{overflow:hidden;padding:0;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.favorites__card[data-v-3cf54c02]:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px #fff9,0 16px 40px #00000026}.favorites__card[data-v-3cf54c02]:active{transform:translateY(-1px)}.favorites__card-cover[data-v-3cf54c02]{position:relative;aspect-ratio:16/9;overflow:hidden;background:#00000014}.favorites__card-cover img[data-v-3cf54c02]{width:100%;height:100%;object-fit:cover;display:block}.favorites__card-duration[data-v-3cf54c02]{position:absolute;bottom:6px;right:6px;background:#000000b3;color:#fff;font-size:11px;padding:1px 6px;border-radius:4px;font-variant-numeric:tabular-nums}.favorites__card-body[data-v-3cf54c02]{padding:8px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}.favorites__card-title[data-v-3cf54c02]{font-size:14px;font-weight:600;color:#2d2d3a;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.favorites__card-meta[data-v-3cf54c02]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.favorites__card-up[data-v-3cf54c02]{font-size:12px;color:#6a6a8a;display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.favorites__card-up-avatar[data-v-3cf54c02]{width:16px;height:16px;border-radius:50%;flex-shrink:0}.favorites__card-stat[data-v-3cf54c02]{font-size:12px;color:#9a9ab0;display:flex;align-items:center;gap:2px;white-space:nowrap}.favorites__pager[data-v-3cf54c02]{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:32px}.favorites__pager-btn[data-v-3cf54c02]{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border:none;border-radius:8px;background:#ffffff1a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#6a6a8a;font-size:14px;cursor:pointer;transition:all .15s ease}.favorites__pager-btn[data-v-3cf54c02]:hover:not(:disabled){background:#ffffff40;color:#2d2d3a}.favorites__pager-btn[data-v-3cf54c02]:active:not(:disabled){transform:scale(.95)}.favorites__pager-btn[data-v-3cf54c02]:disabled{opacity:.3;cursor:not-allowed}.favorites__pager-btn--active[data-v-3cf54c02]{background:#7ec8e3;color:#fff;font-weight:600}.favorites__pager-btn--active[data-v-3cf54c02]:hover:not(:disabled){background:#7ec8e3;color:#fff}.favorites__pager-ellipsis[data-v-3cf54c02]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#9a9ab0;font-size:14px;-webkit-user-select:none;user-select:none}.favorites__pager-info[data-v-3cf54c02]{font-size:12px;color:#9a9ab0;margin-left:8px;white-space:nowrap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#c8d8ff,#d4c4f5);background-attachment:fixed;min-height:100vh}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:transparent;color:#2d2d3a;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:#7ec8e3;text-decoration:none;transition:color .15s ease}a:hover{color:#6ab0d0}#app{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}.glass{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014}.glass-card{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;box-shadow:inset 0 0 0 2px #ffffffa6,inset 0 0 20px 3px #ffffff52,0 8px 32px #00000014;border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.glass-card:hover{background:#ffffff59;border-color:transparent;box-shadow:inset 0 0 0 1px #fffc,inset 0 0 14px 4px #fff3,0 12px 40px #0000001f}
