.guru-jellyfin-client-prompt[hidden]{display:none!important}.guru-jellyfin-client-prompt{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:hidden;padding:16px}.guru-jellyfin-client-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--gj-client-overlay,#000) 84%,transparent);backdrop-filter:blur(9px)}.guru-jellyfin-client-card{position:relative;width:min(100%,560px);max-height:calc(100dvh - 32px);overflow:hidden;padding:clamp(22px,3.2vh,36px) clamp(22px,4vw,40px);border:1px solid var(--gj-client-border,#333);border-radius:22px;background:var(--gj-client-card,#151515);box-shadow:0 35px 120px rgba(0,0,0,.68);color:var(--gj-client-text,#c7c7c7);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.guru-jellyfin-client-card *{box-sizing:border-box}.guru-jellyfin-client-logo{display:block;width:min(100%,var(--gj-client-logo-width,210px));max-height:72px;object-fit:contain;object-position:left center;margin:0 0 18px}.guru-jellyfin-client-close{position:absolute;top:12px;right:14px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--gj-client-heading,#fff);font-size:28px;line-height:38px;cursor:pointer}.guru-jellyfin-client-close:hover{background:rgba(255,255,255,.16)}.guru-jellyfin-client-kicker{margin:0 0 7px;color:var(--gj-client-accent,#f4c400);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.guru-jellyfin-client-card h2{margin:0 42px 10px 0;color:var(--gj-client-heading,#fff);font-size:clamp(27px,4.2vw,40px);line-height:1.06}.guru-jellyfin-client-message{margin:0 0 9px;font-size:15px;line-height:1.5}.guru-jellyfin-client-device-note{min-height:0;margin:0 0 14px;color:color-mix(in srgb,var(--gj-client-text,#c7c7c7) 76%,transparent);font-size:12px;line-height:1.45}.guru-jellyfin-client-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:9px}.guru-jellyfin-client-install,.guru-jellyfin-client-continue,.guru-jellyfin-client-launcher{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 15px;border-radius:9px;font:inherit;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.guru-jellyfin-client-install{border:1px solid var(--gj-client-accent,#f4c400);background:var(--gj-client-accent,#f4c400);color:var(--gj-client-accent-text,#111)}.guru-jellyfin-client-install:hover{filter:brightness(1.08);color:var(--gj-client-accent-text,#111)}.guru-jellyfin-client-continue{border:1px solid var(--gj-client-border,#333);background:transparent;color:var(--gj-client-heading,#fff)}.guru-jellyfin-client-continue:hover{background:rgba(255,255,255,.07)}.guru-jellyfin-client-other{margin-top:14px;border-top:1px solid var(--gj-client-border,#333);padding-top:11px}.guru-jellyfin-client-other summary{color:var(--gj-client-heading,#fff);font-weight:800;cursor:pointer}.guru-jellyfin-client-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.guru-jellyfin-client-alt-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:7px 10px;border:1px solid var(--gj-client-border,#333);border-radius:8px;color:var(--gj-client-heading,#fff);font-size:12px;font-weight:700;text-decoration:none}.guru-jellyfin-client-alt-link:hover{border-color:var(--gj-client-accent,#f4c400);color:var(--gj-client-accent,#f4c400)}.guru-jellyfin-client-alt-link.is-recommended{border-color:color-mix(in srgb,var(--gj-client-accent,#f4c400) 65%,var(--gj-client-border,#333))}.guru-jellyfin-client-launcher{border:0;background:var(--gj-client-accent,#f4c400);color:var(--gj-client-accent-text,#111)}body.guru-jellyfin-client-open{overflow:hidden!important}
@media(max-height:860px){.guru-jellyfin-client-card{padding-top:20px;padding-bottom:20px}.guru-jellyfin-client-logo{max-height:54px;margin-bottom:10px}.guru-jellyfin-client-card h2{font-size:30px}.guru-jellyfin-client-message{font-size:14px;line-height:1.4}.guru-jellyfin-client-device-note{margin-bottom:9px;line-height:1.35}.guru-jellyfin-client-choice{margin-bottom:10px}.guru-jellyfin-client-reset{margin-top:8px}.guru-jellyfin-client-other{display:none}}
@media(max-width:600px){.guru-jellyfin-client-prompt{padding:8px}.guru-jellyfin-client-card{max-height:calc(100dvh - 16px);padding:20px 17px;border-radius:17px}.guru-jellyfin-client-logo{max-height:58px;margin-bottom:12px}.guru-jellyfin-client-actions{grid-template-columns:1fr}.guru-jellyfin-client-link-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.guru-jellyfin-client-prompt:not([hidden]) .guru-jellyfin-client-backdrop{animation:gjClientFade .2s ease both}.guru-jellyfin-client-prompt:not([hidden]) .guru-jellyfin-client-card{animation:gjClientUp .28s ease both}@keyframes gjClientFade{from{opacity:0}to{opacity:1}}@keyframes gjClientUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}}

/* WATCH app/browser chooser. */
.guru-jellyfin-watch-launcher[hidden] {
	display: none !important;
}

.guru-jellyfin-watch-launcher {
	position: fixed;
	inset: 0;
	z-index: 1000002;
	display: grid;
	place-items: center;
	padding: 24px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.guru-jellyfin-watch-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .84);
	background: color-mix(in srgb, var(--gj-client-overlay, #000) 84%, transparent);
	backdrop-filter: blur(8px);
}

.guru-jellyfin-watch-card {
	position: relative;
	z-index: 1;
	width: min(100%, 520px);
	padding: 32px;
	border: 1px solid var(--gj-client-border, #333);
	border-radius: 22px;
	background: var(--gj-client-card, #151515);
	box-shadow: 0 28px 90px rgba(0, 0, 0, .58);
	color: var(--gj-client-text, #c7c7c7);
	outline: none;
}

.guru-jellyfin-watch-close {
	position: absolute;
	top: 14px;
	right: 16px;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: var(--gj-client-heading, #fff);
	font-size: 27px;
	line-height: 1;
	cursor: pointer;
}

.guru-jellyfin-watch-logo {
	display: block;
	width: min(100%, var(--gj-client-logo-width, 210px));
	max-height: 90px;
	object-fit: contain;
	object-position: left center;
	margin: 0 0 24px;
}

.guru-jellyfin-watch-kicker {
	margin: 0 0 8px;
	color: var(--gj-client-accent, #f4c400);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.guru-jellyfin-watch-card h2 {
	margin: 0 42px 12px 0;
	color: var(--gj-client-heading, #fff);
	font-size: clamp(28px, 5vw, 42px);
	line-height: 1.08;
}

.guru-jellyfin-watch-message,
.guru-jellyfin-watch-device,
.guru-jellyfin-watch-status {
	color: var(--gj-client-text, #c7c7c7);
}

.guru-jellyfin-watch-device {
	margin: 18px 0 0;
	font-size: 13px;
}

.guru-jellyfin-watch-actions {
	display: grid;
	gap: 11px;
	margin-top: 24px;
}

.guru-jellyfin-watch-app,
.guru-jellyfin-watch-browser,
.guru-jellyfin-watch-install {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 18px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}

.guru-jellyfin-watch-app {
	border: 1px solid var(--gj-client-accent, #f4c400);
	background: var(--gj-client-accent, #f4c400);
	color: var(--gj-client-accent-text, #111);
}

.guru-jellyfin-watch-app[hidden],
.guru-jellyfin-watch-install[hidden] {
	display: none !important;
}

.guru-jellyfin-watch-browser {
	border: 1px solid rgba(255,255,255,.22);
	background: rgba(255,255,255,.08);
	color: var(--gj-client-heading, #fff);
}

.guru-jellyfin-watch-install {
	border: 1px solid var(--gj-client-border, #333);
	background: transparent;
	color: var(--gj-client-accent, #f4c400);
}

.guru-jellyfin-watch-status {
	min-height: 20px;
	margin: 14px 0 0;
	font-size: 12px;
	line-height: 1.45;
}

body.guru-jellyfin-watch-open {
	overflow: hidden;
}

@media (max-width: 560px) {
	.guru-jellyfin-watch-launcher {
		align-items: end;
		padding: 12px;
	}

	.guru-jellyfin-watch-card {
		padding: 28px 20px 22px;
		border-radius: 20px 20px 10px 10px;
	}
}

/* Remembered client choice. */
.guru-jellyfin-client-choice {
	margin: 0 0 18px;
}

.guru-jellyfin-client-choice[hidden] {
	display: none !important;
}

.guru-jellyfin-client-choice label,
.guru-jellyfin-client-choice span {
	display: block;
}

.guru-jellyfin-client-choice span {
	margin-bottom: 7px;
	color: var(--gj-client-heading, #fff);
	font-size: 13px;
	font-weight: 800;
}

.guru-jellyfin-client-choice select {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 8px 38px 8px 12px;
	border: 1px solid var(--gj-client-border, #333);
	border-radius: 9px;
	background: color-mix(in srgb, var(--gj-client-card, #151515) 88%, white);
	color: var(--gj-client-heading, #fff);
	font: inherit;
}

.guru-jellyfin-client-install {
	grid-column: 1 / -1;
}

.guru-jellyfin-client-installed {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 18px;
	border: 1px solid var(--gj-client-accent, #f4c400);
	border-radius: 9px;
	background: transparent;
	color: var(--gj-client-accent, #f4c400);
	font: inherit;
	font-weight: 800;
	text-align: center;
	cursor: pointer;
}

.guru-jellyfin-client-installed:hover {
	background: color-mix(in srgb, var(--gj-client-accent, #f4c400) 12%, transparent);
}

.guru-jellyfin-client-reset {
	display: block;
	margin: 13px auto 0;
	padding: 4px 6px;
	border: 0;
	background: transparent;
	color: var(--gj-client-text, #c7c7c7);
	font: inherit;
	font-size: 12px;
	text-decoration: underline;
	cursor: pointer;
}

.guru-jellyfin-client-reset[hidden] {
	display: none !important;
}

@media (max-width: 600px) {
	.guru-jellyfin-client-install {
		grid-column: auto;
	}
}

@media (max-height: 860px) {
	.guru-jellyfin-client-choice { margin-bottom: 9px; }
	.guru-jellyfin-client-choice select { min-height: 42px; }
	.guru-jellyfin-client-installed { min-height: 44px; padding: 9px 13px; }
	.guru-jellyfin-client-reset { margin-top: 7px; }
}
