body { background: #0f1115; color: #e6e8ee; font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; } /* ===== 登录界面 ===== */ .pc-auth-card { max-width: 360px; margin: 120px auto 0; padding: 32px 28px; background: #1a1d24; border: 1px solid #2a2d35; border-radius: 12px; text-align: center; } .pc-auth-card h2 { margin: 0 0 24px; font-size: 20px; font-weight: 600; } .pc-auth-form { display: flex; flex-direction: column; gap: 12px; } .pc-auth-form input { padding: 10px 12px; background: #0f1115; border: 1px solid #2a2d35; border-radius: 6px; color: #e6e8ee; font-size: 14px; outline: none; } .pc-auth-form input:focus { border-color: #4a9eff; } .pc-auth-status { margin-top: 12px; font-size: 13px; color: #ff6b6b; } .pc-auth-status.ok { color: #4ade80; } /* ===== 顶部栏 ===== */ .pc-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; } .pc-topbar-title { font-size: 20px; font-weight: 600; } .pc-btn-logout { padding: 6px 16px; font-size: 13px; background: #2a2d35; border: 1px solid #3a3d45; } .pc-btn-logout:hover { background: #3a3d45; } .pc-main { max-width: 1100px; margin: 0 auto; padding: 32px 20px 60px; } .pc-header { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; } .pc-title { font-size: 28px; font-weight: 700; letter-spacing: 1px; } .pc-subtitle { color: #9aa3b2; font-size: 14px; } .pc-input { margin-bottom: 28px; } .pc-desktop-entry { display: flex; flex-direction: column; gap: 12px; } .pc-entry-tabs { display: flex; gap: 8px; flex-wrap: wrap; } .pc-entry-tab.active { border-color: #6ea8ff; color: #cfe1ff; background: rgba(32, 38, 55, 0.75); } .pc-entry-panel { display: none; } .pc-entry-panel.active { display: block; } .pc-paste-zone { border: 1px dashed #3b4252; border-radius: 14px; padding: 24px; background: rgba(28, 31, 40, 0.6); transition: border-color 0.2s ease, background 0.2s ease; outline: none; } .pc-paste-zone:focus { border-color: #6ea8ff; background: rgba(32, 38, 55, 0.75); } .pc-paste-zone.dragover { border-color: #6ea8ff; background: rgba(44, 54, 82, 0.8); } .pc-paste-text { font-size: 16px; font-weight: 600; } .pc-paste-hint { margin-top: 6px; font-size: 13px; color: #8f99aa; } .pc-paste-actions { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; } .pc-paste-input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; left: -9999px; top: 0; } .pc-classic-note { margin-bottom: 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(63, 70, 89, 0.55); background: rgba(20, 22, 30, 0.72); color: #9aa3b2; font-size: 13px; line-height: 1.6; } .pc-classic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .pc-classic-block { padding: 14px; border-radius: 14px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(20, 22, 30, 0.72); display: flex; flex-direction: column; gap: 10px; } .pc-classic-title { font-size: 14px; color: #cfe1ff; font-weight: 600; } .pc-classic-text, .pc-classic-file { width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; } .pc-classic-text { min-height: 160px; resize: vertical; line-height: 1.6; } .pc-classic-text:focus, .pc-classic-file:focus { outline: none; border-color: #6ea8ff; } .pc-classic-hint { font-size: 12px; color: #8f99aa; } .pc-classic-actions { display: flex; justify-content: flex-end; } .pc-desktop-only { display: block; } .pc-mobile-only { display: none; } @media (max-width: 900px), (pointer: coarse) { .pc-desktop-only { display: none; } .pc-mobile-only { display: block; } } .pc-mobile-inputs { flex-direction: column; gap: 14px; } .pc-mobile-only.pc-mobile-inputs { display: none; } @media (max-width: 900px), (pointer: coarse) { .pc-mobile-only.pc-mobile-inputs { display: flex; } } @media (max-width: 1100px) { .pc-classic-grid { grid-template-columns: 1fr; } } .pc-mobile-block { padding: 12px; border-radius: 12px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(20, 22, 30, 0.7); display: flex; flex-direction: column; gap: 10px; } .pc-mobile-title { font-size: 14px; color: #cfe1ff; font-weight: 600; } .pc-mobile-text { width: 100%; min-height: 110px; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; resize: vertical; font-size: 14px; line-height: 1.5; } .pc-mobile-text:focus { outline: none; border-color: #6ea8ff; } .pc-mobile-file { width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; } .pc-mobile-actions { display: flex; justify-content: flex-end; } .pc-status { min-height: 18px; margin-top: 10px; font-size: 13px; color: #8f99aa; } .pc-status.ok { color: #6ed6a6; } .pc-status.error { color: #ff8484; } .pc-progress { margin-top: 12px; padding: 12px; border-radius: 12px; border: 1px solid rgba(63, 70, 89, 0.5); background: rgba(20, 22, 30, 0.7); display: none; } .pc-progress.show { display: block; } .pc-progress-row { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: #9aa3b2; margin-bottom: 8px; } .pc-progress-text { font-weight: 500; } .pc-progress-bar { width: 100%; height: 8px; border-radius: 999px; background: rgba(63, 70, 89, 0.5); overflow: hidden; } .pc-progress-fill { height: 100%; width: 0%; background: linear-gradient(90deg, #6ea8ff, #8fb8ff); transition: width 0.2s ease; } .pc-list { background: rgba(20, 22, 30, 0.75); border-radius: 16px; padding: 20px; border: 1px solid rgba(63, 70, 89, 0.6); } .pc-list-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; } .pc-list-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; } .pc-count { color: #9aa3b2; font-size: 12px; } .pc-list-actions { display: flex; align-items: center; gap: 8px; } .pc-view-tabs { display: flex; gap: 8px; margin-bottom: 12px; } .pc-favorite-filter { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; } .pc-favorite-filter label { font-size: 13px; color: #9aa3b2; } .pc-favorite-filter select { min-width: 220px; padding: 7px 10px; border-radius: 8px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; } .pc-filter { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; } .pc-filter-types { display: flex; gap: 8px; flex-wrap: wrap; } .pc-filter-btn.active { border-color: #6ea8ff; color: #cfe1ff; } .pc-filter-search { display: flex; align-items: center; gap: 8px; flex: 1; justify-content: flex-end; } .pc-filter-search input { flex: 1; min-width: 180px; max-width: 320px; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; } .pc-filter-search input:focus { outline: none; border-color: #6ea8ff; } .pc-pagination { display: none; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(63, 70, 89, 0.55); background: rgba(18, 20, 28, 0.62); } .pc-pagination.show { display: flex; } .pc-pagination-left, .pc-pagination-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .pc-pagination-label, .pc-pagination-summary, .pc-pagination-info { font-size: 12px; color: #9aa3b2; } .pc-pagination-select { min-width: 90px; padding: 7px 10px; border-radius: 8px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; } .pc-items { display: flex; flex-direction: column; gap: 16px; } .pc-empty { text-align: center; color: #7a8397; padding: 20px 0; font-size: 14px; } .pc-item { border: 1px solid rgba(63, 70, 89, 0.6); border-radius: 12px; padding: 16px; background: rgba(28, 31, 40, 0.7); display: flex; flex-direction: column; gap: 12px; } .pc-item-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .pc-item-meta { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #9aa3b2; } .pc-item-type { padding: 2px 8px; border-radius: 999px; background: rgba(110, 168, 255, 0.16); color: #8fb8ff; font-weight: 600; font-size: 12px; } .pc-item-actions { display: flex; gap: 8px; } .pc-item-actions button { padding: 6px 10px; font-size: 12px; } .pc-item-actions .disabled { opacity: 0.55; cursor: not-allowed; } .pc-favorite-tag { padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(255, 206, 64, 0.45); background: rgba(255, 206, 64, 0.12); color: #ffd66b; font-size: 12px; } .pc-favorite-note { padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(255, 206, 64, 0.22); background: rgba(255, 206, 64, 0.08); color: #f2e1a2; font-size: 13px; line-height: 1.6; white-space: pre-wrap; word-break: break-word; } .pc-folder-group { display: flex; flex-direction: column; gap: 12px; } .pc-modal-message { padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(255, 206, 64, 0.22); background: rgba(255, 206, 64, 0.08); color: #f2e1a2; font-size: 14px; line-height: 1.7; } .pc-folder-group + .pc-folder-group { margin-top: 6px; } .pc-folder-group-title { font-size: 14px; font-weight: 600; color: #cfe1ff; padding: 4px 2px; } .pc-item-text { white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6; color: #e6e8ee; } .pc-image-thumb { width: 100%; border-radius: 10px; border: 1px solid rgba(63, 70, 89, 0.4); background: rgba(18, 20, 28, 0.7); overflow: hidden; cursor: zoom-in; display: flex; flex-direction: column; } .pc-image-thumb img { width: 100%; height: 180px; object-fit: cover; display: block; } .pc-image-thumb-actions { display: flex; gap: 8px; padding: 8px; border-top: 1px solid rgba(63, 70, 89, 0.35); background: rgba(14, 16, 22, 0.7); } .pc-image-thumb-actions .btn { font-size: 12px; padding: 5px 10px; } .pc-image-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; } .pc-text-snippet { padding: 10px 12px; border-radius: 10px; background: rgba(18, 20, 28, 0.6); border: 1px solid rgba(63, 70, 89, 0.4); color: #e6e8ee; font-size: 13px; line-height: 1.5; white-space: pre-wrap; word-break: break-word; } .pc-viewer { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 9999; } .pc-viewer.show { display: flex; } .pc-viewer-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.85); } .pc-viewer-body { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; z-index: 1; } .pc-viewer-img { max-width: 90vw; max-height: 85vh; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6); } .pc-viewer-toolbar { position: absolute; top: 20px; right: 20px; display: flex; align-items: center; gap: 12px; color: #f4f6fb; font-size: 13px; } .pc-viewer-close { width: 36px; height: 36px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(20, 20, 20, 0.6); color: #ffffff; cursor: pointer; } .pc-viewer-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(20, 20, 20, 0.6); color: #ffffff; font-size: 22px; cursor: pointer; } .pc-viewer-nav.prev { left: 24px; } .pc-viewer-nav.next { right: 24px; } .pc-viewer-nav.disabled { opacity: 0.35; cursor: default; } .pc-file-row { display: flex; align-items: center; justify-content: flex-start; gap: 12px; flex-wrap: wrap; } .pc-file-name { font-size: 14px; color: #e6e8ee; word-break: break-all; flex: 1; } .pc-viewer-actions { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; z-index: 2; } .pc-file-meta { font-size: 12px; color: #8f99aa; } .pc-modal { position: fixed; inset: 0; display: none; z-index: 10010; } .pc-modal.show { display: block; } .pc-modal-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.62); } .pc-modal-body { position: relative; width: min(760px, calc(100vw - 24px)); margin: 8vh auto 0; border-radius: 12px; border: 1px solid rgba(63, 70, 89, 0.7); background: #171a22; box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45); z-index: 1; } .pc-modal-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid rgba(63, 70, 89, 0.6); } .pc-modal-title { font-size: 15px; font-weight: 600; } .pc-modal-content { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 12px; } .pc-modal-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .pc-modal-row-stack { flex-direction: column; align-items: stretch; } .pc-modal-row input, .pc-modal-row select, .pc-modal-row textarea { min-width: 160px; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(63, 70, 89, 0.6); background: rgba(18, 20, 28, 0.8); color: #e6e8ee; } .pc-modal-row textarea { width: 100%; min-height: 96px; resize: vertical; line-height: 1.6; } .pc-modal-actions { display: flex; justify-content: flex-end; gap: 8px; } .pc-folder-list { display: flex; flex-direction: column; gap: 8px; } .pc-folder-row { display: grid; grid-template-columns: minmax(160px, 1fr) 120px 90px auto auto; gap: 8px; align-items: center; } .pc-folder-count { font-size: 12px; color: #9aa3b2; } .pc-folder-empty { color: #7a8397; font-size: 13px; } @media (max-width: 768px) { .pc-main { padding: 24px 16px 40px; } .pc-title { font-size: 22px; } .pc-list { padding: 16px; } .pc-filter { flex-direction: column; align-items: stretch; } .pc-filter-search { width: 100%; } .pc-filter-search input { max-width: none; } .pc-pagination { align-items: stretch; } .pc-pagination-left, .pc-pagination-right { width: 100%; justify-content: space-between; } .pc-pagination-select { min-width: 84px; } .pc-item-header { flex-direction: column; align-items: flex-start; } .pc-item-actions { width: 100%; flex-wrap: wrap; } .pc-folder-row { grid-template-columns: 1fr; } .pc-favorite-filter { flex-direction: column; align-items: flex-start; } .pc-favorite-filter select { width: 100%; } .pc-modal-actions { flex-wrap: wrap; } }