/*
 * RESRGE Downloads theme contract (1.1.0+)
 * -----------------------------------------
 * The plugin consumes RESRGE Community Visual Style Properties / Design Tokens.
 * Existing nxd-* hooks remain stable compatibility identifiers.
 */
.nxd-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--nexus-space-sm,.625rem);margin-bottom:var(--nexus-space-md,.875rem)}
.nxd-stat-grid article{padding:var(--nexus-space-md,.875rem)}
.nxd-stat-grid small,.nxd-stat-grid strong{display:block}
.nxd-stat-grid small{color:var(--nexus-muted,var(--muted,currentColor));font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.nxd-stat-grid strong{color:var(--nexus-text,var(--text,inherit));font-size:1.5rem;margin-top:.25rem}
.nxd-info{display:flex;gap:var(--nexus-space-sm,.625rem);align-items:center;padding:var(--nexus-space-md,.875rem);margin-bottom:var(--nexus-space-md,.875rem)}
.nxd-info span{color:var(--nexus-muted,var(--muted,currentColor))}
.nxd-list{display:grid;gap:var(--nexus-space-sm,.625rem)}
.nxd-item{padding:var(--nexus-space-md,.875rem)}
.nxd-item>header{display:flex;justify-content:space-between;gap:var(--nexus-space-md,.875rem);margin-bottom:var(--nexus-space-md,.875rem)}
.nxd-item h2{font-size:1rem;margin:.25rem 0 .125rem;color:var(--nexus-text,var(--text,inherit))}
.nxd-item header small{color:var(--nexus-muted,var(--muted,currentColor))}
.nxd-state{display:inline-flex;font-size:.68rem;font-weight:900;letter-spacing:.08em;padding:.2rem .5rem;border:1px solid transparent;border-radius:999px}
.nxd-state.on{color:var(--nexus-success,var(--green,#34d399));background:color-mix(in srgb,var(--nexus-success,var(--green,#34d399)) 10%,transparent);border-color:color-mix(in srgb,var(--nexus-success,var(--green,#34d399)) 25%,transparent)}
.nxd-state.off{color:var(--nexus-muted,var(--muted,currentColor));background:var(--nexus-panel-2,var(--panel-2,transparent));border-color:var(--nexus-line,var(--line,currentColor))}
.nxd-links{display:flex;gap:var(--nexus-space-md,.875rem);font-size:.76rem;white-space:nowrap}
.nxd-links a{color:var(--nexus-accent,var(--gold,inherit))}
.nxd-rule-form{border-top:1px solid var(--nexus-line,var(--line,currentColor));padding-top:var(--nexus-space-md,.875rem)}
.nxd-checks{display:flex;flex-wrap:wrap;gap:var(--nexus-space-md,.875rem);margin-bottom:var(--nexus-space-sm,.625rem)}
.nxd-checks label{font-size:.8rem;color:var(--nexus-text-2,var(--text-2,inherit))}
.nxd-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--nexus-space-sm,.625rem)}
.nxd-fields label{display:grid;gap:.35rem;color:var(--nexus-muted,var(--muted,currentColor));font-size:.76rem}
.nxd-fields select,.nxd-fields input{width:100%;border:1px solid var(--nexus-line-2,var(--line-2,var(--nexus-line,var(--line,currentColor))));background:var(--nexus-bg-deep,var(--bg-deep,var(--nexus-panel,var(--panel,transparent))));color:var(--nexus-text,var(--text,inherit));border-radius:var(--nexus-radius-control,.55rem);padding:.55rem .65rem;outline:0}
.nxd-fields select:focus,.nxd-fields input:focus{border-color:var(--nexus-accent,var(--gold,currentColor));box-shadow:0 0 0 3px color-mix(in srgb,var(--nexus-accent,var(--gold,currentColor)) 10%,transparent)}
.nxd-fields small{font-size:.7rem;color:var(--nexus-muted-2,var(--muted-2,var(--nexus-muted,var(--muted,currentColor))))}
.nxd-rule-form footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--nexus-space-md,.875rem);color:var(--nexus-muted,var(--muted,currentColor));font-size:.76rem}
.nxd-rule-form footer>div{display:flex;gap:var(--nexus-space-xs,.4rem)}
.nxd-unlock{max-width:760px}
.nxd-gate-card{padding:clamp(1.25rem,4vw,2rem)}
.nxd-gate-card h1{margin:.35rem 0 .125rem;color:var(--nexus-text,var(--text,inherit))}
.nxd-file{color:var(--nexus-muted,var(--muted,currentColor));margin-top:0;overflow-wrap:anywhere}
.nxd-requirements{display:grid;gap:var(--nexus-space-sm,.625rem);margin:1.4rem 0}
.nxd-requirements>div{display:flex;align-items:center;gap:var(--nexus-space-sm,.625rem);border:1px solid var(--nexus-line,var(--line,currentColor));border-radius:var(--nexus-radius-card,var(--nexus-radius,var(--radius,.75rem)));padding:var(--nexus-space-sm,.625rem);background:var(--nexus-panel-2,var(--panel-2,transparent))}
.nxd-requirements>div>b{flex:0 0 auto;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--nexus-bg-deep,var(--bg-deep,var(--nexus-panel,var(--panel,transparent))))}
.nxd-requirements .done>b{background:color-mix(in srgb,var(--nexus-success,var(--green,#34d399)) 12%,transparent);color:var(--nexus-success,var(--green,#34d399))}
.nxd-requirements .pending>b{background:color-mix(in srgb,var(--nexus-accent,var(--gold,#f0a500)) 12%,transparent);color:var(--nexus-accent,var(--gold,#f0a500))}
.nxd-requirements strong,.nxd-requirements small{display:block}
.nxd-requirements small{color:var(--nexus-muted,var(--muted,currentColor));margin-top:.125rem}
.nxd-message{border-radius:var(--nexus-radius-card,var(--nexus-radius,var(--radius,.75rem)));padding:.75rem .875rem;display:grid;gap:.2rem}
.nxd-message.success{border:1px solid color-mix(in srgb,var(--nexus-success,var(--green,#34d399)) 30%,transparent);background:color-mix(in srgb,var(--nexus-success,var(--green,#34d399)) 7%,var(--nexus-panel,var(--panel,transparent)))}
.nxd-message.locked{border:1px solid color-mix(in srgb,var(--nexus-accent,var(--gold,#f0a500)) 30%,transparent);background:color-mix(in srgb,var(--nexus-accent,var(--gold,#f0a500)) 7%,var(--nexus-panel,var(--panel,transparent)))}
.nxd-message span{color:var(--nexus-muted,var(--muted,currentColor))}
.nxd-actions{display:flex;align-items:center;gap:var(--nexus-space-sm,.625rem);margin-top:var(--nexus-space-md,.875rem);flex-wrap:wrap}
.nxd-actions small{color:var(--nexus-muted,var(--muted,currentColor));max-width:32rem}
@media(max-width:760px){.nxd-stat-grid{grid-template-columns:1fr 1fr}.nxd-fields{grid-template-columns:1fr}.nxd-item>header,.nxd-rule-form footer{align-items:flex-start;flex-direction:column}.nxd-links{white-space:normal;flex-wrap:wrap}}
@media(max-width:480px){.nxd-stat-grid{grid-template-columns:1fr}.nxd-actions .btn{width:100%}}
