html{color-scheme:light;--mat-sys-background: light-dark(#f9f9ff, #0d141d);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#ebf1ff, #2b313b);--mat-sys-inverse-primary: light-dark(#a9c7ff, #335f9d);--mat-sys-inverse-surface: light-dark(#2b313b, #dde2f1);--mat-sys-on-background: light-dark(#161c26, #dde2f1);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #003063);--mat-sys-on-primary-container: light-dark(#144684, #d6e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3d, #001b3d);--mat-sys-on-primary-fixed-variant: light-dark(#144684, #144684);--mat-sys-on-secondary: light-dark(#ffffff, #223149);--mat-sys-on-secondary-container: light-dark(#394760, #d6e3ff);--mat-sys-on-secondary-fixed: light-dark(#0c1c33, #0c1c33);--mat-sys-on-secondary-fixed-variant: light-dark(#394760, #394760);--mat-sys-on-surface: light-dark(#161c26, #dde2f1);--mat-sys-on-surface-variant: light-dark(#434750, #dfe2ee);--mat-sys-on-tertiary: light-dark(#ffffff, #452b00);--mat-sys-on-tertiary-container: light-dark(#624000, #ffddb3);--mat-sys-on-tertiary-fixed: light-dark(#291800, #291800);--mat-sys-on-tertiary-fixed-variant: light-dark(#624000, #624000);--mat-sys-outline: light-dark(#737781, #8d919b);--mat-sys-outline-variant: light-dark(#c3c6d2, #434750);--mat-sys-primary: light-dark(#335f9d, #a9c7ff);--mat-sys-primary-container: light-dark(#d6e3ff, #144684);--mat-sys-primary-fixed: light-dark(#d6e3ff, #d6e3ff);--mat-sys-primary-fixed-dim: light-dark(#a9c7ff, #a9c7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#505f79, #b8c7e5);--mat-sys-secondary-container: light-dark(#d6e3ff, #394760);--mat-sys-secondary-fixed: light-dark(#d6e3ff, #d6e3ff);--mat-sys-secondary-fixed-dim: light-dark(#b8c7e5, #b8c7e5);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f9f9ff, #0d141d);--mat-sys-surface-bright: light-dark(#f9f9ff, #333944);--mat-sys-surface-container: light-dark(#e8eefc, #1a202a);--mat-sys-surface-container-high: light-dark(#e3e8f6, #242a35);--mat-sys-surface-container-highest: light-dark(#dde2f1, #2f3540);--mat-sys-surface-container-low: light-dark(#f0f3ff, #161c26);--mat-sys-surface-container-lowest: light-dark(#ffffff, #080e18);--mat-sys-surface-dim: light-dark(#d4dae8, #0d141d);--mat-sys-surface-tint: light-dark(#335f9d, #a9c7ff);--mat-sys-surface-variant: light-dark(#dfe2ee, #434750);--mat-sys-tertiary: light-dark(#815606, #f6bc69);--mat-sys-tertiary-container: light-dark(#ffddb3, #624000);--mat-sys-tertiary-fixed: light-dark(#ffddb3, #ffddb3);--mat-sys-tertiary-fixed-dim: light-dark(#f6bc69, #f6bc69);--mat-sys-neutral-variant20: #2c3039;--mat-sys-neutral10: #161c26;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter;--mat-sys-body-large-font: Inter;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter;--mat-sys-body-medium-font: Inter;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter;--mat-sys-body-small-font: Inter;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Source Serif 4;--mat-sys-display-large-font: Source Serif 4;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Source Serif 4;--mat-sys-display-medium-font: Source Serif 4;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Source Serif 4;--mat-sys-display-small-font: Source Serif 4;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Source Serif 4;--mat-sys-headline-large-font: Source Serif 4;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Source Serif 4;--mat-sys-headline-medium-font: Source Serif 4;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Source Serif 4;--mat-sys-headline-small-font: Source Serif 4;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter;--mat-sys-label-large-font: Inter;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter;--mat-sys-label-medium-font: Inter;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter;--mat-sys-label-small-font: Inter;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Source Serif 4;--mat-sys-title-large-font: Source Serif 4;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Inter;--mat-sys-title-medium-font: Inter;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter;--mat-sys-title-small-font: Inter;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-checkbox-touch-target-display: block;--mat-checkbox-state-layer-size: 36px;--mat-chip-container-height: 28px;--mat-expansion-header-collapsed-state-height: 44px;--mat-expansion-header-expanded-state-height: 60px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: block;--mat-button-filled-touch-target-display: block;--mat-button-filled-container-height: 36px;--mat-button-outlined-container-height: 36px;--mat-button-outlined-touch-target-display: block;--mat-button-protected-touch-target-display: block;--mat-button-protected-container-height: 36px;--mat-button-text-touch-target-display: block;--mat-button-text-container-height: 36px;--mat-button-tonal-container-height: 36px;--mat-button-tonal-touch-target-display: block;--mat-form-field-container-height: 52px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 14px;--mat-form-field-filled-with-label-container-padding-top: 22px;--mat-form-field-filled-with-label-container-padding-bottom: 6px;--mat-icon-button-touch-target-display: block;--mat-icon-button-state-layer-size: 36px;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px;--mat-list-list-item-one-line-container-height: 44px;--mat-list-list-item-two-line-container-height: 60px;--mat-list-list-item-three-line-container-height: 84px;--mat-paginator-container-size: 52px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-radio-state-layer-size: 36px;--mat-tab-container-height: 44px;--mat-select-arrow-transform: translateY(-8px);--mat-button-toggle-height: 40px;--mat-stepper-header-height: 68px;--mat-table-header-container-height: 52px;--mat-table-footer-container-height: 48px;--mat-table-row-item-container-height: 48px;--mat-toolbar-standard-height: 60px;--mat-toolbar-mobile-height: 52px;--mat-tree-node-min-height: 44px;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--app-bg: #f3f5f8;--app-surface: var(--mat-sys-surface-container-lowest);--app-border: var(--mat-sys-outline-variant);--app-radius: 14px;--app-shadow: 0 1px 2px rgb(16 24 40 / 5%), 0 1px 3px rgb(16 24 40 / 6%);--app-shadow-hover: 0 4px 12px rgb(16 24 40 / 8%), 0 2px 4px rgb(16 24 40 / 5%);--app-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--app-success: #1b6e3a;--app-success-bg: #dcf2e3;--app-warn: #8a4b00;--app-warn-bg: #fdecd2;--app-tag-type-bg: #d4efec;--app-tag-type: #00504a;--app-tag-filter-bg: #e9ebee;--app-tag-filter: #353a42;--app-tag-category-bg-mix: 14%;--app-tag-category-ink-mix: 78%;--mat-expansion-container-background-color: var(--app-surface);--mat-expansion-container-shape: var(--app-radius);--mat-dialog-container-shape: 18px;--mat-card-outlined-container-color: var(--app-surface);--mat-paginator-container-background-color: transparent;--mat-toolbar-container-background-color: var(--app-surface);--mat-tab-divider-color: var(--app-border)}@media(prefers-color-scheme:dark){html{color-scheme:dark;--app-bg: var(--mat-sys-surface);--app-surface: var(--mat-sys-surface-container);--app-shadow: none;--app-shadow-hover: 0 0 0 1px var(--mat-sys-outline);--app-success: #8fd8a5;--app-success-bg: rgb(46 125 50 / 25%);--app-warn: #ffc27a;--app-warn-bg: rgb(239 108 0 / 22%);--app-tag-type-bg: rgb(0 150 136 / 24%);--app-tag-type: #8fe3d8;--app-tag-category-bg-mix: 30%;--app-tag-category-ink-mix: 42%;--app-tag-filter-bg: rgb(255 255 255 / 10%);--app-tag-filter: #e3e5e9}}html,body{height:100%}body{margin:0;font:var(--mat-sys-body-large);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.55;background:var(--app-bg);color:var(--mat-sys-on-surface);-webkit-font-smoothing:antialiased}a{color:var(--mat-sys-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--mat-sys-on-surface)}h1{font-family:var(--app-serif);font-weight:600;font-size:2rem;line-height:1.2;letter-spacing:-.01em;margin:4px 0 8px}h2{font-weight:600;font-size:1.15rem;line-height:1.35;margin:0 0 12px}h3{font-weight:600;font-size:1rem;margin:0 0 8px}:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.page{max-width:1120px;margin:0 auto;padding:24px 24px 48px}.page.wide{max-width:1440px}.page.narrow{max-width:880px}.page-header{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h1{margin:0}.page-header .actions,.page-header>div:last-child:not(:first-child){display:flex;flex-wrap:wrap;gap:8px;align-items:center}.page-subtitle{margin:4px 0 0;color:var(--mat-sys-on-surface-variant)}.back-link{margin:0 0 8px -12px}.list-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:16px 0 12px}.list-toolbar .spacer{flex:1}.sort-field{width:210px}.card{padding:20px 24px;border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);box-shadow:var(--app-shadow)}.card>h2:first-child{margin-top:0}.empty-state{text-align:center;padding:56px 16px;color:var(--mat-sys-on-surface-variant)}.empty-state mat-icon{font-size:32px;width:64px;height:64px;line-height:64px;border-radius:50%;background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface-variant)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:8px;top:8px;z-index:100;background:var(--app-surface);padding:8px}mat-form-field{width:100%}.mat-mdc-form-field-subscript-wrapper{font-size:.8rem}mat-checkbox,mat-slide-toggle{display:block;margin:4px 0 12px}.row-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.mat-mdc-button-base .mat-icon,.mat-mdc-button-base mat-icon{font-size:20px;width:20px;height:20px}.danger{--mat-button-filled-container-color: var(--mat-sys-error);--mat-button-filled-label-text-color: var(--mat-sys-on-error)}.danger-text{color:var(--mat-sys-error)!important}.rich-text{line-height:1.65;overflow-wrap:anywhere}.rich-text>:first-child{margin-top:0}.rich-text h2{font-size:1.3rem;margin:32px 0 10px}.rich-text h3{font-size:1.05rem;margin:22px 0 6px}.rich-text p{margin:0 0 12px}.rich-text :is(ul,ol){margin:0 0 14px;padding-left:24px}.rich-text li{margin-bottom:6px}.rich-text a{color:var(--mat-sys-primary)}.muted{color:var(--mat-sys-on-surface-variant)}.small{font-size:.85rem}.mono{font-family:JetBrains Mono,Roboto Mono,ui-monospace,monospace;font-size:.82rem}.nowrap{white-space:nowrap}.with-icon{display:inline-flex;align-items:center;gap:4px}.form-error,.error-text{color:var(--mat-sys-error)}.warn-text{color:var(--app-warn)}.empty-inline{padding:8px 0}.chip{display:inline-flex;align-items:center;padding:2px 10px;margin:2px 4px 2px 0;border-radius:999px;font-size:.78rem;font-weight:500;line-height:1.5;background:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container);text-decoration:none}a.chip:hover{text-decoration:none;filter:brightness(.97)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;background:var(--mat-sys-surface-container-highest);color:var(--mat-sys-on-surface-variant)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.badge-published,.badge-committed{background:var(--app-success-bg);color:var(--app-success)}.badge-draft,.badge-parsed{background:var(--app-warn-bg);color:var(--app-warn)}.badge-failed,.badge-cancelled{background:var(--mat-sys-error-container);color:var(--mat-sys-on-error-container)}.banner{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:10px;margin:12px 0;flex-wrap:wrap}.banner-warn{background:var(--app-warn-bg);color:var(--app-warn)}.banner-error{background:var(--mat-sys-error-container);color:var(--mat-sys-on-error-container)}.pub-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.pub-item{padding:16px 20px;border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);box-shadow:var(--app-shadow);transition:box-shadow .12s,border-color .12s}.pub-item:hover{box-shadow:var(--app-shadow-hover);border-color:color-mix(in srgb,var(--mat-sys-primary) 30%,var(--app-border))}.pub-title{display:inline-block;font-family:var(--app-serif);font-size:1.15rem;font-weight:600;line-height:1.35;color:var(--mat-sys-on-surface)}.pub-title:hover{color:var(--mat-sys-primary);text-decoration:none}.pub-authors{margin:4px 0 8px;color:var(--mat-sys-on-surface-variant);font-size:.92rem}.pub-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.85rem;color:var(--mat-sys-on-surface-variant)}.pub-meta .chip{margin:0}.venue{font-style:italic}.pub-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pub-tags.in-list{margin-top:0}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px 2px 8px;border-radius:8px;font-size:.78rem;font-weight:500;line-height:1.6;text-decoration:none;border:1px solid transparent}.tag:hover{text-decoration:none;filter:brightness(.96)}.tag mat-icon{font-size:15px;width:15px;height:15px}.chip-type{background:var(--app-tag-type-bg);color:var(--app-tag-type)}.tag-category{--tag: var(--mat-sys-outline);background:color-mix(in srgb,var(--tag) var(--app-tag-category-bg-mix),var(--mat-sys-surface));color:color-mix(in srgb,var(--tag) var(--app-tag-category-ink-mix),var(--mat-sys-on-surface));max-width:100%;min-width:0}.tag-category .tag-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swatch{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;background:var(--tag);border:1px solid color-mix(in srgb,var(--tag) 60%,var(--mat-sys-on-surface))}.meta-grid{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0}.meta-grid dt{font-weight:500;color:var(--mat-sys-on-surface-variant);font-size:.9rem}.meta-grid dd{margin:0;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);box-shadow:var(--app-shadow)}.pub-table{width:100%}.simple-table{width:100%;border-collapse:collapse;font-size:.92rem}.simple-table th,.simple-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--app-border);vertical-align:middle}.simple-table thead th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mat-sys-on-surface-variant);background:var(--mat-sys-surface-container);white-space:nowrap}.simple-table tbody tr:last-child td{border-bottom:0}.simple-table tbody tr:hover td{background:color-mix(in srgb,var(--mat-sys-primary) 4%,transparent)}.simple-table td a{font-weight:500}.simple-table .muted.small,.simple-table .sub{display:block;margin-top:2px}.table-wrap+mat-paginator,.table-wrap+.mat-mdc-paginator{margin-top:4px}.mat-mdc-table{background:transparent!important;font-size:.92rem}.mat-mdc-header-row{background:var(--mat-sys-surface-container)}.mat-mdc-header-cell{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mat-sys-on-surface-variant);white-space:nowrap}.mat-mdc-row:hover .mat-mdc-cell{background:color-mix(in srgb,var(--mat-sys-primary) 4%,transparent)}.mat-mdc-row:last-child .mat-mdc-cell{border-bottom:0}.mat-mdc-cell,.mat-mdc-header-cell{padding:10px 14px!important}.mat-mdc-cell a{font-weight:500}.search-field .mat-mdc-text-field-wrapper{background:var(--app-surface);border-radius:12px}.snack-error{--mat-snack-bar-container-color: var(--mat-sys-error-container);--mat-snack-bar-supporting-text-color: var(--mat-sys-on-error-container)}@media(max-width:600px){body{font-size:14px}h1{font-size:1.6rem}.page{padding:16px 12px 32px}.card{padding:16px}.pub-item{padding:14px 16px}.meta-grid{grid-template-columns:1fr;gap:2px 0}.meta-grid dd{margin-bottom:8px}.sort-field{width:100%}}
