.da{display:flex;flex-direction:column;gap:18px;padding-block:24px 48px}
.da-top p{margin:0;max-width:70ch}
.da .card{gap:12px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.da-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.da-field{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted)}
.da-field select{font:inherit;font-size:.9rem;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.da-hint,.da-note{margin:0;color:var(--muted);font-size:.9rem;max-width:75ch}
.da-status{margin:0;color:var(--muted);font-size:.95rem;min-height:1.2em}
.da-error{margin:0;color:var(--danger);font-weight:600}

.da-results{display:flex;flex-direction:column;gap:18px}

/* Summary */
.da-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0}
.da-summary div{min-width:0}
.da-summary dt{color:var(--muted);font-size:.85rem}
.da-summary dd{margin:0;font-size:1.3rem;font-weight:600;overflow-wrap:anywhere}

/* Treemap */
.da-crumbs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:.9rem}
.da-crumbs button{font:inherit;font-size:.9rem;background:none;border:0;color:var(--accent);cursor:pointer;padding:2px 4px;border-radius:6px;text-decoration:underline}
.da-crumbs button[disabled]{color:var(--muted);cursor:default;text-decoration:none}
.da-crumbs .sep{color:var(--muted)}

.da-map{position:relative;width:100%;height:420px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--soft)}
.da-tile{position:absolute;border:1px solid var(--bg);border-radius:4px;overflow:hidden;padding:6px 8px;font:inherit;font-size:.8rem;text-align:left;color:#fff;cursor:pointer;display:block}
.da-tile[data-kind="file"]{cursor:default}
.da-tile:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;z-index:2}
.da-tile b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.da-tile span{display:block;opacity:.9;font-size:.75rem}
.da-tile.tiny{padding:0}
.da-tile.tiny b,.da-tile.tiny span{display:none}
.da-map-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.95rem;padding:16px;text-align:center}

/* Tables */
.da-scroll{overflow-x:auto;min-width:0}
.da-table{width:100%;border-collapse:collapse;font-size:.9rem}
.da-table th,.da-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.da-table th{color:var(--muted);font-weight:600;white-space:nowrap}
.da-table td.num,.da-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.da-table .path{overflow-wrap:anywhere;max-width:52ch}
.da-table .dir{color:var(--muted)}
.da-table tbody tr:last-child td{border-bottom:0}
.da-empty{color:var(--muted);font-size:.9rem;margin:0}

/* Type bars */
.da-bars{display:flex;flex-direction:column;gap:8px}
.da-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}
.da-bar .label{min-width:0;overflow-wrap:anywhere;font-size:.9rem}
.da-bar .value{color:var(--muted);font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.da-bar .track{grid-column:1 / -1;height:8px;border-radius:999px;background:var(--soft);overflow:hidden}
.da-bar .fill{display:block;height:100%;border-radius:999px;background:var(--accent)}

/* Duplicates */
.da-dupe{border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:10px}
.da-dupe h3{margin:0 0 6px;font-size:1rem}
.da-dupe ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.da-dupe li{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;min-width:0}
.da-dupe li label{display:flex;gap:8px;align-items:flex-start;min-width:0;cursor:pointer}
.da-dupe li .path{overflow-wrap:anywhere;min-width:0}
.da-dupe .keep{color:var(--muted);font-size:.8rem}

.da-selected{margin:0;font-weight:600}

@media (max-width:640px){
  .da-map{height:320px}
  .da-summary dd{font-size:1.1rem}
}
@media print{.no-print{display:none!important}}
