/* B7 site explorer — modal file browser with tree + preview */
#b7x-site-btn { margin-inline-start: 6px; }
#b7xov { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.7); }
#b7xov.open { display: flex; }
#b7xov .b7x-box { width: min(1060px, 96vw); height: min(680px, 92vh); background: #14121f; border: 1px solid #3a3358; border-radius: 14px; display: flex; flex-direction: column; overflow: hidden; }
#b7xov .b7x-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 14px; background: linear-gradient(135deg,#2a2350,#1a1630); font-weight: 800; font-size: 14px; color: #fff; flex-wrap: wrap; }
#b7xov .b7x-head input { background: #0e0c17; border: 1px solid #2e2a45; color: #fff; border-radius: 8px; padding: 6px 10px; font-size: 12px; width: min(260px, 50vw); font-family: inherit; }
#b7xov .b7x-head button { background: #4f46e5; color: #fff; border: none; border-radius: 8px; padding: 6px 14px; cursor: pointer; font-family: inherit; font-size: 12px; }
#b7xov .b7x-tabs { display: flex; gap: 6px; padding: 8px 12px; border-bottom: 1px solid #2e2a45; flex-wrap: wrap; }
#b7xov .b7x-tab { background: #221e36; color: #cfc9ff; border: 1px solid #3a3358; border-radius: 999px; padding: 5px 14px; font-size: 12px; cursor: pointer; font-family: inherit; }
#b7xov .b7x-tab.on { background: #4f46e5; color: #fff; }
#b7xov .b7x-body { flex: 1; display: flex; min-height: 0; }
#b7xov #b7xs-tree { width: 42%; overflow-y: auto; padding: 8px; border-left: 1px solid #2e2a45; font-size: 13px; }
#b7xov .b7x-dir { margin: 2px 0; }
#b7xov .b7x-dir > .b7x-dn { cursor: pointer; padding: 6px 8px; border-radius: 8px; color: #ffd76a; font-weight: 700; }
#b7xov .b7x-dir > .b7x-dn:hover { background: #221e36; }
#b7xov .b7x-kids { margin-inline-start: 14px; border-inline-start: 1px solid #2e2a45; padding-inline-start: 6px; }
#b7xov .b7x-kids.closed { display: none; }
#b7xov .b7x-f { padding: 6px 8px; border-radius: 8px; cursor: pointer; display: flex; justify-content: space-between; gap: 8px; color: #e6e1f5; }
#b7xov .b7x-f:hover { background: #221e36; }
#b7xov .b7x-f.sel { background: #2c2560; }
#b7xov .b7x-s { font-size: 10px; opacity: .55; white-space: nowrap; }
#b7xov #b7xs-prev { flex: 1; overflow-y: auto; padding: 10px; min-width: 0; }
#b7xov .b7x-pt { font-size: 11px; opacity: .7; padding: 4px 2px 8px; overflow-wrap: anywhere; }
#b7xov .b7x-code { background: #0b0e14; border-radius: 9px; padding: 10px 0; font-family: Consolas, monospace; font-size: 12px; }
#b7xov .b7x-l { display: flex; }
#b7xov .b7x-n { width: 44px; flex: none; text-align: left; color: #5b6478; padding: 0 10px; user-select: none; }
#b7xov .b7x-c2 { white-space: pre-wrap; overflow-wrap: anywhere; color: #d6deeb; }
#b7xov .lk-k { color: #c792ea; } #b7xov .lk-s { color: #9ecbff; } #b7xov .lk-c { color: #636d83; font-style: italic; } #b7xov .lk-n { color: #f78c6c; }
#b7xov .b7x-img { max-width: 100%; border-radius: 9px; border: 1px solid #2e2a45; }
@media (max-width: 700px) { #b7xov .b7x-body { flex-direction: column; } #b7xov #b7xs-tree { width: 100%; max-height: 40%; border-left: none; border-bottom: 1px solid #2e2a45; } }
