/* =========================================================
   Darkframe Game Site — Quest Log Sidebar Panel (F34)
   ========================================================= */

/* ---- Tab toggle button ----------------------------------- */
.dgs-quest-log-tab {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 8001;
	background: var(--dgs-surface, #111827);
	border: 1px solid var(--dgs-border, #1f2530);
	border-right: none;
	border-radius: 6px 0 0 6px;
	padding: 10px 8px;
	cursor: pointer;
	color: var(--dgs-text, #e8eaed);
	font-size: 18px;
	line-height: 1;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: background 0.2s ease, border-color 0.2s ease;
	box-shadow: -2px 0 12px rgba(0, 0, 0, 0.4);
}

.dgs-quest-log-tab:hover {
	background: var(--dgs-accent, #4a9eff);
	border-color: var(--dgs-accent, #4a9eff);
	color: #fff;
}

.dgs-quest-log-tab__icon {
	font-size: 16px;
	writing-mode: horizontal-tb;
}

.dgs-quest-log-tab__label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: var(--dgs-font-mono, monospace);
}

/* ---- Drawer panel --------------------------------------- */
.dgs-quest-log {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%) translateX(100%);
	z-index: 8000;
	width: 280px;
	max-height: 70vh;
	background: var(--dgs-surface, #111827);
	border: 1px solid var(--dgs-border, #1f2530);
	border-right: none;
	border-radius: 8px 0 0 8px;
	box-shadow: -4px 0 24px rgba(0, 0, 0, 0.6);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
}

.dgs-quest-log.is-open {
	transform: translateY(-50%) translateX(0);
	pointer-events: auto;
}

/* Shift the tab when drawer is open */
.dgs-quest-log.is-open ~ .dgs-quest-log-tab,
.dgs-quest-log-tab.is-open {
	right: 280px;
}

/* ---- Header --------------------------------------------- */
.dgs-quest-log__header {
	padding: 14px 16px 10px;
	border-bottom: 1px solid var(--dgs-border, #1f2530);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
}

.dgs-quest-log__title {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dgs-accent, #4a9eff);
	font-family: var(--dgs-font-mono, monospace);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

.dgs-quest-log__close {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--dgs-muted, #8a9bb0);
	font-size: 14px;
	padding: 2px 4px;
	line-height: 1;
	border-radius: 3px;
	transition: color 0.15s, background 0.15s;
}

.dgs-quest-log__close:hover {
	color: var(--dgs-text, #e8eaed);
	background: rgba(255, 255, 255, 0.06);
}

/* ---- Scrollable body ------------------------------------ */
.dgs-quest-log__body {
	padding: 14px 16px;
	overflow-y: auto;
	flex: 1;
	scrollbar-width: thin;
	scrollbar-color: var(--dgs-border, #1f2530) transparent;
}

.dgs-quest-log__body::-webkit-scrollbar { width: 4px; }
.dgs-quest-log__body::-webkit-scrollbar-track { background: transparent; }
.dgs-quest-log__body::-webkit-scrollbar-thumb { background: var(--dgs-border, #1f2530); border-radius: 2px; }

/* ---- Objective ------------------------------------------ */
.dgs-quest-log__objective-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dgs-muted, #8a9bb0);
	font-family: var(--dgs-font-mono, monospace);
	margin: 0 0 6px;
}

.dgs-quest-log__objective-text {
	font-size: 13px;
	color: var(--dgs-text, #e8eaed);
	line-height: 1.5;
	margin: 0 0 16px;
	padding: 10px 12px;
	background: rgba(74, 158, 255, 0.06);
	border-left: 3px solid var(--dgs-accent, #4a9eff);
	border-radius: 0 4px 4px 0;
}

/* ---- Breadcrumb trail inside panel ---------------------- */
.dgs-quest-log__trail-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dgs-muted, #8a9bb0);
	font-family: var(--dgs-font-mono, monospace);
	margin: 0 0 8px;
}

.dgs-quest-log__breadcrumbs {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dgs-quest-log__breadcrumbs li {
	display: flex;
	align-items: center;
	font-size: 12px;
	line-height: 1.4;
	color: var(--dgs-muted, #8a9bb0);
	padding: 3px 0;
}

.dgs-quest-log__breadcrumbs li::before {
	content: '›';
	margin-right: 6px;
	color: var(--dgs-border, #1f2530);
	font-size: 14px;
	flex-shrink: 0;
}

.dgs-quest-log__breadcrumbs li:first-child::before {
	content: '⌂';
	font-size: 11px;
}

.dgs-quest-log__breadcrumbs a {
	color: var(--dgs-accent, #4a9eff);
	text-decoration: none;
}

.dgs-quest-log__breadcrumbs a:hover {
	text-decoration: underline;
}

.dgs-quest-log__breadcrumbs li.is-current {
	color: var(--dgs-text, #e8eaed);
	font-weight: 600;
}

/* ---- Responsive: hide on very small screens ------------- */
@media (max-width: 480px) {
	.dgs-quest-log {
		width: calc(100vw - 40px);
	}
}
