/*
 * TBook Deck themes.
 *
 * Every theme is scoped to a stable body class:
 *   .tbook-deck-theme-paper
 *   .tbook-deck-theme-noir
 *   .tbook-deck-theme-sage
 *   .tbook-deck-theme-sunset
 *   .tbook-deck-theme-cobalt
 *
 * YellowPencil can target those classes directly for per-theme refinements.
 */

/* ── Theme picker ─────────────────────────────────────────── */
.tbook-deck-theme-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 11px;
	margin-bottom: 16px;
}

.tbook-deck-theme-choice {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	border: 1px solid var(--td-line);
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.tbook-deck-theme-choice input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.tbook-deck-theme-choice:has(input:checked) {
	border-color: var(--td-accent);
	box-shadow: 0 0 0 2px var(--td-accent-soft);
}

.tbook-deck-theme-choice:focus-within {
	outline: 2px solid var(--td-accent);
	outline-offset: 2px;
}

.tbook-deck-theme-preview {
	display: flex;
	height: 38px;
	overflow: hidden;
	border-radius: 5px;
	background: #f2f2f2;
}

.tbook-deck-theme-preview span {
	flex: 1 1 0;
}

.tbook-deck-theme-choice strong {
	font-family: 'McLaren', display;
	font-size: 13px;
	font-weight: 400;
}

.tbook-deck-theme-choice small {
	color: var(--td-muted);
	font-size: 11px;
	line-height: 1.35;
}

/* ── Paper ───────────────────────────────────────────────── */
body.tbook-deck-theme-paper .tbook-deck-shell,
body.tbook-deck-theme-paper .tbook-deck-dashboard,
body.tbook-deck-theme-paper .tbook-deck-auth {
	--td-ink: #3a4f66;
	--td-muted: #64748b;
	--td-line: #dcdcde;
	--td-soft: #f6f7f7;
	--td-card: #fffdf7;
	--td-accent: #567a2b;
	--td-accent-dark: #41651f;
	--td-accent-soft: rgba(222, 240, 188, 0.45);
	--td-retro-green: rgba(152, 203, 82, 0.47);
	--td-retro-orange: rgba(207, 132, 63, 0.41);
	--td-retro-author: #474747;
	--td-radius: 5px;
}

/* ── Noir ────────────────────────────────────────────────── */
body.tbook-deck-theme-noir {
	background: #101114;
}

body.tbook-deck-theme-noir #main {
	background-color: #101114;
	background-image:
		radial-gradient(circle at 12% 10%, rgba(215, 168, 74, .10), transparent 35%),
		radial-gradient(circle at 88% 0%, rgba(181, 91, 58, .12), transparent 32%),
		url("../images/retro-worn-dots.png");
	background-attachment: fixed;
}

body.tbook-deck-theme-noir #header,
body.tbook-deck-theme-noir .ct-header {
	background-color: #0d0f12 !important;
}

body.tbook-deck-theme-noir #header .site-title,
body.tbook-deck-theme-noir #header .site-title a {
	color: #f4efe5 !important;
}

body.tbook-deck-theme-noir #header img {
	filter: invert(1) brightness(1.7);
}

body.tbook-deck-theme-noir .chiplag-header-login,
body.tbook-deck-theme-noir .chiplag-header-logout {
	background-color: #d7a84a !important;
	border-color: #d7a84a !important;
	color: #17130b !important;
}

body.tbook-deck-theme-noir .tbook-deck-shell,
body.tbook-deck-theme-noir .tbook-deck-dashboard,
body.tbook-deck-theme-noir .tbook-deck-auth {
	--td-ink: #f4efe5;
	--td-muted: #a9a29a;
	--td-line: rgba(244, 239, 229, .16);
	--td-soft: #24262b;
	--td-card: #1b1d21;
	--td-accent: #d7a84a;
	--td-accent-dark: #f0c56c;
	--td-accent-soft: rgba(215, 168, 74, .14);
	--td-retro-green: rgba(215, 168, 74, .42);
	--td-retro-orange: rgba(181, 91, 58, .55);
	--td-retro-author: #d8d0c4;
	--td-radius: 4px;
	color: var(--td-ink);
}

body.tbook-deck-theme-noir .tbook-deck-header,
body.tbook-deck-theme-noir .tbook-deck-panel,
body.tbook-deck-theme-noir .tbook-deck-auth,
body.tbook-deck-theme-noir .tbook-deck-bar,
body.tbook-deck-theme-noir .tbook-deck-switcher,
body.tbook-deck-theme-noir .tbook-deck-collections-box {
	background-color: #191b1f;
	background-image: url("../images/retro-cream-pixels.png");
	border-color: rgba(215, 168, 74, .28);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
}

body.tbook-deck-theme-noir .tbook-deck-title,
body.tbook-deck-theme-noir .tbook-deck-dash-head h1,
body.tbook-deck-theme-noir .tbook-deck-panel-head h2,
body.tbook-deck-theme-noir .tbook-deck-collections-head h2 {
	color: #f4efe5;
}

body.tbook-deck-theme-noir .tbook-deck-member-name,
body.tbook-deck-theme-noir .tbook-deck-collections-kicker,
body.tbook-deck-theme-noir .tbook-deck-carousel-count {
	color: #d8d0c4;
}

body.tbook-deck-theme-noir .tbook-deck-btn {
	background: #d7a84a;
	border-color: #d7a84a;
	color: #17130b;
}

body.tbook-deck-theme-noir .tbook-deck-btn:hover {
	background: #f0c56c;
	border-color: #f0c56c;
	color: #17130b;
}

body.tbook-deck-theme-noir .tbook-deck-btn-quiet {
	background: #202328;
	border-color: rgba(244, 239, 229, .2);
	color: #f4efe5;
}

body.tbook-deck-theme-noir .tbook-deck-btn-quiet:hover {
	background: #2b2f35;
	color: #fff;
}

body.tbook-deck-theme-noir .tbook-deck-card,
body.tbook-deck-theme-noir .tbook-deck-card:nth-child(even) {
	background: #202328;
	border-color: rgba(215, 168, 74, .42);
}

body.tbook-deck-theme-noir .tbook-deck-card:nth-child(even) {
	border-color: rgba(181, 91, 58, .55);
}

body.tbook-deck-theme-noir .tbook-deck-card:hover,
body.tbook-deck-theme-noir .tbook-deck-card:focus-visible {
	border-color: #d7a84a;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
}

body.tbook-deck-theme-noir .tbook-deck-card.is-empty .tbook-deck-card-media {
	background: linear-gradient(135deg, #25282d, #1b1d21);
}

body.tbook-deck-theme-noir .tbook-deck-card.is-empty .tbook-deck-card-title,
body.tbook-deck-theme-noir .tbook-deck-card.is-empty .tbook-deck-card-initial {
	color: #d8d0c4;
}

body.tbook-deck-theme-noir .tbook-deck-logo,
body.tbook-deck-theme-noir .tbook-deck-chain-logo {
	background-color: #202328;
	border-color: rgba(215, 168, 74, .4);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .28);
}

body.tbook-deck-theme-noir .tbook-deck-chain {
	background-color: #181a1e;
	border-color: rgba(181, 91, 58, .5);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
}

body.tbook-deck-theme-noir .tbook-deck-chain-item:nth-child(even) .tbook-deck-chain-logo {
	border-color: rgba(181, 91, 58, .55);
}

body.tbook-deck-theme-noir .tbook-deck-collection {
	background: #202328;
	border-color: rgba(244, 239, 229, .14);
	color: #f4efe5;
}

body.tbook-deck-theme-noir .tbook-deck-collection-thumb {
	background: #17191d;
	border-color: rgba(244, 239, 229, .14);
	color: #d8d0c4;
}

body.tbook-deck-theme-noir .tbook-deck-collection .tbook-album-submenu-name,
body.tbook-deck-theme-noir .tbook-deck-collection-count {
	color: #d8d0c4;
}

body.tbook-deck-theme-noir .tbook-deck-count-link {
	color: #f4efe5;
}

body.tbook-deck-theme-noir .tbook-gb .tbook-gb-entries-list .tbook-gb-uneven,
body.tbook-deck-theme-noir .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	background: rgba(27, 29, 33, .82);
	border-color: rgba(215, 168, 74, .35);
	box-shadow: 0 10px 25px rgba(0, 0, 0, .2);
}

body.tbook-deck-theme-noir .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	border-color: rgba(181, 91, 58, .45);
}

body.tbook-deck-theme-noir .tbook-gb .gb-author-info,
body.tbook-deck-theme-noir .tbook-gb .gb-author-info a {
	color: #d8d0c4;
}

body.tbook-deck-theme-noir .tbook-gb .gb-entry-content,
body.tbook-deck-theme-noir .tbook-gb .gb-entry-content a {
	color: #ece6dc;
}

body.tbook-deck-theme-noir .page-navigation a,
body.tbook-deck-theme-noir .page-navigation span {
	color: #d8d0c4;
	border-color: rgba(244, 239, 229, .18);
}

body.tbook-deck-theme-noir .page-navigation .is-current {
	background: #d7a84a;
	color: #17130b;
	border-color: #d7a84a;
}

body.tbook-deck-theme-noir .tbook-deck-dashboard input,
body.tbook-deck-theme-noir .tbook-deck-dashboard select,
body.tbook-deck-theme-noir .tbook-deck-auth input {
	background: #202328;
	border-color: rgba(244, 239, 229, .18);
	color: #f4efe5;
}

body.tbook-deck-theme-noir .tbook-deck-table th {
	background: #202328;
	color: #d8d0c4;
}

body.tbook-deck-theme-noir .tbook-deck-table th,
body.tbook-deck-theme-noir .tbook-deck-table td {
	border-color: rgba(244, 239, 229, .12);
}

body.tbook-deck-theme-noir .tbook-slider-modal-card,
body.tbook-deck-theme-noir .tbook-album-modal-card,
body.tbook-deck-theme-noir .tbook-media-modal-body,
body.tbook-deck-theme-noir .tbook-profile-modal__content {
	background: #1b1d21;
	color: #f4efe5;
}

/* ── Sage ────────────────────────────────────────────────── */
body.tbook-deck-theme-sage {
	background: #eef1e8;
}

body.tbook-deck-theme-sage #main {
	background-color: #eef1e8;
	background-image:
		linear-gradient(135deg, #edf3e7 0%, #e5eddb 48%, #f4efe3 100%),
		radial-gradient(circle at 0% 0%, rgba(95, 127, 75, .14), transparent 38%),
		url("../images/retro-worn-dots.png");
	background-attachment: fixed;
}

body.tbook-deck-theme-sage #header,
body.tbook-deck-theme-sage .ct-header {
	background-color: #dce6d4 !important;
}

body.tbook-deck-theme-sage #header .site-title,
body.tbook-deck-theme-sage #header .site-title a {
	color: #2f3b2f !important;
}

body.tbook-deck-theme-sage .chiplag-header-login,
body.tbook-deck-theme-sage .chiplag-header-logout {
	background-color: #5f7f4b !important;
	border-color: #5f7f4b !important;
	color: #f9f8f1 !important;
}

body.tbook-deck-theme-sage .tbook-deck-shell,
body.tbook-deck-theme-sage .tbook-deck-dashboard,
body.tbook-deck-theme-sage .tbook-deck-auth {
	--td-ink: #2f3b2f;
	--td-muted: #6f7a68;
	--td-line: rgba(47, 59, 47, .18);
	--td-soft: #f1f3eb;
	--td-card: #fbfaf3;
	--td-accent: #5f7f4b;
	--td-accent-dark: #456235;
	--td-accent-soft: #e2ead8;
	--td-retro-green: rgba(95, 127, 75, .4);
	--td-retro-orange: rgba(181, 107, 74, .45);
	--td-retro-author: #40503d;
	--td-radius: 10px;
}

body.tbook-deck-theme-sage .tbook-deck-header,
body.tbook-deck-theme-sage .tbook-deck-panel,
body.tbook-deck-theme-sage .tbook-deck-auth,
body.tbook-deck-theme-sage .tbook-deck-bar,
body.tbook-deck-theme-sage .tbook-deck-switcher,
body.tbook-deck-theme-sage .tbook-deck-collections-box {
	background-color: #fbfaf3;
	background-image: url("../images/retro-cream-pixels.png");
	border-color: rgba(95, 127, 75, .35);
	box-shadow: 0 8px 24px rgba(47, 59, 47, .07);
}

body.tbook-deck-theme-sage .tbook-deck-card,
body.tbook-deck-theme-sage .tbook-deck-card:nth-child(even) {
	border-color: rgba(95, 127, 75, .42);
	background: #fbfaf3;
}

body.tbook-deck-theme-sage .tbook-deck-card:nth-child(even) {
	border-color: rgba(181, 107, 74, .45);
}

body.tbook-deck-theme-sage .tbook-deck-logo,
body.tbook-deck-theme-sage .tbook-deck-chain-logo {
	border-color: rgba(95, 127, 75, .42);
	background-color: #f6f5ec;
}

body.tbook-deck-theme-sage .tbook-deck-chain {
	background-color: #f6f5ec;
	border-color: rgba(181, 107, 74, .4);
}

body.tbook-deck-theme-sage .tbook-deck-card.is-empty .tbook-deck-card-media {
	background: linear-gradient(135deg, #eef2e6, #f6f0e6);
}

body.tbook-deck-theme-sage .tbook-deck-collection {
	background: #f6f5ec;
	border-color: rgba(47, 59, 47, .14);
}

body.tbook-deck-theme-sage .tbook-gb .tbook-gb-entries-list .tbook-gb-uneven,
body.tbook-deck-theme-sage .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	background: rgba(251, 250, 243, .82);
	border-color: rgba(95, 127, 75, .4);
	box-shadow: 0 8px 22px rgba(47, 59, 47, .06);
}

body.tbook-deck-theme-sage .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	border-color: rgba(181, 107, 74, .42);
}

/* ── Sunset ──────────────────────────────────────────────── */
body.tbook-deck-theme-sunset {
	background: #fff5e6;
}

body.tbook-deck-theme-sunset #main {
	background-color: #fff5e6;
	background-image:
		linear-gradient(135deg, #fff2dd 0%, #ffe0cb 52%, #ffe9cc 100%),
		radial-gradient(circle at 10% 0%, rgba(244, 185, 66, .25), transparent 40%),
		radial-gradient(circle at 90% 15%, rgba(25, 143, 138, .14), transparent 36%),
		url("../images/retro-worn-dots.png");
	background-attachment: fixed;
}

body.tbook-deck-theme-sunset #header,
body.tbook-deck-theme-sunset .ct-header {
	background-color: #f2a27a !important;
}

body.tbook-deck-theme-sunset #header .site-title,
body.tbook-deck-theme-sunset #header .site-title a {
	color: #3b2430 !important;
}

body.tbook-deck-theme-sunset .chiplag-header-login,
body.tbook-deck-theme-sunset .chiplag-header-logout {
	background-color: #e45f3d !important;
	border-color: #e45f3d !important;
	color: #fffaf3 !important;
}

body.tbook-deck-theme-sunset .tbook-deck-shell,
body.tbook-deck-theme-sunset .tbook-deck-dashboard,
body.tbook-deck-theme-sunset .tbook-deck-auth {
	--td-ink: #3b2430;
	--td-muted: #7b5a58;
	--td-line: rgba(59, 36, 48, .16);
	--td-soft: #fff0e5;
	--td-card: #fffaf3;
	--td-accent: #e45f3d;
	--td-accent-dark: #b84528;
	--td-accent-soft: #ffe2d5;
	--td-retro-green: rgba(25, 143, 138, .42);
	--td-retro-orange: rgba(228, 95, 61, .5);
	--td-retro-author: #6b3a3a;
	--td-radius: 14px;
}

body.tbook-deck-theme-sunset .tbook-deck-header,
body.tbook-deck-theme-sunset .tbook-deck-panel,
body.tbook-deck-theme-sunset .tbook-deck-auth,
body.tbook-deck-theme-sunset .tbook-deck-bar,
body.tbook-deck-theme-sunset .tbook-deck-switcher,
body.tbook-deck-theme-sunset .tbook-deck-collections-box {
	background-color: #fffaf3;
	background-image: url("../images/retro-cream-pixels.png");
	border-color: rgba(228, 95, 61, .3);
	box-shadow: 0 10px 30px rgba(109, 54, 45, .09);
}

body.tbook-deck-theme-sunset .tbook-deck-card,
body.tbook-deck-theme-sunset .tbook-deck-card:nth-child(even) {
	border-color: rgba(228, 95, 61, .4);
	background: #fffaf3;
}

body.tbook-deck-theme-sunset .tbook-deck-card:nth-child(even) {
	border-color: rgba(25, 143, 138, .4);
}

body.tbook-deck-theme-sunset .tbook-deck-logo,
body.tbook-deck-theme-sunset .tbook-deck-chain-logo {
	border-color: rgba(228, 95, 61, .38);
	background-color: #fff4e9;
}

body.tbook-deck-theme-sunset .tbook-deck-chain {
	background-color: #fff4e9;
	border-color: rgba(25, 143, 138, .38);
}

body.tbook-deck-theme-sunset .tbook-deck-card.is-empty .tbook-deck-card-media {
	background: linear-gradient(135deg, #ffe0cf, #fff2d6);
}

body.tbook-deck-theme-sunset .tbook-deck-collection {
	background: #fff4e9;
	border-color: rgba(228, 95, 61, .18);
}

body.tbook-deck-theme-sunset .tbook-gb .tbook-gb-entries-list .tbook-gb-uneven,
body.tbook-deck-theme-sunset .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	background: rgba(255, 250, 243, .84);
	border-color: rgba(228, 95, 61, .4);
	box-shadow: 0 10px 26px rgba(109, 54, 45, .07);
}

body.tbook-deck-theme-sunset .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	border-color: rgba(25, 143, 138, .4);
}

body.tbook-deck-theme-sunset .tbook-deck-btn {
	background: #e45f3d;
	border-color: #e45f3d;
}

body.tbook-deck-theme-sunset .tbook-deck-btn:hover {
	background: #b84528;
	border-color: #b84528;
}

/* ── Cobalt ──────────────────────────────────────────────── */
body.tbook-deck-theme-cobalt {
	background: #edf2fa;
}

body.tbook-deck-theme-cobalt #main {
	background-color: #edf2fa;
	background-image:
		linear-gradient(rgba(36, 87, 214, .055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(36, 87, 214, .055) 1px, transparent 1px);
	background-size: 28px 28px;
}

body.tbook-deck-theme-cobalt #header,
body.tbook-deck-theme-cobalt .ct-header {
	background-color: #17233d !important;
}

body.tbook-deck-theme-cobalt #header .site-title,
body.tbook-deck-theme-cobalt #header .site-title a {
	color: #f4f7ff !important;
}

body.tbook-deck-theme-cobalt #header img {
	filter: invert(1) brightness(1.7);
}

body.tbook-deck-theme-cobalt .chiplag-header-login,
body.tbook-deck-theme-cobalt .chiplag-header-logout {
	background-color: #2457d6 !important;
	border-color: #2457d6 !important;
	color: #fff !important;
}

body.tbook-deck-theme-cobalt .tbook-deck-shell,
body.tbook-deck-theme-cobalt .tbook-deck-dashboard,
body.tbook-deck-theme-cobalt .tbook-deck-auth {
	--td-ink: #17233b;
	--td-muted: #64748b;
	--td-line: #c8d5e8;
	--td-soft: #f4f7fb;
	--td-card: #ffffff;
	--td-accent: #2457d6;
	--td-accent-dark: #173fa5;
	--td-accent-soft: #e5edff;
	--td-retro-green: rgba(36, 87, 214, .42);
	--td-retro-orange: rgba(0, 163, 154, .45);
	--td-retro-author: #334155;
	--td-radius: 4px;
}

body.tbook-deck-theme-cobalt .tbook-deck-header,
body.tbook-deck-theme-cobalt .tbook-deck-panel,
body.tbook-deck-theme-cobalt .tbook-deck-auth,
body.tbook-deck-theme-cobalt .tbook-deck-bar,
body.tbook-deck-theme-cobalt .tbook-deck-switcher,
body.tbook-deck-theme-cobalt .tbook-deck-collections-box {
	background-color: #ffffff;
	background-image: none;
	border-color: #c8d5e8;
	box-shadow: 0 6px 18px rgba(23, 35, 59, .06);
}

body.tbook-deck-theme-cobalt .tbook-deck-card,
body.tbook-deck-theme-cobalt .tbook-deck-card:nth-child(even) {
	border-color: rgba(36, 87, 214, .4);
	background: #fff;
}

body.tbook-deck-theme-cobalt .tbook-deck-card:nth-child(even) {
	border-color: rgba(0, 163, 154, .42);
}

body.tbook-deck-theme-cobalt .tbook-deck-logo,
body.tbook-deck-theme-cobalt .tbook-deck-chain-logo {
	border-color: rgba(36, 87, 214, .38);
	background-color: #f4f7fb;
}

body.tbook-deck-theme-cobalt .tbook-deck-chain {
	background-color: #f4f7fb;
	border-color: rgba(0, 163, 154, .38);
}

body.tbook-deck-theme-cobalt .tbook-deck-card.is-empty .tbook-deck-card-media {
	background: linear-gradient(135deg, #e5edff, #e8fbf8);
}

body.tbook-deck-theme-cobalt .tbook-deck-collection {
	background: #f4f7fb;
	border-color: #c8d5e8;
}

body.tbook-deck-theme-cobalt .tbook-gb .tbook-gb-entries-list .tbook-gb-uneven,
body.tbook-deck-theme-cobalt .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	background: #fff;
	border-color: rgba(36, 87, 214, .35);
	box-shadow: 0 8px 20px rgba(23, 35, 59, .05);
}

body.tbook-deck-theme-cobalt .tbook-gb .tbook-gb-entries-list .tbook-gb-even {
	border-color: rgba(0, 163, 154, .4);
}

body.tbook-deck-theme-cobalt .tbook-deck-btn {
	background: #2457d6;
	border-color: #2457d6;
}

body.tbook-deck-theme-cobalt .tbook-deck-btn:hover {
	background: #173fa5;
	border-color: #173fa5;
}

/* Dark and technical themes use flat surfaces instead of the cream paper tile. */
body.tbook-deck-theme-noir .tbook-deck-header,
body.tbook-deck-theme-noir .tbook-deck-panel,
body.tbook-deck-theme-noir .tbook-deck-auth,
body.tbook-deck-theme-noir .tbook-deck-bar,
body.tbook-deck-theme-noir .tbook-deck-switcher,
body.tbook-deck-theme-noir .tbook-deck-collections-box,
body.tbook-deck-theme-noir .tbook-deck-guestbook {
	background-image: none;
}

body.tbook-deck-theme-noir .tbook-deck-guestbook {
	background-color: #101114;
}

body.tbook-deck-theme-noir .tbook-deck-logo,
body.tbook-deck-theme-noir .tbook-deck-chain-logo {
	background-image: none;
}

body.tbook-deck-theme-cobalt .tbook-deck-guestbook {
	background-color: #fff;
	background-image: none;
}

body.tbook-deck-theme-cobalt .tbook-deck-logo,
body.tbook-deck-theme-cobalt .tbook-deck-chain-logo {
	background-image: none;
}

body.tbook-deck-theme-noir .tbook-deck-tagline,
body.tbook-deck-theme-noir .tbook-deck-meta {
	color: #c9c1b6;
}

body.tbook-deck-theme-noir .tbook-deck-chain {
	background-image: none;
	background-color: #181a1e;
}

body.tbook-deck-theme-noir .tbook-deck-chain-name {
	color: #d8d0c4;
}
