/* ════════════════════════════════════════════════════════════════════════════
   media-probe.css  —  Media Probe page specific styles
   ════════════════════════════════════════════════════════════════════════════ */

.wrap{width:100%;max-width:var(--page-max);margin:0 auto;position:relative;z-index:1;animation:vcrise 0.55s cubic-bezier(0.16,1,0.3,1) both;}

/* Config notice */
.config-notice{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.75);backdrop-filter:blur(6px);align-items:center;justify-content:center;}
.config-notice.show{display:flex;}
.notice-card{background:linear-gradient(145deg,#0f0c18,#0c0b14);border:1px solid var(--accent-border);border-radius:var(--radius);padding:2rem 2.25rem;max-width:420px;width:90%;text-align:center;animation:modalIn 0.3s cubic-bezier(.16,1,.3,1) both;}
@keyframes modalIn{from{transform:scale(0.92);opacity:0}to{transform:scale(1);opacity:1}}
.notice-icon{font-size:2.5rem;margin-bottom:0.75rem;}
.notice-title{font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:0.5rem;}
.notice-body{font-size:0.85rem;color:var(--text-dim);line-height:1.55;margin-bottom:1.25rem;}
.notice-body a{color:var(--accent2);text-decoration:none;}.notice-body a:hover{text-decoration:underline;}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;}
.modal-backdrop.open{opacity:1;pointer-events:all;}
.modal{background:linear-gradient(145deg,#0f0c18,#0c0b14);border:1px solid var(--accent-border);border-radius:var(--radius);padding:1.75rem 2rem;width:90%;max-width:440px;animation:modalIn 0.25s cubic-bezier(.16,1,.3,1) both;}
.modal h3{margin:0 0 0.35rem;font-size:1.05rem;color:var(--text);}
.modal-sub{font-size:0.8rem;color:var(--text-dim);margin:0 0 1.1rem;}
.field-label{font-size:0.64rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.3rem;}
.req-tag{font-size:0.58rem;padding:0.07rem 0.35rem;border-radius:20px;background:rgba(248,113,113,0.1);border:1px solid rgba(248,113,113,0.25);color:var(--red);text-transform:none;letter-spacing:0;}
.field-input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(167,139,250,0.2);border-radius:var(--radius-xs);padding:0.42rem 0.75rem;color:var(--text);font-family:'DM Mono',monospace;font-size:0.82rem;outline:none;transition:border-color 0.2s;margin-bottom:0.85rem;}
.field-input:focus{border-color:rgba(167,139,250,0.5);}
.field-input::placeholder{color:var(--text-muted);font-style:italic;}
.modal-footer{display:flex;justify-content:flex-end;gap:0.5rem;margin-top:0.35rem;}

/* Toast */
#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(12,11,24,0.97);border:1px solid var(--accent-border);border-radius:var(--radius-xs);padding:0.6rem 1.2rem;font-size:0.82rem;font-weight:500;backdrop-filter:blur(20px);opacity:0;transition:all 0.3s;pointer-events:none;z-index:1000;white-space:nowrap;color:var(--text);}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
#toast.success{border-color:rgba(52,211,153,0.4);color:var(--green);}
#toast.error{border-color:rgba(248,113,113,0.4);color:var(--red);}
#toast.info{border-color:rgba(124,92,252,0.4);color:var(--accent2);}

/* Spinner */
.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(167,139,250,0.15);border-top-color:var(--accent);border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* vc-cb checkbox */
.vc-cb-wrap{display:inline-flex;align-items:center;gap:0.55rem;cursor:pointer;user-select:none;position:relative;}
.vc-cb-wrap input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.vc-cb-box{width:17px;height:17px;flex-shrink:0;border-radius:5px;border:1.5px solid rgba(255,255,255,0.18);background:rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.vc-cb-wrap input:checked+.vc-cb-box{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px rgba(124,92,252,0.45);}
.vc-cb-wrap input:checked+.vc-cb-box::after{content:'';width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);display:block;}
.vc-cb-wrap:hover .vc-cb-box{border-color:rgba(124,92,252,0.55);}

/* Library tabs */
.lib-tabs{display:flex;gap:3px;margin-bottom:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:4px;box-shadow:var(--shadow-card);position:relative;z-index:1;flex-wrap:wrap;}
.lib-tab{flex:1;min-width:90px;padding:0.48rem 0.75rem;border-radius:calc(var(--radius) - 6px);font-size:0.78rem;font-weight:600;cursor:pointer;color:var(--text-dim);transition:all 0.18s;border:1px solid transparent;display:flex;align-items:center;justify-content:center;gap:0.4rem;background:none;font-family:inherit;}
.lib-tab:hover:not(.active){color:var(--text);background:rgba(255,255,255,0.04);}
.lib-tab.active{color:var(--accent2);background:linear-gradient(135deg,rgba(124,92,252,0.18),rgba(124,92,252,0.1));border-color:var(--accent-border);box-shadow:0 0 0 1px rgba(124,92,252,0.1);}
.lib-tab-count{font-size:0.62rem;padding:0.08rem 0.38rem;border-radius:20px;background:rgba(255,255,255,0.07);color:var(--text-dim);font-family:'DM Mono',monospace;}
.lib-tab.active .lib-tab-count{background:rgba(124,92,252,0.18);color:var(--accent2);}

/* Metric cards */
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-bottom:1rem;}
.metric-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:border-color 0.2s;}
.metric-card::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);}
.metric-card:hover{border-color:var(--border-hi);}
.metric-icon{font-size:1rem;margin-bottom:0.55rem;display:block;position:relative;z-index:1;}
.metric-val{font-size:1.4rem;font-weight:800;letter-spacing:-0.5px;line-height:1;margin-bottom:0.2rem;position:relative;z-index:1;}
.mv-accent{color:var(--accent2);}.mv-blue{color:#60a5fa;}.mv-green{color:var(--green);}.mv-amber{color:var(--amber);}
.metric-label{font-size:0.68rem;color:var(--text-dim);font-weight:500;position:relative;z-index:1;}

/* Chart grid */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1rem;}
.hbar-row{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;position:relative;z-index:1;}
.hbar-key{font-size:0.72rem;color:var(--text-dim);width:72px;text-align:right;flex-shrink:0;}
.hbar-track{flex:1;height:18px;background:rgba(255,255,255,0.05);border-radius:var(--radius-xs);overflow:hidden;}
.hbar-fill{height:100%;border-radius:var(--radius-xs);transition:width 0.8s cubic-bezier(0.16,1,0.3,1);display:flex;align-items:center;padding-left:7px;font-size:0.61rem;font-weight:700;color:rgba(255,255,255,0.75);font-family:'DM Mono',monospace;white-space:nowrap;}
.hf-accent{background:linear-gradient(90deg,rgba(124,92,252,0.7),rgba(124,92,252,0.3));}
.hf-blue{background:linear-gradient(90deg,rgba(96,165,250,0.7),rgba(96,165,250,0.3));}
.hf-green{background:linear-gradient(90deg,rgba(52,211,153,0.7),rgba(52,211,153,0.3));}
.hf-amber{background:linear-gradient(90deg,rgba(251,191,36,0.7),rgba(251,191,36,0.3));}
.hf-red{background:linear-gradient(90deg,rgba(248,113,113,0.7),rgba(248,113,113,0.3));}
.hf-muted{background:linear-gradient(90deg,rgba(100,115,148,0.55),rgba(100,115,148,0.25));}
.hbar-count{font-size:0.62rem;color:var(--text-muted);width:38px;text-align:right;font-family:'DM Mono',monospace;}

/* Scan scope chips */
.scan-scope-row{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.85rem;position:relative;z-index:1;}
.scope-chip{display:flex;align-items:center;gap:0.45rem;padding:0.28rem 0.75rem;border-radius:20px;border:1px solid var(--border);background:rgba(255,255,255,0.03);font-size:0.78rem;color:var(--text-dim);cursor:pointer;transition:all 0.15s;font-family:inherit;}
.scope-chip:hover{border-color:var(--border-hi);color:var(--text);}
.scope-chip.on{border-color:var(--accent-border);background:var(--accent-dim);color:var(--accent2);}

/* Per-library subfolder rows */
.lib-sf-list{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:0.85rem;position:relative;z-index:1;}
.lib-sf-row{background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:var(--radius-xs);overflow:hidden;}
.lib-sf-header{display:flex;align-items:center;gap:0.55rem;padding:0.45rem 0.75rem;cursor:pointer;transition:background 0.12s;}
.lib-sf-header:hover{background:rgba(255,255,255,0.04);}
.lib-sf-icon{font-size:0.85rem;}
.lib-sf-name{font-size:0.78rem;font-weight:600;color:var(--text);flex:1;}
.lib-sf-path{font-size:0.7rem;color:var(--accent2);font-family:'DM Mono',monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lib-sf-toggle{font-size:0.65rem;color:var(--text-muted);transition:transform 0.15s;}
.lib-sf-row.expanded .lib-sf-toggle{transform:rotate(180deg);}
.lib-sf-body{display:none;padding:0.5rem 0.75rem 0.65rem;border-top:1px solid var(--border);}
.lib-sf-row.expanded .lib-sf-body{display:block;}
.sf-breadcrumb{display:flex;align-items:center;gap:0.3rem;flex-wrap:wrap;font-size:0.73rem;color:var(--text-dim);margin-bottom:0.4rem;}
.sf-crumb{cursor:pointer;color:var(--accent2);}
.sf-crumb:hover{text-decoration:underline;}
.sf-crumb.current{color:var(--text);cursor:default;text-decoration:none;}
.sf-sep{color:var(--text-muted);}
.sf-chips{display:flex;flex-wrap:wrap;gap:0.3rem;}
.sf-chip{display:inline-flex;align-items:center;gap:0.3rem;padding:0.2rem 0.6rem;border-radius:20px;border:1px solid var(--border);background:rgba(255,255,255,0.04);font-size:0.73rem;color:var(--text-dim);cursor:pointer;transition:all 0.15s;font-family:inherit;}
.sf-chip:hover{border-color:var(--accent-border);color:var(--text);background:var(--accent-dim);}
.sf-chip-up{color:var(--text-muted);}
.sf-loading{font-size:0.72rem;color:var(--text-muted);}
.sf-none{font-size:0.72rem;color:var(--text-muted);}

/* Scan bar */
.scan-bar{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;position:relative;z-index:1;}
@keyframes scanPulse{0%,100%{box-shadow:0 0 0 0 rgba(124,92,252,0.3)}50%{box-shadow:0 0 0 8px rgba(124,92,252,0)}}
.btn-accent.scanning{animation:scanPulse 1.5s ease infinite;}
.scan-progress-wrap{flex:1;min-width:160px;}
.scan-status-text{font-size:0.75rem;color:var(--text-dim);margin-bottom:0.25rem;}
.scan-progress-track{height:4px;background:rgba(255,255,255,0.07);border-radius:2px;overflow:hidden;}
.scan-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:2px;transition:width 0.4s ease;}
.scan-file-detail{font-size:0.67rem;color:var(--text-muted);margin-top:0.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.last-scan-note{font-size:0.72rem;color:var(--text-muted);}
.last-scan-note strong{color:var(--text-dim);}

/* Log */
.log-wrap{background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.07);border-radius:var(--radius-xs);overflow:hidden;margin-top:0.85rem;position:relative;z-index:1;}
.log-header{display:flex;align-items:center;justify-content:space-between;padding:0.38rem 0.85rem;background:rgba(0,0,0,0.25);border-bottom:1px solid rgba(255,255,255,0.05);}
.log-header-title{font-size:0.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);}
.log-body{max-height:180px;overflow-y:auto;padding:0.5rem 0.85rem;font-family:'DM Mono',monospace;font-size:0.72rem;line-height:1.65;}
.log-body::-webkit-scrollbar{width:4px;}.log-body::-webkit-scrollbar-thumb{background:rgba(167,139,250,0.2);border-radius:2px;}
.log-line{display:flex;gap:0.5rem;white-space:nowrap;}
.log-ts{color:var(--text-muted);flex-shrink:0;font-size:0.68rem;}
.log-text{}.log-text.info{color:var(--text-muted);}.log-text.scan{color:var(--accent);}.log-text.done{color:var(--green);font-weight:700;}.log-text.error{color:var(--red);}
.log-empty{color:var(--text-muted);font-style:italic;}

@media(max-width:700px){.metric-row{grid-template-columns:1fr 1fr;}.chart-grid{grid-template-columns:1fr;}.lib-tab{min-width:60px;font-size:0.72rem;}.lib-tab-count{display:none;}}
@media(max-width:480px){body{padding:1.5rem 0.5rem 3rem;}.card{padding:1.1rem;}}
