/* 锦衣铠甲·解梦 /dream/ —— 与吉光片羽同族的暖色编辑风 */

.gm-dream {
	max-width: 860px;
	margin: 0 auto;
	padding: 32px 20px 80px;
}

.gm-dream__head { margin: 18px 0 26px; }
.gm-dream__kicker {
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #c98237;
	margin: 0 0 6px;
}
.gm-dream__head h1 { margin: 0 0 10px; font-size: 34px; color: #244f6d; }
.gm-dream__sub { color: #5b544a; max-width: 640px; line-height: 1.7; margin: 0 0 10px; }
.gm-dream__stats { font-size: 13px; color: #8a8377; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.gm-dream__stats strong { color: #244f6d; }

.gm-dream__form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e2d9c8;
	border-radius: 10px;
	background: #fffdf8;
	padding: 14px;
	font: inherit;
	font-size: 16px;
	line-height: 1.7;
	resize: vertical;
}
.gm-dream__form textarea:focus { outline: none; border-color: #c98237; }
.gm-dream__form-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 10px;
	flex-wrap: wrap;
}
.gm-dream__hint { font-size: 13px; color: #8a8377; }
.gm-dream__form-bar button {
	background: #244f6d;
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 10px 22px;
	font-size: 15px;
	cursor: pointer;
}
.gm-dream__form-bar button:hover { background: #1b3d55; }
.gm-dream__form-bar button:disabled { opacity: 0.6; cursor: wait; }

.gm-dream__result { margin-top: 34px; }
.gm-dream__block { margin-bottom: 30px; }
.gm-dream__block h2 {
	font-size: 17px;
	color: #244f6d;
	border-left: 3px solid #c98237;
	padding-left: 10px;
	margin: 0 0 12px;
}
.gm-dream__summary-block p { line-height: 1.8; margin: 0 0 10px; }

.gm-dream__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gm-dream__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f2ead9;
	border: 1px solid #e2d9c8;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 14px;
	color: #244f6d;
}
.gm-dream__chip em { font-style: normal; font-size: 11px; color: #8a8377; }
.gm-dream__chip[data-conf="高"] { border-color: #c98237; }
.gm-dream__chip button {
	border: 0;
	background: none;
	cursor: pointer;
	color: #8a8377;
	font-size: 12px;
	padding: 0 2px;
}
.gm-dream__chip button:hover { color: #a33; }
.gm-dream__chips-hint { font-size: 12px; color: #8a8377; margin: 8px 0 0; }

.gm-dream__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gm-dream__card {
	border: 1px solid #e2d9c8;
	border-radius: 10px;
	background: #fffdf8;
	padding: 14px 16px;
}
.gm-dream__card[data-conf="低"] { opacity: 0.75; }
.gm-dream__card header { display: flex; justify-content: space-between; align-items: baseline; }
.gm-dream__card h3 { margin: 0; font-size: 16px; color: #244f6d; }
.gm-dream__card-conf { font-size: 12px; color: #c98237; }
.gm-dream__card blockquote {
	margin: 10px 0;
	padding: 8px 12px;
	background: #f7f3eb;
	border-left: 3px solid #e2d9c8;
	font-size: 14px;
	line-height: 1.7;
	color: #4a4437;
}
.gm-dream__card-modern { font-size: 14px; line-height: 1.7; margin: 0 0 10px; }
.gm-dream__card footer {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
	color: #8a8377;
	flex-wrap: wrap;
}
.gm-dream__card-why { font-size: 12px; color: #8a8377; margin: 8px 0 0; }
.gm-dream__nomatch { color: #8a8377; line-height: 1.7; }

.gm-dream__synth { line-height: 1.9; background: #f7f3eb; border-radius: 10px; padding: 16px 18px; margin: 0 0 8px; }
.gm-dream__synth-by { font-size: 12px; color: #8a8377; margin: 0; }

.gm-dream__reflections { margin: 0; padding-left: 20px; }
.gm-dream__reflections li { line-height: 1.8; margin-bottom: 8px; }

.gm-dream__notice {
	font-size: 12px;
	color: #8a8377;
	border-top: 1px dashed #e2d9c8;
	padding-top: 14px;
	line-height: 1.7;
}

.gm-dream__save-bar { margin-top: 14px; display: flex; align-items: center; gap: 10px; }
.gm-dream__save-bar button {
	background: #c98237;
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 8px 16px;
	cursor: pointer;
}
.gm-dream__save-bar span { font-size: 13px; color: #8a8377; }

.gm-dream__method { margin-top: 44px; border-top: 1px solid #e2d9c8; padding-top: 22px; }
.gm-dream__method h2 { font-size: 16px; color: #244f6d; margin: 0 0 12px; }
.gm-dream__method ul { margin: 0; padding-left: 20px; }
.gm-dream__method li { font-size: 14px; line-height: 1.8; margin-bottom: 6px; color: #5b544a; }

.gm-dream__records { margin-top: 40px; }
.gm-dream__records h2 { font-size: 16px; color: #244f6d; }
.gm-dream__records h2 button {
	font-size: 13px;
	margin-left: 10px;
	border: 1px solid #e2d9c8;
	background: #fffdf8;
	border-radius: 6px;
	padding: 4px 12px;
	cursor: pointer;
}
.gm-dream__record { border: 1px solid #e2d9c8; border-radius: 10px; padding: 12px 16px; margin-bottom: 12px; background: #fffdf8; }
.gm-dream__record header { display: flex; justify-content: space-between; font-size: 12px; color: #8a8377; }
.gm-dream__record header button { border: 0; background: none; color: #a33; cursor: pointer; font-size: 12px; }
.gm-dream__record p { font-size: 14px; line-height: 1.7; margin: 8px 0 0; }
.gm-dream__record-synth { color: #8a8377; border-top: 1px dashed #e2d9c8; padding-top: 8px; }

@media ( max-width: 720px ) {
	.gm-dream { padding: 22px 14px 60px; }
	.gm-dream__head h1 { font-size: 27px; }
	.gm-dream__cards { grid-template-columns: 1fr; }
	.gm-dream__form textarea, .gm-dream__form input { font-size: 16px !important; }
	.gm-dream__form-bar button { width: 100%; }
}

/* ---------- 留档提示条（解梦页结果区） ---------- */

.gm-dream__consent {
	border: 1px solid #e2d9c8;
	border-left: 3px solid #c98237;
	border-radius: 8px;
	background: #fffdf8;
	padding: 12px 14px;
	margin-top: 12px;
}
.gm-dream__consent p { font-size: 13px; line-height: 1.75; color: #5b544a; margin: 0 0 8px; }
.gm-dream__consent strong { color: #244f6d; }
.gm-dream__consent a { color: #c98237; }
.gm-dream__consent label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #5b544a; cursor: pointer; }

.gm-dream__archive-bar {
	margin-top: 18px;
	padding: 12px 14px;
	background: #f7f3eb;
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	font-size: 13px;
	color: #5b544a;
}
.gm-dream__archive-acts { display: flex; gap: 12px; align-items: center; margin-left: auto; }
.gm-dream__archive-acts a { color: #244f6d; }
.gm-dream__archive-acts button { border: 0; background: none; color: #8a8377; cursor: pointer; font-size: 13px; padding: 0; }
.gm-dream__archive-acts button:hover { color: #244f6d; }
.gm-dream__archive-bar .gm-dream__note-form { flex-basis: 100%; }

.gm-dream__gobtn {
	border: 1px solid #e2d9c8;
	border-radius: 999px;
	padding: 4px 14px;
	font-size: 13px;
	color: #244f6d;
	text-decoration: none;
	background: #fffdf8;
}
.gm-dream__gobtn:hover { border-color: #c98237; }
.gm-dream__stats button {
	border: 1px solid #e2d9c8;
	border-radius: 999px;
	padding: 4px 14px;
	font-size: 13px;
	background: #fffdf8;
	color: #244f6d;
	cursor: pointer;
}

/* ---------- 梦境档案馆 ---------- */

.gm-dream--archive { max-width: 1080px; }
.gm-dream__arc-wrap { display: grid; grid-template-columns: 240px 1fr; gap: 28px; align-items: start; }

.gm-dream__arc-side { position: sticky; top: 20px; max-height: 100vh; display: flex; flex-direction: column; }
.gm-dream__arc-filter input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e2d9c8;
	border-radius: 8px;
	padding: 8px 10px;
	font-size: 16px;
	background: #fffdf8;
}
.gm-dream__arc-nav { overflow-y: auto; margin-top: 14px; }
.gm-dream__arc-nav h2 {
	font-size: 12px;
	letter-spacing: 0.12em;
	color: #8a8377;
	margin: 14px 0 6px;
	position: sticky;
	top: 0;
	background: #f7f3eb;
	padding: 4px 0;
}
.gm-dream__arc-nav ul { list-style: none; margin: 0; padding: 0; }
.gm-dream__arc-nav li a {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 4px 8px;
	border-radius: 6px;
	font-size: 14px;
	color: #4a4437;
	text-decoration: none;
}
.gm-dream__arc-nav li a span { color: #8a8377; font-size: 12px; }
.gm-dream__arc-nav li a:hover { background: #f2ead9; }
.gm-dream__arc-nav li a.is-active { background: #244f6d; color: #fff; }
.gm-dream__arc-nav li a.is-active span { color: #d8cdb8; }

.gm-dream__arc-head { font-size: 13px; color: #8a8377; margin-bottom: 12px; }
.gm-dream__arc-item {
	border: 1px solid #e2d9c8;
	border-radius: 10px;
	background: #fffdf8;
	padding: 14px 16px;
	margin-bottom: 14px;
}
.gm-dream__arc-item header { display: flex; justify-content: space-between; font-size: 12px; color: #8a8377; }
.gm-dream__arc-by { color: #c98237; }
.gm-dream__arc-text { line-height: 1.8; margin: 10px 0; white-space: pre-wrap; }
.gm-dream__arc-syms { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.gm-dream__arc-syms a {
	font-size: 12px;
	background: #f2ead9;
	border-radius: 999px;
	padding: 2px 10px;
	color: #244f6d;
	text-decoration: none;
}
.gm-dream__arc-syms a:hover { background: #e6d9bd; }
.gm-dream__arc-synth {
	font-size: 14px;
	line-height: 1.8;
	color: #5b544a;
	background: #f7f3eb;
	border-radius: 8px;
	padding: 10px 12px;
	margin: 0 0 10px;
}

.gm-dream__notes { margin: 0 0 8px; }
.gm-dream__note {
	border-left: 2px solid #e2d9c8;
	padding: 4px 0 4px 12px;
	margin-bottom: 8px;
	font-size: 13px;
	color: #5b544a;
	position: relative;
}
.gm-dream__note time { color: #8a8377; font-size: 12px; margin-right: 8px; }
.gm-dream__note-by { color: #c98237; font-size: 12px; }
.gm-dream__note p { margin: 4px 0 0; line-height: 1.7; }
.gm-dream__note button { border: 0; background: none; color: #b9b1a3; font-size: 12px; cursor: pointer; position: absolute; right: 0; top: 4px; }
.gm-dream__note button:hover { color: #a33; }

/* display:flex 会盖过 [hidden] 的 UA 样式，非本人的操作栏必须显式压掉 */
.gm-dream [hidden] { display: none !important; }
.gm-dream__arc-acts { display: flex; gap: 14px; border-top: 1px dashed #e2d9c8; padding-top: 8px; }
.gm-dream__arc-acts button { border: 0; background: none; color: #8a8377; font-size: 13px; cursor: pointer; padding: 0; }
.gm-dream__arc-acts button:hover { color: #244f6d; }

.gm-dream__note-form { margin-top: 8px; }
.gm-dream__note-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e2d9c8;
	border-radius: 8px;
	padding: 8px 10px;
	font: inherit;
	font-size: 16px;
	line-height: 1.7;
	background: #fffdf8;
	resize: vertical;
}
.gm-dream__note-form button {
	margin-top: 6px;
	background: #244f6d;
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 6px 14px;
	font-size: 13px;
	cursor: pointer;
}

.gm-dream__more {
	display: block;
	width: 100%;
	border: 1px solid #e2d9c8;
	background: #fffdf8;
	border-radius: 8px;
	padding: 10px;
	cursor: pointer;
	color: #244f6d;
}
.gm-dream__pending { margin-top: 40px; border-top: 1px solid #e2d9c8; padding-top: 20px; }
.gm-dream__pending h2 { font-size: 15px; color: #244f6d; }
.gm-dream__pending h2 button {
	font-size: 13px;
	margin-left: 10px;
	border: 1px solid #e2d9c8;
	background: #fffdf8;
	border-radius: 6px;
	padding: 4px 12px;
	cursor: pointer;
}

@media ( max-width: 860px ) {
	.gm-dream__arc-wrap { grid-template-columns: 1fr; }
	.gm-dream__arc-side { position: static; max-height: none; order: 2; }
	.gm-dream__arc-nav { max-height: 260px; }
	.gm-dream__arc-list { order: 1; }
	.gm-dream__arc-filter input, .gm-dream__note-form textarea { font-size: 16px !important; }
	.gm-dream__archive-acts { margin-left: 0; }
}
