.docctrl{display:none}
body{overflow-x:hidden}
.catalog-app{--cat-side:250px;--cat-inspector:370px;display:grid;grid-template-columns:var(--cat-side) minmax(0,1fr);min-height:calc(100vh - 96px);background:var(--field,#08090b);color:var(--silver-mut,#c3c9d0)}
.catalog-app button,.catalog-app input,.catalog-app select{font:inherit}.catalog-app button{color:inherit}.catalog-app [hidden]{display:none!important}
.catalog-sidebar{position:sticky;top:96px;height:calc(100vh - 96px);overflow-y:auto;border-right:1px solid var(--hair,rgba(74,78,86,.65));background:#0b0d10;padding:21px 14px 30px}
.cat-side-label{padding:0 10px;margin:18px 0 8px;color:var(--silver-dim,#8a9199);font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.17em;text-transform:uppercase}.cat-side-label:first-child{margin-top:0}
.cat-side-item{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-left:2px solid transparent;background:transparent;padding:9px;cursor:pointer;text-align:left;color:#abb2bb;font-size:14px;line-height:1.35}.cat-side-item:hover{background:#101216;color:var(--silver,#edf0f3)}.cat-side-item.active{background:rgba(191,162,78,.11);border-left-color:var(--gold-mid,#bfa24e);color:var(--silver,#edf0f3)}
.cat-icon{width:16px;color:var(--silver-dim,#8a9199);font:15px var(--mono,'IBM Plex Mono',monospace);text-align:center}.cat-side-item.active .cat-icon{color:var(--gold-bright,#d4b65e)}.cat-side-count{color:var(--silver-dim,#8a9199);font:10px var(--mono,'IBM Plex Mono',monospace)}
.cat-saved-dot{width:7px;height:7px;margin-left:4px;border:1px solid currentColor;border-radius:50%}.cat-saved-dot.open{color:var(--gold-mid,#bfa24e)}.cat-saved-dot.recent{color:#79b49a}.cat-saved-dot.data{color:#8bb4d8}
.cat-side-foot{margin:26px 10px 0;padding-top:16px;border-top:1px solid rgba(74,78,86,.38);font:10px/1.55 var(--mono,'IBM Plex Mono',monospace);color:var(--silver-dim,#8a9199)}
.catalog-main{min-width:0}
.cat-head{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,640px) auto;align-items:end;gap:22px;padding:27px 24px 22px;border-bottom:1px solid var(--hair,rgba(74,78,86,.65));background:#08090b}
.cat-eyebrow{margin-bottom:8px;color:var(--gold-mid,#bfa24e);font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.18em}.cat-heading h1{margin:0;color:var(--silver,#edf0f3);font:700 clamp(30px,3.6vw,44px)/1 var(--cond,'IBM Plex Sans Condensed',sans-serif);letter-spacing:-.015em}.cat-heading p{margin:9px 0 0;max-width:570px;color:var(--silver-dim,#8a9199);font-size:14px;line-height:1.5}
.cat-search{position:relative;display:block;margin-bottom:2px}.cat-search>span{position:absolute;left:13px;top:7px;color:var(--silver-dim,#8a9199);font:22px/1 var(--mono,'IBM Plex Mono',monospace)}.cat-search input{width:100%;height:42px;border:1px solid #3a4048;border-radius:0;background:#0d0f12;color:var(--silver,#edf0f3);padding:0 72px 0 42px;outline:none;font-size:14px}.cat-search input:focus{border-color:var(--gold-mid,#bfa24e);box-shadow:0 0 0 2px rgba(191,162,78,.11)}.cat-search kbd{position:absolute;right:9px;top:10px;border:1px solid var(--hair,rgba(74,78,86,.65));background:#14171c;padding:3px 6px;color:var(--silver-dim,#8a9199);font:9px var(--mono,'IBM Plex Mono',monospace)}
.cat-total{text-align:right;white-space:nowrap}.cat-total strong{display:block;color:var(--silver,#edf0f3);font:600 22px var(--cond,'IBM Plex Sans Condensed',sans-serif)}.cat-total span{color:var(--silver-dim,#8a9199);font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.12em;text-transform:uppercase}
.cat-filters{position:sticky;top:96px;z-index:20;padding:12px 24px;border-bottom:1px solid var(--hair,rgba(74,78,86,.65));background:rgba(13,15,18,.97);backdrop-filter:blur(10px)}.cat-filter-line{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.cat-filter,.cat-clear,.cat-view{min-height:34px;border:1px solid var(--hair-soft,rgba(74,78,86,.38));background:#101216;padding:7px 10px;cursor:pointer;color:#abb2bb;font:11px var(--mono,'IBM Plex Mono',monospace)}.cat-filter:hover,.cat-view:hover{border-color:#4a5059;color:var(--silver,#edf0f3)}.cat-filter.active{border-color:#75652f;background:rgba(191,162,78,.11);color:var(--gold-bright,#d4b65e)}.cat-filter span{margin-left:6px;color:var(--silver-dim,#8a9199)}
.cat-filter-rule{width:1px;height:24px;background:var(--hair,rgba(74,78,86,.65));margin:0 2px}.cat-select{height:34px;max-width:260px;border:1px solid var(--hair-soft,rgba(74,78,86,.38));border-radius:0;background:#101216;color:#abb2bb;padding:0 30px 0 9px;outline:none;font:11px var(--mono,'IBM Plex Mono',monospace)}.cat-select:focus{border-color:var(--gold-mid,#bfa24e)}.cat-clear{border-color:transparent;background:transparent;color:var(--silver-dim,#8a9199)}.cat-clear:hover{color:var(--silver,#edf0f3)}.cat-mobile-type{display:none}
.cat-active-filters{display:flex;flex-wrap:wrap;gap:7px}.cat-active-filters:not(:empty){padding-top:10px}.cat-query-chip{border:1px solid #5c512f;background:rgba(191,162,78,.11);color:var(--gold-bright,#d4b65e);padding:5px 8px;font:10px var(--mono,'IBM Plex Mono',monospace)}
.cat-content{display:grid;grid-template-columns:minmax(0,1fr);min-height:600px}.cat-content.inspecting{grid-template-columns:minmax(0,1fr) var(--cat-inspector)}.cat-results{min-width:0}.cat-results-bar{height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid var(--hair,rgba(74,78,86,.65));color:#abb2bb;font-size:13px}.cat-results-bar strong{color:var(--silver,#edf0f3)}.cat-view-tools{display:flex;gap:7px}.cat-view{width:34px;padding:0;display:grid;place-items:center}.cat-view.active{border-color:#5c512f;color:var(--gold-bright,#d4b65e);background:rgba(191,162,78,.11)}
.cat-table-wrap{overflow-x:auto}.cat-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.cat-table th{height:36px;border-bottom:1px solid var(--hair,rgba(74,78,86,.65));background:#0c0e11;color:var(--silver-dim,#8a9199);padding:0 12px;text-align:left;font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.13em;text-transform:uppercase}.cat-table th:first-child,.cat-table td:first-child{padding-left:24px}.cat-table th:nth-child(1){width:46%}.cat-table th:nth-child(2){width:94px}.cat-table th:nth-child(3){width:20%}.cat-table th:nth-child(4){width:112px}.cat-table th:nth-child(5){width:105px}.cat-table td{border-bottom:1px solid rgba(74,78,86,.38);padding:13px 12px;vertical-align:top}.cat-table tbody tr{cursor:pointer;background:var(--field,#08090b)}.cat-table tbody tr:hover{background:#181c22}.cat-table tbody tr.selected{background:rgba(191,162,78,.11);box-shadow:inset 2px 0 var(--gold-mid,#bfa24e)}
.cat-record-title{color:var(--silver,#edf0f3);font-weight:500;line-height:1.35;overflow-wrap:anywhere}.cat-record-summary{margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--silver-dim,#8a9199);font-size:13px;line-height:1.45}.cat-record-id{display:inline-block;margin-top:7px;color:var(--gold-mid,#bfa24e);font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.05em}
.cat-kind{display:inline-block;border:1px solid var(--hair-soft,rgba(74,78,86,.38));padding:4px 6px;color:#abb2bb;font:9px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.1em;text-transform:uppercase}.cat-kind.claim{border-color:#544b30;color:var(--gold-bright,#d4b65e)}.cat-kind.series{border-color:#35495b;color:#8bb4d8}.cat-kind.dataset{border-color:#365043;color:#79b49a}.cat-desk-cell{color:#abb2bb;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.cat-state{color:var(--silver-dim,#8a9199);font:10px var(--mono,'IBM Plex Mono',monospace);text-transform:uppercase}.cat-state.locked{color:var(--gold-bright,#d4b65e)}.cat-state.open{color:#8bb4d8}.cat-state.resolved{color:#79b49a}.cat-measure{display:block;margin-top:4px;color:var(--silver,#edf0f3);font:12px var(--mono,'IBM Plex Mono',monospace)}.cat-date{color:#abb2bb;font:11px var(--mono,'IBM Plex Mono',monospace);white-space:nowrap}
.cat-cards{display:none;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;padding:14px}.cat-cards.active{display:grid}.cat-table-wrap.cards-active{display:none}.cat-card{min-height:210px;display:flex;flex-direction:column;border:1px solid var(--hair-soft,rgba(74,78,86,.38));background:#101216;padding:16px;cursor:pointer}.cat-card:hover{border-color:#4a5059;background:#181c22}.cat-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cat-card h3{margin:15px 0 6px;color:var(--silver,#edf0f3);font:600 19px/1.2 var(--cond,'IBM Plex Sans Condensed',sans-serif)}.cat-card p{margin:0;color:var(--silver-dim,#8a9199);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cat-card footer{margin-top:auto;padding-top:15px;display:flex;justify-content:space-between;gap:12px;color:var(--silver-dim,#8a9199);font:10px var(--mono,'IBM Plex Mono',monospace)}
.cat-empty{padding:70px 24px;text-align:center;color:var(--silver-dim,#8a9199)}.cat-empty strong{display:block;margin-bottom:8px;color:var(--silver,#edf0f3);font:600 22px var(--cond,'IBM Plex Sans Condensed',sans-serif)}.cat-empty span{font-size:14px}.cat-error{margin:30px;padding:18px;border:1px solid #6e3e3a;background:rgba(210,139,131,.07);color:#d28b83;font-size:14px}
.cat-inspector{position:sticky;top:96px;height:calc(100vh - 96px);overflow-y:auto;border-left:1px solid var(--hair,rgba(74,78,86,.65));background:#0d0f12}.cat-inspector-head{position:sticky;top:0;z-index:3;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 20px;border-bottom:1px solid var(--hair,rgba(74,78,86,.65));background:rgba(13,15,18,.97);font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim,#8a9199)}.cat-inspector-head button{width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;color:var(--silver-dim,#8a9199);font-size:22px}.cat-inspector-head button:hover{color:var(--silver,#edf0f3)}.cat-inspector-body{padding:22px 20px 32px}.cat-inspector-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.cat-inspector h2{margin:0;color:var(--silver,#edf0f3);font:700 28px/1.08 var(--cond,'IBM Plex Sans Condensed',sans-serif);overflow-wrap:anywhere}.cat-inspector-summary{margin:14px 0 22px;color:#abb2bb;font-size:14px;line-height:1.6}.cat-open-record{width:100%;height:40px;display:flex;align-items:center;justify-content:space-between;border:1px solid #75652f;background:var(--gold-mid,#bfa24e);color:#111216;padding:0 13px;font:600 11px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.08em;text-transform:uppercase}.cat-open-record:hover{background:var(--gold-bright,#d4b65e)}.cat-meta-grid{margin-top:22px;border-top:1px solid var(--hair,rgba(74,78,86,.65))}.cat-meta-row{display:grid;grid-template-columns:108px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid rgba(74,78,86,.38)}.cat-meta-row dt{color:var(--silver-dim,#8a9199);font:9px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.12em;text-transform:uppercase}.cat-meta-row dd{margin:0;color:#abb2bb;font-size:13px;overflow-wrap:anywhere}.cat-links-title{margin:25px 0 9px;color:var(--silver-dim,#8a9199);font:10px var(--mono,'IBM Plex Mono',monospace);letter-spacing:.14em;text-transform:uppercase}.cat-link-pill{margin-top:6px;border:1px solid var(--hair-soft,rgba(74,78,86,.38));background:#101216;padding:9px 10px;color:var(--gold-bright,#d4b65e);font:10px var(--mono,'IBM Plex Mono',monospace);overflow-wrap:anywhere}.cat-backdrop{display:none}
.catalog-app :focus-visible{outline:2px solid var(--gold-bright,#d4b65e);outline-offset:2px}
@media(max-width:1180px){.catalog-app{--cat-side:210px;--cat-inspector:330px}.cat-head{grid-template-columns:minmax(250px,1fr) minmax(280px,520px)}.cat-total{display:none}.cat-table th:nth-child(3),.cat-table td:nth-child(3){display:none}.cat-table th:nth-child(1){width:auto}}
@media(max-width:820px){.catalog-app{display:block}.catalog-sidebar{display:none}.cat-head{grid-template-columns:1fr;padding:21px 16px 16px;gap:16px}.cat-heading p{font-size:13px}.cat-filters{padding:11px 14px}.cat-filter[data-cat-filter-type]{display:none}.cat-mobile-type{display:block}.cat-filter-rule{display:none}.cat-select{max-width:calc(50vw - 22px)}.cat-content.inspecting{grid-template-columns:1fr}.cat-results-bar{padding:0 14px}.cat-table th:first-child,.cat-table td:first-child{padding-left:14px}.cat-table th:nth-child(2),.cat-table td:nth-child(2),.cat-table th:nth-child(4),.cat-table td:nth-child(4){display:none}.cat-table th:nth-child(5){width:90px}.cat-inspector{position:fixed;inset:0 0 0 auto;z-index:80;width:min(92vw,410px);height:100vh;box-shadow:-20px 0 50px rgba(0,0,0,.45)}.cat-backdrop.active{display:block;position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.58)}}
@media(max-width:520px){.cat-heading h1{font-size:32px}.cat-cards{grid-template-columns:1fr}.cat-select{max-width:100%;flex:1 1 140px}.cat-search kbd{display:none}.cat-search input{padding-right:12px}}
@media(prefers-reduced-motion:reduce){.catalog-app *{scroll-behavior:auto!important}}
