@charset "UTF-8";.profile-setup[data-v-aebbff63]{padding:0}.setup-hint[data-v-aebbff63]{margin:0 0 var(--spacing-5) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.form-group[data-v-aebbff63]{margin-bottom:var(--spacing-4)}.form-group label[data-v-aebbff63]{display:block;margin-bottom:var(--spacing-1);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.required[data-v-aebbff63]{color:var(--color-danger)}.gender-options[data-v-aebbff63]{display:flex;gap:var(--spacing-3)}.gender-btn[data-v-aebbff63]{flex:1;padding:var(--spacing-3) 0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;cursor:pointer;transition:all var(--transition-base)}.gender-btn[data-v-aebbff63]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.gender-btn.active[data-v-aebbff63]{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.gender-btn[data-v-aebbff63]:disabled{cursor:not-allowed;opacity:.6}.birth-row[data-v-aebbff63]{display:flex;gap:var(--spacing-3)}.birth-row[data-v-aebbff63] .app-select{flex:1;min-width:0}.setup-error[data-v-aebbff63]{padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-danger-light);border:1px solid var(--color-danger-light);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-4)}.setup-submit[data-v-aebbff63]{width:100%;margin-top:var(--spacing-6)}.register-modal-content[data-v-5b8f4f2f]{padding:0}.register-form[data-v-5b8f4f2f],.form-group[data-v-5b8f4f2f]{margin-bottom:var(--spacing-4)}.form-group label[data-v-5b8f4f2f]{display:block;margin-bottom:var(--spacing-1);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.required[data-v-5b8f4f2f]{color:var(--color-danger)}.code-row[data-v-5b8f4f2f]{display:flex;gap:var(--spacing-2);align-items:stretch}.code-row[data-v-5b8f4f2f] .app-input{flex:1;min-width:0}.code-btn[data-v-5b8f4f2f]{flex-shrink:0;min-width:110px;padding:0 var(--spacing-3);background:var(--color-primary-light);border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;font-family:inherit;transition:all var(--transition-base);white-space:nowrap}.code-btn[data-v-5b8f4f2f]:hover:not(:disabled){background:var(--color-primary-soft)}.code-btn[data-v-5b8f4f2f]:disabled{cursor:not-allowed;opacity:.6}.form-actions[data-v-5b8f4f2f]{margin-top:var(--spacing-6)}.agreement-row[data-v-5b8f4f2f]{display:flex;justify-content:center;align-items:center;gap:2px;font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex-wrap:wrap;margin-top:var(--spacing-3)}.policy-link[data-v-5b8f4f2f]{color:var(--color-primary);text-decoration:none}.policy-link[data-v-5b8f4f2f]:hover{text-decoration:underline}.error-message[data-v-5b8f4f2f]{padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-danger-light);border:1px solid var(--color-danger-light);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-4);animation:fadeIn-5b8f4f2f .3s ease}.register-footer[data-v-5b8f4f2f]{margin-top:var(--spacing-4);text-align:center}.link-btn[data-v-5b8f4f2f]{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0;font-family:inherit}.link-btn[data-v-5b8f4f2f]:hover{text-decoration:underline}@keyframes fadeIn-5b8f4f2f{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-container[data-v-b626cf12]{position:fixed;top:calc(var(--navbar-total-height) + var(--spacing-4));right:var(--spacing-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-2);pointer-events:none}.toast-item[data-v-b626cf12]{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-lg);font-size:var(--font-size-base);pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);min-width:240px;max-width:420px;border:1px solid var(--color-border-light);transition:all var(--transition-base)}.toast--success[data-v-b626cf12]{background:var(--color-accent-light);color:#065f46;border-color:#10b98133}.toast--error[data-v-b626cf12]{background:var(--color-danger-light);color:#991b1b;border-color:#ef444433}.toast--info[data-v-b626cf12]{background:#eff6ff;color:#1e40af;border-color:#3b82f626}.toast--warning[data-v-b626cf12]{background:var(--color-warning-light);color:#92400e;border-color:#f59e0b33}.toast-msg[data-v-b626cf12]{flex:1;line-height:var(--line-height-normal)}.toast-close[data-v-b626cf12]{flex-shrink:0;width:24px;height:24px;border:none;background:#0000000f;border-radius:var(--radius-pill);cursor:pointer;display:flex;align-items:center;justify-content:center;color:inherit;opacity:.6;transition:all var(--transition-fast)}.toast-close[data-v-b626cf12]:hover{opacity:1;background:#0000001f}.toast-enter-active[data-v-b626cf12]{transition:all var(--transition-slow)}.toast-leave-active[data-v-b626cf12]{transition:all .2s ease}.toast-enter-from[data-v-b626cf12],.toast-leave-to[data-v-b626cf12]{opacity:0;transform:translate(60px)}.feedback-float[data-v-8084343f]{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);z-index:var(--z-tooltip)}.float-btn[data-v-8084343f]{width:48px;height:48px;border-radius:var(--radius-pill);border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-info));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.float-btn[data-v-8084343f]:hover{transform:scale(1.1);box-shadow:0 8px 24px #667eea66}.float-btn.active[data-v-8084343f]{transform:rotate(15deg);background:linear-gradient(135deg,var(--color-text-secondary),var(--color-text-tertiary))}.float-icon[data-v-8084343f]{display:inline-flex;align-items:center;justify-content:center}.feedback-popup[data-v-8084343f]{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);width:400px;max-height:calc(100vh - 120px);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;z-index:850}.popup-header[data-v-8084343f]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.popup-header h3[data-v-8084343f]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.popup-close[data-v-8084343f]{width:28px;height:28px;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.popup-close[data-v-8084343f]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.popup-body[data-v-8084343f]{flex:1;overflow-y:auto;padding:var(--spacing-4) var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4)}.popup-body[data-v-8084343f]::-webkit-scrollbar{width:4px}.popup-body[data-v-8084343f]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}.form-group[data-v-8084343f]{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label[data-v-8084343f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.required[data-v-8084343f]{color:var(--color-danger)}.form-error[data-v-8084343f]{font-size:var(--font-size-xs);color:var(--color-danger);margin:0}.category-tags[data-v-8084343f]{display:flex;gap:var(--spacing-2)}.category-tag[data-v-8084343f]{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-surface);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.category-tag[data-v-8084343f]:hover{border-color:var(--color-primary-soft)}.category-tag.active.cat-suggestion[data-v-8084343f]{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.category-tag.active.cat-bug[data-v-8084343f]{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.category-tag.active.cat-other[data-v-8084343f]{background:var(--color-bg-hover);border-color:var(--color-text-tertiary);color:var(--color-text-secondary)}.page-list[data-v-8084343f]{display:flex;flex-direction:column;gap:var(--spacing-1)}.page-row[data-v-8084343f]{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background:var(--color-bg-hover);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.page-row--input[data-v-8084343f]{padding:0;background:none}.page-row-text[data-v-8084343f]{flex:1;color:var(--color-text-primary);word-break:break-all}.page-row-remove[data-v-8084343f]{border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;padding:2px;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.page-row-remove[data-v-8084343f]:hover{color:var(--color-danger)}.page-input[data-v-8084343f]{width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-primary-soft);border-radius:var(--radius-sm);font-size:var(--font-size-xs);outline:none}.page-add-btn[data-v-8084343f]{padding:var(--spacing-1) var(--spacing-3);border:1px dashed var(--color-border);background:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);align-self:flex-start}.page-add-btn[data-v-8084343f]:hover{border-color:var(--color-primary-soft);color:var(--color-primary)}.image-upload-area[data-v-8084343f]{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.image-preview[data-v-8084343f]{position:relative;width:72px;height:72px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.image-preview img[data-v-8084343f]{width:100%;height:100%;object-fit:cover}.image-remove[data-v-8084343f]{position:absolute;top:2px;right:2px;width:18px;height:18px;border:none;background:#00000080;color:#fff;border-radius:var(--radius-pill);cursor:pointer;display:flex;align-items:center;justify-content:center}.image-add-btn[data-v-8084343f]{width:72px;height:72px;border:2px dashed var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-tertiary);transition:all var(--transition-fast)}.image-add-btn[data-v-8084343f]:hover{border-color:var(--color-primary-soft);color:var(--color-primary)}.image-add-btn.uploading[data-v-8084343f]{opacity:.6;pointer-events:none}.popup-footer[data-v-8084343f]{display:flex;justify-content:flex-end;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);border-top:1px solid var(--color-border-light);flex-shrink:0}.popup-enter-active[data-v-8084343f]{transition:all .25s ease}.popup-leave-active[data-v-8084343f]{transition:all .15s ease}.popup-enter-from[data-v-8084343f]{opacity:0;transform:translateY(12px) scale(.95)}.popup-leave-to[data-v-8084343f]{opacity:0;transform:translateY(8px) scale(.98)}@media(max-width:480px){.float-btn[data-v-8084343f]{width:42px;height:42px}.feedback-popup[data-v-8084343f]{width:calc(100vw - var(--spacing-6) * 2);right:var(--spacing-3);bottom:var(--spacing-3);max-height:calc(100vh - 100px)}.feedback-float[data-v-8084343f]{bottom:calc(var(--spacing-3) + env(safe-area-inset-bottom,0px));right:var(--spacing-3)}}.ai-float[data-v-cbfd7708]{position:fixed;bottom:80px;right:var(--spacing-6);z-index:var(--z-tooltip);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.back-top-btn[data-v-cbfd7708]{width:40px;height:40px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all var(--transition-base);padding:0}.back-top-btn[data-v-cbfd7708]:hover{color:var(--color-primary);border-color:var(--color-primary-soft);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.float-btn[data-v-cbfd7708]{width:48px;height:48px;border-radius:var(--radius-pill);border:none;background:linear-gradient(135deg,var(--color-info),var(--color-primary));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition-base);position:relative}.float-btn[data-v-cbfd7708]:hover{transform:scale(1.1);box-shadow:0 8px 24px #6366f166}.float-btn.active[data-v-cbfd7708]{background:linear-gradient(135deg,var(--color-text-secondary),var(--color-text-tertiary))}.float-btn.has-unread[data-v-cbfd7708]:after{content:"";position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:var(--radius-pill);background:var(--color-danger);border:2px solid white;animation:pulse-dot-cbfd7708 2s ease-in-out infinite}@keyframes pulse-dot-cbfd7708{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.float-icon[data-v-cbfd7708]{display:inline-flex;align-items:center;justify-content:center}@media(max-width:480px){.ai-float[data-v-cbfd7708]{bottom:calc(var(--spacing-3) + 56px + env(safe-area-inset-bottom,0px));right:var(--spacing-3)}.float-btn[data-v-cbfd7708]{width:42px;height:42px}}.chat-message[data-v-12827ada]{padding:var(--spacing-1) var(--spacing-4);animation:msg-enter-12827ada .2s ease}@keyframes msg-enter-12827ada{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-system[data-v-12827ada]{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--spacing-2)}.msg-user[data-v-12827ada]{display:flex;justify-content:flex-end}.msg-bubble[data-v-12827ada]{max-width:85%;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.6;word-break:break-word;white-space:pre-wrap;border:1px solid var(--color-border-light);transition:all var(--transition-base)}.msg-bubble[data-v-12827ada]:hover{border-color:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.msg-bubble--user[data-v-12827ada]{background:linear-gradient(135deg,var(--color-primary),var(--color-info));color:#fff;border-color:transparent;border-bottom-right-radius:var(--radius-sm)}.msg-bubble--assistant[data-v-12827ada]{position:relative;background:var(--color-bg-hover);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm);padding-bottom:26px}.msg-bubble.streaming[data-v-12827ada]{background:var(--color-bg-hover)}.ai-gen-badge[data-v-12827ada]{position:absolute;right:10px;bottom:6px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--color-primary-light);color:var(--color-primary);font-size:10px;line-height:1.5;font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none;pointer-events:none}.msg-text[data-v-12827ada] h2,.msg-text[data-v-12827ada] h3,.msg-text[data-v-12827ada] h4{margin:var(--spacing-2) 0 var(--spacing-1);font-weight:var(--font-weight-semibold);line-height:1.4}.msg-text[data-v-12827ada] strong{font-weight:var(--font-weight-semibold)}.msg-text[data-v-12827ada] ul{margin:var(--spacing-1) 0;padding-left:var(--spacing-5)}.msg-text[data-v-12827ada] li{margin-bottom:2px}.msg-text[data-v-12827ada] code{background:var(--color-border-light);padding:1px 4px;border-radius:3px;font-size:13px}.msg-text[data-v-12827ada] pre{background:var(--color-bg-hover);border-radius:var(--radius-sm);padding:var(--spacing-2);overflow-x:auto;font-size:12px;margin:var(--spacing-2) 0}.msg-text[data-v-12827ada] pre code{background:none;padding:0}.action-cards[data-v-12827ada]{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-2)}.action-card[data-v-12827ada]{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-surface)}.action-card-header[data-v-12827ada]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-1) var(--spacing-2);background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light)}.action-type-tag[data-v-12827ada]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-light);padding:1px var(--spacing-2);border-radius:var(--radius-pill)}.action-apply-btn[data-v-12827ada]{font-size:var(--font-size-xs);padding:2px var(--spacing-2);border:1px solid var(--color-primary-soft);background:#fff;color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.action-apply-btn[data-v-12827ada]:hover{background:var(--color-primary);color:#fff}.action-card-body[data-v-12827ada]{padding:var(--spacing-2)}.action-json[data-v-12827ada]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:monospace;white-space:pre-wrap;word-break:break-word;background:none}.msg-meta[data-v-12827ada]{font-size:10px;color:var(--color-text-tertiary);margin-top:2px;padding-left:var(--spacing-1)}.msg-assistant[data-v-12827ada]{display:flex;flex-direction:column;align-items:flex-start}.msg-rating[data-v-12827ada]{display:flex;gap:2px;margin-top:var(--spacing-1);padding-left:var(--spacing-1);opacity:0;transition:opacity .15s}.msg-rating.visible[data-v-12827ada]{opacity:1}.star[data-v-12827ada]{color:var(--color-border);cursor:pointer;transition:color .1s;line-height:1;display:inline-flex}.star[data-v-12827ada]:hover,.star.filled[data-v-12827ada]{color:#f59e0b}.history-overlay[data-v-8dbbfa72]{position:absolute;inset:0;background:#0000004d;z-index:10;display:flex;flex-direction:column}.history-panel[data-v-8dbbfa72]{flex:1;display:flex;flex-direction:column;background:var(--color-bg-surface)}.history-header[data-v-8dbbfa72]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.history-header h3[data-v-8dbbfa72]{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.history-close[data-v-8dbbfa72]{border:none;background:none;cursor:pointer;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center}.history-loading[data-v-8dbbfa72],.history-empty[data-v-8dbbfa72]{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.history-list[data-v-8dbbfa72]{flex:1;overflow-y:auto;padding:var(--spacing-2)}.history-list[data-v-8dbbfa72]::-webkit-scrollbar{width:4px}.history-list[data-v-8dbbfa72]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}.history-item[data-v-8dbbfa72]{display:flex;align-items:center;padding:var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.history-item[data-v-8dbbfa72]:hover{background:var(--color-bg-hover)}.history-item-main[data-v-8dbbfa72]{flex:1;min-width:0}.history-title[data-v-8dbbfa72]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta[data-v-8dbbfa72]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px;display:flex;gap:var(--spacing-1)}.history-delete-btn[data-v-8dbbfa72]{border:none;background:none;cursor:pointer;padding:var(--spacing-1);opacity:0;transition:opacity var(--transition-fast);display:flex;align-items:center;justify-content:center}.history-item:hover .history-delete-btn[data-v-8dbbfa72]{opacity:1}.ai-panel[data-v-c619da78]{position:fixed;bottom:calc(var(--spacing-6) + env(safe-area-inset-bottom,0px));right:var(--spacing-6);width:400px;height:560px;max-height:calc(100vh - 120px);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:900;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}.panel-header[data-v-c619da78]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.panel-title-row[data-v-c619da78]{display:inline-flex;align-items:center;gap:var(--spacing-2)}.panel-title[data-v-c619da78]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.panel-header-actions[data-v-c619da78]{display:flex;gap:var(--spacing-1);flex-shrink:0}.panel-header-btn[data-v-c619da78]{width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.panel-header-btn[data-v-c619da78]:hover{background:var(--color-bg-hover)}.panel-limit-msg[data-v-c619da78]{padding:var(--spacing-2) var(--spacing-4);background:var(--color-warning-light);color:var(--color-warning);font-size:var(--font-size-xs);text-align:center;flex-shrink:0}.panel-tabs[data-v-c619da78]{display:flex;align-items:center;border-bottom:1px solid var(--color-border-light);flex-shrink:0;padding-right:var(--spacing-1)}.tabs-scroll[data-v-c619da78]{flex:1;display:flex;overflow-x:auto;scrollbar-width:none}.tabs-scroll[data-v-c619da78]::-webkit-scrollbar{display:none}.tab-item[data-v-c619da78]{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border:none;background:none;cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-bottom:2px solid transparent;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0}.tab-item.active[data-v-c619da78]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-item[data-v-c619da78]:hover{background:var(--color-bg-hover)}.tab-title[data-v-c619da78]{max-width:80px;overflow:hidden;text-overflow:ellipsis}.tab-title-input[data-v-c619da78]{max-width:100px;padding:0;border:none;border-bottom:1px solid var(--color-primary);font-size:var(--font-size-xs);outline:none;background:transparent;color:var(--color-primary)}.tab-close[data-v-c619da78]{color:var(--color-text-tertiary);padding:1px;display:inline-flex}.tab-close[data-v-c619da78]:hover{color:var(--color-danger)}.tab-new-btn[data-v-c619da78]{width:28px;height:28px;border:1px dashed var(--color-border);background:none;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.tab-new-btn[data-v-c619da78]:hover{border-color:var(--color-primary-soft);color:var(--color-primary)}.panel-messages[data-v-c619da78]{flex:1;overflow-y:auto;padding:var(--spacing-1) 0;overscroll-behavior:contain}.panel-messages[data-v-c619da78]::-webkit-scrollbar{width:4px}.panel-messages[data-v-c619da78]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}.panel-empty[data-v-c619da78]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--spacing-8);text-align:center}.empty-icon[data-v-c619da78]{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-4)}.empty-title[data-v-c619da78]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-2)}.empty-hint[data-v-c619da78]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 var(--spacing-6)}.panel-loading[data-v-c619da78]{display:flex;justify-content:center;padding:var(--spacing-4)}.panel-loading-inner[data-v-c619da78]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.panel-progress-text[data-v-c619da78]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.loading-dots[data-v-c619da78]{display:flex;gap:var(--spacing-1)}.loading-dot[data-v-c619da78]{font-size:8px;color:var(--color-text-tertiary);animation:dot-bounce-c619da78 1.4s ease-in-out infinite}.loading-dot[data-v-c619da78]:nth-child(2){animation-delay:.2s}.loading-dot[data-v-c619da78]:nth-child(3){animation-delay:.4s}@keyframes dot-bounce-c619da78{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.streaming-msg[data-v-c619da78]{padding:var(--spacing-1) var(--spacing-4)}.msg-bubble[data-v-c619da78]{max-width:85%;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.6;word-break:break-word}.msg-bubble--assistant[data-v-c619da78]{position:relative;background:var(--color-bg-hover);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm);padding-bottom:26px}.ai-gen-badge[data-v-c619da78]{position:absolute;right:10px;bottom:6px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--color-primary-light);color:var(--color-primary);font-size:10px;line-height:1.5;font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none;pointer-events:none}.msg-bubble.streaming[data-v-c619da78]{background:var(--color-bg-hover)}.cursor-blink[data-v-c619da78]{animation:blink-c619da78 1s step-end infinite;color:var(--color-primary)}@keyframes blink-c619da78{50%{opacity:0}}.panel-error[data-v-c619da78]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-4);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--font-size-xs);flex-shrink:0}.panel-error button[data-v-c619da78]{border:none;background:none;color:var(--color-danger);cursor:pointer;display:flex;align-items:center;justify-content:center}.panel-input-area[data-v-c619da78]{padding:var(--spacing-2) var(--spacing-3);flex-shrink:0}.input-row[data-v-c619da78]{position:relative;display:flex;gap:var(--spacing-2)}.input-row[data-v-c619da78] .app-input-wrapper{flex:1}.input-row[data-v-c619da78] textarea{min-height:60px;max-height:150px;resize:none;padding-right:46px}.send-btn[data-v-c619da78]{position:absolute;right:var(--spacing-2);bottom:var(--spacing-2);width:32px;height:32px;border-radius:var(--radius-pill);border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-info));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);flex-shrink:0;z-index:1}.send-btn[data-v-c619da78]:disabled{opacity:.5;cursor:not-allowed}.send-btn[data-v-c619da78]:not(:disabled):hover{transform:scale(1.08)}.panel-disclaimer[data-v-c619da78]{padding:var(--spacing-2) var(--spacing-4);font-size:10px;color:var(--color-text-tertiary);text-align:center;flex-shrink:0;background:var(--color-bg-surface)}.popup-enter-active[data-v-c619da78]{transition:all .25s ease}.popup-leave-active[data-v-c619da78]{transition:all .15s ease}.popup-enter-from[data-v-c619da78]{opacity:0;transform:translateY(12px) scale(.95)}.popup-leave-to[data-v-c619da78]{opacity:0;transform:translateY(8px) scale(.98)}@media(max-width:480px){.ai-panel[data-v-c619da78]{width:calc(100vw - var(--spacing-6) * 2);right:var(--spacing-3);bottom:calc(var(--spacing-3) + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 100px)}}.modal-hint[data-v-f891b2be]{font-size:14px;color:#555;margin:0;line-height:1.6}.friend-bell-wrap[data-v-1ac8be38]{position:relative}.friend-btn[data-v-1ac8be38]{position:relative;width:36px;height:36px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);transition:background var(--transition-fast)}.friend-btn[data-v-1ac8be38]:hover{background:var(--color-bg-hover)}.badge[data-v-1ac8be38]{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--color-bg-surface)}.popup-panel[data-v-11f4d21d]{position:absolute;top:calc(100% + var(--spacing-2));right:0;width:360px;max-height:420px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-modal)}.popup-head[data-v-11f4d21d]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex-shrink:0}.btn-all-read[data-v-11f4d21d]{border:none;background:none;color:var(--color-primary);font-size:var(--font-size-xs);cursor:pointer;font-family:inherit}.btn-all-read[data-v-11f4d21d]:hover{text-decoration:underline}.popup-empty[data-v-11f4d21d]{text-align:center;padding:var(--spacing-8);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.popup-list[data-v-11f4d21d]{flex:1;overflow-y:auto}.popup-list[data-v-11f4d21d]::-webkit-scrollbar{width:3px}.popup-list[data-v-11f4d21d]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.popup-item[data-v-11f4d21d]{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);cursor:pointer;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.popup-item[data-v-11f4d21d]:hover{background:var(--color-bg-hover)}.popup-item.unread[data-v-11f4d21d]{background:var(--color-primary-light)}.item-icon[data-v-11f4d21d]{flex-shrink:0;margin-top:2px;display:inline-flex}.item-body[data-v-11f4d21d]{flex:1;min-width:0}.item-title[data-v-11f4d21d]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.item-content[data-v-11f4d21d]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.item-time[data-v-11f4d21d]{font-size:10px;color:var(--color-text-tertiary);margin-top:4px}.item-dot[data-v-11f4d21d]{width:8px;height:8px;border-radius:50%;background:var(--color-danger);flex-shrink:0;margin-top:6px}.popup-foot[data-v-11f4d21d]{padding:var(--spacing-2) var(--spacing-4);border-top:1px solid var(--color-border-light);text-align:center;flex-shrink:0}.view-all[data-v-11f4d21d]{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}@media(max-width:480px){.popup-panel[data-v-11f4d21d]{width:calc(100vw - var(--spacing-8));max-height:min(420px,60vh)}}.view-all[data-v-11f4d21d]:hover{text-decoration:underline}.notify-bell-wrap[data-v-3be3796c]{position:relative}.bell-btn[data-v-3be3796c]{position:relative;width:36px;height:36px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);transition:background var(--transition-fast)}.bell-btn[data-v-3be3796c]:hover{background:var(--color-bg-hover)}.badge[data-v-3be3796c]{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--color-bg-surface)}.popup-enter-active[data-v-3be3796c]{transition:all .2s ease}.popup-leave-active[data-v-3be3796c]{transition:all .1s ease}.popup-enter-from[data-v-3be3796c]{opacity:0;transform:translateY(-8px) scale(.96)}.popup-leave-to[data-v-3be3796c]{opacity:0;transform:translateY(-4px) scale(.98)}#app[data-v-d591fb17]{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-app)}.navbar[data-v-d591fb17]{position:sticky;top:0;z-index:var(--z-navbar);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding-top:env(safe-area-inset-top,0px)}.navbar-inner[data-v-d591fb17]{max-width:var(--page-max-width);margin:0 auto;padding:0 var(--spacing-8);height:var(--navbar-height);display:flex;align-items:center;justify-content:space-between}.navbar-brand[data-v-d591fb17]{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;-webkit-user-select:none;user-select:none}.logo-mark[data-v-d591fb17]{height:34px;width:auto;object-fit:contain;border-radius:var(--radius-md);flex-shrink:0}.brand-name[data-v-d591fb17]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em}.navbar-actions[data-v-d591fb17]{display:flex;align-items:center;gap:var(--spacing-2)}.user-chip[data-v-d591fb17]{display:flex;align-items:center;padding:0;border:none;background:none;cursor:pointer;line-height:0}.chip-avatar-img[data-v-d591fb17]{width:30px;height:30px;border-radius:var(--radius-pill);object-fit:cover;flex-shrink:0;position:relative;z-index:1;transition:transform .25s cubic-bezier(.25,.8,.35,1)}.user-chip:hover .chip-avatar-img[data-v-d591fb17]{transition:transform .25s cubic-bezier(.25,.8,.35,1) .1s;transform:translateY(0) scale(1.25)}.user-chip.is-open .chip-avatar-img[data-v-d591fb17]{transition:transform .25s cubic-bezier(.25,.8,.35,1);transform:translateY(calc(var(--navbar-height) / 2)) scale(2.1);z-index:510}.user-chip-wrapper[data-v-d591fb17]{position:relative}.user-menu-panel[data-v-d591fb17]{position:absolute;top:calc(100% + 15px);left:-80px;width:190px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow:hidden;padding:var(--spacing-2);animation:menu-enter-d591fb17 var(--transition-modal)}@keyframes menu-enter-d591fb17{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-user-info[data-v-d591fb17]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-1);padding:var(--spacing-8) var(--spacing-3) var(--spacing-3)}.menu-name[data-v-d591fb17]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.menu-role[data-v-d591fb17]{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.menu-balance[data-v-d591fb17]{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);background:var(--color-primary-light);line-height:1;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.menu-balance[data-v-d591fb17]:hover{color:var(--color-primary)}.menu-balance-icon[data-v-d591fb17]{display:inline-flex;align-items:center}.menu-balance-num[data-v-d591fb17]{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.menu-divider[data-v-d591fb17]{height:1px;background:var(--color-border-light);margin:var(--spacing-1) 0}.menu-item[data-v-d591fb17]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-2) var(--spacing-3);border:none;background:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);line-height:1;cursor:pointer;transition:all var(--transition-base)}.menu-item[data-v-d591fb17]:hover{background:var(--color-bg-hover)}.menu-item--danger[data-v-d591fb17]:hover{background:var(--color-danger-light);color:var(--color-danger)}.menu-item--primary[data-v-d591fb17]:hover{background:var(--color-primary-light);color:var(--color-primary)}.menu-icon[data-v-d591fb17]{display:inline-flex;align-items:center;justify-content:center;width:20px}.main-content[data-v-d591fb17]{flex:1;width:100%}@media(hover:none)and (pointer:coarse){.user-chip:hover .chip-avatar-img[data-v-d591fb17]{transform:none}}@media(max-width:768px){.navbar-inner[data-v-d591fb17]{padding:0 var(--spacing-4)}.brand-name[data-v-d591fb17]{font-size:var(--font-size-base)}.user-menu-panel[data-v-d591fb17]{right:var(--spacing-4);left:var(--spacing-4);width:auto}.menu-user-info[data-v-d591fb17]{padding-top:var(--spacing-3)}.menu-item[data-v-d591fb17]{padding:var(--spacing-3) var(--spacing-3)}.menu-balance[data-v-d591fb17]{padding:var(--spacing-2)}}:root{--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-light: #EFF6FF;--color-primary-soft: #DBEAFE;--color-accent: #10B981;--color-accent-hover: #059669;--color-accent-light: #ECFDF5;--color-warning: #F59E0B;--color-warning-hover: #D97706;--color-warning-light: #FFFBEB;--color-danger: #EF4444;--color-danger-hover: #DC2626;--color-danger-light: #FEF2F2;--color-info: #6366F1;--color-info-light: #EEF2FF;--color-bg-app: #F8FAFC;--color-bg-surface: #FFFFFF;--color-bg-hover: #F1F5F9;--color-bg-selected: #EFF6FF;--color-text-primary: #1E293B;--color-text-secondary: #64748B;--color-text-tertiary: #94A3B8;--color-text-inverse: #FFFFFF;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-focus: #3B82F6;--font-family-base: HarmonyOS Sans, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--font-family-mono: SFMono-Regular, Cascadia Code, Consolas, Liberation Mono, Menlo, monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-size-3xl: 28px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-pill: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .03);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);--shadow-button-hover: 0 4px 8px -2px rgba(59, 130, 246, .2);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-modal: .25s cubic-bezier(.4, 0, .2, 1);--glass-bg: rgba(255, 255, 255, .72);--glass-blur: blur(20px);--glass-border: rgba(226, 232, 240, .8);--glass-shadow: 0 1px 3px rgba(0, 0, 0, .04);--z-dropdown: 100;--z-sticky: 200;--z-navbar: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-toast: 700;--z-tooltip: 800;--page-max-width: 1600px;--navbar-height: 60px;--navbar-total-height: calc(var(--navbar-height) + env(safe-area-inset-top, 0px))}@font-face{font-family:HarmonyOS Sans;src:url(src/font/HarmonyOSSans/HarmonyOS_Sans_SC.ttf) format("truetype");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans;src:url(src/font/HarmonyOSSans/HarmonyOS_Sans_Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-base),sans-serif;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-app);overflow-x:hidden;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}::selection{background:var(--color-primary-light);color:var(--color-primary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;outline:none}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.5}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-4{margin-left:var(--spacing-4)}.ml-auto{margin-left:auto}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-4{margin-right:var(--spacing-4)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.pt-4{padding-top:var(--spacing-4)}.pt-6{padding-top:var(--spacing-6)}.pt-8{padding-top:var(--spacing-8)}.pb-4{padding-bottom:var(--spacing-4)}.pb-6{padding-bottom:var(--spacing-6)}.pb-8{padding-bottom:var(--spacing-8)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-white{color:var(--color-text-inverse)}.bg-surface{background-color:var(--color-bg-surface)}.bg-app{background-color:var(--color-bg-app)}.bg-hover{background-color:var(--color-bg-hover)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-accent-light{background-color:var(--color-accent-light)}.bg-danger-light{background-color:var(--color-danger-light)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-pill)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-card{box-shadow:var(--shadow-card)}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-none{border:none}.transition-base{transition:all var(--transition-base)}.interactive{transition:all var(--transition-base);cursor:pointer}.interactive:hover{transform:translateY(-1px)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-slow)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--transition-slow)}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-12px)}.scale-enter-active,.scale-leave-active{transition:all var(--transition-modal)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}.pv-type,.cmp-type,.q-type-badge{background:var(--color-primary-light);color:var(--color-primary)}.q-layer-badge,.q-edit-layer,.pv-layer,.cmp-layer{background:var(--color-warning-light);color:#b45309}.page-container{max-width:var(--page-max-width);margin:0 auto;padding:0 var(--spacing-8)}.section-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--spacing-6);margin-bottom:var(--spacing-6);transition:box-shadow var(--transition-base)}.section-card:hover{box-shadow:var(--shadow-card-hover)}.section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-5);display:flex;align-items:center;gap:var(--spacing-3)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.btn-outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.btn-outline:hover{background:var(--color-primary-light);transform:translateY(-1px)}.form-textarea{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);resize:vertical;font-family:inherit;transition:all var(--transition-base);background:var(--color-bg-surface)}.form-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.header-content h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0;letter-spacing:-.02em}.header-content p{color:var(--color-text-secondary);margin:0;font-size:var(--font-size-md)}@media print{.no-print{display:none!important}body{background:#fff;color:#000}a{color:#000;text-decoration:underline}}@media(max-width:768px){.page-container{padding:0 var(--spacing-4)}.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:flex-col{flex-direction:column}.sm\:w-full{width:100%}.sm\:text-center{text-align:center}}@media(max-width:576px){.xs\:hidden{display:none}.xs\:block{display:block}.xs\:flex{display:flex}.xs\:flex-col{flex-direction:column}.xs\:w-full{width:100%}.xs\:text-center{text-align:center}}@media(max-width:768px){input:not(.input-field),select,textarea:not(.input-field){font-size:16px!important}}@media(hover:none)and (pointer:coarse){::-webkit-scrollbar{display:none}.interactive:hover{transform:none}}
