:root { --fb-bg-url: url('/fb-wallpaper/frappe.webp?v=20260306w'); --fb-accent: #8caaee; --fb-accent-2: #ca9ee6; --fb-text: #c6d0f5; --fb-subtext: #a5adce; --fb-base: #303446; --fb-mantle: #292c3c; --fb-crust: #232634; --fb-surface: rgba(48, 52, 70, 0.78); --fb-surface-strong: rgba(41, 44, 60, 0.92); --fb-border: rgba(198, 208, 245, 0.20); } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; color: var(--fb-text); font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; } .bg { position: fixed; inset: 0; background: radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--fb-accent-2) 28%, transparent), transparent 45%), radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--fb-accent) 24%, transparent), transparent 40%), var(--fb-bg-url) center/cover no-repeat; opacity: 0.36; z-index: 0; } .overlay { position: fixed; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--fb-crust) 82%, transparent), color-mix(in srgb, var(--fb-crust) 92%, transparent)); z-index: 0; } .topbar, .layout { position: relative; z-index: 1; } .topbar { height: 68px; display: grid; grid-template-columns: 220px 1fr 120px; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--fb-border); background: var(--fb-surface-strong); backdrop-filter: blur(10px); } .brand { font-size: 16px; font-weight: 700; } .search-form { display: flex; gap: 8px; } .search-form input { flex: 1; height: 40px; border-radius: 10px; border: 1px solid var(--fb-border); background: color-mix(in srgb, var(--fb-base) 72%, transparent); color: var(--fb-text); padding: 0 12px; outline: none; } .search-form button, .back-link { height: 40px; border-radius: 10px; border: 1px solid var(--fb-border); padding: 0 14px; color: var(--fb-text); background: color-mix(in srgb, var(--fb-base) 72%, transparent); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .search-form button:hover, .back-link:hover { background: color-mix(in srgb, var(--fb-accent) 20%, transparent); } .layout { display: grid; grid-template-columns: 360px 1fr; gap: 14px; padding: 14px; height: calc(100% - 68px); } .left-panel, .right-panel { border: 1px solid var(--fb-border); border-radius: 12px; background: var(--fb-surface); backdrop-filter: blur(8px); overflow: hidden; min-height: 0; } .panel-title { height: 46px; display: flex; align-items: center; padding: 0 14px; border-bottom: 1px solid var(--fb-border); font-size: 14px; font-weight: 700; } .hint { padding: 10px 14px; font-size: 12px; color: var(--fb-subtext); } .tree, .results { height: calc(100% - 78px); overflow: auto; padding: 0 8px 10px; } .tree ul { list-style: none; margin: 0; padding: 0 0 0 14px; } .tree-row { display: flex; align-items: center; gap: 8px; height: 30px; border-radius: 8px; padding: 0 8px; cursor: pointer; } .tree-row:hover { background: color-mix(in srgb, var(--fb-accent) 16%, transparent); } .tree-toggle { width: 16px; text-align: center; color: var(--fb-subtext); font-size: 11px; } .tree-icon { width: 16px; text-align: center; } .tree-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .result-item { margin: 8px 8px 0; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--fb-border); background: color-mix(in srgb, var(--fb-base) 56%, transparent); } .result-item a { color: var(--fb-accent); text-decoration: none; } .result-item a:hover { color: var(--fb-accent-2); text-decoration: underline; } .result-path { margin-top: 4px; font-size: 12px; color: var(--fb-subtext); word-break: break-all; } @media (max-width: 980px) { .topbar { grid-template-columns: 1fr; height: auto; } .layout { grid-template-columns: 1fr; height: auto; } .left-panel, .right-panel { min-height: 320px; } }