/**
 * DMS Roadmap — frontend styles. Scoped under .dms-roadmap; no font stack
 * (typography inherits the host theme) and no page background — the
 * dashboard theme owns the canvas.
 */

@keyframes dms-rm-shimmer {
	0%   { background-position: -600px 0; }
	100% { background-position: 600px 0; }
}
@keyframes dms-rm-pop {
	0%   { transform: scale(0.94); opacity: 0; }
	100% { transform: scale(1); opacity: 1; }
}

.dms-roadmap {
	position: relative;
	margin: 0 auto;
	padding: 0 0 60px;
	-webkit-font-smoothing: antialiased;
	color: rgba(255, 255, 255, 0.88);
	font-size: 15px;
	line-height: 1.5;
}
.dms-roadmap *,
.dms-roadmap *::before,
.dms-roadmap *::after { box-sizing: border-box; }

.dms-roadmap [hidden] { display: none !important; }

/* Modal portal appended to <body> (escapes builder stacking contexts). */
.dms-roadmap.dms-rm-portal { padding: 0; margin: 0; }

.dms-roadmap a { color: #8ec8f0; text-decoration: underline; text-underline-offset: 3px; }
.dms-roadmap a:hover { color: #ff7fdc; }
.dms-roadmap input,
.dms-roadmap textarea,
.dms-roadmap select,
.dms-roadmap button { font-family: inherit; }
.dms-roadmap ::placeholder { color: rgba(255, 255, 255, 0.34); }
.dms-roadmap select option { background: #1a1226; color: #fff; }

/* scrollbar (design .dms-scroll) */
.dms-roadmap .dms-scroll::-webkit-scrollbar { height: 10px; }
.dms-roadmap .dms-scroll::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.04); border-radius: 99px; }
.dms-roadmap .dms-scroll::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.18); border-radius: 99px; }
.dms-roadmap .dms-scroll::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); }

/* ---------------------------------------------------------------- shared buttons */

.dms-roadmap .dms-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	cursor: pointer;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: filter 0.15s, background 0.15s, transform 0.15s, opacity 0.15s;
}
/* Primary look mirrors the site's Breakdance button-atom--primary:
   45° gradient on 200% width sliding right on hover, arrow ::after. */
.dms-roadmap .dms-btn--primary {
	padding: 14px 26px;
	color: #fff;
	background-image: linear-gradient(45deg, #ff2ec7 0%, #469ddd 100%);
	background-size: 200% 100%;
	background-position: 0% 50%;
	transition: background-position 0.4s ease, box-shadow 0.3s ease, transform 0.15s ease;
}
.dms-roadmap .dms-btn--primary::after {
	content: '';
	flex: none;
	width: 0.9em;
	height: 0.9em;
	background-color: currentColor;
	-webkit-mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M19.414%2027.414l10-10c0.781-0.781%200.781-2.047%200-2.828l-10-10c-0.781-0.781-2.047-0.781-2.828%200s-0.781%202.047%200%202.828l6.586%206.586h-19.172c-1.105%200-2%200.895-2%202s0.895%202%202%202h19.172l-6.586%206.586c-0.39%200.39-0.586%200.902-0.586%201.414s0.195%201.024%200.586%201.414c0.781%200.781%202.047%200.781%202.828%200z%22%2F%3E%3C%2Fsvg%3E);
	-webkit-mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M19.414%2027.414l10-10c0.781-0.781%200.781-2.047%200-2.828l-10-10c-0.781-0.781-2.047-0.781-2.828%200s-0.781%202.047%200%202.828l6.586%206.586h-19.172c-1.105%200-2%200.895-2%202s0.895%202%202%202h19.172l-6.586%206.586c-0.39%200.39-0.586%200.902-0.586%201.414s0.195%201.024%200.586%201.414c0.781%200.781%202.047%200.781%202.828%200z%22%2F%3E%3C%2Fsvg%3E);
	mask-size: 100% 100%;
	mask-repeat: no-repeat;
}
.dms-roadmap .dms-btn--primary:hover { background-position: 100% 50%; box-shadow: 0 0 30px rgba(9, 48, 76, 0.28); color: #fff; }
.dms-roadmap .dms-btn--primary:active { transform: scale(0.98); }
.dms-roadmap .dms-btn--primary:disabled { opacity: 0.4; cursor: not-allowed; transform: none; filter: none; box-shadow: none; }
.dms-roadmap .dms-btn--ghost {
	padding: 11px 24px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	font-weight: 500;
	font-size: 14px;
}
.dms-roadmap .dms-btn--ghost:hover { background: rgba(255, 255, 255, 0.13); color: #fff; }
.dms-roadmap .dms-btn--outline {
	padding: 13px 24px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: transparent;
	color: rgba(255, 255, 255, 0.75);
	font-weight: 500;
}
.dms-roadmap .dms-btn--outline:hover { background: rgba(255, 255, 255, 0.07); color: #fff; }
.dms-roadmap .dms-btn--sm { padding: 9px 18px; font-size: 13.5px; border-radius: 10px; }

/* ---------------------------------------------------------------- login notice */

.dms-roadmap .dms-rm-loginnote {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	padding: 14px 18px;
	border-radius: 14px;
	border: 1px solid rgba(74, 159, 224, 0.28);
	background: rgba(74, 159, 224, 0.09);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.6;
}
.dms-roadmap .dms-rm-loginnote__icon { flex: none; font-size: 15px; }

/* ---------------------------------------------------------------- header + toolbar */

.dms-roadmap .dms-rm-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
.dms-roadmap .dms-rm-title { margin: 0 0 12px; line-height: 1.02; color: #ff2ec4; font-family: inherit; }
.dms-roadmap .dms-rm-intro {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.62);
	max-width: 560px;
	text-wrap: pretty;
}
.dms-roadmap .dms-rm-head > .dms-btn { margin-top: 8px; }

/* dismissible notice (English-only hint) */

.dms-roadmap .dms-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: -8px 0 24px;
	padding: 13px 16px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.75);
	font-size: 13.5px;
	line-height: 1.55;
}
.dms-roadmap .dms-notice__icon { flex: none; }
.dms-roadmap .dms-notice__text { flex: 1; min-width: 0; }
.dms-roadmap .dms-notice__x {
	flex: none;
	border: 0;
	background: transparent;
	padding: 0 2px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}
.dms-roadmap .dms-notice__x:hover { color: #fff; }

.dms-roadmap .dms-rm-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin: 0 0 22px;
}
.dms-roadmap .dms-rm-search { position: relative; flex: 1 1 280px; max-width: 420px; }
.dms-roadmap .dms-rm-search__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	pointer-events: none;
	display: block;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Ccircle cx='6.5' cy='6.5' r='4.75' fill='none' stroke='%23ffffff' stroke-opacity='0.55' stroke-width='1.5'/%3E%3Cpath d='M10.2 10.2l3.3 3.3' stroke='%23ffffff' stroke-opacity='0.55' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 15px 15px;
}
.dms-roadmap .dms-rm-search input {
	width: 100%;
	padding: 12px 16px 12px 38px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(0, 0, 0, 0.28);
	color: #fff;
	font-size: 14px;
	outline: none;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}
.dms-roadmap .dms-rm-search input:focus { border-color: rgba(255, 46, 196, 0.5); }
.dms-roadmap .dms-rm-select {
	padding: 12px 38px 12px 14px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background-color: rgba(0, 0, 0, 0.28);
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-opacity='0.6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.dms-roadmap .dms-rm-adminbadge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: #ffd479;
	background: rgba(255, 196, 66, 0.12);
	border: 1px solid rgba(255, 196, 66, 0.32);
	white-space: nowrap;
}

/* ---------------------------------------------------------------- board */

.dms-roadmap .dms-rm-scrollwrap {
	position: relative;
	overflow-x: auto;
	overflow-y: visible;
	padding: 6px 0 26px;
}
.dms-roadmap .dms-rm-board {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	min-width: min-content;
}
.dms-roadmap .dms-rm-col {
	flex: 0 0 316px;
	width: 316px;
	align-self: stretch;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.085) 0%, rgba(255, 255, 255, 0.03) 100%);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.32);
	transition: border-color 0.15s, background 0.15s;
}
.dms-roadmap .dms-rm-col:last-child { margin-right: 20px; }
.dms-roadmap .dms-rm-col.is-over {
	border-color: rgba(255, 46, 196, 0.6);
	background: rgba(255, 46, 196, 0.09);
}
.dms-roadmap .dms-rm-col__head { padding: 20px 20px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.dms-roadmap .dms-rm-col__toprow { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.dms-roadmap .dms-rm-col__dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.dms-roadmap .dms-rm-col__dot.col-request { background: #ff2ec4; box-shadow: 0 0 12px rgba(255, 46, 196, 0.6); }
.dms-roadmap .dms-rm-col__dot.col-evaluate { background: #c07ae0; box-shadow: 0 0 12px rgba(192, 122, 224, 0.6); }
.dms-roadmap .dms-rm-col__dot.col-planned { background: #8a8ee8; box-shadow: 0 0 12px rgba(138, 142, 232, 0.6); }
.dms-roadmap .dms-rm-col__dot.col-dev { background: #4a9fe0; box-shadow: 0 0 12px rgba(74, 159, 224, 0.6); }
.dms-roadmap .dms-rm-col__dot.col-done { background: #34d399; box-shadow: 0 0 12px rgba(52, 211, 153, 0.6); }
.dms-roadmap .dms-rm-col__title { font-size: 15.5px; font-weight: 600; color: #fff; }
.dms-roadmap .dms-rm-col__count {
	margin-left: auto;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.12);
}
.dms-roadmap .dms-rm-col__hint { font-size: 12.5px; line-height: 1.5; color: rgba(255, 255, 255, 0.5); text-wrap: pretty; }
.dms-roadmap .dms-rm-colcta { width: 100%; margin-top: 14px; padding: 10px 18px; font-size: 13.5px; }
.dms-roadmap .dms-rm-col__cards { padding: 14px; display: flex; flex-direction: column; gap: 12px; min-height: 80px; }

.dms-roadmap .dms-rm-colempty {
	padding: 26px 18px;
	text-align: center;
	border-radius: 16px;
	border: 1px dashed rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.02);
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.6;
	text-wrap: pretty;
}
.dms-roadmap .dms-rm-colempty .dms-btn { margin-top: 12px; }
.dms-roadmap .dms-rm-col.is-over .dms-rm-colempty { border-color: rgba(255, 46, 196, 0.6); }

/* ---------------------------------------------------------------- cards */

.dms-roadmap .dms-rm-card {
	position: relative;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.045);
	padding: 16px;
	cursor: pointer;
	transition: transform 0.14s, border-color 0.14s, background 0.14s, opacity 0.14s;
}
.dms-roadmap .dms-rm-card:hover {
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.075);
	transform: translateY(-2px);
}
.dms-roadmap [data-admin] .dms-rm-card { cursor: grab; }
.dms-roadmap .dms-rm-card.is-dragging { opacity: 0.4; }
.dms-roadmap .dms-rm-card__row { display: flex; align-items: flex-start; gap: 12px; }
.dms-roadmap .dms-rm-card__handle { flex: none; margin-top: 2px; color: rgba(255, 255, 255, 0.35); font-size: 14px; cursor: grab; line-height: 1.3; }
.dms-roadmap .dms-rm-card__main { min-width: 0; flex: 1; }
.dms-roadmap .dms-rm-card__title { font-size: 15px; font-weight: 600; line-height: 1.4; color: #fff; text-wrap: pretty; }
.dms-roadmap .dms-rm-card__author { margin-top: 6px; font-size: 12.5px; color: rgba(255, 255, 255, 0.5); }
.dms-roadmap .dms-rm-card__foot { margin-top: 14px; display: flex; align-items: center; gap: 10px; }
.dms-roadmap .dms-rm-minenote { font-size: 11.5px; color: rgba(255, 255, 255, 0.42); }

.dms-roadmap .dms-rm-shipchip {
	margin-top: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 600;
	color: #7ce0b6;
	background: rgba(52, 211, 153, 0.14);
	border: 1px solid rgba(52, 211, 153, 0.3);
}

/* badges */

.dms-roadmap .dms-rm-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	padding: 4px 11px;
	margin-bottom: 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #fff;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.16);
}
.dms-roadmap .dms-rm-badge.is-strong {
	color: #ffd0f1;
	background: linear-gradient(90deg, rgba(255, 46, 196, 0.32), rgba(163, 91, 216, 0.28));
	border-color: rgba(255, 46, 196, 0.45);
}
.dms-roadmap .dms-rm-badge.is-big { padding: 5px 13px; font-size: 12px; margin-bottom: 0; }

/* vote buttons */

.dms-roadmap .dms-rm-vote {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	padding: 6px 13px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.06);
	transition: filter 0.14s, background 0.14s, border-color 0.14s;
}
.dms-roadmap .dms-rm-vote:hover { filter: brightness(1.15); }
.dms-roadmap .dms-rm-vote.is-on { border-color: rgba(255, 46, 196, 0.5); background: rgba(255, 46, 196, 0.2); }
.dms-roadmap .dms-rm-vote.is-locked { cursor: default; }
.dms-roadmap .dms-rm-vote.is-locked:hover { filter: none; }
.dms-roadmap .dms-rm-vote.is-big { gap: 9px; padding: 11px 20px; font-size: 14px; }
.dms-roadmap .dms-rm-vote__num { font-size: 17px; font-weight: 700; }
.dms-roadmap .dms-rm-vote__word { font-size: 13px; opacity: 0.8; }

/* admin row on cards */

.dms-roadmap .dms-rm-adminrow {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
}
.dms-roadmap .dms-rm-statusselect {
	padding: 6px 26px 6px 10px;
	border-radius: 9px;
	font-size: 12.5px;
	color: #fff;
	background-color: rgba(0, 0, 0, 0.32);
	border: 1px solid rgba(255, 255, 255, 0.14);
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-opacity='0.6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 9px center;
}
.dms-roadmap .dms-rm-verlabel {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.5);
	white-space: nowrap;
}
.dms-roadmap .dms-rm-verfield {
	width: 76px;
	padding: 6px 10px;
	border-radius: 9px;
	font-size: 12.5px;
	color: #fff;
	outline: none;
	background: rgba(0, 0, 0, 0.32);
	border: 1px solid rgba(255, 196, 66, 0.5);
}
.dms-roadmap .dms-rm-verfield.has-version { border-color: rgba(52, 211, 153, 0.4); }
.dms-roadmap .dms-rm-verwarn { font-size: 11.5px; color: #ffd479; white-space: nowrap; }

/* skeletons */

.dms-roadmap .dms-rm-skel {
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.03);
	padding: 16px;
}
.dms-roadmap .dms-rm-skel__line {
	display: block;
	height: 13px;
	border-radius: 7px;
	margin-bottom: 10px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.16) 50%, rgba(255, 255, 255, 0.06) 100%);
	background-size: 600px 100%;
	animation: dms-rm-shimmer 1.4s infinite linear;
}
.dms-roadmap .dms-rm-skel__sub { display: block; height: 11px; width: 52%; border-radius: 6px; background: rgba(255, 255, 255, 0.07); margin-bottom: 16px; }
.dms-roadmap .dms-rm-skel__pill { display: block; height: 26px; width: 66px; border-radius: 999px; background: rgba(255, 255, 255, 0.06); }

/* hero empty + archive */

.dms-roadmap .dms-rm-hero {
	position: relative;
	margin: 30px auto 0;
	max-width: 620px;
	text-align: center;
	padding: 64px 40px;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background: linear-gradient(140deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.035) 100%);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
}
.dms-roadmap .dms-rm-hero__icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 22px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(255, 46, 196, 0.2), rgba(74, 159, 224, 0.2));
	border: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 26px;
}
.dms-roadmap .dms-rm-hero__title { font-size: 21px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.dms-roadmap .dms-rm-hero--board { margin: 18px auto 30px; }
.dms-roadmap .dms-rm-hero__body {
	font-size: 14.5px;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.65;
	max-width: 420px;
	margin: 0 auto 24px;
}

.dms-roadmap .dms-rm-glow { position: relative; z-index: 0; }
.dms-roadmap .dms-rm-glow::before {
	content: '';
	position: absolute;
	inset: -14px -10px;
	z-index: -1;
	border-radius: 34px;
	filter: blur(46px);
	opacity: 0.75;
	background: linear-gradient(115deg, rgba(255, 46, 196, 0.55) 0%, rgba(139, 74, 214, 0.5) 34%, rgba(74, 159, 224, 0.5) 66%, rgba(24, 178, 152, 0.45) 100%);
}
.dms-roadmap .dms-rm-archivecard {
	position: relative;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.085) 0%, rgba(255, 255, 255, 0.03) 100%);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	padding: 20px;
}
.dms-roadmap .dms-rm-archive { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.dms-roadmap .dms-rm-card--archive:hover { transform: none; }
.dms-roadmap .dms-rm-archivelink { margin: 6px 0 0; font-size: 13px; }
.dms-roadmap .dms-rm-archivelink--top { margin: 0 0 30px; }

.dms-roadmap .dms-rm-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: -6px 0 24px;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
}
.dms-roadmap .dms-rm-back:hover { color: #fff; }

/* status pills (modal) */

.dms-roadmap .dms-rm-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 600;
	color: #fff;
	border: 1px solid transparent;
}
.dms-roadmap .dms-rm-pill.col-request { background: rgba(255, 46, 196, 0.15); border-color: rgba(255, 46, 196, 0.4); }
.dms-roadmap .dms-rm-pill.col-evaluate { background: rgba(192, 122, 224, 0.15); border-color: rgba(192, 122, 224, 0.4); }
.dms-roadmap .dms-rm-pill.col-planned { background: rgba(138, 142, 232, 0.15); border-color: rgba(138, 142, 232, 0.4); }
.dms-roadmap .dms-rm-pill.col-dev { background: rgba(74, 159, 224, 0.15); border-color: rgba(74, 159, 224, 0.4); }
.dms-roadmap .dms-rm-pill.col-done { background: rgba(52, 211, 153, 0.15); border-color: rgba(52, 211, 153, 0.4); }

/* ---------------------------------------------------------------- modals */

.dms-roadmap .dms-rm-overlay {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(5, 3, 9, 0.72);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow-y: auto;
	padding: 60px 24px;
}
.dms-roadmap .dms-rm-modal-glow {
	position: relative;
	z-index: 0;
	width: 100%;
	max-width: 720px;
	animation: dms-rm-pop 0.18s ease-out;
}
.dms-roadmap .dms-rm-modal-glow::before {
	content: '';
	position: absolute;
	inset: -14px -10px;
	z-index: -1;
	border-radius: 34px;
	filter: blur(46px);
	opacity: 0.75;
	background: linear-gradient(115deg, rgba(255, 46, 196, 0.55) 0%, rgba(139, 74, 214, 0.5) 34%, rgba(74, 159, 224, 0.5) 66%, rgba(24, 178, 152, 0.45) 100%);
}
.dms-roadmap .dms-rm-modal {
	position: relative;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: linear-gradient(140deg, rgba(38, 26, 52, 0.96) 0%, rgba(22, 14, 32, 0.96) 100%);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
	overflow: hidden;
}
.dms-roadmap .dms-rm-modal__head { padding: 28px 34px 22px; border-bottom: 1px solid rgba(255, 255, 255, 0.09); }
.dms-roadmap .dms-rm-modal__toprow { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.dms-roadmap .dms-rm-modal__pills { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dms-roadmap .dms-rm-modal__close {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}
.dms-roadmap .dms-rm-modal__close:hover { background: rgba(255, 255, 255, 0.12); }
.dms-roadmap .dms-rm-modal__title {
	margin: 16px 0 12px;
	font-size: 27px;
	line-height: 1.25;
	font-weight: 600;
	color: #fff;
	letter-spacing: -0.01em;
	text-wrap: pretty;
	font-family: inherit;
}
.dms-roadmap .dms-rm-modal__meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; color: rgba(255, 255, 255, 0.55); }
.dms-roadmap .dms-rm-editedon { color: rgba(255, 255, 255, 0.42); font-style: italic; }
.dms-roadmap .dms-rm-modal__note { margin: 0; font-size: 13.5px; color: rgba(255, 255, 255, 0.55); line-height: 1.6; }
.dms-roadmap .dms-rm-modal__body { padding: 26px 34px; }
.dms-roadmap .dms-rm-modal__foot {
	padding: 22px 34px 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	background: rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}
.dms-roadmap .dms-rm-modal__voting { display: flex; align-items: center; gap: 14px; }
.dms-roadmap .dms-rm-votehint { font-size: 12.5px; color: rgba(255, 255, 255, 0.45); max-width: 230px; line-height: 1.5; }

/* rendered markdown (same recipe as support) */

.dms-roadmap .dms-md { font-size: 15px; line-height: 1.7; color: rgba(255, 255, 255, 0.85); text-wrap: pretty; overflow-wrap: break-word; }
.dms-roadmap .dms-md > :first-child { margin-top: 0; }
.dms-roadmap .dms-md > :last-child { margin-bottom: 0; }
.dms-roadmap .dms-md p { margin: 0 0 12px; }
.dms-roadmap .dms-md ul,
.dms-roadmap .dms-md ol { margin: 0 0 12px; padding-left: 22px; }
.dms-roadmap .dms-md li { margin: 3px 0; }
.dms-roadmap .dms-md code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 13px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	padding: 1px 6px;
	color: #ffd6f3;
}
.dms-roadmap .dms-md pre {
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	padding: 13px 15px;
	overflow-x: auto;
	margin: 0 0 12px;
}
.dms-roadmap .dms-md pre code { background: transparent; border: 0; padding: 0; color: rgba(255, 255, 255, 0.85); }
.dms-roadmap .dms-md blockquote {
	margin: 0 0 12px;
	padding: 4px 0 4px 14px;
	border-left: 3px solid rgba(255, 46, 196, 0.5);
	color: rgba(255, 255, 255, 0.7);
}

/* shots + reply + banners */

.dms-roadmap .dms-rm-shots { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.dms-roadmap .dms-rm-shot {
	display: block;
	width: 176px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(0, 0, 0, 0.3);
	cursor: zoom-in;
	text-decoration: none;
}
.dms-roadmap .dms-rm-shot:hover { border-color: rgba(255, 46, 196, 0.5); }
.dms-roadmap .dms-rm-shot__img { display: block; height: 108px; background: linear-gradient(135deg, rgba(255, 46, 196, 0.22), rgba(74, 159, 224, 0.22)); }
.dms-roadmap .dms-rm-shot__img img { display: block; width: 100%; height: 108px; object-fit: cover; }
.dms-roadmap .dms-rm-shot__name {
	display: block;
	padding: 7px 10px;
	font-size: 11px;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dms-roadmap .dms-rm-reply {
	margin-top: 24px;
	border-radius: 16px;
	border: 1px solid rgba(74, 159, 224, 0.28);
	background: rgba(74, 159, 224, 0.09);
	padding: 20px 22px;
}
.dms-roadmap .dms-rm-reply__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.dms-roadmap .dms-rm-reply__avatar {
	width: 30px;
	height: 30px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #fff;
	background: linear-gradient(135deg, #ff2ec4, #4a9fe0);
	flex: none;
}
.dms-roadmap .dms-rm-reply__name { font-size: 13.5px; font-weight: 600; color: #fff; }
.dms-roadmap .dms-rm-reply__date { font-size: 12px; color: rgba(255, 255, 255, 0.45); }

.dms-roadmap .dms-rm-shipbanner {
	margin-top: 24px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	border-radius: 16px;
	border: 1px solid rgba(52, 211, 153, 0.3);
	background: rgba(52, 211, 153, 0.1);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.55;
}
.dms-roadmap .dms-rm-shipbanner strong { color: #7ce0b6; font-weight: 600; }
.dms-roadmap .dms-rm-shipbanner__icon { font-size: 17px; flex: none; }

/* private author↔admin discussion */

.dms-roadmap .dms-rm-disc {
	margin-top: 24px;
	border-radius: 16px;
	border: 1px solid rgba(255, 46, 196, 0.24);
	background: rgba(255, 46, 196, 0.05);
	padding: 18px 20px;
}
.dms-roadmap .dms-rm-disc__head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}
.dms-roadmap .dms-rm-disc__title { font-size: 13.5px; font-weight: 600; color: #fff; }
.dms-roadmap .dms-rm-disc__note { font-size: 12px; color: rgba(255, 255, 255, 0.45); }
.dms-roadmap .dms-rm-disc__head .dms-linklike { margin-left: auto; font-size: 12.5px; }
.dms-roadmap .dms-linklike {
	border: 0;
	background: transparent;
	padding: 0;
	color: #8ec8f0;
	text-decoration: underline;
	text-underline-offset: 3px;
	font-size: inherit;
	cursor: pointer;
}
.dms-roadmap .dms-linklike:hover { color: #ff7fdc; }
.dms-roadmap .dms-rm-disc__msg {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
}
.dms-roadmap .dms-rm-disc__msg.is-admin { background: rgba(74, 159, 224, 0.09); border-color: rgba(74, 159, 224, 0.24); }
.dms-roadmap .dms-rm-disc__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.dms-roadmap .dms-rm-disc__name { font-size: 13px; font-weight: 600; color: #fff; }
.dms-roadmap .dms-rm-disc__date { font-size: 11.5px; color: rgba(255, 255, 255, 0.42); }
.dms-roadmap .dms-rm-disc__msg .dms-md { font-size: 13.5px; line-height: 1.6; }
.dms-roadmap .dms-rm-disc__edited { font-size: 11px; color: rgba(255, 255, 255, 0.35); font-style: italic; }
.dms-roadmap .dms-rm-disc__editbtn { margin-left: auto; font-size: 12px; }
.dms-roadmap .dms-rm-disc__editor { margin-top: 4px; }
.dms-roadmap .dms-rm-disc__editrow { display: flex; gap: 8px; margin-top: 8px; }
.dms-roadmap .dms-rm-disc__composer { margin-top: 14px; }
.dms-roadmap .dms-rm-disc__composer .dms-btn { margin-top: 10px; }
.dms-roadmap .dms-ta--solo { border-radius: 14px; }
.dms-roadmap .dms-rm-disc__closed {
	margin-top: 14px;
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.45);
	font-style: italic;
}

.dms-roadmap .dms-rm-declined {
	margin-top: 24px;
	padding: 16px 20px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.04);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.6;
}

/* ---------------------------------------------------------------- new request form */

.dms-roadmap .dms-rm-stephead { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.dms-roadmap .dms-rm-stepnum {
	width: 24px;
	height: 24px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 600;
	background: linear-gradient(135deg, #ff2ec4, #4a9fe0);
	color: #fff;
	flex: none;
}
.dms-roadmap .dms-rm-steptitle { font-size: 16px; font-weight: 600; color: #fff; }

.dms-roadmap .dms-rm-input {
	width: 100%;
	padding: 13px 14px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background: rgba(0, 0, 0, 0.26);
	color: #fff;
	font-size: 14.5px;
	outline: none;
}
.dms-roadmap .dms-rm-input:focus { border-color: rgba(255, 46, 196, 0.55); }
.dms-roadmap .dms-rm-input--lg { padding: 15px 18px; border-radius: 14px; border-color: rgba(255, 255, 255, 0.14); background: rgba(0, 0, 0, 0.3); font-size: 16px; }

.dms-roadmap .dms-rm-matches {
	margin-top: 14px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	background: rgba(0, 0, 0, 0.24);
	overflow: hidden;
}
.dms-roadmap .dms-rm-matches__head {
	padding: 11px 16px;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.45);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.dms-roadmap .dms-rm-match {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 13px 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	cursor: pointer;
}
.dms-roadmap .dms-rm-match:last-child { border-bottom: 0; }
.dms-roadmap .dms-rm-match:hover { background: rgba(255, 255, 255, 0.05); }
.dms-roadmap .dms-rm-match__main { min-width: 0; }
.dms-roadmap .dms-rm-match__title { font-size: 14px; color: #fff; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dms-roadmap .dms-rm-match__meta { font-size: 12px; color: rgba(255, 255, 255, 0.45); margin-top: 3px; }
.dms-roadmap .dms-rm-nomatches {
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(0, 0, 0, 0.18);
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.55);
}

.dms-roadmap .dms-rm-ack {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 18px;
	padding: 15px 17px;
	border-radius: 14px;
	cursor: pointer;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.04);
}
.dms-roadmap .dms-rm-ack:hover { background: rgba(255, 255, 255, 0.07); }
.dms-roadmap .dms-rm-ack input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #ff2ec4; cursor: pointer; flex: none; }
.dms-roadmap .dms-rm-ack span { font-size: 14.5px; color: rgba(255, 255, 255, 0.85); line-height: 1.5; }

.dms-roadmap .dms-rm-step2 { margin-top: 24px; transition: opacity 0.2s; }
.dms-roadmap .dms-rm-step2.is-locked { opacity: 0.35; pointer-events: none; }

/* fmtbar + textarea (support recipe, roadmap scope) */

.dms-roadmap .dms-fmtbar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 10px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	background: rgba(0, 0, 0, 0.34);
}
.dms-roadmap .dms-fmt {
	width: 32px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	color: #fff;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	line-height: 1;
}
.dms-roadmap .dms-fmt:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.22); }
.dms-roadmap .dms-fmt--b { font-weight: 700; }
.dms-roadmap .dms-fmt--i { font-style: italic; }
.dms-roadmap .dms-fmt--c,
.dms-roadmap .dms-fmt--p { font-weight: 600; }
.dms-roadmap .dms-fmt--l { font-weight: 700; }
.dms-roadmap .dms-fmtbar__hint { margin-left: auto; font-size: 11.5px; color: #fff; opacity: 0.55; }

.dms-roadmap .dms-ta {
	width: 100%;
	padding: 15px 16px;
	border-radius: 0 0 14px 14px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background: rgba(0, 0, 0, 0.28);
	color: #fff;
	font-size: 14.5px;
	line-height: 1.6;
	resize: vertical;
	outline: none;
	display: block;
	margin: 0;
}
.dms-roadmap .dms-ta:focus { border-color: rgba(255, 46, 196, 0.5); }

.dms-roadmap .dms-rm-dropzone {
	margin-top: 14px;
	border-radius: 14px;
	border: 1px dashed rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.03);
	padding: 18px;
	text-align: center;
}
.dms-roadmap .dms-rm-dropzone.is-over { border-color: rgba(255, 46, 196, 0.55); background: rgba(255, 46, 196, 0.06); }
.dms-roadmap .dms-rm-dropzone__title { font-size: 14px; color: rgba(255, 255, 255, 0.8); font-weight: 500; margin-bottom: 6px; }
.dms-roadmap .dms-rm-dropzone__note { font-size: 12.5px; color: rgba(255, 255, 255, 0.5); line-height: 1.55; max-width: 520px; margin: 0 auto; }
.dms-roadmap .dms-rm-dropzone__note strong { color: rgba(255, 255, 255, 0.75); font-weight: 600; }
.dms-roadmap .dms-rm-dropzone .dms-btn { margin-top: 12px; }
.dms-roadmap .dms-rm-dropzone__limit,
.dms-roadmap .dms-dropzone__limit { display: block; margin-top: 4px; color: rgba(255, 255, 255, 0.42); }

.dms-roadmap .dms-drafts { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.dms-roadmap .dms-draft {
	position: relative;
	width: 132px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(0, 0, 0, 0.3);
}
.dms-roadmap .dms-draft__img { display: block; height: 82px; background: linear-gradient(135deg, rgba(255, 46, 196, 0.22), rgba(74, 159, 224, 0.22)); }
.dms-roadmap .dms-draft__img img { display: block; width: 100%; height: 82px; object-fit: cover; }
.dms-roadmap .dms-draft__name {
	display: block;
	padding: 6px 9px;
	font-size: 11px;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.dms-roadmap .dms-draft__x {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 22px;
	height: 22px;
	border-radius: 7px;
	border: 0;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 13px;
	line-height: 1;
	cursor: pointer;
}
.dms-roadmap .dms-draft.is-uploading { opacity: 0.6; }

.dms-roadmap .dms-label {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.5);
	margin-bottom: 9px;
}
.dms-roadmap .dms-rm-namemode { margin-top: 18px; }
.dms-roadmap .dms-rm-namemode__row { display: flex; gap: 10px; flex-wrap: wrap; }
.dms-roadmap .dms-rm-namebtn {
	padding: 10px 18px;
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 500;
	cursor: pointer;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.04);
}
.dms-roadmap .dms-rm-namebtn.is-on { border-color: rgba(255, 46, 196, 0.5); background: rgba(255, 46, 196, 0.18); }
.dms-roadmap .dms-rm-namehint { margin: 10px 0 0; font-size: 12.5px; color: rgba(255, 255, 255, 0.5); line-height: 1.55; }

.dms-roadmap .dms-rm-infobox {
	margin-top: 20px;
	padding: 15px 17px;
	border-radius: 14px;
	border: 1px solid rgba(74, 159, 224, 0.28);
	background: rgba(74, 159, 224, 0.09);
	display: flex;
	gap: 12px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.6;
}
.dms-roadmap .dms-rm-infobox__icon { color: #9ccdf5; font-size: 15px; line-height: 1.4; flex: none; }
.dms-roadmap .dms-rm-infobox strong { font-weight: 600; color: #fff; }

.dms-roadmap .dms-rm-formactions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; }

/* confirmation */

.dms-roadmap .dms-rm-confirm { padding: 56px 40px; text-align: center; }
.dms-roadmap .dms-rm-confirm__icon {
	width: 66px;
	height: 66px;
	margin: 0 auto 22px;
	border-radius: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	color: #fff;
	background: linear-gradient(135deg, #ff2ec4, #4a9fe0);
	box-shadow: 0 14px 40px rgba(255, 46, 196, 0.3);
}
.dms-roadmap .dms-rm-confirm__title { font-size: 23px; font-weight: 600; color: #fff; margin-bottom: 10px; }
.dms-roadmap .dms-rm-confirm__body { font-size: 14.5px; color: rgba(255, 255, 255, 0.6); line-height: 1.65; max-width: 430px; margin: 0 auto 8px; }
.dms-roadmap .dms-rm-confirm__body strong { color: #fff; font-weight: 600; }
.dms-roadmap .dms-rm-confirm__tip { font-size: 13px; color: rgba(255, 255, 255, 0.4); margin-bottom: 26px; }

/* lightbox */

.dms-roadmap .dms-rm-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99995;
	background: rgba(5, 3, 9, 0.88);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	cursor: zoom-out;
}
.dms-roadmap .dms-rm-lightbox img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 12px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}
