/* Native hidden state takes precedence over themed display declarations. */
body[data-theme-area] [hidden]:not([hidden="until-found"]) { display:none !important; }
/* Shared interaction details; reading and workspace widths stay with their layouts. */
.interface-skip-link { position:fixed; inset:8px auto auto 12px; z-index:10000; padding:10px 16px; border-radius:6px; background:var(--admin-brand,var(--accent,#2563eb)); color:#fff; transform:translateY(-200%); }
.interface-skip-link:any-link { color:#fff; }
.interface-skip-link:focus { transform:none; outline:3px solid #fff; outline-offset:2px; }
#site-main-content { scroll-margin-top:76px; }
#site-main-content:focus { outline:none; }
.interface-error-link { padding:0; border:0; background:none; color:inherit; text-align:left; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.interface-error-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.interface-table-hint { margin:8px 0; color:var(--admin-text-muted,var(--ink-muted,#64748b)); font-size:12px; line-height:1.6; }
.interface-table-hint[hidden] { display:none; }
[data-interface-table-overflow]:focus-visible { outline:2px solid var(--admin-brand,var(--accent,#2563eb)); outline-offset:-2px; }
[data-flash-errors] { max-height:min(42vh,360px); overflow-y:auto; overscroll-behavior:contain; }
.admin-directory-jumps { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.admin-directory-jumps a { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:6px 12px; border:1px solid var(--admin-border); border-radius:6px; background:var(--admin-surface); color:var(--admin-text); text-decoration:none; }
.admin-directory-jumps span { color:var(--admin-text-muted); font-size:12px; }
.admin-directory-jumps a:focus-visible { outline:2px solid var(--admin-brand); outline-offset:2px; }
.admin-function-group { scroll-margin-top:76px; }
.admin-healthy-checks { border-top:1px solid var(--admin-border); }
.admin-healthy-checks > summary { padding:14px 16px; color:var(--admin-text-muted); cursor:pointer; font-size:13px; }
.admin-health-clear { margin:0; padding:20px 16px; color:var(--admin-text-muted); }
@media(max-width:760px) {
 .admin-directory-jumps a { min-height:44px; }
 [data-flash-errors] { max-height:36dvh; }
}
.admin-nav-catalog-link { display:block; padding:8px 14px; font-size:12px; color:var(--admin-muted,inherit); }
.admin-quick-links a[aria-current="page"] { border-color:var(--admin-primary,#4b76d1); font-weight:700; background:rgba(91,125,220,.12); }
.admin-nav-link[hidden] { display:none !important; }


/* Human-centered task recovery and feedback. */
/* Shared task feedback and keyboard affordances; product/workbench widths stay intact. */
body[data-theme-area] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--accent,#2563eb) !important; outline-offset:3px; }
body[data-theme-area] :is(input,select,textarea,details,[role="tabpanel"])[id] { scroll-margin-top:100px; }
.human-filter-chips { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 4px; min-width:0; font-size:12px; }
.human-filter-caption { color:var(--ink-muted,#64748b); margin-right:2px; }
.human-filter-chip { display:inline-flex; align-items:center; justify-content:space-between; gap:10px; min-height:34px; max-width:100%; border:1px solid var(--border,#dce3ed); background:var(--surface,#fff); border-radius:6px; padding:6px 10px; color:var(--ink,#172033); text-decoration:none; }
.human-filter-chip > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.human-filter-chip > span:last-child { flex:none; color:var(--ink-muted,#64748b); font-size:17px; }
.human-filter-chip:hover { border-color:var(--accent,#2563eb); color:var(--accent,#2563eb); }
.human-clear-filters { display:inline-flex; align-items:center; min-height:34px; padding:6px; }
.human-form-status { margin:12px 0 0; padding:10px 12px; border-left:3px solid var(--accent,#2563eb); background:var(--accent-soft,#eff6ff); color:var(--ink,#172033); font-size:13px; line-height:1.7; }
.human-form-status[hidden] { display:none; }
form[aria-busy="true"] button[aria-busy="true"] { opacity:.75; cursor:wait; }
[data-human-error-summary] { max-height:min(46dvh,420px); overflow:auto; }
[data-human-error-summary]:focus { outline:2px solid var(--accent,#2563eb); outline-offset:3px; }
[data-human-error-summary] .interface-error-link { text-align:left; line-height:1.6; }
@media(max-width:768px) { .human-filter-chip,.human-clear-filters { min-height:44px; } .human-filter-chips { gap:8px; } }

:is(.practice-package,.download-resource-row,.writeup-list-item)[id] { scroll-margin-top:100px; }
:is(.practice-package,.download-resource-row,.writeup-list-item):target { outline:2px solid var(--accent,#2563eb); outline-offset:2px; }

/* Shared controls resolve to the active admin palette as well. */
body[data-theme-area="admin"] { --accent:var(--admin-brand); --accent-soft:var(--admin-brand-subtle); --ink:var(--admin-text); --ink-muted:var(--admin-text-muted); --border:var(--admin-border); --surface:var(--admin-surface); }
