:root { color: #15202b; background: radial-gradient(circle at top left, rgba(108, 145, 255, 0.16), transparent 32%), radial-gradient(circle at top right, rgba(16, 185, 129, 0.14), transparent 24%), linear-gradient(180deg, #f5f8fc 0%, #edf2f7 100%); font-family: "Segoe UI Variable Text", "Segoe UI", "PingFang SC", "Microsoft YaHei UI", sans-serif; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; --panel: rgba(255, 255, 255, 0.76); --panel-strong: rgba(255, 255, 255, 0.94); --panel-border: rgba(148, 163, 184, 0.18); --shadow: 0 20px 60px rgba(15, 23, 42, 0.08); --text: #0f172a; --muted: #526277; --muted-soft: #7b8aa2; --badge-bg: rgba(226, 232, 240, 0.7); --badge-text: #344256; --accent: #2f6fed; --accent-soft: rgba(47, 111, 237, 0.12); --chrome: #2563eb; --edge: #0891b2; --brave: #ea580c; } * { box-sizing: border-box; } html, body, #app { margin: 0; min-height: 100%; } body { min-height: 100vh; color: var(--text); } button, input, textarea, select { font: inherit; } button { border: 0; } .app-shell { display: grid; grid-template-columns: 320px minmax(0, 1fr); min-height: 100vh; padding: 14px; gap: 14px; } .sidebar, .content-panel { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); } .sidebar { display: flex; flex-direction: column; gap: 14px; padding: 20px 16px; border: 1px solid var(--panel-border); border-radius: 22px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.7)); box-shadow: var(--shadow); } .sidebar-header h1, .hero-main h2, .section-heading h3, .state-panel h2, .profile-topline h4, .extension-topline h4, .bookmark-topline h4 { margin: 0; font-weight: 600; letter-spacing: -0.03em; } .sidebar-header h1 { font-size: 1.72rem; line-height: 1; } .sidebar-copy, .hero-copy, .state-panel p, .meta-line, .profile-email, .profile-path, .bookmark-url, .browser-nav-body span, .sidebar-empty p { margin: 0; color: var(--muted); } .eyebrow { margin: 0 0 6px; color: var(--muted-soft); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; } .refresh-button { padding: 11px 14px; border-radius: 15px; background: linear-gradient(135deg, #10213f 0%, #213f75 100%); color: #fff; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease; box-shadow: 0 16px 30px rgba(20, 44, 82, 0.22); } .refresh-button:hover { transform: translateY(-1px); } .browser-nav { display: flex; flex-direction: column; gap: 10px; } .browser-nav-item { display: flex; align-items: center; gap: 14px; width: 100%; padding: 11px; border-radius: 16px; text-align: left; cursor: pointer; background: rgba(255, 255, 255, 0.54); border: 1px solid transparent; transition: transform 160ms ease, border-color 160ms ease, background 160ms ease; } .browser-nav-item:hover { transform: translateY(-1px); border-color: var(--panel-border); } .browser-nav-item.active { background: var(--accent-soft); border-color: rgba(47, 111, 237, 0.18); } .browser-nav-item.chrome.active { background: rgba(37, 99, 235, 0.12); } .browser-nav-item.edge.active { background: rgba(8, 145, 178, 0.12); } .browser-nav-item.brave.active { background: rgba(234, 88, 12, 0.12); } .browser-nav-icon, .profile-avatar, .extension-icon { display: grid; place-items: center; flex-shrink: 0; overflow: hidden; } .browser-nav-icon { width: 42px; height: 42px; border-radius: 13px; color: #fff; font-weight: 700; font-size: 0.86rem; letter-spacing: 0.08em; background: linear-gradient(135deg, #10213f, #365f9f); } .browser-nav-item.chrome .browser-nav-icon, .hero-card.chrome { --accent: var(--chrome); } .browser-nav-item.edge .browser-nav-icon, .hero-card.edge { --accent: var(--edge); } .browser-nav-item.brave .browser-nav-icon, .hero-card.brave { --accent: var(--brave); } .browser-nav-item.chrome .browser-nav-icon { background: linear-gradient(135deg, #2563eb, #22c55e); } .browser-nav-item.edge .browser-nav-icon { background: linear-gradient(135deg, #0f766e, #38bdf8); } .browser-nav-item.brave .browser-nav-icon { background: linear-gradient(135deg, #c2410c, #fb923c); } .browser-nav-body { min-width: 0; } .browser-nav-body strong, .stat-card strong { display: block; color: var(--text); } .browser-nav-body span { display: block; margin-top: 2px; font-size: 0.8rem; line-height: 1.4; } .sidebar-empty { padding: 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.58); border: 1px dashed rgba(148, 163, 184, 0.35); } .content-panel { padding: 4px 0 4px 0; overflow: auto; } .hero-card, .section-tabs, .content-section, .state-panel { border: 1px solid var(--panel-border); border-radius: 22px; background: var(--panel); box-shadow: var(--shadow); } .hero-card { display: flex; justify-content: space-between; gap: 18px; padding: 20px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.72)), linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, white), rgba(255, 255, 255, 0)); } .hero-copy span { color: var(--text); word-break: break-all; } .hero-stats { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 10px; width: min(460px, 100%); } .stat-card { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, 0.72); border: 1px solid rgba(148, 163, 184, 0.18); } .stat-card span { display: block; color: var(--muted-soft); font-size: 0.78rem; } .stat-card strong { margin-top: 6px; font-size: 1.7rem; letter-spacing: -0.05em; } .content-section { margin-top: 12px; padding: 18px; } .section-tabs { display: flex; gap: 10px; margin-top: 12px; padding: 8px; } .section-tab { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; flex: 1; padding: 10px 12px; border-radius: 15px; color: var(--muted); background: rgba(255, 255, 255, 0.58); cursor: pointer; transition: background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease; } .section-tab:hover { transform: translateY(-1px); } .section-tab.active { color: var(--text); background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(232, 240, 255, 0.92)); box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08); } .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; } .count-pill, .badge { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: 0.82rem; font-weight: 600; } .count-pill { min-width: 44px; padding: 6px 10px; } .badge { padding: 6px 10px; } .badge.neutral { background: var(--badge-bg); color: var(--badge-text); } .stack-list, .bookmark-list { display: flex; flex-direction: column; gap: 10px; } .profile-card, .extension-card, .bookmark-card, .empty-card { border-radius: 18px; padding: 14px; border: 1px solid rgba(148, 163, 184, 0.18); background: var(--panel-strong); } .profile-card, .extension-card, .bookmark-card { display: flex; gap: 12px; } .profile-avatar { width: 52px; height: 52px; border-radius: 15px; background: linear-gradient(135deg, #dbeafe, #eff6ff); color: #1d4ed8; font-size: 1.1rem; font-weight: 700; } .profile-avatar img, .extension-icon img { width: 100%; height: 100%; object-fit: cover; } .profile-body, .extension-body, .bookmark-body { min-width: 0; flex: 1; } .profile-topline, .extension-topline, .bookmark-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .profile-topline h4, .extension-topline h4, .bookmark-topline h4 { font-size: 0.96rem; line-height: 1.35; } .profile-email, .meta-line, .bookmark-url { margin-top: 6px; font-size: 0.87rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .extension-icon { width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(135deg, #e2e8f0, #f8fafc); color: #475569; font-weight: 700; } .source-disclosure { margin-top: 10px; } .disclosure-button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: fit-content; min-width: 120px; padding: 7px 10px; border-radius: 12px; background: rgba(241, 245, 249, 0.9); color: var(--badge-text); cursor: pointer; } .disclosure-panel { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; } .state-panel, .empty-card { display: grid; gap: 8px; } .state-panel { min-height: 320px; place-content: center; padding: 28px; } .state-panel.error { background: linear-gradient(180deg, rgba(254, 242, 242, 0.92), rgba(255, 255, 255, 0.86)); } @media (max-width: 1180px) { .app-shell { grid-template-columns: 1fr; padding: 12px; } .content-panel { padding: 0; } .hero-card { flex-direction: column; } .hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; } } @media (max-width: 720px) { .hero-stats { grid-template-columns: 1fr; } .profile-card, .extension-card, .bookmark-card { flex-direction: column; } .profile-avatar, .extension-icon { width: 50px; height: 50px; } }