body {
	margin: 0;
	font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
	font-size: 13px;
	height: 101%;
	overflow-x: hidden;
	background: #fafafa;
}

h1 {
	padding: 12px 10px;
	padding-bottom: 0;
	margin: 0;
	font-size: 1.4em;
}
.clear {
	clear: both;
}
.fixed_header {
	position: fixed;
	background: #fff;
	width: 100%;
	padding-bottom: 10px;
	margin-top: 0;
	top: 0;
	z-index: 9999;
	height: 70px;
}
#search {
	position: absolute;
	right: 5px;
	top: 9px;
	padding-left: 24px;
}
#noresults {
	padding: 7px 12px;
	background: #fff;
}
#content.insearch #search,
#content.insearch #noresults {
	background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==)
		no-repeat center left;
}
#full_list {
	padding: 0;
	list-style: none;
	margin-left: 0;
	margin-top: 80px;
	font-size: 1.1em;
}
#full_list ul {
	padding: 0;
}
#full_list li {
	padding: 0;
	margin: 0;
	list-style: none;
}
#full_list li .item {
	padding: 5px 5px 5px 12px;
}
#content.insearch #noresults {
	margin-left: 7px;
}
#full_list li {
	color: #666;
	cursor: normal;
	white-space: nowrap;
}
#full_list li.collapsed ul {
	display: none;
}
#full_list li a.toggle {
	cursor: default;
	position: relative;
	left: -5px;
	top: 4px;
	text-indent: -999px;
	width: 10px;
	height: 9px;
	margin-left: -10px;
	display: block;
	float: left;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC)
		no-repeat bottom left;
}
#full_list li.collapsed a.toggle {
	cursor: default;
	background-position: top left;
}
#full_list li.deprecated {
	text-decoration: line-through;
	font-style: italic;
}
#full_list li.odd {
	background: #f0f0f0;
}
#full_list li.even {
	background: #fafafa;
}
#full_list .item:hover {
	background: #ddd;
}
#full_list li small:before {
	content: "(";
}
#full_list li small:after {
	content: ")";
}
#full_list li small.search_info {
	display: none;
}
a,
a:visited {
	text-decoration: none;
	color: #05a;
}
#full_list li.clicked > .item {
	background: #05a;
	color: #ccc;
}
#full_list li.clicked > .item a,
#full_list li.clicked > .item a:visited {
	color: #eee;
}
#full_list li.clicked > .item a.toggle {
	opacity: 0.5;
	background-position: bottom right;
}
#full_list li.collapsed.clicked a.toggle {
	background-position: top right;
}
#search input {
	border: 1px solid #bbb;
	border-radius: 3px;
}
#full_list_nav {
	margin-left: 10px;
	font-size: 0.9em;
	display: block;
	color: #aaa;
}
#full_list_nav a,
#nav a:visited {
	color: #358;
}
#full_list_nav a:hover {
	background: transparent;
	color: #5af;
}
#full_list_nav span:after {
	content: " | ";
}
#full_list_nav span:last-child:after {
	content: "";
}

#content h1 {
	margin-top: 0;
}
#full_list li small {
	display: block;
	font-size: 0.8em;
}
#full_list li small:before {
	content: "";
}
#full_list li small:after {
	content: "";
}
#full_list li small.search_info {
	display: none;
}
#search {
	width: 170px;
	position: static;
	margin: 3px;
	margin-left: 10px;
	font-size: 0.9em;
	color: #666;
	padding-left: 0;
	padding-right: 24px;
}
#content.insearch #search {
	background-position: center right;
}
#search input {
	width: 110px;
}

#full_list.insearch ul {
	display: block;
}
#full_list.insearch .item {
	display: none;
}
#full_list.insearch .found {
	display: block;
	padding-left: 11px;
}
#full_list.insearch li a.toggle {
	display: none;
}
#full_list.insearch li small.search_info {
	display: block;
}

/* ============================================================
 * parse-stack-next overlay (sidebar / class-list iframe)
 * ============================================================ */

:root {
	--ps-bg:        #1E1F22;
	--ps-bg-soft:   #2A2C30;
	--ps-bg-hover:  #34373C;
	--ps-fg:        #E6E8EB;
	--ps-fg-muted:  #9CA3AF;
	--ps-accent:    #E63946;
	--ps-link:      #4FB8F4;
	--ps-border:    #3A3D42;
	--ps-font:      -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter",
	                Roboto, "Helvetica Neue", Arial, sans-serif;
}

body {
	background: var(--ps-bg) !important;
	color: var(--ps-fg);
	font-family: var(--ps-font);
	font-size: 13px;
}

h1 {
	color: var(--ps-fg);
	font-weight: 650;
	letter-spacing: -0.01em;
}

.fixed_header {
	background: var(--ps-bg-soft) !important;
	border-bottom: 1px solid var(--ps-border);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}

#search input,
#full_list_search input {
	background: var(--ps-bg) !important;
	color: var(--ps-fg) !important;
	border: 1px solid var(--ps-border) !important;
	border-radius: 4px;
	padding: 4px 8px;
	font-family: var(--ps-font);
}

#search input::placeholder { color: var(--ps-fg-muted); }

#full_list li,
#full_list li .item {
	color: var(--ps-fg);
	border: 0;
}

#full_list li.odd  { background: transparent; }
#full_list li.even { background: rgba(255, 255, 255, .025); }

#full_list li a,
#full_list li .item a,
#full_list li a:visited,
#full_list li .item a:visited {
	color: var(--ps-fg);
}

#full_list .item:hover,
#full_list li:hover,
#full_list li:hover .item {
	background: var(--ps-bg-hover) !important;
	color: var(--ps-fg);
}

#full_list li.clicked > .item,
#full_list li.clicked > .item a,
#full_list li.clicked > .item a:visited {
	background: var(--ps-accent) !important;
	color: #fff !important;
	border-color: var(--ps-accent) !important;
}

#full_list li small  { color: var(--ps-fg-muted); }
#full_list_nav       { color: var(--ps-fg-muted); }

#full_list_nav a,
#full_list_nav a:visited { color: var(--ps-link); }
#full_list_nav a:hover   { color: var(--ps-accent); }

#noresults {
	background: var(--ps-bg-soft);
	color: var(--ps-fg-muted);
	border-radius: 4px;
}

::-webkit-scrollbar          { width: 8px; height: 8px; }
::-webkit-scrollbar-track    { background: var(--ps-bg); }
::-webkit-scrollbar-thumb    { background: #4a4d52; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--ps-link); }

/* ============================================================
 * Re-pin iframe-only layout values that common.css would otherwise
 * stomp on.
 *
 * Both stylesheets are loaded inside the class-list iframe AND the
 * main page. common.css generously styles tags like h1, #content,
 * #header for the main page, where their layout role is "big page
 * heading" / "main content column" / "top nav". Inside the iframe
 * those same selectors mean "Class List" / "sidebar viewport" /
 * "fixed top strip", and the sizes need to be drastically smaller.
 * Re-pin them explicitly here so the iframe doesn't inherit the
 * main-page proportions.
 * ============================================================ */

#full_list_header,
body > #content > .fixed_header > h1,
.fixed_header h1 {
	font-size: 1.4em !important;
	font-weight: 650;
	padding: 12px 10px 4px !important;
	margin: 0 !important;
	border: 0 !important;
	display: block !important;
	color: var(--ps-fg);
	letter-spacing: -0.01em;
	line-height: 1.2;
}

/* Reserve clearance for the fixed_header. With the larger header
 * font + the flex search row, the stock 80px margin isn't enough. */
body > #content > #full_list {
	margin-top: 120px !important;
}

/* The iframe's #content is just a passive scroll container, not the
 * main-page article column. Wipe any main-page color/padding rules. */
body > #content {
	background: var(--ps-bg) !important;
	color: var(--ps-fg);
	padding: 0;
	margin: 0;
}

/* Top nav strip: "Classes | Methods | Files" links. */
#full_list_nav {
	padding: 0 10px;
	font-size: 0.85em;
	color: var(--ps-fg-muted);
}

/* Search row inside the fixed header — keep it on one line. */
.fixed_header #search {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px 0;
	width: auto;
}

.fixed_header #search label {
	color: var(--ps-fg-muted);
	font-size: 0.85em;
}

.fixed_header #search input {
	flex: 1 1 auto;
	min-width: 0;
}

/* Belt-and-braces: the fixed strip must be opaque and above the list. */
.fixed_header {
	background: var(--ps-bg-soft) !important;
	z-index: 9999;
	height: auto;
	min-height: 70px;
	padding-bottom: 8px;
}

/* The collapse toggle PNG is a dark-on-transparent sprite; invert it
 * so the arrow shows on dark backgrounds. */
#full_list li a.toggle {
	filter: invert(0.85) hue-rotate(180deg) brightness(1.6);
}
