:root { color-scheme:light; --ink:#333; --muted:#596579; --accent:#a42633; --line:#dce2e9; --paper:#fafafa; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:14px/1.5 "Open Sans",sans-serif; }
a { color:#0069d9; text-underline-offset:3px; }
a:hover { color:#102d4d; }
header { background:#fafafa; border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; gap:32px; max-width:1170px; margin:auto; padding:0 15px; min-height:64px; }
.brand { display:flex; align-items:center; gap:20px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.brand .sr-only { border:0; padding:0; }
nav { display:flex; align-items:center; gap:24px; }
nav a { color:var(--ink); text-decoration:none; padding:21px 0 18px; border-bottom:3px solid transparent; }
nav a[aria-current=page] { border-color:var(--ink); color:var(--ink); font-weight:600; }
main { max-width:1170px; padding:28px 15px 48px; margin:auto; min-height:calc(100vh - 120px); }
h1 { font-size:30px; line-height:1.3; font-weight:400; margin:0 0 22px; overflow-wrap:anywhere; }
h2 { font-size:18px; line-height:1.4; font-weight:600; margin:0 0 16px; }
h3 { font-size:14px; font-weight:600; margin:20px 0 10px; }
p { margin:10px 0 16px; }
.page-heading,.section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.page-heading h1,.section-heading h2 { margin:0; }
.breadcrumb { color:var(--muted); font-size:12px; margin:0 0 14px; }
.actions,.pagination { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.pagination { margin:18px 0; }
button,.button { background:#0069e8; color:#fff; border:1px solid #0069e8; padding:8px 13px; border-radius:3px; font:600 12px "Open Sans",sans-serif; cursor:pointer; text-decoration:none; display:inline-block; white-space:nowrap; }
button:hover,.button:hover { background:#0054bb; color:#fff; }
button:disabled { opacity:.55; cursor:wait; }
button.secondary,.button.secondary { background:#fff; color:var(--ink); border-color:#bac5d1; }
button.danger,.button.danger { background:#fff; color:var(--accent); border-color:var(--accent); }
button.danger:hover,.button.danger:hover { color:#fff; background:var(--accent); }
button.link { color:#214e7b; background:transparent; padding:0; border:0; text-align:left; text-decoration:underline; font-weight:400; }
.search { display:flex; align-items:center; gap:10px; margin:0 0 24px; }
.search { flex-wrap:wrap; }
.search-option { flex-basis:100%; margin:0; text-align:left; }
fieldset { min-width:0; margin:16px 0; border:1px solid var(--line); padding:12px; }
legend { padding:0 6px; font-weight:600; font-size:13px; }
select[multiple] { min-height:120px; }
.search input { flex:1; min-width:0; margin:0!important; border-radius:0; padding:12px; }
.search button { padding:12px 22px; border-radius:0; }
.search .muted { margin-left:auto; }
.panel { border:1px solid var(--line); border-radius:3px; padding:20px; margin:0 0 22px; min-width:0; }
.panel h2:first-child { margin-top:0; }
.columns > * { min-width:0; }
.columns { display:grid; grid-template-columns:minmax(0,2.5fr) minmax(260px,1fr); gap:24px; align-items:start; }
.version,.muted { color:var(--muted); font-size:12px; font-weight:400; }
h1 .version { font-size:18px; margin-left:8px; }
.snippet { display:flex; align-items:start; gap:12px; padding:12px; background:#f5f7fa; border:1px solid var(--line); border-radius:3px; margin:12px 0; }
.snippet pre { flex:1; min-width:0; margin:0; overflow:auto; }
.snippet button { padding:3px 8px; font-size:11px; background:#fff; border-color:#bac5d1; color:var(--ink); }
code,pre { font-family:Consolas,monospace; font-size:12px; }
.readme { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.hash { overflow-wrap:anywhere; }
label { display:block; font-size:12px; font-weight:600; margin:10px 0 5px; }
input:not([type=checkbox]),textarea,select { width:100%; border:1px solid #aab7c6; border-radius:3px; background:#fff; color:var(--ink); font:inherit; padding:8px 10px; margin:4px 0 12px; }
input[type=checkbox] { margin-right:7px; }
form + form { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
li { margin:8px 0; overflow-wrap:anywhere; }
li button { margin-left:10px; padding:4px 8px; }
.notice { border-left:3px solid var(--accent); padding:10px 14px; background:#fff5f3; }
#message { white-space:pre-wrap; color:var(--accent); }
#message:empty { display:none; }
#publication-summary { white-space:pre-wrap; overflow-wrap:anywhere; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
th { font-size:11px; color:var(--muted); font-weight:600; background:#f7f8fa; }
th,td { border-bottom:1px solid var(--line); padding:11px 12px; vertical-align:top; }
.package-table td:first-child { width:75%; font-weight:600; }
.table-scroll { position:relative; overflow:auto; }
.empty { border:1px solid var(--line); padding:26px 16px; text-align:center; color:var(--muted); }
details { margin:12px 0; }
summary { cursor:pointer; font-size:13px; font-weight:600; }
details[open] > summary { margin-bottom:14px; }
.source { margin-top:30px; max-width:800px; }
.account { margin-left:auto; }
.badge { display:inline-block; border:1px solid var(--line); padding:2px 7px; border-radius:3px; font-size:11px; color:var(--muted); }
.badge.danger { color:var(--accent); border-color:#efbdc2; }
.tabs { margin:0 0 24px; border-bottom:1px solid var(--line); }
.tabs a { padding:10px 0; }
footer { max-width:1170px; margin:auto; display:flex; flex-wrap:wrap; gap:20px; padding:16px 15px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
footer span { margin-left:auto; }
.skip,.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.skip:focus { width:auto; height:auto; clip-path:none; top:8px; left:8px; background:#fff; padding:10px; z-index:2; }
:focus-visible { outline:2px solid #3570a5; outline-offset:3px; }
[hidden] { display:none!important; }

.hero { text-align:center; padding:48px 24px 38px; background:#f3f6f9; border-bottom:3px solid var(--accent); margin-bottom:40px; }
.hero h1 { font-size:40px; margin-bottom:14px; }
.hero > p { font-size:17px; }
.hero .search { max-width:780px; margin:28px auto 18px; gap:0; }
.hero .hero-caption { font-size:13px; color:var(--muted); }
.introduction { max-width:760px; text-align:center; margin:0 auto 32px; }
.introduction h2 { font-size:26px; font-weight:400; }
.home-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding:20px 0; }
.home-links h2 { font-size:24px; font-weight:400; }
.home-links a { text-decoration:none; }
.catalog-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:16px; }
.catalog-layout > * { min-width:0; }
.catalog-layout h1 { font-size:32px; font-weight:600; }
.catalog-layout .page-heading { align-items:baseline; flex-wrap:wrap; }
.catalog-help { border-left:1px solid var(--line); padding-left:24px; }
.catalog-help h2:not(:first-child) { margin-top:32px; }
.catalog-help .snippet { display:block; }
.catalog-help .snippet button { margin-top:10px; }
.package-list { list-style:none; padding:0; margin:0; }
.package-row { display:flex; gap:20px; padding:24px 0; margin:0; border-top:1px solid var(--line); }
.package-row article { min-width:0; }
.package-row h2 { font-size:22px; font-weight:400; margin-bottom:6px; overflow-wrap:anywhere; }
.package-row h2 a { text-decoration:none; }
.package-row p { margin:7px 0; }
.package-facts { color:var(--muted); font-size:13px; }
.package-icon { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:56px; height:56px; border:1px solid #bac5d1; color:#596579; background:#f4f6f8; font-size:14px; letter-spacing:1px; }
.package-heading { display:flex; gap:20px; align-items:center; margin:20px 0 30px; }
.package-heading h1 { margin:0; }
.package-heading p { margin:4px 0 0; color:var(--muted); }
.package-layout { grid-template-columns:minmax(0,3fr) minmax(240px,1fr); gap:40px; }
.package-sidebar { border-left:1px solid var(--line); padding-left:24px; min-width:0; }
.package-sidebar section { margin-bottom:28px; }
.package-sidebar dt { color:var(--muted); font-size:12px; }
.package-sidebar dd { margin:3px 0 14px; overflow-wrap:anywhere; }
.sidebar-links { display:flex; flex-direction:column; gap:12px; }
.section-nav { display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--line); margin:20px 0; }
.section-nav a { padding:10px 16px; color:#214e7b; border-bottom:3px solid transparent; }
.section-nav a:hover,.section-nav a:focus-visible { border-color:var(--accent); background:#f5f7fa; }
.package-section { margin-bottom:30px; scroll-margin-top:20px; }
.package-section h2 { font-size:22px; font-weight:400; }
.account { color:#214e7b; font-size:13px; white-space:nowrap; }
@media(max-width:800px) {
 .header-inner { padding:14px 18px; flex-wrap:wrap; gap:12px 20px; }
 .header-inner nav { order:3; flex-basis:100%; gap:24px; }
 nav a { padding:10px 0; }
 main { padding:22px 18px 36px; }
 .columns,.catalog-layout,.package-layout { grid-template-columns:1fr; }
 .catalog-help,.package-sidebar { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
 .page-heading { flex-wrap:wrap; }
 .hero { padding:30px 16px; }
 .hero h1 { font-size:30px; }
 .home-links { grid-template-columns:1fr; gap:20px; }
 .brand { gap:12px; }
 .brand span { padding-left:12px; }
 .account { margin-left:0; white-space:normal; }
 footer { padding:16px 18px; }
 footer span { margin-left:0; }
}
@media(max-width:400px) {
 .package-row { gap:12px; }
 .package-icon { width:40px; height:40px; font-size:11px; }
 .package-heading { align-items:flex-start; gap:12px; }
 .section-nav a { padding:10px; }
 .hero .search { flex-wrap:wrap; gap:8px; }
 .hero .search input { flex-basis:100%; }
}

/* Gallery navigation and workflow placement follow the NuGet gallery. */
.header-inner { min-height:60px; gap:30px; }
.header-inner nav { gap:28px; }
.header-inner nav a { padding:18px 0 12px; border-bottom-width:1px; }
.header-search { max-width:1170px; margin:auto; padding:12px 15px 20px; }
.header-search .search { gap:0; margin:0; flex-wrap:nowrap; }
.header-search .search input { padding:7px 12px; height:36px; border-radius:3px 0 0 3px; }
.header-search .search button { padding:6px 12px; height:36px; border-radius:0 3px 3px 0; }
.header-search svg { fill:none; stroke:currentColor; stroke-width:1.5; vertical-align:middle; }
main { padding-top:44px; }
.account { color:var(--ink); text-decoration:none; font-weight:600; }
.account-menu { position:relative; margin:0 0 0 auto; flex-shrink:0; }
.account-menu > summary { font-size:14px; font-weight:700; padding:12px; list-style:none; max-width:220px; overflow-wrap:anywhere; }
.account-menu > summary::-webkit-details-marker { display:none; }
.account-menu > summary::after { content:""; display:inline-block; margin-left:9px; border:4px solid transparent; border-top-color:currentColor; vertical-align:middle; transform:translateY(3px); }
.account-menu[open] > summary { margin-bottom:0; }
.account-dropdown { position:absolute; right:0; top:100%; z-index:10; background:#fff; border:1px solid #ccc; box-shadow:0 4px 10px #0002; width:270px; max-width:calc(100vw - 36px); padding:12px 0; }
.account-identity { padding:12px 20px 20px; border-bottom:1px solid #ddd; margin-bottom:10px; overflow-wrap:anywhere; font-weight:600; }
.account-dropdown a,.account-dropdown .account-signout { display:block; width:100%; padding:8px 20px; color:var(--ink); text-decoration:none; font:inherit; text-align:left; background:transparent; border:0; border-radius:0; }
.account-dropdown a:hover,.account-dropdown .account-signout:hover { background:#f2f2f2; color:var(--ink); }
.account-dropdown .account-signout { margin-top:12px; padding-top:16px; border-top:1px solid #ddd; }
.global-message { max-width:1140px; margin:0 auto; color:var(--accent); }
.global-message:empty { display:none; }
.flow-breadcrumb { font-size:20px; font-weight:400; margin:18px 0 28px; padding-bottom:24px; border-bottom:1px solid #ddd; }
.flow-breadcrumb a { text-decoration:none; }
.management-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; border-bottom:1px solid #ddd; margin-bottom:40px; }
.management-heading .flow-breadcrumb { border:0; margin-bottom:0; }
.management-heading form { min-width:170px; }
.package-group { margin:0 0 36px; min-width:0; width:100%; }
.package-group > summary { display:flex; align-items:center; gap:16px; font-size:30px; font-weight:600; padding:8px 0; list-style:none; }
.package-group > summary::-webkit-details-marker { display:none; }
.package-group > summary::before { content:""; width:12px; height:12px; border-right:1px solid #214e7b; border-top:1px solid #214e7b; transform:rotate(45deg); flex-shrink:0; margin-right:4px; }
.package-group[open] > summary::before { transform:rotate(135deg); }
.package-group .group-count { font-size:14px; font-weight:400; margin-left:auto; }
.package-group .table-scroll { width:100%; max-width:100%; background:#fff; padding:20px 16px; border:1px solid #ddd; border-radius:5px; }
.package-group th { font-size:14px; color:var(--ink); background:transparent; }
.package-group td { font-size:14px; }
.edit-package { display:inline-flex; align-items:center; justify-content:center; width:34px; height:32px; background:#0069e8; color:white; border-radius:3px; text-decoration:none; font-size:20px; }
.edit-package:hover { color:white; background:#0054bb; }
.upload-section { margin:40px 0 30px; }
.upload-section h1 { font-weight:600; margin-bottom:24px; }
.upload-picker { position:relative; min-width:0; border:1px solid #ccc; background:#fff; border-radius:3px; }
#archive.sr-only { width:1px; height:1px; left:0; }
.upload-picker label { margin:0; display:flex; align-items:stretch; cursor:pointer; font-size:14px; font-weight:400; }
.upload-picker #selected-file { padding:7px 12px; flex:1; min-width:0; overflow-wrap:anywhere; }
.browse-button { background:#0069e8; color:white; padding:7px 18px; font-size:12px; font-weight:600; display:flex; align-items:center; }
.upload-picker:focus-within,.upload-picker.drag-over { outline:2px solid #0069e8; outline-offset:3px; }
.upload-history { margin-top:48px; }
.upload-history > summary { font-size:18px; }
#publication { margin-top:32px; }
.upload-step { margin:0 0 32px; }
.upload-step > summary { display:flex; align-items:center; gap:16px; font-size:30px; font-weight:600; list-style:none; }
.upload-step > summary::-webkit-details-marker { display:none; }
.upload-step > summary::before { content:""; width:12px; height:12px; border-right:1px solid currentColor; border-top:1px solid currentColor; transform:rotate(45deg); flex-shrink:0; margin:0 4px; }
.upload-step[open] > summary::before { transform:rotate(135deg); }
.upload-step[open] > summary { margin-bottom:28px; }
#publication-metadata { font-size:15px; margin:28px 0; }
#publication-metadata dt { font-weight:700; margin:26px 0 5px; }
#publication-metadata dd { margin:0; }
.package-visibility { border:0; margin:26px 0; padding:0; }
.package-visibility legend { padding:0; font-size:15px; font-weight:700; }
.package-visibility label { font-size:15px; }
.readme-review h2 { font-size:15px; font-weight:700; margin-bottom:6px; }
#publication-readme { border:1px solid #ccc; padding:12px; max-height:450px; overflow:auto; font-size:14px; }
.publication-actions { display:flex; gap:30px; margin:28px 6px; }
.publication-actions > * { flex:1; text-align:center; }
@media(max-width:600px) {
 .upload-step > summary { font-size:26px; }
 .publication-actions { gap:16px; margin:24px 0; }
}
#publication-manifest { white-space:pre-wrap; overflow-wrap:anywhere; }
.catalog-filters { background:#fff; border:1px solid #ddd; box-shadow:0 1px 3px #0002; border-radius:5px; padding:20px; }
.catalog-filters h2 { font-size:16px; border-bottom:1px solid #ddd; padding-bottom:6px; }
.filter-actions { display:flex; justify-content:space-between; align-items:center; margin-top:28px; }
.filter-actions button { min-width:110px; }
.package-row { border-top:0; padding:18px 0; }
@media(max-width:800px) {
 .header-inner { flex-wrap:wrap; padding:10px 18px 0; gap:4px 12px; }
 .header-inner nav { flex-basis:100%; order:3; flex-wrap:wrap; gap:18px; }
 .header-inner nav a { padding:10px 0; font-size:13px; }
 .account-menu { margin-left:auto; }
 .account-menu > summary { max-width:180px; padding-right:0; }
 .header-search { padding:10px 18px 18px; }
 main { padding-top:28px; }
 .catalog-layout { grid-template-columns:1fr; }
 .catalog-filters { margin-bottom:16px; }
 .catalog-layout h1 { font-size:26px; }
 .management-heading { flex-wrap:wrap; gap:0; margin-bottom:24px; }
 .management-heading .flow-breadcrumb { padding-bottom:10px; }
 .management-heading form { margin-bottom:10px; }
 .package-group > summary { font-size:24px; flex-wrap:wrap; gap:12px; }
 .package-group .group-count { font-size:12px; }
 .package-group table { min-width:630px; }
 .package-group .table-scroll { padding:10px; }
 .global-message { margin:0 18px; }
}

.registry-statistics { display:flex; gap:36px; flex-wrap:wrap; margin:30px 0; }
.registry-statistics dt { font-size:16px; }
.registry-statistics dd { margin:8px 0; font-size:36px; }

.metadata-text { white-space: pre-wrap; overflow-wrap: anywhere; }
img.package-icon { object-fit: contain; background: transparent; }
