:root {
}

html.a-b .c.d-c{visibility:hidden}.e-f{background:var(--color-canvas-default);color:var(--color-fg-default);font-family:sans-serif;margin:1em auto;padding:0 1em;width:960px}.e-g{display:block;height:32px;width:auto}.h-i{z-index:200}.i-j{z-index:200;position:absolute;background:var(--color-canvas-overlay);border:1px solid var(--color-border-default);box-shadow:var(--color-shadow-medium);margin-top:8px;padding:8px;border-radius:3px;border-top-left-radius:0;border-top-right-radius:0}.i-k{cursor:pointer;padding:8px;line-height:18px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.i-l{background-color:var(--color-neutral-muted)}.i-m{background-color:var(--color-action-list-item-default-selected-bg);color:var(--color-fg-default)}.i-j b,.i-k b{background-color:var(--color-search-keyword-hl);font-weight:600}.n{font-size:14px!important;overflow-x:auto;overflow-wrap:break-word;word-break:break-word;max-width:100%}.o-p-q:focus{outline:none}.o-p-k{white-space:nowrap;font:icon;line-height:16px;height:24px}.o-p-k span{overflow:hidden;text-overflow:ellipsis}.o-p-r{background-repeat:repeat-y;background-image:url(//ssl.gstatic.com/closure/tree/I.png)!important;background-position-y:1px!important;font:icon}.o-p-r-s{font:icon}.o-p-t{background-image:url(//ssl.gstatic.com/closure/tree/tree.png)}.o-p-u-t{vertical-align:middle;height:16px;width:16px;cursor:default}.o-p-u-t-v{width:19px;background-position:0 0}.o-p-u-t-w{width:19px;background-position:-24px 0}.o-p-u-t-x{width:19px;background-position:-48px 0}.o-p-u-t-y{width:19px;background-position:-72px 0}.o-p-u-t-z{width:19px;background-position:-96px 0}.o-p-u-t-A{width:19px;background-position:-120px 0}.o-p-u-t-B{width:19px;background-position:-144px 0}.o-p-u-t-C{width:19px;background-position:-168px 0}.o-p-u-t-D{width:19px;background-position:-168px -24px}.o-p-E-F-t{vertical-align:middle;height:16px;width:16px;background-position:0 -24px}.o-p-G-F-t{vertical-align:middle;height:16px;width:16px;background-position:-24px -24px}.o-p-H-t{vertical-align:middle;height:16px;width:16px;background-position:-48px -24px}.o-p-I-J{margin-left:3px;padding:1px 2px;text-decoration:none;color:WindowText;cursor:default}.o-p-I-J:hover{text-decoration:underline}.K .o-p-I-J{background-color:ButtonFace;color:ButtonText}.L .K .o-p-I-J{background-color:Highlight;color:HighlightText}.o-p-M-q{display:none}{
"version":3,
"file":"css.css.map",
"lineCount":1,
"mappings":"AAU2b,IAAK,IAAW,CAAE,EAAQ,IACsB,CAAA,WAAY,OAGY,IACiB,CAAA,WAAY,IAAI,sBAAJ,EAC8B,MAAO,IAAI,kBAAJ,EAC0B,YAAa,WACa,OAAQ,IAAI,KACO,QAAS,EAAE,IACM,MAAO,MAGW,IACY,CAAA,QAAS,MACQ,OAAQ,KACO,MAAO,KAK+C,IACc,CAAA,QAAS,IAGS,IACe,CAAA,QAAS,IACM,SAAU,SACW,WAAY,IAAI,sBAAJ,EAC8B,OAAQ,IAAI,MAAM,IAAI,sBAAJ,EAC8B,WAAY,IAAI,qBAAJ,EAEkD,WAAY,IACM,QAAS,IACM,cAAe,IACM,uBAAwB,EACI,wBAAyB,EAGO,IACU,CAAA,OAAQ,QACU,QAAS,IACM,YAAa,KACO,YAAa,OACS,cAAe,SACW,SAAU,OAGY,IACkB,CAAA,iBAAkB,IAAI,qBAAJ,EAGgC,IACa,CAAA,iBAAkB,IAAI,4CAAJ,EACoD,MAAO,IAAI,kBAAJ,EAI2E,IAAW,CAAC,EACI,IAAM,CAAC,CACK,CAAA,iBAAkB,IAAI,yBAAJ,EACiC,YAAa,IAGS,EACU,CAAA,UAAW,KAAK,UACa,WAAY,KACO,cAAe,WACa,WAAY,WACa,UAAW,KAgBqY,MAAc,MACU,CAAA,QAAS,KAGU,MACiB,CAAA,YAAa,OACS,KAAM,KACO,YAAa,KACO,OAAQ,KAGU,MAAa,CAAC,IACQ,CAAA,SAAU,OACS,cAAe,SAGc,MACsB,CAAA,kBAAmB,SACW,iBAAkB,IAAA,oCAAA,EAA0C,UACa,sBAAuB,IAAI,UAE4B,KAAM,KAGU,QAC8B,CAAA,KAAM,KAGU,MACkB,CAAA,iBAAkB,IAAA,uCAAA,EAGkD,QACyB,CAAA,eAAgB,OACS,OAAQ,KACO,MAAO,KACO,OAAQ,QAGa,UAC8B,CAAA,MAAO,KACO,oBAAqB,EAAE,EAGO,UAC+B,CAAA,MAAO,KACO,oBAAsB,MAAK,EAGO,UAC+B,CAAA,MAAO,KACO,oBAAsB,MAAK,EAGO,UACgC,CAAA,MAAO,KACO,oBAAsB,MAAK,EAGO,UAC+B,CAAA,MAAO,KACO,oBAAsB,MAAK,EAGO,UACgC,CAAA,MAAO,KACO,oBAAsB,OAAM,EAGO,UAC2B,CAAA,MAAO,KACO,oBAAsB,OAAM,EAGO,UAC2B,CAAA,MAAO,KACO,oBAAsB,OAAM,EAGO,UAC+B,CAAA,MAAO,KACO,oBAAsB,OAAO,MAGU,UACmC,CAAA,eAAgB,OACS,OAAQ,KACO,MAAO,KACO,oBAAsB,EAAK,MAGU,UACkC,CAAA,eAAgB,OACS,OAAQ,KACO,MAAO,KACO,oBAAsB,MAAM,MAGU,QACuB,CAAA,eAAgB,OACS,OAAQ,KACO,MAAO,KACO,oBAAsB,MAAM,MAGU,QACwB,CAAA,YAAa,IACM,QAAS,IAAI,IACc,gBAAiB,KACO,MAAO,WACa,OAAQ,QAGa,QAAoB,MACU,CAAA,gBAAiB,UAGe,EAAQ,CAAE,QACwB,CAAA,iBAAkB,WACa,MAAO,WAGgB,EAAO,CAAE,EAAQ,CAAE,QACwB,CAAA,iBAAkB,UACY,MAAO,cAGmB,QACuB,CAAA,QAAS;",
"sources":["app/bcr/style.closure.css"],
"names":[]
}
/**
 * style.css contains assorted css classes that are used directly, not subject
 * to closure_css_binary.
 */

.Header {
	padding-left: 0 !important;
}

.PageLayout:has(.PageLayout-pane) .Header {
	padding-left: 8px !important;
}

/* ========================================
 * Mobile Responsive Fixes
 * ======================================== */

/* Allow Header to wrap on small screens */
@media (max-width: 767.98px) {
	.Header {
		flex-wrap: wrap !important;
		gap: 8px;
	}

	.Header-item {
		margin-right: 8px !important;
	}

	.Header-item--full {
		flex-basis: 100%;
		order: 2;
	}
}

/* Reduce logo size on mobile */
@media (max-width: 543.98px) {
	.Header-item[style*="max-width: 54px"] {
		max-width: 40px !important;
	}
}

/* ========================================
 * Code Block Overflow Fixes
 * ======================================== */

/* Prevent pre/code blocks from expanding viewport on mobile */
pre {
	overflow-x: auto !important;
	max-width: 100%;
	/* Smooth scrolling on iOS */
	-webkit-overflow-scrolling: touch;
}

pre code {
	white-space: pre;
	word-wrap: normal;
	overflow-wrap: normal;
}

/* Ensure Box containers don't overflow */
.Box {
	min-width: 0;
	overflow: hidden;
}

.Box .Box-body,
.Box .Box-row {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.Box .Box-body pre,
.Box .Box-row pre {
	margin: 0;
}

/* Ensure tables in boxes don't overflow */
.Box .Box-body table,
.Box .Box-row table {
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Restore table semantics for the dependents matrix.
 * The matrix has its own overflow wrapper and needs display: table
 * for sticky columns and cell-grid layout to work. */
.Box .Box-body .dependents-matrix table {
	display: table;
}

/* Markdown content (READMEs, descriptions): never push parent wider.
 * Wrap long words/URLs and clamp images so a markdown blob can't trigger
 * page-level horizontal scrolling on narrow viewports. */
.markdown-body {
	max-width: 100%;
	min-width: 0;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.markdown-body img {
	max-width: 100%;
	height: auto;
}

/* PageLayout grid items default to min-width: auto, which lets a wide
 * child (a long pre, table, image, or unbroken URL) blow out the column.
 * Force them shrinkable so overflow-x rules above can take effect. */
.PageLayout .PageLayout-content,
.PageLayout .PageLayout-pane {
	min-width: 0;
}

/* width-full on mobile should respect container bounds */
@media (max-width: 767.98px) {
	.width-full {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
}

/* The search input visually fuses with the scope BtnGroup on its right
 * edge — clip the right border + radius so they share a single seam.
 * The BtnGroup itself is hidden below md, so this fusion only applies
 * once the pills are visible; below md the input keeps its natural
 * full border so it doesn't look amputated. */
@media (min-width: 768px) {
	.form-control.search-scope-fused {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-right: 0;
	}
}

.btn-language {
	color: var(--lang-fg) !important;
	background-color: var(--lang-bg) !important;
	border: 1px solid;
	border-color: color-mix(in srgb, var(--lang-bg) 70%, black) !important;
}

.octicon {
	display: inline-block;
	text-decoration: none;
	text-rendering: auto;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	speak: none;
}

/* MVS Dependency Tree Styles */
.mvs-tree-container {
	overflow: auto;
}

.mvs-tree-dev-dep {
	color: var(--color-attention-fg);
	font-style: italic;
}

.mvs-tree-upgraded {
	color: var(--color-success-fg);
	font-weight: 600;
}

.mvs-tree-controls {
	margin-bottom: 8px;
	display: flex;
	gap: 8px;
}

/* ========================================
 * TreeView Component (SVG tree lines)
 * ======================================== */

.treeview-root {
	margin: 0;
	padding: 0;
	font-family:
		-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial,
		sans-serif;
	font-size: 14px;
	line-height: 24px;
	color: var(--color-fg-default);
}

.treeview-item {
	margin: 0;
	padding: 0;
	position: relative;
}

.treeview-item-root {
	padding-left: 0;
}

.treeview-item-row {
	display: flex;
	align-items: center;
	padding-left: calc((var(--level, 0) - 1) * 24px + 0.25rem);
	min-height: 24px;
}

.treeview-item-row:hover {
	background-color: var(--color-neutral-subtle);
	border-radius: 6px;
}

.treeview-line {
	flex-shrink: 0;
	display: block;
	margin-right: 0.25rem;
}

.treeview-label {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 24px;
	text-decoration: none;
	color: inherit;
}

.treeview-label:hover {
	color: var(--color-accent-fg);
	text-decoration: underline;
}

.treeview-metadata {
	margin-left: 6px;
	padding: 2px 6px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 500;
	background-color: var(--color-neutral-muted);
	color: var(--color-fg-muted);
}

.treeview-metadata-dev {
	background-color: var(--color-accent-subtle);
	color: var(--color-accent-fg);
}

.treeview-metadata-upgraded {
	background-color: var(--color-attention-subtle);
	color: var(--color-attention-fg);
}

.treeview-override-badge {
	color: var(--color-fg-muted);
	text-decoration: none;
}

.treeview-override-badge:hover {
	color: var(--color-accent-fg);
	text-decoration: underline;
}

.treeview-children {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ========================================
 * Skeleton Loading Animation
 * ======================================== */

@keyframes skeleton-shimmer {
	0% {
		mask-position: 200%;
	}

	to {
		mask-position: 0;
	}
}

.skeleton-box {
	background-color: var(--skeletonLoader-bgColor, var(--color-neutral-muted));
	border-radius: var(--borderRadius-small, 0.1875rem);
	display: inline-block;
	height: 1rem;
	width: 6rem;
}

@media (prefers-reduced-motion: no-preference) {
	.skeleton-box {
		animation: skeleton-shimmer 4s infinite;
		mask-image: linear-gradient(75deg, #000 30%, rgba(0, 0, 0, 0.65) 80%);
		mask-size: 200%;
	}
}

@media (forced-colors: active) {
	.skeleton-box {
		outline: 1px solid transparent;
		outline-offset: -1px;
	}
}

/* ========================================
 * Registry Data Refresh indicator
 * ======================================== */

/* Small octicon pinned to the upper-right of the Bazel logo. Hidden by
 * default; revealed when RefreshController detects a backend change by
 * toggling .bcr-refresh-available on <html>. Clicking the icon reloads. */
.bcr-refresh-indicator {
	position: absolute;
	top: 6px;
	left: -12px;
	display: none;
	background-color: var(--color-accent-emphasis, #0969da);
	color: var(--color-fg-on-emphasis, #fff);
	border-radius: 50%;
	padding: 2px;
	line-height: 0;
	text-decoration: none;
}

html.bcr-refresh-available .bcr-refresh-indicator {
	display: inline-flex;
	animation: bcr-refresh-pulse 2s infinite;
}

@keyframes bcr-refresh-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.2);
	}
}

@media (prefers-reduced-motion: reduce) {
	html.bcr-refresh-available .bcr-refresh-indicator {
		animation: none;
	}
}

/* ========================================
 * Recently Updated Timeline
 * ======================================== */

.timeline-avatar-badge {
	background-color: var(
		--bgColor-default,
		var(--color-canvas-default)
	) !important;
	border: 3px solid var(--bgColor-default, var(--color-canvas-default)) !important;
	padding: 0;
	overflow: hidden;
	border-radius: 50%;
	width: 48px !important;
	height: 48px !important;
	margin-left: -23px !important;
}

.timeline-avatar-badge img {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
}

.timeline-avatar-badge + .TimelineItem-body {
	margin-top: 0;
	align-self: center;
}

.timeline-first:before {
	top: 50% !important;
}

.timeline-last:before {
	bottom: 50% !important;
}

/* ========================================
 * Dotted Leader (label .... value rows)
 * ======================================== */

.dotted-leader {
	flex: 1;
	border-bottom: 1px dotted var(--color-border-muted);
	margin: 0 0.5em;
}

/* ========================================
 * Bazel Versions Tree (semver grouping)
 * ======================================== */

.bazel-major-summary {
	cursor: pointer;
	list-style: none;
}

.bazel-major-summary::-webkit-details-marker {
	display: none;
}

.bazel-major-summary::marker {
	display: none;
	content: "";
}
