.home { max-width: 64rem; margin-inline: auto; padding-block: clamp(.5rem, 3vh, 2rem); }
.home-heading { flex-wrap: wrap; margin-bottom: 2rem; }
.home-identity { display: flex; flex: 1 1 20rem; align-items: center; gap: 1rem; min-width: 0; }
.home-identity > div { min-width: 0; }
.home-identity .brand-mark, .home-identity .brand-logo { flex: 0 0 auto; width: 2.75rem; height: 2.75rem; margin: 0; }
.home-heading h1 { overflow-wrap: anywhere; font-size: clamp(1.75rem, 3vw, 2.25rem); letter-spacing: -.04em; }
.home-view-controls { display: flex; flex-wrap: wrap; flex: 0 1 auto; max-width: 100%; gap: .125rem; padding: .2rem; border: var(--border); border-radius: .625rem; background: var(--paper); }
.home-view-controls button { flex: 1 1 auto; min-width: 0; max-width: 100%; min-height: 2rem; padding: .375rem .75rem; border: 0; border-radius: .4rem; background: transparent; color: var(--muted); font-size: var(--text-sm); overflow-wrap: anywhere; }
.home-view-controls button:hover { background: var(--hover); color: var(--text); }
.home-view-controls button[aria-pressed=true] { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.home-launcher { margin-bottom: 2.5rem; }
.home-search { display: flex; align-items: center; gap: .875rem; width: 100%; padding: 1rem 1.125rem; border: var(--border); border-radius: .875rem; background: var(--paper); color: var(--muted); text-align: start; cursor: pointer; box-shadow: 0 2px 6px rgb(0 0 0 / .03); }
.home-search:hover { border-color: var(--accent); color: var(--text); }
.home-search span { flex: 1; font-size: 1rem; }
.home-search kbd { color: var(--muted); font-size: .7rem; font-family: inherit; border: var(--border); border-radius: .3rem; padding: .2rem .35rem; white-space: nowrap; }
.home-catalog-count { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem .125rem 0; color: var(--muted); font-size: var(--text-xs); }
.home-section { margin-block: 2rem; }
.home-section .section-heading { flex-wrap: wrap; margin: 0 0 .875rem; gap: 1rem; }
.home-section .section-heading h2 { font-size: .95rem; font-weight: 600; }
.home-section-note { font-size: var(--text-xs); color: var(--muted); }
.home-empty { display: flex; align-items: center; gap: 1rem; padding: 1.375rem; border: var(--border); border-style: dashed; border-radius: .75rem; color: var(--muted); }
.home-empty-symbol { font-size: 2rem; line-height: 1; }
.home-empty h3 { margin: 0 0 .375rem; color: var(--text); font-size: var(--text-sm); font-weight: 500; }
.home-empty p, .home-recent-empty { font-size: var(--text-xs); line-height: 1.6; }
.home-recent-empty { padding: 1rem 1.25rem; }
.home-table-grid, .home-tools, .home .page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.home .custom-page-card { min-width: 0; overflow-wrap: anywhere; }
.home-table-card, .home-tool { border: var(--border); border-radius: .75rem; background: var(--paper); }
.home-table-card:hover, .home-tool:hover { border-color: var(--accent-border); }
.home-table-card { position: relative; min-width: 0; }
.home-table-card a { display: grid; gap: .35rem; padding: 1rem 2.75rem 1rem 1rem; min-width: 0; }
.home-table-card strong { color: var(--text); font-size: var(--text-sm); font-weight: 550; }
.home-table-card span, .home-table-card code { color: var(--muted); font-size: var(--text-xs); }
.home-table-card strong, .home-table-card span, .home-table-card code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-unpin, .home-remove-recent { position: absolute; inset: .625rem .625rem auto auto; width: 1.75rem; height: 1.75rem; padding: 0; border: 0; border-radius: .35rem; background: transparent; cursor: pointer; }
.home-unpin:hover, .home-remove-recent:hover { background: var(--subtle); }
.home-unpin { color: var(--accent); }
.home-remove-recent { color: var(--muted); font-size: 1.125rem; line-height: 1; }
.home-remove-recent:hover { color: var(--text); }
.home-tool { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .875rem; padding: 1rem 2.5rem 1rem 1rem; }
.home-tool-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; border-radius: .625rem; background: var(--subtle); color: var(--muted); font-size: 1.3rem; }
.home-tool div { flex: 1 1 8rem; min-width: 0; overflow-wrap: anywhere; }
.home-tool h3 { margin: 0 0 .25rem; font-size: var(--text-sm); font-weight: 550; }
.home-tool p { margin: 0; font-size: var(--text-xs); line-height: 1.5; color: var(--muted); }
.home-tool > span:last-child { position: absolute; inset: 1rem 1rem auto auto; line-height: 2.25rem; color: var(--muted); }
.home[data-home-view=list] [data-home-shortcuts], .home[data-home-view=list] .home-catalog > summary { display: none; }
.home[data-home-view=list] .home-launcher { margin-bottom: 1.5rem; }
.home[data-home-view=list] .home-catalog { margin: 0; border: 0; border-radius: 0; background: transparent; }
.home[data-home-view=list] .home-catalog > .table-pin-notice { margin-bottom: .75rem; }
.home[data-home-view=list] .table-catalog-groups { gap: 1.25rem; padding: 0; }
.home[data-home-view=list] .home-catalog-group { border: var(--border); border-radius: var(--radius); background: var(--paper); }
.home[data-home-view=list] .home-catalog-group > summary { padding: .75rem 1rem; border-radius: inherit; background: var(--subtle); font-size: var(--text-section); font-weight: 600; }
.home[data-home-view=list] .home-catalog-group[open] > summary { border-bottom: var(--border); border-end-start-radius: 0; border-end-end-radius: 0; }
.home[data-home-view=list] .table-catalog-links { display: block; padding: 0; }
.home[data-home-view=list] .table-catalog-row { border-bottom: var(--border); }
.home[data-home-view=list] .table-catalog-row:last-child { border-bottom: 0; border-end-start-radius: var(--radius); border-end-end-radius: var(--radius); }
.home[data-home-view=list] .table-catalog-link { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: .25rem 1.5rem; min-height: 2.75rem; padding: .625rem 1rem; border-radius: 0; }
.home[data-home-view=list] .table-catalog-link > code { text-align: end; }
.home[data-home-view=list] .table-catalog-link:focus-visible { outline-offset: -3px; }
.home[data-home-view=list] .table-catalog-pin { margin-inline-end: .75rem; }
@media (max-width: 56.25em) { .home-table-grid, .home-tools, .home .page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 43.75em) { .home-table-grid, .home-tools, .home .page-grid { grid-template-columns: minmax(0, 1fr); } .home { padding-top: .5rem; } .home-heading { margin-bottom: 1.5rem; } .home-search { gap: .625rem; padding: .875rem; } .home-search kbd { display: none; } .home-empty { padding: 1rem; } .home[data-home-view=list] .table-catalog-link { grid-template-columns: minmax(0, 1fr); padding-inline: .75rem; } .home[data-home-view=list] .table-catalog-link > code { text-align: start; } }
