/* ===== ROOT VARIABLES ===== */
:root {
	--codicsin-orange: #f56c51;
	--codicsin-green: #19e09c;
	--codicsin-blue: #23263c;
	--codicsin-light-blue: #e1eaff;
	--codicsin-dark-blue: #181b2d;
	--codicsin-yellow: #e4b44c;
	--codicsin-black: #111422;
	--codicsin-text: 13px;
	--codicsin-small-text: 12px;
	--codicsin-title: 20px;
    --codicsin-sidebar-min-width: 280px;
    --codicsin-sidebar-max-width: 98vw;
}

/* ===== SIDEBAR ===== */
.codicsin-sidebar {
	position: fixed;
	top: 0;
	right: 0;
	width: 500px;
	min-width: var(--codicsin-sidebar-min-width);
	max-width: var(--codicsin-sidebar-max-width);
	height: 100vh;
	background: var(--codicsin-black);
	z-index: 1000002;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.codicsin-resizer {
	position: absolute;
	left: 0;
	top: 0;
	width: 5px;
	height: 100%;
	cursor: ew-resize;
	z-index: 1000003;
	background: var(--codicsin-dark-blue);
}

.codicsin-resizer:hover,
.codicsin-resizer.resizing {
	background: var(--codicsin-orange);
}

@media (max-width: 650px) {
    .codicsin-sidebar {
        width: 98vw !important;
        min-width: 150px !important;
        max-width: 100vw !important;
    }
}

/* ===== HEADER ===== */
.codicsin-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--codicsin-blue);
	padding: 10px 18px;
}

.codicsin-title {
	font-size: var(--codicsin-title);
	color: var(--codicsin-orange);
	font-weight: bold;
}
.codicsin-close {
	background: transparent;
	border: none;
	color: var(--codicsin-light-blue);
	font-size: var(--codicsin-title);
	cursor: pointer;
}

.codicsin-message {
	padding: 15px;
	font-size: var(--codicsin-text);
	color: var(--codicsin-green);
	border-bottom: 1px solid var(--codicsin-blue);
}

.codicsin-css {
	padding: 15px;
	overflow-x: auto;
	flex: 1;
}

/* ===== START ===== */
.codicsin-css-initial {
	text-align: center;
	color: var(--codicsin-light-blue);
	padding: 30px 0 15px;
}

.codicsin-css-initial-icon {
	font-size: 48px;
	margin-bottom: 15px;
}
.codicsin-css-initial-title {
	font-size: var(--codicsin-title);
	font-weight: 600;
	margin-bottom: 10px;
	color: var(--codicsin-orange);
}
.codicsin-css-initial-desc {
	font-size: var(--codicsin-text);
	line-height: 1.6;
}
.codicsin-css-initial-highlight { 
	color: var(--codicsin-yellow);
}

.codicsin-css-initial-close { 
	color: var(--codicsin-orange);
}

/* ===== BREADCRUMBS ===== */
.codicsin-css-breadcrumbs {
	margin-bottom: 10px;
	font-size: var(--codicsin-small-text);
	color: var(--codicsin-light-blue);
	background: var(--codicsin-blue);
	padding: 15px;
	border-radius: 5px;
}

.codicsin-breadcrumb-el {
	font-weight:bold;
	cursor: pointer;
	margin-right: 6px;
}

.codicsin-breadcrumb-el:hover {
	color: #f56c51;
}

/* ===== BUTTONS ===== */
.codicsin-copy,
.codicsin-copy-pseudo {
	background: var(--codicsin-orange);
	color: var(--codicsin-light-blue);
	border: none;
	padding: 6px 14px;
	border-radius: 5px;
	font-size: var(--codicsin-text);
	cursor: pointer;
	margin-bottom: 5px;
	transition: background .15s;
}

.codicsin-copy:hover,
.codicsin-copy-pseudo:hover {
	background: var(--codicsin-yellow);
}

/* ===== CSS RULES ===== */
.codicsin-cssrules {
	display: block;
	background: var(--codicsin-blue);
	padding: 15px;
	color: var(--codicsin-light-blue);
	font-size: var(--codicsin-text);
	border-radius: 5px;
	margin: 0 0 20px 0;
	overflow-x: auto;
}

/* ===== CSS FULL PATH ===== */
.codicsin-fullpath-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: var(--codicsin-blue);
	padding: 15px;
	border-radius: 5px;
	margin-bottom: 25px;
}

.codicsin-fullpath-label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: var(--codicsin-text);
	font-weight: 600;
	color: var(--codicsin-yellow);
}

.codicsin-fullpath-toggle { 
	cursor: pointer;
}

.codicsin-fullpath-explanation {
	font-size: var(--codicsin-small-text);
	color: var(--codicsin-light-blue);
}

/* ===== CSS SOURCE ===== */
.codicsin-css-source-info {
	font-size: var(--codicsin-text);
	font-weight: 600;
	color: var(--codicsin-light-blue);
	background-color: var(--codicsin-blue);
	border-radius: 5px;
	padding: 10px;
	line-height: 1.6;
	margin-bottom: 10px;
}

.codicsin-css-source-info-empty { 
	color: var(--codicsin-yellow); !important;
	background: none !important;
}

.codicsin-css-source-sep {
	border: none;
	border-top: 1px solid var(--codicsin-dark-blue);
	margin: 8px 0;
}

.codicsin-css-source-type-label,
.codicsin-css-source-file-label {
	color: var(--codicsin-light-blue);
}

.codicsin-css-source-file,
.codicsin-css-source-theme,
.codicsin-css-source-plugin { 
	color: var(--codicsin-yellow);
}

/* ===== VARIABLES ===== */
.codicsin-css-vars-label {
	margin: 15px 0 5px 0;
	font-size: var(--codicsin-text);
	color: var(--codicsin-yellow);
	font-weight: 700;
}

.codicsin-css-var-wrap {
	background: var(--codicsin-blue);
	padding: 15px;
	border-radius: 5px;
	line-height: 2;
	font-size: var(--codicsin-text);
	margin-bottom: 25px;
}

.codicsin-css-variable {
	padding: 3px 0;
}

.codicsin-css-variable-name {
	font-family: monospace;
	font-size: var(--codicsin-text);
	font-weight: 700;
	color: var(--codicsin-yellow);
	letter-spacing: 0.5px;
}

.codicsin-css-variable-value {
	color: var(--codicsin-green);
	margin-left: 10px;
}

/* ===== FEEDBACK ===== */
.codicsin-feedback {
	display: none;
	position: absolute;
	bottom: 25px;
	right: 30px;
	background: var(--codicsin-orange);
	color: var(--codicsin-light-blue);
	padding: 12px 28px;
	border-radius: 5px;
	font-size: var(--codicsin-text);
	font-weight: 700;
	z-index: 1000003;
}

.codicsin-feedback.is-active {
	display: block;
}

/* ===== COLOR PREVIEW ===== */
.codicsin-color-preview {
	display:inline-block;
	vertical-align:middle;
	width:18px;
	height:18px;
	margin-left:5px;
	border-radius:3px;
	border:1px solid #aaa;
}

.codicsin-color-rgba {
	font-size: var(--codicsin-small-text);
	color: var(--codicsin-orange);
}