/* Metadata Cleaner 2.0 — grouped inspector */
.metadata-grid {
    grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);
}

.metadata-overview {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.metadata-overview[hidden] { display:none !important; }
.metadata-stat {
    position:relative;
    display:grid;
    gap:3px;
    min-width:0;
    padding:13px 14px;
    overflow:hidden;
    border:1px solid var(--tool-border);
    border-radius:14px;
    background:
        radial-gradient(circle at 100% 0,rgba(var(--tool-accent-rgb),.13),transparent 48%),
        var(--tool-surface);
}
.metadata-stat::after {
    content:"";
    position:absolute;
    right:-18px;
    bottom:-24px;
    width:68px;
    height:68px;
    border:12px solid rgba(var(--tool-accent-rgb),.06);
    border-radius:50%;
}
.metadata-stat span,
.metadata-stat small { position:relative; z-index:1; color:var(--tool-meta); font-size:10px; }
.metadata-stat span { text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.metadata-stat strong { position:relative; z-index:1; color:var(--tool-text); font-size:21px; line-height:1.1; }
.metadata-stat.is-warning { border-color:rgba(245,158,11,.35); background:linear-gradient(145deg,rgba(245,158,11,.08),var(--tool-surface)); }
.metadata-stat.is-warning strong { color:#fbbf24; }
.metadata-stat.is-safe { border-color:rgba(34,197,94,.28); }
.metadata-stat.is-safe strong { color:#4ade80; }

.metadata-safe-banner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    padding:13px 15px;
    border:1px solid rgba(34,197,94,.28);
    border-radius:14px;
    background:rgba(34,197,94,.065);
}
.metadata-safe-banner[hidden] { display:none !important; }
.metadata-safe-banner > span {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:12px;
    background:rgba(34,197,94,.13);
    color:#4ade80;
    font-size:18px;
    font-weight:900;
}
.metadata-safe-banner strong { color:var(--tool-text); font-size:12px; }
.metadata-safe-banner p { margin:3px 0 0; color:var(--tool-meta); font-size:10px; line-height:1.45; }

.metadata-groups { display:grid; gap:9px; }
.metadata-group {
    overflow:hidden;
    border:1px solid var(--tool-border);
    border-radius:15px;
    background:var(--tool-surface);
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.metadata-group[open] {
    border-color:rgba(var(--tool-accent-rgb),.36);
    background:linear-gradient(145deg,rgba(var(--tool-accent-rgb),.045),var(--tool-surface));
    box-shadow:0 12px 28px rgba(0,0,0,.08);
}
.metadata-group.has-risk { border-color:rgba(245,158,11,.30); }
.metadata-group.has-high-risk { border-color:rgba(248,113,113,.38); }
.metadata-group summary {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto auto;
    align-items:center;
    gap:11px;
    min-height:64px;
    padding:11px 13px;
    cursor:pointer;
    list-style:none;
    user-select:none;
    outline:none;
}
.metadata-group summary::-webkit-details-marker { display:none; }
.metadata-group summary:hover { background:rgba(var(--tool-accent-rgb),.045); }
.metadata-group summary:focus-visible { box-shadow:inset 0 0 0 2px var(--tool-accent); }
.metadata-group__icon {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid rgba(var(--tool-accent-rgb),.22);
    border-radius:12px;
    background:rgba(var(--tool-accent-rgb),.10);
    color:var(--tool-accent);
    font-size:16px;
    font-weight:900;
}
.metadata-group.has-risk .metadata-group__icon { border-color:rgba(245,158,11,.26); background:rgba(245,158,11,.10); color:#fbbf24; }
.metadata-group.has-high-risk .metadata-group__icon { border-color:rgba(248,113,113,.28); background:rgba(248,113,113,.10); color:#fb7185; }
.metadata-group__copy { display:grid; gap:3px; min-width:0; }
.metadata-group__copy strong { color:var(--tool-text); font-size:12px; }
.metadata-group__copy small { color:var(--tool-meta); font-size:9px; line-height:1.35; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.metadata-group__count {
    display:grid;
    place-items:center;
    min-width:29px;
    height:29px;
    padding:0 8px;
    border:1px solid var(--tool-border);
    border-radius:10px;
    color:var(--tool-muted);
    font-size:10px;
    font-weight:850;
}
.metadata-group__risk {
    padding:5px 7px;
    border:1px solid rgba(245,158,11,.28);
    border-radius:999px;
    background:rgba(245,158,11,.08);
    color:#fbbf24;
    font-size:8px;
    font-weight:850;
    white-space:nowrap;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.metadata-group__risk.is-high { border-color:rgba(248,113,113,.32); background:rgba(248,113,113,.09); color:#fb7185; }
.metadata-group__chevron { color:var(--tool-meta); font-size:17px; transition:transform .18s ease; }
.metadata-group[open] .metadata-group__chevron { transform:rotate(180deg); }
.metadata-group__body {
    display:grid;
    gap:0;
    padding:0 12px 12px;
    animation:metadataReveal .18s ease both;
}
@keyframes metadataReveal { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:none; } }

.metadata-detail-row {
    display:grid;
    grid-template-columns:minmax(150px,.42fr) minmax(0,.58fr);
    gap:14px;
    align-items:start;
    padding:10px 9px;
    border-top:1px solid var(--tool-border);
}
.metadata-detail-row:first-child { border-top:0; }
.metadata-detail-row.is-medium { background:linear-gradient(90deg,rgba(245,158,11,.045),transparent 55%); }
.metadata-detail-row.is-high { background:linear-gradient(90deg,rgba(248,113,113,.055),transparent 58%); }
.metadata-detail-copy { display:grid; gap:2px; min-width:0; }
.metadata-detail-copy > span { color:var(--tool-muted); font-size:10px; font-weight:750; }
.metadata-detail-copy small { color:var(--tool-meta); font-size:8px; }
.metadata-detail-value {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:start;
    min-width:0;
}
.metadata-detail-value strong {
    color:var(--tool-text);
    font-size:10px;
    line-height:1.5;
    font-weight:750;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
}
.metadata-copy-value {
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    padding:0;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    color:var(--tool-meta);
    cursor:pointer;
    opacity:.58;
    transition:.16s ease;
}
.metadata-detail-row:hover .metadata-copy-value { opacity:1; border-color:var(--tool-border); background:rgba(var(--tool-accent-rgb),.06); color:var(--tool-accent); }
.metadata-copy-value:focus-visible { opacity:1; outline:2px solid var(--tool-accent); outline-offset:2px; }

html[data-theme="light"] .metadata-stat,
html[data-theme="light"] .metadata-group {
    box-shadow:0 10px 24px rgba(44,55,95,.055);
}
html[data-theme="light"] .metadata-group[open] {
    background:linear-gradient(145deg,rgba(var(--tool-accent-rgb),.045),#fff);
    box-shadow:0 14px 30px rgba(44,55,95,.08);
}
html[data-theme="light"] .metadata-group__count,
html[data-theme="light"] .metadata-copy-value:hover { background:#fff; }
html[data-theme="light"] .metadata-detail-row { border-top-color:rgba(68,78,120,.12); }
html[data-theme="light"] .metadata-stat.is-warning strong { color:#b66b00; }
html[data-theme="light"] .metadata-stat.is-safe strong,
html[data-theme="light"] .metadata-safe-banner > span { color:#128a57; }
html[data-theme="light"] .metadata-group__risk { color:#9a6200; }
html[data-theme="light"] .metadata-group__risk.is-high { color:#c23d55; }

@media (max-width:1050px) {
    .metadata-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
    .metadata-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
    .metadata-overview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .metadata-stat { padding:11px; }
    .metadata-stat strong { font-size:18px; }
    .metadata-group summary { grid-template-columns:auto minmax(0,1fr) auto auto; gap:8px; padding:10px; }
    .metadata-group__risk { display:none; }
    .metadata-group__copy small { white-space:normal; }
    .metadata-detail-row { grid-template-columns:1fr; gap:5px; padding:10px 7px; }
    .metadata-detail-value { grid-template-columns:minmax(0,1fr) auto; }
}
@media (max-width:420px) {
    .metadata-overview { grid-template-columns:1fr 1fr; }
    .metadata-group__count { display:none; }
    .metadata-group summary { grid-template-columns:auto minmax(0,1fr) auto; }
}
