@layer components{@layer controls { 
.cc-toolbar {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--surface-alt);
	border-bottom: 1px solid var(--line);
}
.cc-toolbar__inner {
	max-width: 42rem;
	margin: 0 auto;
	padding: 0.5rem 0.9rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}
.cc-theme { position: relative; }
.cc-theme__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0 0.85rem;
	background: var(--bg);
	color: var(--ink);
	border: 1px solid var(--line);
	border-radius: 999px;
	cursor: pointer;
	font-family: var(--english);
	font-size: 0.88rem;
	font-weight: 600;
}
.cc-theme__dot { width: 0.95rem; height: 0.95rem; border-radius: 50%; background: var(--accent); flex-shrink: 0; }
.cc-theme__caret { font-size: 0.8rem; opacity: 0.65; transition: transform 0.2s; }
.cc-theme[aria-expanded="true"] .cc-theme__caret { transform: rotate(180deg); }
.cc-theme__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 15rem;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 0.4rem;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	z-index: 60;
}
.cc-theme__menu[hidden] { display: none; }
.cc-theme__heading {
	font-family: var(--english);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ink-muted);
	padding: 0.35rem 0.6rem 0.4rem;
}
.cc-theme__item {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	min-height: 42px;
	padding: 0 0.6rem;
	border: none;
	border-radius: 9px;
	background: transparent;
	color: var(--ink);
	font-family: var(--english);
	font-size: 0.9rem;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
}
.cc-theme__item[aria-current="true"] { background: var(--accent-soft); font-weight: 700; }
.cc-theme__swatch { display: inline-flex; border-radius: 5px; overflow: hidden; border: 1px solid var(--line); flex-shrink: 0; }
.cc-theme__swatch i { width: 0.85rem; height: 1.3rem; display: block; }
.cc-theme__name { flex: 1; white-space: nowrap; }
.cc-theme__check { color: var(--accent); font-weight: 700; }
.cc-size {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 2px;
	background: var(--bg);
}
.cc-size button {
	min-width: 42px;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: transparent;
	color: var(--ink);
	cursor: pointer;
	border-radius: 999px;
	font-family: var(--english);
	font-weight: 700;
}
.cc-size button[data-size="dec"] { font-size: 0.85rem; }
.cc-size button[data-size="inc"] { font-size: 1.15rem; }
.cc-size button[data-size="reset"] { font-size: 0.72rem; font-weight: 600; color: var(--ink-muted); min-width: 52px; }
}
}