:root {
	--gc-bg: #ffffff;
	--gc-surface: #f4f4f3;
	--gc-fg: #141414;
	--gc-muted: #545452;
	--gc-line: #e0e0de;
	--gc-off: #c4c4c1;
	--gc-btn-bg: #141414;
	--gc-btn-fg: #ffffff;
	--gc-radius: 22px;
	--gc-font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}
.gc-banner, .gc-panel, .gc-prompt, .gc-embed { font-family: var(--gc-font); line-height: 1.5; box-sizing: border-box; }
.gc-banner *, .gc-panel *, .gc-prompt *, .gc-embed * { box-sizing: border-box; }
.gc-banner {
	position: fixed; z-index: 2147483000;
	left: max(16px, env(safe-area-inset-left, 0px)); right: max(16px, env(safe-area-inset-right, 0px));
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	max-width: 1120px; margin: 0 auto; max-height: calc(100vh - 32px); overflow-y: auto;
	background: var(--gc-bg); color: var(--gc-fg);
	border: 1px solid var(--gc-line); border-radius: var(--gc-radius);
	box-shadow: 0 16px 48px rgba(0, 0, 0, .2);
	padding: 22px 24px;
	animation: gc-rise .28s ease-out;
}
@keyframes gc-rise { from { transform: translateY(16px); opacity: .4; } to { transform: none; opacity: 1; } }
.gc-banner__in { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.gc-banner__text { flex: 1 1 460px; min-width: 0; }
.gc-title { display: block; margin: 0 0 6px; font-size: 17px; font-weight: 700; letter-spacing: -.01em; color: inherit; outline: none; padding: 0; }
.gc-copy { margin: 0; font-size: 14px; color: var(--gc-muted); padding: 0; }
.gc-links { margin: 8px 0 0; font-size: 13px; padding: 0; }
.gc-links a, .gc-panel a, .gc-prompt a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.gc-links a { margin-right: 14px; }
.gc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gc-btn {
	font-family: var(--gc-font); font-size: 14px; font-weight: 600; line-height: 1.2;
	padding: 12px 20px; min-height: 46px; cursor: pointer; border-radius: 999px;
	background: var(--gc-btn-bg); color: var(--gc-btn-fg); border: 1px solid var(--gc-btn-bg);
	transition: transform .12s ease, opacity .12s ease;
}
.gc-btn:hover { opacity: .85; }
.gc-btn:active { transform: scale(.97); }
.gc-btn--plain { background: transparent; color: var(--gc-fg); border-color: var(--gc-fg); }
.gc-btn:focus-visible, .gc-panel a:focus-visible, .gc-prompt a:focus-visible, .gc-links a:focus-visible { outline: 2px solid var(--gc-fg); outline-offset: 3px; }
.gc-panel, .gc-prompt {
	background: var(--gc-bg); color: var(--gc-fg); border: 1px solid var(--gc-line); border-radius: var(--gc-radius);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
	padding: 0; width: min(620px, calc(100vw - 24px)); max-height: calc(100vh - 32px); overflow-y: auto;
}
.gc-prompt { width: min(440px, calc(100vw - 24px)); }
.gc-panel::backdrop, .gc-prompt::backdrop { background: rgba(0, 0, 0, .45); backdrop-filter: blur(3px); }
.gc-panel__in { padding: 24px; display: grid; gap: 12px; }
.gc-cat { background: var(--gc-surface); border-radius: 16px; padding: 14px 16px; }
.gc-cat__head, .gc-service__head { display: flex; gap: 14px; align-items: center; justify-content: space-between; cursor: pointer; margin: 0; }
.gc-cat__head { font-weight: 700; font-size: 15px; }
.gc-service__head { font-weight: 600; font-size: 14px; }
.gc-cat__text { margin: 4px 0 0; font-size: 13px; color: var(--gc-muted); padding: 0; }
.gc-service { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--gc-line); }
.gc-service__info { margin: 3px 0 0; padding: 0; font-size: 12.5px; color: var(--gc-muted); overflow-wrap: anywhere; }
.gc-switch { position: relative !important; display: inline-block !important; flex: none !important; width: 46px !important; height: 28px !important; margin: 0 !important; padding: 0 !important; }
.gc-switch input.gc-toggle {
	position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
	min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
	opacity: 0 !important; z-index: 2 !important; cursor: pointer; background: none !important; box-shadow: none !important;
}
.gc-switch input.gc-toggle::before, .gc-switch input.gc-toggle::after { content: none !important; display: none !important; }
.gc-switch .gc-track {
	position: absolute !important; top: 0 !important; left: 0 !important; display: block !important; width: 46px !important; height: 28px !important;
	border-radius: 999px !important; background: var(--gc-off) !important; transition: background .16s ease;
}
.gc-switch .gc-track::after {
	content: "" !important; position: absolute !important; top: 3px !important; left: 3px !important; display: block !important;
	width: 22px !important; height: 22px !important; border-radius: 50% !important;
	background: #ffffff !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .3) !important; transition: transform .16s ease;
}
.gc-switch input.gc-toggle:checked + .gc-track { background: var(--gc-fg) !important; }
.gc-switch input.gc-toggle:checked + .gc-track::after { transform: translateX(18px); }
.gc-switch input.gc-toggle:indeterminate + .gc-track { background: #8a8a87 !important; }
.gc-switch input.gc-toggle:indeterminate + .gc-track::after { transform: translateX(9px); }
.gc-switch input.gc-toggle:disabled { cursor: not-allowed; }
.gc-switch input.gc-toggle:disabled + .gc-track { opacity: .5; }
.gc-switch input.gc-toggle:focus-visible + .gc-track { outline: 2px solid var(--gc-fg); outline-offset: 3px; }
.gc-panel__head { position: relative; padding-right: 44px; }
.gc-close {
	position: absolute; top: -4px; right: -4px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	background: var(--gc-surface); color: var(--gc-fg);
}
.gc-close:hover { background: var(--gc-line); }
.gc-close:focus-visible { outline: 2px solid var(--gc-fg); outline-offset: 2px; }
.gc-id { font-size: 12px; color: var(--gc-muted); margin: 0; padding: 0; overflow-wrap: anywhere; }
.gc-embed { display: flex; align-items: center; justify-content: center; width: 100%; background: var(--gc-surface); color: var(--gc-fg); padding: 22px; text-align: center; border-radius: var(--gc-radius); }
.gc-embed__inner { max-width: 440px; }
.gc-embed__title { font-weight: 700; font-size: 16px; margin: 0 0 6px; padding: 0; color: inherit; }
.gc-embed__text { font-size: 13px; margin: 0 0 14px; padding: 0; color: var(--gc-muted); }
.gc-embed__text a { color: inherit; text-decoration: underline; }
.gc-list-wrap { overflow-x: auto; border: 1px solid #d5d5d5; border-radius: 16px; }
.gc-list { width: 100%; border-collapse: collapse; font-size: 14px; }
.gc-list th, .gc-list td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid #e3e3e3; }
.gc-list tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) {
	.gc-banner { left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); padding: 18px; }
	.gc-actions, .gc-actions .gc-btn { width: 100%; }
	.gc-panel, .gc-prompt { width: 100vw; max-width: 100vw; margin: auto 0 0; border-radius: var(--gc-radius) var(--gc-radius) 0 0; border-width: 1px 0 0; max-height: 90vh; }
	.gc-panel__in { padding: 20px 16px calc(20px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
	.gc-banner { animation: none; }
	.gc-btn, .gc-switch .gc-track, .gc-switch .gc-track::after { transition: none; }
}
