/* APK inspector (141d). Site tokens only. */
.ap-tool { max-width: 1100px; min-width: 0; }
.tool-ui .ap-lede { color: var(--color-muted); font-size: .92rem; margin: -.5rem 0 .75rem; }
.ap-drop { border: 2px dashed var(--color-border); border-radius: var(--radius-panel); padding: 1rem; background: var(--color-surface); }
.ap-drop.is-over { border-color: var(--color-link); }
.ap-drop input[type=file] { max-width: 100%; }
.tool-ui .ap-hint { margin: .5rem 0 0; color: var(--color-muted); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ap-hint button { padding: 10px 16px; }
.ap-run { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .5rem; }
.ap-run progress { flex: 1 1 10rem; max-width: 24rem; height: .8rem; }
.ap-status { margin: .25rem 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ap-status:empty, .ap-msg:empty { display: none; }
.ap-summary { font-weight: 700; overflow-wrap: anywhere; margin: 1rem 0 .25rem; }
.ap-section { margin-top: 1.5rem; min-width: 0; }
.ap-section h2 { margin-bottom: .35rem; }
.ap-section h3 { font-size: 1rem; margin: 1rem 0 .25rem; }
.ap-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .3rem 1rem; margin: .5rem 0; }
.ap-facts dt { color: var(--color-muted); }
.ap-facts dd { margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ap-hash { font: 13px/1.5 var(--font-label); }
.ap-note { color: var(--color-muted); font-size: .9rem; overflow-wrap: anywhere; }
p.ap-note { margin: .35rem 0 0; }
.ap-perm-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; min-height: 0; }
.ap-perm-head p { margin: 0; }
.ap-perm-head button { min-height: 44px; }
.ap-perm-head:has(button[hidden]) p:empty { display: none; }
.ap-perms, .ap-comp-list, .ap-url-list { list-style: none; margin: .5rem 0 0; padding: 0; }
.ap-perm, .ap-comp { border-top: 1px solid var(--line); padding: .5rem 0; min-width: 0; }
.ap-perm p, .ap-comp p { margin: 0; }
.ap-perm-name { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; }
.ap-perm-name code, .ap-comp-name { font: 14px/1.4 var(--font-label); overflow-wrap: anywhere; }
.ap-perm-meaning { margin-top: .15rem; }
.ap-perm-full { color: var(--color-muted); font-size: .85rem; overflow-wrap: anywhere; }
.ap-badge { font-size: .78rem; padding: 1px 8px; border-radius: var(--radius-pill); background: var(--color-accent); color: var(--color-on-accent); white-space: nowrap; }
.ap-badge.is-muted { background: var(--color-surface-raised); color: var(--color-text); border: 1px solid var(--color-border); }
.ap-empty { color: var(--color-muted); padding: .5rem 0; }
.ap-check { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; }
.ap-check input { width: auto; min-height: 0; margin: 0; }
.ap-comp-group, .ap-host { border: 1px solid var(--line); border-radius: 7px; padding: .25rem .75rem; margin-top: .5rem; background: var(--color-surface); min-width: 0; }
.ap-comp-group summary, .ap-host summary { cursor: pointer; min-height: 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 0 .35rem; overflow-wrap: anywhere; }
.ap-host.is-common summary { color: var(--color-muted); }
.ap-comp-name { display: block; }
.ap-comp-flag { font-size: .9rem; }
.ap-comp.is-exported .ap-comp-flag { font-weight: 700; }
.ap-url-list li { padding: .2rem 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.ap-url-list code { font: 13px/1.5 var(--font-label); overflow-wrap: anywhere; }
.ap-filter { width: 100%; max-width: 28rem; min-height: 44px; margin: 0 0 .5rem; }
.ap-files-wrap { max-height: 28rem; overflow: auto; border: 1px solid var(--line); border-radius: 7px; }
.ap-files { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .9rem; }
.ap-files th, .ap-files td { text-align: left; padding: .35rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.ap-files th { position: sticky; top: 0; background: var(--color-surface); color: var(--color-muted); font-weight: 400; }
.ap-files .ap-num { text-align: right; width: 7rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ap-path { font: 13px/1.5 var(--font-label); overflow-wrap: anywhere; }
.ap-out { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: 1.5rem; }
.ap-out button, .ap-section > button { min-height: 44px; }
.ap-msg { color: var(--color-muted); font-size: .9rem; margin: .35rem 0 0; }
@media (max-width: 520px) {
  .ap-facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ap-facts dd { margin-bottom: .4rem; }
  .ap-files .ap-packed { display: none; }
  .ap-files .ap-num { width: 5.5rem; }
}
