.friends-page[data-v-d3c3579c]{gap:22px;display:grid}.friends-header[data-v-d3c3579c]{align-items:center;gap:16px;display:flex}.friends-header h2[data-v-d3c3579c]{margin:0;font-size:32px}.back-button[data-v-d3c3579c]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:12px;padding:8px 18px;font-weight:600;transition:background .2s}.back-button[data-v-d3c3579c]:hover{background:#f2f5fa}.friends-section[data-v-d3c3579c]{gap:14px;display:grid}.friends-section h3[data-v-d3c3579c]{color:#36415a;margin:0;font-size:16px;font-weight:700}.send-request-form[data-v-d3c3579c]{gap:12px;display:grid}.request-item[data-v-d3c3579c]{background:#fbfcff;border:1px solid #e5eaf3;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.request-info[data-v-d3c3579c]{gap:4px;display:grid}.request-sender[data-v-d3c3579c]{color:#172033;font-weight:600}.request-message[data-v-d3c3579c]{color:#7d889f;font-size:13px}.request-actions[data-v-d3c3579c]{flex-shrink:0;gap:8px;display:flex}.accept-button[data-v-d3c3579c],.reject-button[data-v-d3c3579c]{cursor:pointer;border:0;border-radius:12px;padding:8px 16px;font-weight:600;transition:background .2s}.accept-button[data-v-d3c3579c]{color:#fff;background:#536dfe}.accept-button[data-v-d3c3579c]:hover{background:#4258e0}.reject-button[data-v-d3c3579c]{color:#a43f3f;background:#fff1f1}.reject-button[data-v-d3c3579c]:hover{background:#ffe0e0}.empty-hint[data-v-d3c3579c]{color:#7d889f;padding:8px 0;font-size:14px}.pixel-shell[data-v-33e11fde]{flex-direction:column;height:100%;display:flex;position:relative;overflow:clip}.top-bar[data-v-33e11fde]{background:#fff;border-bottom:1px solid #eef1f6;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.top-left[data-v-33e11fde]{align-items:center;gap:8px;min-width:0;display:flex}.canvas-name[data-v-33e11fde]{color:#172033;font-size:15px;font-weight:700}.canvas-size[data-v-33e11fde]{color:#a0abbf;font-size:12px;font-weight:600}.canvas-select[data-v-33e11fde]{color:#53607a;cursor:pointer;background:#fbfcff;border:1px solid #d9e0ed;border-radius:8px;padding:4px 8px;font-size:13px}.top-right[data-v-33e11fde]{align-items:center;gap:6px;display:flex}.top-button[data-v-33e11fde]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.top-button[data-v-33e11fde]:hover{background:#f2f5fa}.user-dropdown[data-v-33e11fde]{position:relative}.dropdown-menu[data-v-33e11fde]{z-index:10;background:#fff;border:1px solid #e5eaf3;border-radius:8px;min-width:100px;padding:4px;display:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #1e375a1f}.dropdown-menu.visible[data-v-33e11fde]{display:block}.dropdown-menu button[data-v-33e11fde]{color:#53607a;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;width:100%;padding:6px 10px;font-weight:600;transition:background .2s,color .2s}.dropdown-menu button[data-v-33e11fde]:hover{color:#a43f3f;background:#fff1f1}.toolbar-row[data-v-33e11fde]{background:#f9faff;border-bottom:1px solid #eef1f6;flex-shrink:0;align-items:center;gap:6px;padding:6px 16px;display:flex}.tool-button[data-v-33e11fde]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.tool-button[data-v-33e11fde]:hover{background:#eef1f6}.tool-button[data-v-33e11fde]:disabled{opacity:.5;cursor:not-allowed}.export-wrap[data-v-33e11fde]{position:relative}.export-menu[data-v-33e11fde]{z-index:10;background:#fff;border:1px solid #e5eaf3;border-radius:8px;min-width:110px;padding:4px;display:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #1e375a1f}.export-menu.visible[data-v-33e11fde]{display:block}.export-menu button[data-v-33e11fde]{color:#53607a;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;width:100%;padding:6px 10px;font-size:13px;font-weight:600;transition:background .2s}.export-menu button[data-v-33e11fde]:hover{background:#eef1f6}.new-canvas-bar[data-v-33e11fde]{background:#f9faff;border-bottom:1px solid #eef1f6;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.new-name-input[data-v-33e11fde]{background:#fff;border:1px solid #d9e0ed;border-radius:8px;outline:none;flex:1;min-width:100px;padding:6px 10px;font-size:13px}.new-name-input[data-v-33e11fde]:focus{border-color:#6d63ff}.new-dim-label[data-v-33e11fde]{color:#53607a;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.new-dim-input[data-v-33e11fde]{text-align:center;background:#fff;border:1px solid #d9e0ed;border-radius:6px;outline:none;width:50px;padding:4px 6px;font-size:13px}.new-dim-input[data-v-33e11fde]:focus{border-color:#6d63ff}.primary-button.small[data-v-33e11fde]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#536dfe,#8f56ff);border:0;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700}.primary-button.small[data-v-33e11fde]:disabled{opacity:.6;cursor:not-allowed}.secondary-button.small[data-v-33e11fde]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.loading-area[data-v-33e11fde]{flex:1;justify-content:center;align-items:center;display:flex}.state-box[data-v-33e11fde]{color:#7d889f;background:#f2f5fa;border-radius:12px;padding:24px;font-weight:600}.canvas-workspace[data-v-33e11fde]{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.canvas-area[data-v-33e11fde]{cursor:default;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}.canvas-area.is-panning[data-v-33e11fde]{cursor:grabbing}.canvas-pixel[data-v-33e11fde]{image-rendering:pixelated;image-rendering:crisp-edges;margin:auto;display:block}.color-bar[data-v-33e11fde]{background:#fff;border-top:1px solid #eef1f6;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px 8px;display:flex}.color-swatch[data-v-33e11fde]{cursor:pointer;box-sizing:border-box;border-radius:5px;flex-shrink:0;width:26px;height:26px;transition:transform .12s}.color-swatch[data-v-33e11fde]:hover{transform:scale(1.15)}.color-swatch.active[data-v-33e11fde]{transform:scale(1.2);box-shadow:0 0 0 2px #172033}.eraser-btn[data-v-33e11fde]{cursor:pointer;box-sizing:border-box;color:#53607a;border:2px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:transform .12s;display:inline-flex}.eraser-btn[data-v-33e11fde]:hover{transform:scale(1.15)}.eraser-btn.active[data-v-33e11fde]{transform:scale(1.2);box-shadow:0 0 0 2px #172033}.color-input-wrap[data-v-33e11fde]{align-items:center;gap:6px;margin-left:auto;display:flex}.color-picker[data-v-33e11fde]{cursor:pointer;background:0 0;border:none;border-radius:5px;width:28px;height:28px;padding:0}.color-picker[data-v-33e11fde]::-webkit-color-swatch-wrapper{padding:0}.color-picker[data-v-33e11fde]::-webkit-color-swatch{border:1px solid #d9e0ed;border-radius:3px}.color-hex[data-v-33e11fde]{color:#53607a;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.fade-leave-active[data-v-33e11fde]{transition:opacity .5s}.fade-enter-active[data-v-33e11fde]{transition:opacity .2s}.fade-enter-from[data-v-33e11fde],.fade-leave-to[data-v-33e11fde]{opacity:0}.message-overlay[data-v-33e11fde]{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:68px;left:50%;transform:translate(-50%)}.message[data-v-33e11fde]{white-space:nowrap;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;margin:0;padding:8px 16px;line-height:1.5}.message.success[data-v-33e11fde]{color:#267a54;background:#effaf4e0}.message.error[data-v-33e11fde]{color:#a43f3f;background:#fff1f1e0}.clear-btn[data-v-33e11fde]{color:#a0abbf;cursor:pointer;background:#fff;border:1px solid #e5eaf3;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:10px 8px;font-size:11px;font-weight:600;transition:color .2s,border-color .2s;display:flex}.clear-btn[data-v-33e11fde]:hover{color:#a43f3f;border-color:#f5c6c6}.zoom-controls[data-v-33e11fde]{z-index:20;background:#fff;border:1px solid #d9e0ed;border-radius:8px;align-items:center;gap:2px;padding:0 2px;display:inline-flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #1e375a1f}.zoom-btn[data-v-33e11fde]{background:0 0!important;border:none!important;border-radius:6px!important;padding:4px 6px!important}.zoom-btn[data-v-33e11fde]:hover{background:#eef1f6!important}.zoom-btn[data-v-33e11fde]:disabled{opacity:.35;cursor:not-allowed}.zoom-label[data-v-33e11fde]{text-align:center;color:#53607a;font-variant-numeric:tabular-nums;min-width:36px;font-size:12px;font-weight:700;line-height:20px}.reset-view-btn[data-v-33e11fde]{color:#53607a;cursor:pointer;z-index:20;background:#fff;border:1px solid #d9e0ed;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:inline-flex;position:absolute;top:12px;right:16px;box-shadow:0 4px 12px #1e375a1f}.reset-view-btn[data-v-33e11fde]:hover{background:#eef1f6}.modal-overlay[data-v-33e11fde]{z-index:100;background:#1720337a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog[data-v-33e11fde]{background:#fff;border-radius:16px;width:360px;max-width:90vw;padding:28px;box-shadow:0 24px 48px #1e375a2e}.modal-title[data-v-33e11fde]{color:#172033;margin:0 0 8px;font-size:18px}.modal-desc[data-v-33e11fde]{color:#7d889f;margin:0 0 16px;font-size:14px;line-height:1.6}.modal-hint[data-v-33e11fde]{color:#53607a;margin:0 0 8px;font-size:14px}.modal-input[data-v-33e11fde]{box-sizing:border-box;background:#fbfcff;border:1px solid #d9e0ed;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:15px;transition:border-color .2s}.modal-input[data-v-33e11fde]:focus{border-color:#a43f3f}.modal-actions[data-v-33e11fde]{gap:8px;margin-top:16px;display:flex}.modal-actions .secondary-button[data-v-33e11fde]{flex:1}.danger-button[data-v-33e11fde]{color:#fff;cursor:pointer;background:#d43f3f;border:0;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:700;transition:opacity .2s}.danger-button[data-v-33e11fde]:disabled{cursor:not-allowed;opacity:.4}.danger-button[data-v-33e11fde]:not(:disabled):hover{opacity:.88}.bgcolor-wrap[data-v-33e11fde]{position:relative}.bgcolor-dropdown[data-v-33e11fde]{z-index:10;background:#fff;border:1px solid #e5eaf3;border-radius:8px;min-width:80px;padding:6px;display:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #1e375a1f}.bgcolor-dropdown.visible[data-v-33e11fde]{display:block}.bgcolor-item[data-v-33e11fde]{color:#53607a;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.bgcolor-item[data-v-33e11fde]:hover{background:#eef1f6}.bgcolor-item.active[data-v-33e11fde]{outline-offset:-2px;background:#e8ebf3;outline:2px solid #172033}.bgcolor-swatch[data-v-33e11fde]{border:1px solid #00000014;border-radius:3px;flex-shrink:0;width:18px;height:18px;display:inline-block}.bgcolor-hex[data-v-33e11fde]{font-variant-numeric:tabular-nums}.gallery-shell[data-v-98f29820]{flex-direction:column;height:100%;min-height:100vh;display:flex}.gallery-header[data-v-98f29820]{background:#fff;border-bottom:1px solid #eef1f6;flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.top-button[data-v-98f29820]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.top-button[data-v-98f29820]:hover{background:#f2f5fa}.gallery-title[data-v-98f29820]{color:#172033;margin:0;font-size:16px;font-weight:700}.message[data-v-98f29820]{flex-shrink:0;margin:0;padding:8px 16px}.message.error[data-v-98f29820]{color:#a43f3f;background:#fff1f1}.gallery-body[data-v-98f29820]{flex-direction:column;flex:1;min-height:0;display:flex}.loading-area[data-v-98f29820]{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.state-box[data-v-98f29820]{color:#7d889f;background:#f2f5fa;border-radius:12px;padding:24px;font-weight:600}.progress-track[data-v-98f29820]{background:#eef1f6;border-radius:4px;width:180px;height:4px;overflow:hidden}.progress-fill[data-v-98f29820]{background:linear-gradient(90deg,#536dfe,#8f56ff);border-radius:4px;min-height:100vh;transition:width .3s}.gallery-grid[data-v-98f29820]{flex-wrap:wrap;flex:1;align-content:flex-start;gap:12px;padding:16px;display:flex;overflow-y:auto}.artwork-card[data-v-98f29820]{cursor:pointer;background:#fff;border:1px solid #e5eaf3;border-radius:12px;width:180px;transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.artwork-card[data-v-98f29820]:hover{border-color:#c5cdda;box-shadow:0 4px 12px #1e375a14}.artwork-delete-btn[data-v-98f29820]{color:#a0abbf;cursor:pointer;opacity:0;z-index:2;background:#ffffffd9;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .2s,color .2s,background .2s;display:flex;position:absolute;top:6px;right:6px}.artwork-card:hover .artwork-delete-btn[data-v-98f29820]{opacity:1}.artwork-delete-btn[data-v-98f29820]:hover{color:#a43f3f;background:#fff1f1}.artwork-preview[data-v-98f29820]{box-sizing:border-box;background:#f2f5fa;justify-content:center;align-items:center;width:180px;height:180px;display:flex}.artwork-thumb[data-v-98f29820]{max-width:180px;max-height:180px;image-rendering:crisp-edges;margin:auto;display:block}.artwork-info[data-v-98f29820]{border-top:1px solid #f2f5fa;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.artwork-name[data-v-98f29820]{color:#172033;font-size:14px;font-weight:600}.artwork-size[data-v-98f29820]{color:#a0abbf;font-size:12px;font-weight:600}.modal-overlay[data-v-98f29820]{z-index:100;background:#1720337a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog[data-v-98f29820]{background:#fff;border-radius:16px;width:360px;max-width:90vw;padding:28px;box-shadow:0 24px 48px #1e375a2e}.modal-title[data-v-98f29820]{color:#172033;margin:0 0 8px;font-size:18px}.modal-desc[data-v-98f29820]{color:#53607a;margin:0 0 20px;font-size:14px;line-height:1.6}.modal-actions[data-v-98f29820]{gap:8px;display:flex}.modal-actions .secondary-button[data-v-98f29820]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:700;transition:background .2s}.modal-actions .secondary-button[data-v-98f29820]:hover{background:#f2f5fa}.danger-button[data-v-98f29820]{color:#fff;cursor:pointer;background:#d43f3f;border:0;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:700;transition:opacity .2s}.danger-button[data-v-98f29820]:hover{opacity:.88}.pagination-area[data-v-98f29820]{flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:8px 16px 24px;display:flex}.page-btn[data-v-98f29820]{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:8px;align-items:center;gap:4px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.page-btn[data-v-98f29820]:hover:not(:disabled){background:#f2f5fa}.page-btn[data-v-98f29820]:disabled{opacity:.4;cursor:default}.page-info[data-v-98f29820]{color:#7d889f;text-align:center;min-width:50px;font-size:13px;font-weight:600}.profile-page[data-v-bf296881]{--text:#172033;--text-muted:#53607a;--card:#fff;--line:#eef1f6;--glass:#ffffffb8;--glass-line:#ffffffb3;color:var(--text);background:#f5f6fa;min-height:100vh;padding:0 0 48px}.profile-page.is-dark[data-v-bf296881]{--text:#f3f4ff;--text-muted:#b9c0e0;--card:#1a2240;--line:#ffffff14;--glass:#ffffff14;--glass-line:#ffffff24;background:#0f1330}.profile-topbar[data-v-bf296881]{z-index:5;border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:12px;padding:10px 24px;display:flex;position:sticky;top:0}.profile-topbar-title[data-v-bf296881]{color:var(--text);flex:1;margin:0;font-size:16px;font-weight:700}.topbar-actions[data-v-bf296881]{gap:8px;display:flex}.top-button[data-v-bf296881]{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:var(--card);border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.top-button[data-v-bf296881]:hover{background:#7f7fa014}.ghost-btn[data-v-bf296881]{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:var(--card);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700;transition:background .2s}.ghost-btn[data-v-bf296881]:hover{background:#7f7fa014}.primary-button.small[data-v-bf296881]{background:linear-gradient(135deg,#536dfe,#8f56ff);border:0;border-radius:8px;width:auto;padding:6px 16px;font-size:13px}.message[data-v-bf296881]{border-radius:12px;margin:12px 24px 0;padding:10px 14px}.message.error[data-v-bf296881]{color:#a43f3f;background:#fff1f1}.message.success[data-v-bf296881]{color:#267a54;background:#effaf4}.state-box[data-v-bf296881]{color:var(--text-muted);background:var(--glass);text-align:center;border-radius:12px;margin:24px;padding:24px;font-weight:600}.profile-body[data-v-bf296881]{grid-template-columns:minmax(0,1fr);gap:24px;max-width:880px;margin:20px auto 0;padding:0 24px;display:grid}.profile-page.is-editing .profile-body[data-v-bf296881]{grid-template-columns:minmax(0,1fr) 320px;max-width:1180px}@media (width<=920px){.profile-page.is-editing .profile-body[data-v-bf296881]{grid-template-columns:1fr;max-width:880px}}.banner[data-v-bf296881]{border:1px solid var(--line);border-radius:20px;height:220px;position:relative;overflow:hidden}.banner-aurora[data-v-bf296881]{background:linear-gradient(135deg,#536dfe 0%,#8f56ff 48%,#ff6fae 100%)}.banner-mint[data-v-bf296881]{background:linear-gradient(135deg,#e9fff6 0%,#c9f6e6 100%)}.banner-paper[data-v-bf296881]{background:linear-gradient(135deg,#fff 0%,#eef1f6 100%)}.banner-night[data-v-bf296881]{background:linear-gradient(135deg,#0f172a 0%,#243b55 100%)}.banner-starry[data-v-bf296881]{background:linear-gradient(135deg,#15103a 0%,#3a2a7a 100%)}.banner-sakura[data-v-bf296881]{background:linear-gradient(135deg,#ffe3f0 0%,#ffc2dd 100%)}.banner-sakura[data-v-bf296881]:after,.banner-starry[data-v-bf296881]:after{content:"";pointer-events:none;position:absolute;inset:0}.banner-sakura[data-v-bf296881]:after{background:radial-gradient(circle at 18% 30%,#ff7eb38c 0 4px,#0000 5px),radial-gradient(circle at 70% 22%,#ffb6d199 0 3px,#0000 4px),radial-gradient(circle at 40% 70%,#ff96c880 0 5px,#0000 6px),radial-gradient(circle at 85% 65%,#ffc8e08c 0 3px,#0000 4px),radial-gradient(circle at 55% 45%,#ffa0cd73 0 4px,#0000 5px)}.banner-starry[data-v-bf296881]:after{background:radial-gradient(1.5px 1.5px at 12% 22%,#fff,#0000),radial-gradient(1.5px 1.5px at 30% 60%,#cfe0ff,#0000),radial-gradient(1.5px 1.5px at 55% 28%,#fff,#0000),radial-gradient(1.5px 1.5px at 72% 72%,#cfe0ff,#0000),radial-gradient(1.5px 1.5px at 88% 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 22% 82%,#cfe0ff,#0000);animation:3.5s ease-in-out infinite alternate twinkle-bf296881}@keyframes twinkle-bf296881{0%{opacity:.55}to{opacity:1}}.banner-edit-overlay[data-v-bf296881]{background:#0f133047;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-btn[data-v-bf296881]{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border:1px solid #ffffffb3;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700}.identity[data-v-bf296881]{align-items:flex-end;gap:18px;margin-top:-52px;padding:0 8px;display:flex}.avatar[data-v-bf296881]{border:4px solid var(--card);background:linear-gradient(135deg, var(--accent), #8f56ff);border-radius:24px;flex-shrink:0;place-items:center;width:96px;height:96px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 20px #1e375a2e}.avatar img[data-v-bf296881]{object-fit:cover;width:100%;height:100%}.avatar-initial[data-v-bf296881]{color:#fff;font-size:40px;font-weight:800}.avatar-edit-btn[data-v-bf296881]{border:2px solid var(--card);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;width:28px;height:28px;font-size:14px;position:absolute;bottom:-6px;right:-6px}.identity-text[data-v-bf296881]{min-width:0;padding-bottom:6px}.name-row[data-v-bf296881]{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.display-name[data-v-bf296881]{letter-spacing:-.02em;font-size:26px;font-weight:800}.username[data-v-bf296881]{color:var(--text-muted);font-size:14px;font-weight:600}.bio[data-v-bf296881]{color:var(--text-muted);white-space:pre-wrap;margin:8px 0 0;line-height:1.6}.bio-empty[data-v-bf296881]{opacity:.6}.blocks[data-v-bf296881]{flex-direction:column;gap:16px;margin-top:24px;display:flex}.block[data-v-bf296881]{border-radius:18px;padding:20px 22px;transition:box-shadow .2s,outline .2s;position:relative}.is-editing .block[data-v-bf296881]{cursor:pointer}.is-editing .block.selected[data-v-bf296881]{outline:2px solid var(--accent);outline-offset:2px}.bg-glass[data-v-bf296881]{background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bg-plain[data-v-bf296881]{background:var(--card);border:1px solid var(--line)}.bg-accent[data-v-bf296881]{background:var(--accent);color:#fff}.bg-none[data-v-bf296881]{background:0 0}.is-dark .bg-plain[data-v-bf296881]{background:var(--card)}.block-tools[data-v-bf296881]{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.is-editing .block:hover .block-tools[data-v-bf296881],.is-editing .block.selected .block-tools[data-v-bf296881]{opacity:1}.block-tools button[data-v-bf296881]{width:26px;height:26px;color:var(--text);cursor:pointer;background:#0f13301f;border:0;border-radius:7px;font-size:14px}.block-tools button[data-v-bf296881]:disabled{opacity:.3;cursor:default}.block-tools button[data-v-bf296881]:not(:disabled):hover{background:var(--accent);color:#fff}.block-title[data-v-bf296881]{margin:0 0 10px;font-size:15px;font-weight:800}.block-text[data-v-bf296881]{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.7}.align-left[data-v-bf296881]{text-align:left}.align-center[data-v-bf296881]{text-align:center}.block-stats[data-v-bf296881]{flex-wrap:wrap;gap:10px;display:flex}.align-center .block-stats[data-v-bf296881]{justify-content:center}.stat-chip[data-v-bf296881]{color:var(--text-muted);background:#7f7fa01a;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.stat-chip b[data-v-bf296881]{color:var(--accent);margin-left:4px}.showcase-grid[data-v-bf296881]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.showcase-thumb[data-v-bf296881]{aspect-ratio:1;object-fit:contain;width:100%;image-rendering:crisp-edges;border:1px solid var(--line);background:#f2f5fa;border-radius:10px}.showcase-thumb.clickable[data-v-bf296881]{cursor:pointer}.showcase-thumb.clickable[data-v-bf296881]:hover{box-shadow:0 4px 12px #1e375a1f}.block-quote[data-v-bf296881]{align-items:center;gap:8px;display:flex}.quote-mark[data-v-bf296881]{color:var(--accent);font-size:30px;font-weight:800;line-height:1}.quote-text[data-v-bf296881]{color:var(--text);font-size:18px;font-weight:600}.link-list[data-v-bf296881]{flex-wrap:wrap;gap:8px;display:flex}.link-card[data-v-bf296881]{border:1px solid var(--line);color:var(--text);background:var(--card);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s}.link-card[data-v-bf296881]:hover{border-color:var(--accent);color:var(--accent)}.block-image-wrap[data-v-bf296881]{display:flex}.align-center .block-image-wrap[data-v-bf296881]{justify-content:center}.block-image[data-v-bf296881]{border-radius:12px;max-width:100%;max-height:360px}.image-placeholder[data-v-bf296881]{padding:24px}.empty-hint[data-v-bf296881]{color:var(--text-muted);opacity:.7;font-size:13px}.add-block-hint[data-v-bf296881]{text-align:center;color:var(--text-muted);opacity:.5;font-size:12px}.profile-edit[data-v-bf296881]{flex-direction:column;align-self:start;gap:16px;max-height:calc(100vh - 84px);padding-right:4px;display:flex;position:sticky;top:64px;overflow-y:auto}.edit-section[data-v-bf296881]{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px}.edit-section-title[data-v-bf296881]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:13px;font-weight:800}.field[data-v-bf296881]{color:var(--text-muted);gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:grid}.field input[data-v-bf296881],.field textarea[data-v-bf296881],.field select[data-v-bf296881],.field-input[data-v-bf296881]{border:1px solid var(--line);width:100%;color:var(--text);background:var(--card);border-radius:10px;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.field input[data-v-bf296881]:focus,.field textarea[data-v-bf296881]:focus,.field select[data-v-bf296881]:focus,.field-input[data-v-bf296881]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.field textarea[data-v-bf296881],.field-input[data-v-bf296881]{resize:vertical}.upload-row[data-v-bf296881]{gap:8px;display:flex}.mini-btn[data-v-bf296881]{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:var(--card);border-radius:10px;flex:1;padding:9px;font-size:13px;font-weight:700;transition:background .2s}.mini-btn[data-v-bf296881]:hover{background:#7f7fa014}.mini-btn.danger[data-v-bf296881]:hover{color:#a43f3f;background:#fff1f1}.theme-presets[data-v-bf296881]{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.theme-chip[data-v-bf296881]{color:#fff;cursor:pointer;text-shadow:0 1px 2px #00000040;border:2px solid #0000;border-radius:12px;padding:8px 12px;font-size:12px;font-weight:700;transition:transform .15s,border-color .15s}.theme-chip[data-v-bf296881]:hover{transform:translateY(-1px)}.theme-chip.active[data-v-bf296881]{border-color:var(--accent)}.accent-row[data-v-bf296881]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.accent-label[data-v-bf296881]{color:var(--text-muted);margin-right:2px;font-size:12px;font-weight:700}.accent-swatch[data-v-bf296881]{cursor:pointer;border:2px solid #0000;border-radius:7px;width:22px;height:22px}.accent-swatch.active[data-v-bf296881]{border-color:var(--text)}.accent-custom[data-v-bf296881]{cursor:pointer;background:0 0;border:0;width:28px;height:28px;padding:0}.block-list[data-v-bf296881]{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.block-list-item[data-v-bf296881]{text-align:left;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:600;transition:background .15s}.block-list-item[data-v-bf296881]:hover{background:#7f7fa014}.block-list-item.active[data-v-bf296881]{color:var(--text);background:#7f7fa024}.block-list-name[data-v-bf296881]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.block-editor[data-v-bf296881]{border-top:1px dashed var(--line);padding-top:12px}.link-row[data-v-bf296881]{gap:6px;margin-bottom:6px;display:flex}.link-row input[data-v-bf296881]{flex:1}.links-editor[data-v-bf296881]{margin-bottom:8px}.image-editor[data-v-bf296881]{flex-direction:column;gap:10px;display:flex}.add-grid[data-v-bf296881]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.add-btn[data-v-bf296881]{border:1px dashed var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:10px;padding:9px;font-size:13px;font-weight:700;transition:background .15s}.add-btn[data-v-bf296881]:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.site-footer[data-v-069f7d17]{text-align:center;grid-column:1/-1;padding:10px 24px}.page-shell.home-layout[data-v-069f7d17]{grid-template-rows:1fr auto;height:100vh;padding:0;overflow:hidden}.page-shell.single-layout[data-v-069f7d17]{grid-template-columns:1fr;padding:0}.site-footer a[data-v-069f7d17]{color:#a0abbf;font-size:12px;text-decoration:none;transition:color .15s}.site-footer a[data-v-069f7d17]:hover{color:#6d63ff}.site-footer .footer-sep[data-v-069f7d17]{color:#c5ccdb;margin:0 8px;font-size:11px}.site-footer .gongan-link[data-v-069f7d17]{color:#a0abbf;align-items:center;gap:4px;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.site-footer .gongan-link[data-v-069f7d17]:hover{color:#6d63ff}.site-footer .gongan-badge[data-v-069f7d17]{width:auto;height:14px;display:block}.code-row[data-v-069f7d17]{align-items:flex-start;gap:8px;display:flex}.code-input-label[data-v-069f7d17]{color:#36415a;flex:1;gap:8px;font-size:14px;font-weight:700;display:grid}.code-btn[data-v-069f7d17]{color:#53607a;cursor:pointer;white-space:nowrap;text-align:center;background:#fff;border:1px solid #d9e0ed;border-radius:12px;flex-shrink:0;min-width:100px;margin-top:22px;padding:14px;font-size:13px;font-weight:700;transition:background .2s,border-color .2s}.code-btn[data-v-069f7d17]:hover:not(:disabled){background:#f2f5fa;border-color:#c5cdda}.code-btn[data-v-069f7d17]:disabled{cursor:not-allowed;opacity:.6}.back-bar[data-v-069f7d17]{margin-bottom:12px}.back-button[data-v-069f7d17]{color:#7d889f;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:15px;font-weight:600;transition:color .15s}.back-button[data-v-069f7d17]:hover{color:#53607a}.link-button[data-v-069f7d17]{color:#6d63ff;cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.link-button[data-v-069f7d17]:hover{color:#5346e0}.readonly-input[data-v-069f7d17]{cursor:default;color:#7d889f!important;background:#eef2f8!important}.auth-form-actions[data-v-069f7d17]{gap:10px;display:flex}.auth-form-actions .secondary-button[data-v-069f7d17]{flex:1}.auth-form-actions .primary-button[data-v-069f7d17]{flex:2}:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.page-shell{grid-template-columns:minmax(0,1fr) minmax(340px,440px);align-items:stretch;gap:32px;width:min(1120px,100% - 32px);min-height:100vh;margin:0 auto;padding:48px 0;display:grid}.page-shell.home-layout{grid-template-columns:1fr;padding-top:16px}.hero-card,.panel{border:1px solid #7a8aab2e;border-radius:28px;box-shadow:0 24px 80px #1e375a1f}.hero-card{color:#fff;background:radial-gradient(circle at 20% 18%,#ffffff59 0 8%,#0000 9%),radial-gradient(circle at 82% 14%,#ffffff47 0 6%,#0000 7%),linear-gradient(135deg,#536dfe 0%,#7c4dff 48%,#ff6fae 100%);flex-direction:column;justify-content:flex-end;min-height:560px;padding:48px;display:flex;position:relative;overflow:hidden}.hero-card:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#ffffff2e 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:340px;height:340px;position:absolute;inset:auto -80px -120px auto;transform:rotate(12deg)}.brand-mark{letter-spacing:.04em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff29;border:2px solid #ffffffb3;border-radius:18px;place-items:center;width:64px;height:64px;font-weight:800;display:grid;position:absolute;top:36px;left:36px}.eyebrow{color:inherit;letter-spacing:.12em;text-transform:uppercase;opacity:.72;margin:0 0 12px;font-size:13px;font-weight:800}h1,h2{margin:0;line-height:1.08}h1{letter-spacing:-.06em;max-width:560px;font-size:clamp(42px,8vw,86px)}h2{color:#172033;letter-spacing:-.04em;font-size:32px}.hero-copy,.form-hint,.welcome-text{color:#172033ad;line-height:1.7}.hero-copy{color:#ffffffd1;max-width:520px;margin:24px 0 0;font-size:18px}.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;flex-direction:column;justify-content:center;padding:40px;display:flex}.tabs{background:#eef2f8;border-radius:999px;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:28px;padding:6px;display:grid}.tabs button{color:#657089;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px}.tabs button.active{color:#172033;background:#fff;font-weight:700;box-shadow:0 8px 20px #1e375a14}.form-hint{margin:12px 0 24px}.auth-form{gap:18px;display:grid}label{color:#36415a;gap:8px;font-size:14px;font-weight:700;display:grid}input{color:#172033;background:#fbfcff;border:1px solid #d9e0ed;border-radius:16px;outline:none;width:100%;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background .2s}input:focus{background:#fff;border-color:#6d63ff;box-shadow:0 0 0 4px #6d63ff1f}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#536dfe,#8f56ff);border:0;border-radius:16px;width:100%;padding:15px 18px;font-weight:800;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 16px 30px #536dfe47}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 38px #536dfe57}.primary-button:disabled{cursor:not-allowed;opacity:.68}.message,.state-box{border-radius:16px;padding:12px 14px;line-height:1.5}.message{margin:0 0 16px}.message.error{color:#a43f3f;background:#fff1f1}.message.success{color:#267a54;background:#effaf4}.state-box{color:#53607a;background:#f2f5fa}.home-view{flex-direction:column;height:100%;min-height:400px;display:flex}@media (width<=860px){.page-shell{grid-template-columns:1fr;padding:24px 0}.hero-card{min-height:360px;padding:32px}.panel{padding:28px}}.home-header{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.home-time{color:#7d889f;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.home-actions{align-items:center;gap:8px;display:flex}.friend-button{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.friend-button:hover{background:#f2f5fa;border-color:#c5cdda}.user-dropdown{position:relative}.user-button{color:#36415a;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-weight:700;transition:background .2s}.user-button:hover{background:#f2f5fa}.dropdown-menu{z-index:10;background:#fff;border:1px solid #e5eaf3;border-radius:12px;min-width:110px;padding:4px;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #1e375a1f}.user-dropdown:hover .dropdown-menu{display:block}.dropdown-menu button{color:#53607a;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;width:100%;padding:6px 10px;font-weight:600;transition:background .2s,color .2s}.dropdown-menu button:hover{color:#a43f3f;background:#fff1f1}.secondary-button{color:#53607a;cursor:pointer;background:#fff;border:1px solid #d9e0ed;border-radius:16px;width:100%;padding:15px 18px;font-weight:700;transition:background .2s,border-color .2s}.secondary-button:hover{background:#f2f5fa;border-color:#c5cdda}
