:root { color-scheme:light; --ink:#17243b; --muted:#5c6b80; --line:#e1e7ef; --blue:#2256c7; }
* { box-sizing:border-box; }
body { margin:0; background:#f2f5fa; color:var(--ink); font:16px/1.55 system-ui,-apple-system,sans-serif; }
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus-visible { outline:3px solid #85aaff; outline-offset:4px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px max(24px,calc((100% - 900px)/2)); border-bottom:1px solid var(--line); background:white; }
.brand { color:var(--ink); font-size:24px; font-weight:800; letter-spacing:-.04em; }
.manage-link { font-size:14px; }
main { max-width:900px; margin:0 auto; padding:48px 24px 64px; }
h1 { font-size:36px; line-height:1.2; margin:10px 0 16px; overflow-wrap:anywhere; }
h2 { font-size:20px; line-height:1.35; margin:0; overflow-wrap:anywhere; }
.eyebrow { font-size:11px; font-weight:750; letter-spacing:.13em; color:var(--muted); }
.intro { color:var(--muted); margin:0 0 28px; }
.back-link { display:inline-block; margin-bottom:24px; }
.catalog-list { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:14px; background:white; overflow:hidden; }
.catalog-list li+li { border-top:1px solid var(--line); }
.catalog-row { display:block; padding:24px; color:var(--ink); }
.catalog-row:hover { background:#f7f9fd; text-decoration:none; }
.catalog-row:focus-visible { outline-offset:-4px; }
.row-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.count { font-size:12px; color:var(--muted); white-space:nowrap; }
.description { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--muted); margin:12px 0; }
.path { color:var(--blue); font-size:13px; margin:10px 0 0; overflow-wrap:anywhere; }
.arrow { color:var(--blue); }
.empty-state { border:1px solid var(--line); border-radius:14px; padding:24px; background:white; }
.empty-state p { color:var(--muted); margin-bottom:0; }
.catalog-status { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); margin:0; padding:10px 16px; border-radius:10px; background:var(--ink); color:white; pointer-events:none; }
@media(max-width:600px) {
  .site-header { padding:16px 20px; }
  main { padding:28px 20px 48px; }
  h1 { font-size:30px; }
  .catalog-row { padding:20px; }
  .row-heading { flex-wrap:wrap; gap:8px; }
}
