/*!
 * COPad
 * http://www.copad.io
 * MIT licensed
 *
 * Copyright (C) Tim Holman, http://tholman.com
 */


/*********************************************
 * BASE STYLES
 *********************************************/

* {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*:focus {
	outline: none;
}

html {
	overflow: hidden;
}

html, body {
	font-family: 'Lora', serif;
	padding: 0;
	margin: 0;
	height: 100%;
}

body.mono-font header,
body.mono-font article {
	font-family: 'Courier Prime', 'Courier New', monospace;
}

body {
	padding-right: 0px;
	overflow: hidden;
	padding-left: 0px;
	min-width: 0;
	width: 100%;

	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-ms-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

/* Default scrollbar to prevent blue flash before themes.css loads */
section::-webkit-scrollbar { width: 6px; }
section::-webkit-scrollbar-track { background: transparent; }
section::-webkit-scrollbar-thumb { background: #b0b0b0; border-radius: 3px; }
body.yang section::-webkit-scrollbar-thumb { background: #505050; }

section {
	width: 100%;
	min-height: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
	padding-left: 50px;
	padding-top: 15px;
	box-sizing: border-box;
	position: fixed;
	top: 70px;
	bottom: 38px;
	left: 0;
	right: 0;
	overflow-y: auto;
}

section.smooth-scroll {
	scroll-behavior: smooth;
}

header {
	font-weight: bold;
	font-size: 38px;
	word-wrap: break-word;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
	transition:
		transform 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
		box-shadow 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: translate3d(0, 0, 0);
	background: var(--tp-bg);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	padding: 4px 0 4px 50px;
	height: 64px;
	line-height: 56px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

header div, header p {
	display: inline;
	white-space: nowrap;
}

header br {
	display: none;
}

.yin header {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.yang header {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
}

header::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	opacity: 0.12;
}

header.raised {
	transform: translate3d(0, -2px, 0);
	box-shadow:
		0  1px  2px rgba(0, 0, 0, 0.12),
		0  4px  8px rgba(0, 0, 0, 0.08),
		0 4px 10px rgba(0, 0, 0, 0.08);
}

.yang header.raised {
	box-shadow:
		0  1px  2px rgba(0, 0, 0, 0.45),
		0  4px  8px rgba(0, 0, 0, 0.35),
		0 4px 10px rgba(0, 0, 0, 0.35);
}

article {
	line-height: 30px;
	font-size: 22px;
	display: block;
	word-wrap: break-word;
	filter: brightness(0.85);
	text-align: left;
	min-height: auto;
}

article > :first-child {
	margin-top: 0;
}
article > :last-child {
	margin-bottom: 0;
}

body.yin header {
	background: #e8e8e8;
}

body.yang header {
	background: #1a1a1a;
}

blockquote {
	border-left: 4px solid deepskyblue;
	margin-left: -19px;
	padding-left: 15px;
	margin-right: 0;
}

.no-overflow {
	overflow: hidden;
	display: block;
	height: 100%;
	width: 100%;
}

/* Used by the ui bubble to stop wrapping */
.lengthen {
	display: block;
	width: 300px;
	height: 100%;
}

.useicons {
	-webkit-font-smoothing: antialiased;
	font-size: 20px !important;
	font-family: 'icomoon' !important;
}

.yin {
	--tp-bg: #fdfdfd;
	background: #fdfdfd;
	color: #111;
}

.yang {
	--tp-bg: #111;
	background-color: #111;
	color: #fafafa;
}

.ui {
	position: fixed;
	padding: 20px 5px;
	width: 35px;
	bottom: 38px;
	left: 0;
	top: 64px;
	overflow: visible;
	z-index: 10;
	box-shadow: 4px 0 10px rgba(0, 0, 0, 0.10);
}

.yin .ui {
	box-shadow: 4px 0 10px rgba(0, 0, 0, 0.08);
}

.yang .ui {
	box-shadow: 4px 0 10px rgba(0, 0, 0, 0.35);
}

/* Zoom ribbon: shrink layout when vertically constrained */
.ui.zoom-ribbon .top {
	/* no transition on transform — prevents laggy panning during mousemove */
}
.ui.zoom-ribbon .top button,
.ui.zoom-ribbon .top .nav-divider {
	transition: font-size 200ms ease, width 200ms ease, height 200ms ease, margin 200ms ease, padding 200ms ease;
}
.ui.zoom-ribbon.zoomed .wrapper {
	overflow: hidden;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top {
	gap: 2px;
	padding: 4px 2px;
	transform: scale(var(--zoom-scale, 0.72));
	transform-origin: top center;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top button {
	font-size: 14px;
	width: 18px;
	height: 20px;
	overflow: hidden;
	flex-shrink: 0;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top .spellcheck,
.ui.zoom-ribbon.zoomed:not(.expanded) .top .punctcheck {
	font-size: 6px;
	white-space: nowrap;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top .typewriter-toggle {
	font-size: 10px;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top .theme,
.ui.zoom-ribbon.zoomed:not(.expanded) .top .share {
	font-size: 12px;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top .cc-color {
	width: 10px;
	height: 10px;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top .cc-size {
	font-size: 12px;
}
.ui.zoom-ribbon.zoomed:not(.expanded) .top .nav-divider {
	font-size: 8px;
	padding: 1px 0;
}

/* Expanded: full-size with vertical pan so bottom buttons stay reachable */
.ui.zoom-ribbon.zoomed.expanded .top {
	transform: scale(1) translateY(var(--pan-y, 0px));
}

.ui:hover button, .ui:hover .about {
	opacity: .4;
}

.ui button:hover, .ui .about:hover {
	opacity: 1;
}

.ui button, .text-options button {
	font-size: 25px;
	width: 25px;
	height: 32px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	opacity: 0.1;
	transition: opacity 400ms;
	font-family: inherit;
}
.ui .spellcheck {
	font-size: 14px;
	opacity: 0.15;
	font-family: 'Lora', serif;
	font-weight: bold;
	transition: opacity 400ms, color 300ms;
}

.ui .spellcheck.active {
	opacity: 1 !important;
	color: #28a745;
}

.ui .spellcheck.autocorrect {
	opacity: 1 !important;
	color: #00b4d8;
}

.yang .ui .spellcheck.autocorrect {
	color: #4ecdc4;
}

.yang .ui .spellcheck.active {
	color: #4ade80;
}

/* Native browser spellcheck underline */

.ui .punctcheck {
	font-size: 14px;
	opacity: 0.12;
	font-family: 'Lora', serif;
	font-weight: bold;
	transition: opacity 400ms, color 300ms;
}

.ui .punctcheck.active {
	opacity: 0.9 !important;
	color: #dc8a2a;
}

.yang .ui .punctcheck.active {
	color: #ffb347;
}

.ui .typewriter-toggle {
	font-size: 20px;
	opacity: 0.12;
	transition: opacity 400ms, color 300ms;
}
.ui .typewriter-toggle.active {
	opacity: 1 !important;
	color: #28a745;
}
.yang .ui .typewriter-toggle.active {
	color: #4ade80;
}

.ui .overwrite-toggle {
	font-size: 20px;
	opacity: 0.12;
	transition: opacity 400ms, color 300ms;
}
.ui .overwrite-toggle.active {
	opacity: 1 !important;
	color: #28a745;
}
.yang .ui .overwrite-toggle.active {
	color: #4ade80;
}

.zp-punct-err {
	border-bottom: 2px dotted #dc8a2a !important;
	cursor: help !important;
}

.yang .zp-punct-err {
	border-bottom-color: #ffb347 !important;
}

.ui .share {
	font-size: 18px;
	opacity: 0.15;
}
.ui:hover button, .ui:hover .about {
	opacity: 0.4;
}
.ui button:hover, .ui .about:hover {
	opacity: 1 !important;
}

a {
	text-decoration: none;
	color: deepskyblue;
}

a:hover {
	text-decoration: underline;
}

.overlay {
	position: fixed;
	display: none;
	height: 100%;
	width: 100%;
	z-index: 3;
	left: 0;
	top: 0;
}

.quote {
	line-height: 60px !important;
	font-size: 49px !important;
}

/*********************************************
 * MODAL
 *********************************************/

.yang .modal {
	background-color: rgba(255,255,255,.9);
	color: #111;
}

.modal {
	background-color: rgba(0,0,0,.9);
	margin-left: -200px;
	position: absolute;
	border-radius: 3px;
	height: 101px;
	padding: 15px;
	display: none;
	width: 400px;
	bottom: 10px;
	color: #fff;
	left: 50%;
}

.modal h1 {
	text-align: center;
	font-size: 20px;
	padding: 0;
	margin: 0;
}

.modal div {
	margin-bottom: 10px;
	margin-top: 10px;
}

.modal input[type="number"] {
	font-size: 16px;
	display: block;
	margin: auto;
	width: 150px;
	padding: 5px;
}

.description {
	height: auto;
}

.description p {
	margin-bottom: 0;
	text-align: center;
}

.saveoverlay {
	margin-left: -215px;
	margin-top: -100px;
	height: 170px;
	left: 50%;
	top: 50%;
}

.saveoverlay div {
	text-align: center;
	font-size: 11px;
}

.saveselection {
	margin-top: 17px;
	text-align:center;
}

.saveselection span {

	-webkit-transition: color 250ms, background 250ms;
	-moz-transition: color 250ms, background 250ms;
	-ms-transition: color 250ms, background 250ms;
	-o-transition: color 250ms, background 250ms;
	transition: color 250ms, background 250ms;

	cursor: pointer;
	font-size: 15px;
	margin: 5px;
	padding: 5px;
	border: 2px solid white;
	border-radius: 3px;
}

.saveselection span:hover {
	background: rgba(255,255,255,.8);
	color: black;
}

.savebutton {

	-webkit-transition: opacity 250ms;
	-moz-transition: opacity 250ms;
	-ms-transition: opacity 250ms;
	-o-transition: opacity 250ms;
	transition: opacity 250ms;

	font-size: 30px !important;
	margin: 15px auto;
	background: none;
	cursor: pointer;
	display: block;
	border: none;
	padding: 0;
	width: 80px;
	color: #fff;
	margin-top: -2px;
}

.yang .savebutton {
	color: #000;
}

.savebutton:hover {
	opacity: .7;
}

.activesave {
	background: rgba(255,255,255,.8);
	color: black;
}

.hiddentextbox {
	opacity:0;
	filter:alpha(opacity=0);
	position:absolute;
}

/*********************************************
 * WORD COUNT
 *********************************************/

.wordcount {
	margin-left: -150px;
	width: 300px;
}

.word-counter {
	box-shadow: inset 0 0 9px -2px rgba(0,0,0,.9);
	position: fixed;
	height: 100%;
	right: -6px;
	width: 6px;
	top: 0;
}

.word-counter.active {
	right: 0;
}

.word-counter .progress {
	-webkit-transition: all 400ms ease-in-out;
	-moz-transition: all 400ms ease-in-out;
	-ms-transition: all 400ms ease-in-out;
	-o-transition: all 400ms ease-in-out;
	transition: all 400ms ease-in-out;
	
	background-color: deepskyblue;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 0%;
}

.progress.complete{
	background-color: greenyellow;
}

/*********************************************
 * UI BUBBLE
 *********************************************/

.text-options {

	-webkit-transition: opacity 250ms, margin 250ms;
	-moz-transition: opacity 250ms, margin 250ms;
	-ms-transition: opacity 250ms, margin 250ms;
	-o-transition: opacity 250ms, margin 250ms;
	transition: opacity 250ms, margin 250ms;

	position: absolute;
	left: -999px;
	top: -999px;
	color: #fff;
	height: 0;
	width: 0;
	z-index: 30;
	margin-top: 5px;
	opacity: 0;
}

.text-options.fade {
	opacity: 0;
	margin-top: -5px;
}

.text-options.active {
	opacity: 1;
	margin-top: 0;
}

.options {
	background-color: rgba(0,0,0,.9);
	position: absolute;
	border-radius: 5px;
	margin-left: -63px;
	margin-top: -46px;
	z-index: 1000;
	padding: 5px 4px 5px 5px;
	width: 125px;
	height: 40px;

	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}

.options.url-mode {
	width: 275px;
	margin-left: -137px;
}

.options.url-mode .bold, .options.url-mode .italic, .options.url-mode .quote {
	width: 0;
	overflow: hidden;
	margin-right: 0;
	opacity: 0;
}

.options .italic {
	font-style: italic;
}

.options .ulist, .options .olist {
	font-weight: bold;
	font-family: 'Lora', serif;
	font-size: 18px;
}

.options button {
	transition: all 250ms ease-in-out;

	float: left;
	width: 28px;
	opacity: .7;
	height: 30px;
	border-radius: 3px;
	margin-right: 1px;
	font-family: 'Lora', serif;
}

.about {
	opacity: 0.4;
	transition: opacity 250ms ease-in-out;
}

.options.url-mode input{
	border-left: 2px solid transparent;
	padding-right: 5px;
	padding-left: 5px;
	width: 236px;
}

.options input {
	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;

	border-radius: 3px;
	overflow: hidden;
	outline: 0;
	height: 30px;
	padding: 0;
	margin: 0;
	border: 0;
	float: left;
	width: 0;
}

.options button.active {
	background-color: rgba(255,255,255,.4);
	opacity: 1;
}

.yang .options button.active {
	background-color: rgba(0,0,0,.3);
}

.options button:hover, .about:hover {
	opacity: .95;
}

.options:before {
	content: "";
	border-top: 5px solid rgba(0,0,0,.9);
	border-bottom: 5px solid transparent;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	position: absolute;
	margin-left: -5px;
	bottom: -15px;
	height: 5px;
	width: 0;
	left: 50%;
}

.yang .options {
	background-color: rgba(255,255,255,.9);
	color: #000;
}

.yang .options:before {
	border-top: 5px solid rgba(255,255,255,.9);
}

.url {
	-webkit-font-smoothing: antialiased;
}

.top {
	position: absolute;
	top: 3vh;
	bottom: 0;
	left: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px 5px;
	gap: 4px;
	box-sizing: border-box;
}

.top .nav-divider {
	font-size: 12px;
	opacity: 0.15;
	line-height: 1;
	padding: 4px 0;
	user-select: none;
}

.bottom {
	position: absolute;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

/* ---- Cursor configurator (merged into .top) ---- */
.cursor-config { display: none; }

.top .cc-color {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	padding: 0;
	background: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.25);
	transition: transform 150ms, border-color 150ms;
	flex-shrink: 0;
	flex-grow: 0;
}
.top .cc-color:hover {
	transform: scale(1.2);
}
.top .cc-color.active {
	border-color: #fff;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.3), 0 0 4px rgba(255,255,255,0.3);
}

.top .cc-size {
	font-size: 20px;
	width: 22px;
	height: 28px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	line-height: 1;
	transition: opacity 200ms, color 200ms;
	font-family: 'Lora', serif;
}
.top .cc-size:hover {
	opacity: 1;
}
.top .cc-size.active {
	opacity: 1 !important;
	color: #28a745;
}

.top .cc-blink {
	font-size: 18px;
	width: 22px;
	height: 28px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	line-height: 1;
	transition: opacity 200ms;
	font-family: 'Lora', serif;
}
.top .cc-blink:hover {
	opacity: 0.8;
}
.top .cc-blink.active {
	opacity: 1 !important;
}

/* ---- Custom caret ---- */
.copad-caret {
	position: fixed;
	pointer-events: none;
	z-index: 99999;
	transition: opacity 400ms ease;
	display: none;
	width: 14px;
	border-radius: 0;
}

/* Hide native caret — we render our own */
[contenteditable] {
	caret-color: transparent !important;
}

/* Body data attributes for other modules */
[data-caret-color="default"] .copad-caret { background-color: currentColor; }
[data-caret-color="red"]     .copad-caret { background-color: #e74c3c; }
[data-caret-color="green"]   .copad-caret { background-color: #2ecc71; }
[data-caret-color="blue"]    .copad-caret { background-color: #3498db; }
[data-caret-color="orange"]  .copad-caret { background-color: #e67e22; }
[data-caret-color="yellow"]  .copad-caret { background-color: #f1c40f; }
[data-caret-color="purple"]  .copad-caret { background-color: #9b59b6; }
[data-caret-color="rainbow"] .copad-caret { background-color: #e74c3c; }

@keyframes zp-pulse {
	0%   { opacity: 0.4; transform: translateX(-50%) scale(0.92); }
	50%  { opacity: 1;   transform: translateX(-50%) scale(1.08); }
	100% { opacity: 0.4; transform: translateX(-50%) scale(0.92); }
}
.zp-arrow {
	animation: zp-pulse 1.4s ease-in-out infinite;
}

.about {
	font-size: 28px !important;
	filter: grayscale(1);
	text-decoration: none !important;
}

.wrapper {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.yin #tabBar { background: #e8e8e8; }
.yang #tabBar { background: #1a1a1a; }

#tabBar {
	position: fixed;
	left: 0;
	width: 100%;
	bottom: 0;
	height: 38px;
	padding: 5px 8px 5px 35px;
	display: flex;
	align-items: center;
	z-index: 20;
	gap: 5px;
	overflow-x: auto;
	scrollbar-width: none;
	color: inherit;
	box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
}

.yin #tabBar { box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.08); }
.yang #tabBar { box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.35); }

#tabBar::-webkit-scrollbar {
	display: none;
}

/* Fade only children; background stays fully opaque */
#tabBar .tab:not(.active),
#tabBar .tab-add,
#tabBar .tab-global-gear {
	opacity: 0.35;
	transition: opacity 300ms ease;
}

#tabBar:hover .tab:not(.active),
#tabBar:hover .tab-add,
#tabBar:hover .tab-global-gear {
	opacity: 0.95;
}

#tabBar .tab.active,
#tabBar:hover .tab.active {
	opacity: 1;
}

.tab {
	padding: 5px 8px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	font-family: 'Lora', serif;
	max-width: 140px;
	white-space: nowrap;
	overflow: hidden;
	user-select: none;
	-webkit-user-select: none;
	transition: background 250ms, opacity 250ms;
	opacity: .75;
	background: rgba(128,128,128,.08);
	border: 1px solid transparent;
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
}

.tab.active {
	opacity: 1;
	font-weight: bold;
}

.yin .tab.active { background: #fdfdfd; border-color: #ddd; }
.yang .tab.active { background: #111; border-color: #333; }

.yin .tab { color: #222; }
.yang .tab { color: #fafafa; }

.tab-title {
	pointer-events: auto;
	margin-right: 6px;
}

.tab-close {
	font-family: sans-serif;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	padding: 0 2px;
	border-radius: 3px;
	transition: background 200ms;
}

.tab-close:hover {
	background: rgba(255,0,0,.25);
}

.tab-add {
	cursor: pointer;
	padding: 5px 10px;
	border-radius: 4px;
	font-family: 'Lora', serif;
	font-size: 18px;
	opacity: .5;
	transition: opacity 250ms, background 250ms;
	user-select: none;
	-webkit-user-select: none;
}

.tab-add:hover {
	opacity: .8;
	background: rgba(128,128,128,.08);
}

.yin #tabBar { border-top: 1px solid #ddd; }
.yang #tabBar { border-top: 1px solid #333; }

#wordCounterTop {
	position: fixed;
	bottom: 10px;
	right: 12px;
	padding: 4px 0px;
	font-size: 13px;
	font-family: 'Lora', serif;
	z-index: 25;
	opacity: 0.35;
	pointer-events: none;
	transition: opacity 300ms ease;
}

#wordCounterTop:hover {
	opacity: 0.95;
	pointer-events: auto;
}

.yin #wordCounterTop { color: #222; }
.yang #wordCounterTop { color: #fafafa; }

.tab-badge {
	font-size: 10px;
	font-family: sans-serif;
	background: rgba(210,40,40,0.85);
	color: #fff;
	border-radius: 8px;
	padding: 1px 5px;
	min-width: 14px;
	text-align: center;
	line-height: 1;
	flex-shrink: 0;
}

/* Unique-user colored dots on tabs */
.tab-users {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-left: 4px;
	margin-right: 4px;
	flex-shrink: 0;
}

.tab-user-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
	border: 1px solid rgba(255,255,255,0.4);
}

/* Multi-user live edit highlights */
.cursor-label {
	position: absolute;
	top: -1.4em;
	left: 0;
	font-size: 10px;
	font-family: sans-serif;
	padding: 1px 5px;
	border-radius: 3px;
	color: #fff;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0.9;
	transition: opacity 0.3s ease, top 0.3s ease;
}

.cursor-label.fade-out {
	opacity: 0;
}

section header.zp-highlighted {
	transition: background-color 0.3s ease;
}
section article.zp-highlighted {
	transition: background-color 0.3s ease;
}

/* Multi-user overlays need relative container */
article { position: relative; }

/* Push editor content above bottom bar */
section { padding-bottom: 55px; }

/* ---- Moderation ---- */
.tab-mod-menu {
	cursor: pointer;
	margin-left: 4px;
	font-size: 11px;
	opacity: 0.6;
	flex-shrink: 0;
}
.tab-mod-menu:hover {
	opacity: 1;
}

.tab-mod-popup {
	background: #222;
	border: 1px solid #444;
	border-radius: 4px;
	padding: 6px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 120px;
}
.yin .tab-mod-popup { background: #fdfdfd; border-color: #ccc; }
.yang .tab-mod-popup { background: #222; border-color: #444; }

.tab-mod-popup button {
	background: #444;
	color: #fff;
	border: none;
	border-radius: 3px;
	padding: 4px 8px;
	cursor: pointer;
	font-size: 11px;
}
.yin .tab-mod-popup button { background: #eee; color: #222; }
.yang .tab-mod-popup button { background: #444; color: #fff; }

.tab-mod-popup button:hover {
	opacity: 0.85;
}

.tab-global-gear {
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 5px 8px;
	border-radius: 4px;
	font-size: 14px;
	flex-shrink: 0;
	opacity: 0.75;
	transition: opacity 250ms;
}
.tab-global-gear:hover {
	opacity: 1;
}

.session-mod-popup {
	min-width: 220px;
}
.session-mod-popup .mod-user-list {
	border-bottom: 1px solid rgba(128,128,128,0.15);
	padding-bottom: 4px;
	margin-bottom: 4px;
}
.session-mod-popup .mod-user-row {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
}
.session-mod-popup .mod-uid {
	font-family: monospace;
	font-size: 10px;
	flex: 1;
}
.session-mod-popup .mod-kick,
.session-mod-popup .mod-ban {
	font-size: 9px;
	padding: 2px 6px;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.session-mod-popup .mod-kick { background: #e67e22; color: #fff; }
.session-mod-popup .mod-ban  { background: #c0392b; color: #fff; }
.session-mod-popup .mod-wipe,
.session-mod-popup .mod-expiry {
	font-size: 10px;
	padding: 3px 8px;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	background: #444;
	color: #fff;
}
.yin .session-mod-popup .mod-wipe,
.yin .session-mod-popup .mod-expiry { background: #ddd; color: #222; }
.yang .session-mod-popup .mod-wipe,
.yang .session-mod-popup .mod-expiry { background: #444; color: #fff; }

/* Read-only tab styling when locked */
.tab-readonly .header,
.tab-readonly .content {
	opacity: 0.6;
	cursor: not-allowed;
	user-select: text;
}
.tab-readonly .header:focus,
.tab-readonly .content:focus {
	outline: none;
}

.moderation-panel {
	margin-top: 8px;
	padding: 8px;
	border-radius: 4px;
	font-size: 11px;
	font-family: sans-serif;
}
.yin .moderation-panel { background: #f5f5f5; border: 1px solid #ddd; }
.yang .moderation-panel { background: #1a1a1a; border: 1px solid #333; }

.mod-panel-title {
	font-weight: bold;
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.yin .mod-panel-title { color: #555; }
.yang .mod-panel-title { color: #aaa; }

.mod-user-list {
	margin-bottom: 6px;
}

.mod-user-row {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
}

.mod-uid {
	font-family: monospace;
	font-size: 10px;
	flex: 1;
}
.yin .mod-uid { color: #666; }
.yang .mod-uid { color: #999; }

.mod-user-row button {
	font-size: 9px;
	padding: 2px 6px;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.mod-kick { background: #e67e22; color: #fff; }
.mod-ban  { background: #c0392b; color: #fff; }

.mod-session-row {
	display: flex;
	gap: 6px;
	margin-top: 4px;
}

.mod-session-row button {
	font-size: 10px;
	padding: 3px 8px;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.mod-wipe { background: #c0392b; color: #fff; }
.mod-expiry { background: #8e44ad; color: #fff; }

/* Lock icon in tab */
.tab-lock {
	font-size: 10px;
	margin-right: 4px;
	flex-shrink: 0;
}

/*********************************************
 * PRINT
 *********************************************/

@media print {

	body {
		overflow: visible;
	}

	section {
		color: #111 !important;
	}

	.text-options, .ui, .word-counter {
		display: none;
	}
}

/* InnerCopad: read-only (a guest — not signed in through InnerTube) */
#copadRo { position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 50; padding: 6px 14px; border-radius: 999px;
	background: rgba(0,0,0,.72); color: #eee; font: 13px system-ui, sans-serif; pointer-events: none; }
