/* ========== 内置CSS · 《每月1号，不做爱就出不去》 ========== */
/* 风格：深夜公寓 + 冷色霓虹 + 音乐感 + 单女主面板 */
/* 说明：变量置于:root；选择器无前缀；平台自动包裹.khorra-output */

:root{
  --bg:#f0f1f5; --surface:#fbfbfd; --surface2:#f2f3f7; --surface3:#e8eaf0;
  --line:#d9dce6; --line2:#c7ccd9;
  --text:#2f3240; --dim:#787f92; --faint:#9aa1b3;
  --night:#232a3b; --night2:#1a202e;
  --lc:#6c5ce7; --lc2:#5a4bd1; --lc-dim:#e4defa;
  --pink:#c25f80; --pink2:#b04f70; --pink-dim:#eec9d6;
  --cyan:#2f8fc9; --cyan2:#3a9fdb; --cyan-dim:#b8d8ea;
  --purple:#7a68a8; --purple-dim:#d5cbeb;
  --green:#5f9e73; --red:#c96060;
  --dark-bg:#232a3b; --dark-line:#3a4258; --dark-text:#eef2f8;
}

.khorra-output{
  color:var(--text); line-height:1.9;
  background:transparent;
  border-radius:12px;
  padding:10px 12px;
}

/* ---------- 1. 根排版 ---------- */
.body-rule{
  margin:10px 0; padding:10px 14px;
  background:#f2eefb; border:1px dashed #c8bce8; border-left:4px solid var(--lc2);
  color:#5a4b8a; font-size:.8rem; line-height:1.8; border-radius:0 8px 8px 0;
}
.narrative-p{
  margin:10px 0; font-size:.94rem; line-height:2; color:var(--text);
  text-indent:2em;
}
.inner-monologue{
  margin:10px 0; padding:10px 14px;
  background:linear-gradient(135deg,#f0e6f7,#e8dbf0);
  border-left:3px solid var(--purple);
  color:#6a5578; font-size:.86rem; line-height:1.9;
  border-radius:0 8px 8px 0;
}

/* ---------- 2. 前置检查 ---------- */
details.cot-check-details{
  margin:8px 0; background:var(--dark-bg); border:1px solid var(--dark-line);
  border-radius:8px; padding:0; overflow:hidden;
}
details.cot-check-details > summary{
  cursor:pointer; padding:10px 14px; color:#cfe0f0; font-size:.8rem;
  font-weight:700; letter-spacing:.1em; list-style:none;
  background:linear-gradient(120deg,#35465e,#2a3a4f);
}
details.cot-check-details > summary::-webkit-details-marker{ display:none; }
details.cot-check-details[open] > summary{ border-bottom:1px solid var(--dark-line); }
details.cot-check-details .details-body{ padding:10px 14px; }
details.cot-check-details .cot-exec-content{
  font-size:.72rem; line-height:2; color:#b8c9dd; white-space:pre-wrap;
  font-family:Consolas,'Courier New',monospace;
}
details.cot-check-details .cot-exec-content b{ color:#ffd27a; }

/* ---------- 3. 时间锚头 ---------- */
.time-header{
  margin:12px 0; padding:12px 16px;
  background:linear-gradient(135deg,#232a3b,#171c29);
  border:1px solid var(--dark-line); border-left:4px solid var(--lc2);
  border-radius:6px; color:var(--dark-text);
}
.time-row-main{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.time-day{ font-size:.88rem; font-weight:700; color:#a99cf2; letter-spacing:.08em; }
.time-sep{ color:#6d7f96; }
.time-period{ font-size:.76rem; color:#cfe0f0; }
.time-clock{
  font-size:.72rem; color:#cbb7ff; background:rgba(108,92,231,.18);
  border:1px solid rgba(108,92,231,.4); padding:1px 10px; border-radius:10px;
}
.time-round{
  font-size:.72rem; color:#a99cf2; background:rgba(108,92,231,.12);
  border:1px solid rgba(108,92,231,.32); padding:1px 10px; border-radius:10px;
  font-weight:700; letter-spacing:.06em;
}
.time-row-loc{ margin-top:6px; font-size:.78rem; color:#b8c9dd; }
.time-row-weather{ margin-top:2px; font-size:.74rem; color:#a3b4c8; }
.time-row-deadline{
  margin-top:6px; font-size:.74rem; color:#ffb98a; font-weight:700;
  background:rgba(255,120,80,.1); border:1px solid rgba(255,120,80,.3);
  padding:3px 10px; border-radius:8px; display:inline-block;
}
.time-row-affinity{
  margin-top:6px; font-size:.72rem; color:#b8c9dd;
  background:rgba(120,180,140,.08); border:1px solid rgba(120,180,140,.28);
  padding:3px 10px; border-radius:8px; display:inline-block;
}
.time-row-affinity b{ color:#9fd8b4; font-weight:700; }
.time-divider{
  margin:8px 0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(160,140,255,.55),transparent);
}

/* ---------- 4. 正文对话 ---------- */
/* 对话不使用气泡样式，直接以普通段落/引号形式出现在正文中。 */

/* ---------- 5. 好感度条（共用） ---------- */
.aff-bar{ margin:10px 0; }
.aff-bar-label{ font-size:.7rem; font-weight:700; letter-spacing:.12em; margin-bottom:4px; }
.lc-panel .aff-bar-label{ color:#c25f80; }
.aff-track{
  height:8px; border-radius:6px; overflow:hidden;
  background:#e8e6f0; border:1px solid #d9d4ea;
}
.aff-fill{ height:100%; border-radius:6px; transition:width .3s ease; }
.lc-fill{ background:linear-gradient(90deg,#9b8cf0,#6c5ce7); }
.aff-state{ margin-top:4px; font-size:.7rem; color:var(--dim); }

/* ---------- 6. 通用面板骨架 ---------- */
details.panel-details{
  margin:10px 0; border:1px solid #d6ccb6; border-radius:8px;
  background:#f7f4ec; overflow:hidden;
  box-shadow:0 1px 6px rgba(90,80,60,.08);
}
details.panel-details > summary{
  cursor:pointer; padding:11px 16px; list-style:none;
  background:linear-gradient(120deg,#2e4a6e,#3a5a80);
  color:#f2f6fa; font-size:.86rem; font-weight:700; letter-spacing:.08em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.panel-details > summary::-webkit-details-marker{ display:none; }
details.panel-details > summary::before{ content:"▾ "; color:#ffd27a; }
details.panel-details[open] > summary::before{ content:"▸ "; }
details.panel-details > summary .panel-summary-sub{
  margin-left:auto; font-size:.62rem; font-weight:400; letter-spacing:.2em;
  color:#9fb4cc; font-family:Consolas,monospace;
}
details.panel-details .panel-body{ padding:14px 16px; }

/* ---------- 7. 女主档案（浅粉） ---------- */
details.lc-panel{
  margin:10px 0; border:1px solid #f0c8d4; border-radius:8px;
  background:#fdf6f8; overflow:hidden;
  box-shadow:0 1px 6px rgba(224,122,158,.14);
}
details.lc-panel > summary{
  cursor:pointer; padding:11px 16px; list-style:none;
  background:linear-gradient(120deg,#e07a9e,#c25f80);
  color:#fff5f8; font-size:.86rem; font-weight:700; letter-spacing:.08em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.lc-panel > summary::-webkit-details-marker{ display:none; }
details.lc-panel > summary::before{ content:"▾ "; color:#ffd7e2; }
details.lc-panel[open] > summary::before{ content:"▸ "; }
details.lc-panel > summary .panel-summary-sub{
  margin-left:auto; font-size:.62rem; font-weight:400; letter-spacing:.2em;
  color:#f0b8c8; font-family:Consolas,monospace;
}
details.lc-panel .panel-body{ padding:14px 16px; }
.lc-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.lc-badge{
  width:150px; height:220px; border-radius:10px; flex-shrink:0;
  object-fit:cover; object-position:center top;
  border:2px solid #f0c8d4; box-shadow:0 4px 14px rgba(224,122,158,.25);
  background:#fdf0f4;
}
.lc-headinfo{ display:flex; flex-direction:column; gap:3px; }
.lc-hname{ font-size:1.1rem; font-weight:800; color:#b04f70; letter-spacing:.16em; }
.lc-class{ font-size:.72rem; color:#c08a98; }
.lc-next{
  display:inline-block; font-size:.68rem; color:#fff;
  background:linear-gradient(120deg,#e07a9e,#c25f80);
  padding:2px 10px; border-radius:10px; letter-spacing:.08em; font-weight:700;
  width:fit-content; box-shadow:0 1px 6px rgba(224,122,158,.3);
}
.lc-body{ display:flex; gap:8px; margin:10px 0; }
.lc-body .b-item{ flex:1; text-align:center; padding:7px 4px; border-radius:8px; background:#fdf0f4; border:1px solid #f0d8e0; }
.lc-body .b-label{ display:block; font-size:.58rem; color:#c08a98; letter-spacing:.1em; margin-bottom:3px; }
.lc-body .b-val{ display:block; font-size:.86rem; font-weight:800; color:#c25f80; }

.lc-status{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.lc-status span{
  font-size:.72rem; color:var(--text); background:#fdf0f4;
  border:1px solid #f0d8e0; padding:3px 10px; border-radius:8px;
}
.lc-status b{ color:#c25f80; }
.lc-status div{
  font-size:.72rem; color:var(--text); background:#fdf0f4;
  border:1px solid #f0d8e0; padding:3px 10px; border-radius:8px;
}

.lc-sub{ display:flex; flex-direction:column; gap:8px; }
.lc-sub .sub-block{ padding:9px 12px; border-radius:8px; background:#fdf6f8; border:1px solid #f0d8e0; }
.lc-sub .sub-block:nth-child(1){ background:#fef9fa; border:1px solid #f0d8e0; }
.lc-sub .sub-block.thoughts{ background:#fdeef3; border:1px solid #f0d8e0; }
.sub-label{ font-size:.7rem; font-weight:700; color:#c25f80; letter-spacing:.12em; margin-bottom:3px; }
.sub-text{ font-size:.8rem; color:var(--text); line-height:1.8; }

/* ---------- 7.5 玩家面板（黑金） ---------- */
details.player-panel{ border-color:#d4b97a; background:#faf7f0; }
details.player-panel > summary{
  background:linear-gradient(120deg,#1a1a1f,#2e2e36);
  color:#f5e9c9;
}
details.player-panel > summary::before{ color:#d4b97a; }
details.player-panel > summary .panel-summary-sub{ color:#b8a46a; }
.player-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.player-info{ display:flex; flex-direction:column; gap:3px; }
.player-name{ font-size:1.1rem; font-weight:800; color:#1a1a1f; letter-spacing:.16em; }
.player-class{ font-size:.72rem; color:#6b5c35; }
.player-status{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.player-status span{
  font-size:.72rem; color:var(--text); background:#faf7f0;
  border:1px solid #e0d4b8; padding:3px 10px; border-radius:8px;
}
.player-status b{ color:#8a6f2f; }
.player-sub{ display:flex; flex-direction:column; gap:8px; }
.player-sub .sub-block{ padding:9px 12px; border-radius:8px; background:#faf7f0; border:1px solid #e0d4b8; }
.player-sub .sub-block:nth-child(1){ background:#fcf9f2; border:1px solid #e0d4b8; }
.player-sub .sub-block.thoughts{ background:#f5efe0; border:1px solid #ddd0ac; }
.player-panel .sub-label{ color:#8a6f2f; }


/* ---------- 8. 记录面板 ---------- */
details.record-panel{ border-color:#cbbfe2; background:#f6f3fb; }
details.record-panel > summary{
  background:linear-gradient(120deg,#5b4a8a,#6d5aa8);
  color:#f0ecff;
}
details.record-panel > summary::before{ color:#d5c8ff; }
details.record-panel > summary .panel-summary-sub{ color:#c4b8e8; }
.mem-sec{ margin-bottom:12px; }
.mem-sec:last-child{ margin-bottom:0; }
.mem-sec-label{
  font-size:.7rem; font-weight:700; color:#7a68a8;
  letter-spacing:.12em; margin-bottom:6px;
}
.aff-mini{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#f7f9fc; border:1px solid #dbe3ec; border-left:3px solid var(--green);
  font-size:.74rem; color:#4a6272; line-height:1.7;
}
.aff-mini:last-child{ margin-bottom:0; }
.event-row{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#f7f9fc; border:1px solid #dbe3ec;
  font-size:.74rem; color:#5a616e; line-height:1.7;
}
.event-row:last-child{ margin-bottom:0; }
.event-time{ color:#2f8fc9; font-weight:700; margin-right:4px; }
.warn-row{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#fdf3f3; border:1px solid #eccccc; border-left:3px solid var(--red);
  font-size:.74rem; color:#8f4a4a; line-height:1.7;
}
.warn-row:last-child{ margin-bottom:0; }
.todo-row{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#f0f7fb; border:1px solid #cfe0ec; border-left:3px solid var(--cyan);
  font-size:.74rem; color:#4a6272; line-height:1.7;
}
.todo-row:last-child{ margin-bottom:0; }

/* ---------- 9. 选择面板 ---------- */
.choice-panel{
  margin:14px 0; padding:12px 14px; background:#f7f3e9;
  border:1px solid #d6ccb6; border-radius:8px;
  box-shadow:0 1px 6px rgba(90,80,60,.08);
}
.choice-header{ margin-bottom:10px; }
.choice-title{ font-size:.82rem; font-weight:700; color:#2d5a4d; letter-spacing:.08em; }
.choice-list{ display:flex; flex-direction:column; gap:8px; }
.choice-card{
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  cursor:pointer; transition:all .2s ease;
}
.choice-card:hover{ border-color:#a8cbb8; box-shadow:0 2px 10px rgba(45,90,77,.12); }
.choice-card[data-choice="1"]{ border-left:3px solid var(--lc); }
.choice-card[data-choice="2"]{ border-left:3px solid var(--cyan); }
.choice-card[data-choice="3"]{ border-left:3px solid var(--pink); }
.choice-card.choice-skip{ border-left:3px dashed #c5bdb0; opacity:.75; }
.choice-left{ flex:1; min-width:0; }
.choice-label{
  display:block; font-size:.66rem; color:var(--lc); font-weight:700;
  letter-spacing:.14em; margin-bottom:2px;
}
.choice-card[data-choice="2"] .choice-label{ color:var(--cyan); }
.choice-card[data-choice="3"] .choice-label{ color:var(--pink); }
.choice-card.choice-skip .choice-label{ color:#a89f8d; }
.choice-text{ display:block; font-size:.8rem; color:var(--text); line-height:1.8; }
.choice-arrow{ color:#c5bdb0; font-size:.9rem; }

/* ---------- 10. 移动端适配 ---------- */
@media (max-width:640px){
  .khorra-output{ line-height:1.85; }
  .narrative-p{ font-size:.88rem; line-height:1.95; }
  .inner-monologue{ font-size:.82rem; padding:9px 12px; }
  .lc-msg,.us-msg{ margin:9px 0; }
  .lc-name,.us-name{ font-size:.7rem; }
  .lc-text{ max-width:96%; font-size:.88rem; padding:7px 12px; }
  .us-text{ max-width:calc(100% - 30px); font-size:.88rem; padding:7px 12px; }
  .npc-name{ font-size:.68rem; }
  .npc-text{ font-size:.86rem; }
  .lc-text,.us-text,.npc-text{ overflow-wrap:break-word; word-break:break-word; }
  .time-header{ padding:10px 12px; }
  .time-row-main{ gap:6px; }
  .time-day{ font-size:.82rem; }
  .time-period{ font-size:.7rem; }
  .time-clock{ font-size:.66rem; padding:0 8px; }
  .time-row-loc{ font-size:.74rem; }
  .time-row-deadline{ font-size:.7rem; }
  .lc-badge{ width:110px; height:160px; }
  .lc-hname{ font-size:1rem; }
  .lc-status{ gap:5px; }
  .lc-status span{ font-size:.68rem; padding:2px 8px; }
  .choice-panel{ padding:10px 12px; }
  .choice-text{ font-size:.76rem; }
}

/* ===== 强制包裹框（平台兼容） ===== */
.lc-status span, .lc-status div, .player-status span{
  background:var(--surface2) !important;
  border:1px solid var(--line) !important;
  padding:3px 10px !important;
  border-radius:8px !important;
}
.lc-sub .sub-block, .player-sub .sub-block{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  padding:9px 12px !important;
}
.lc-body .b-item{
  background:var(--surface2) !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  padding:7px 4px !important;
}
/* 强制包裹框·具体色值版（避免CSS变量不生效） */
.lc-status span, .lc-status div, .player-status span{
  background:#f2f3f7 !important;
  border:1px solid #d9dce6 !important;
  padding:3px 10px !important;
  border-radius:8px !important;
}
.lc-sub .sub-block, .player-sub .sub-block{
  background:#fbfbfd !important;
  border:1px solid #d9dce6 !important;
  border-radius:8px !important;
  padding:9px 12px !important;
}
.lc-body .b-item{
  background:#f2f3f7 !important;
  border:1px solid #d9dce6 !important;
  border-radius:8px !important;
  padding:7px 4px !important;
}

/* ===== 对话气泡（简洁版） ===== */
.lc-msg, .us-msg, .npc-msg{ margin:10px 0; }
.us-msg{ display:flex; flex-direction:column; align-items:flex-end; }
.lc-name, .us-name, .npc-name{
  display:block; font-size:.74rem; font-weight:700; letter-spacing:.12em;
  margin-bottom:2px; color:var(--lc);
}
.us-name{ text-align:right; color:var(--cyan); }
.npc-name{ color:var(--dim); }
.lc-text, .us-text, .npc-text{
  display:inline-block; max-width:85%; padding:8px 14px;
  border-radius:12px; line-height:1.8; font-size:.9rem;
  background:#f1edfe; border:1px solid #cfc4f0; border-left:3px solid var(--lc);
}
.us-text{
  display:block; max-width:85%; margin-left:auto; text-align:left; background:#eef7fb;
  border:1px solid #cfe4f0; border-right:3px solid var(--cyan);
}
.npc-text{
  background:#f2f2f2; border:1px solid #ddd; border-left:3px solid var(--dim);
}

/* ===== suggested_questions 样式 ===== */
suggested_questions{
  display:flex; flex-direction:column; gap:8px;
  margin:14px 0; padding:12px 14px;
  background:rgba(23,28,41,.5); border:1px solid var(--line); border-radius:8px;
}
suggested_questions p{
  margin:0; padding:10px 12px;
  background:#fff; border:1px solid var(--line); border-left:3px solid var(--lc);
  border-radius:8px; font-size:.8rem; line-height:1.8; color:var(--text);
  cursor:pointer;
}
suggested_questions p:nth-child(2){ border-left-color:var(--cyan); }
suggested_questions p:nth-child(3){ border-left-color:var(--pink); }
suggested_questions p:hover{ box-shadow:0 2px 10px rgba(108,92,231,.15); }




/* ========== 番外新增：固定NPC面板（收藏册·玫瑰粉金） ========== */
details.fix-panel{
  margin:10px 0; border:1px solid #e8a8b8; border-radius:8px;
  background:#fdf4f7; overflow:hidden;
  box-shadow:0 1px 6px rgba(194,95,128,.12);
}
details.fix-panel > summary{
  cursor:pointer; padding:11px 16px; list-style:none;
  background:linear-gradient(120deg,#a84363,#c25f80);
  color:#fff0f4; font-size:.86rem; font-weight:700; letter-spacing:.08em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.fix-panel > summary::-webkit-details-marker{ display:none; }
details.fix-panel > summary::before{ content:"▾ "; color:#ffd7e2; }
details.fix-panel[open] > summary::before{ content:"▸ "; }
details.fix-panel > summary .panel-summary-sub{
  margin-left:auto; font-size:.62rem; font-weight:400; letter-spacing:.2em;
  color:#eec9d6; font-family:Consolas,monospace;
}
details.fix-panel .panel-body{ padding:14px 16px; }

/* 每个女生一个折叠框：标题=摘要行 */
details.fix-detail{
  margin:8px 0 0; border:1px solid #eec9d6; border-radius:8px;
  background:#fff9fb; overflow:hidden;
}
details.fix-detail > summary{
  cursor:pointer; padding:9px 14px; list-style:none;
  background:linear-gradient(120deg,#fdeef3,#f8dfe8);
  color:#5a3a44; font-size:.78rem; font-weight:500; letter-spacing:.02em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.fix-detail > summary::-webkit-details-marker{ display:none; }
details.fix-detail > summary::before{ content:"▾ "; color:#c25f80; font-weight:700; }
details.fix-detail[open] > summary::before{ content:"▸ "; }
details.fix-detail .f-name{ font-size:.86rem; font-weight:800; color:#a84363; letter-spacing:.06em; }
details.fix-detail .f-sub{ color:#8a5a68; }
details.fix-detail .f-aff{ font-weight:700; color:#c25f80; }
details.fix-detail .f-note{ color:#a0808a; }
details.fix-detail .panel-body{ padding:12px 14px; }
.fix-detail .lc-body .b-val{ color:#c25f80; }
.fix-detail .sub-label{ color:#c25f80; }
.fix-detail .lc-status b{ color:#c25f80; }
.fix-detail .aff-bar-label{ color:#c25f80; }
.fix-detail .lc-fill{ background:linear-gradient(90deg,#eec9d6,#c25f80); }
.fix-detail .lc-hname{ color:#8a2f4a; }
.fix-detail .lc-next{ background:linear-gradient(120deg,#e07a9e,#c25f80); }
.fix-detail .lc-badge{ border-color:#eec9d6; }
.fix-detail .lc-sub .sub-block{ background:#fdf4f7; border:1px solid #f0d8e0; }
.fix-detail .lc-sub .sub-block:nth-child(1){ background:#fef8fa; }
.fix-detail .lc-sub .sub-block.thoughts{ background:#fdeef3; border:1px solid #f0d8e0; }
.fix-empty{
  padding:10px 12px; border-radius:8px; text-align:center;
  background:rgba(194,95,128,.06); border:1px dashed #eec9d6;
  color:#c08a98; font-size:.74rem; margin-top:8px;
}

/* ===== 强制包裹框（平台兼容） ===== */
details.fix-detail > summary{
  background:linear-gradient(120deg,#fdeef3,#f8dfe8) !important;
  border:1px solid #eec9d6 !important;
  border-radius:8px !important;
  padding:9px 14px !important;
}
details.fix-detail .panel-body{
  background:#fff9fb !important;
  border:1px solid #eec9d6 !important;
}
/* ========== 番外新增：封闭公寓房间面板（银灰点亮） ========== */
details.room-panel{
  margin:10px 0; border:1px solid #c8cdd6; border-radius:8px;
  background:#f5f6f8; overflow:hidden;
  box-shadow:0 1px 6px rgba(90,100,120,.12);
}
details.room-panel > summary{
  cursor:pointer; padding:11px 16px; list-style:none;
  background:linear-gradient(120deg,#3d4450,#5a6472);
  color:#f2f5f8; font-size:.86rem; font-weight:700; letter-spacing:.08em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.room-panel > summary::-webkit-details-marker{ display:none; }
details.room-panel > summary::before{ content:"▾ "; color:#c8d0da; }
details.room-panel[open] > summary::before{ content:"▸ "; }
details.room-panel > summary .panel-summary-sub{
  margin-left:auto; font-size:.62rem; font-weight:400; letter-spacing:.2em;
  color:#aab4c0; font-family:Consolas,monospace;
}
details.room-panel .panel-body{ padding:14px 16px; }
.room-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.room-item{
  display:flex; flex-direction:column; gap:2px;
  padding:9px 12px; border-radius:8px;
  background:#fafbfc; border:1px solid #dde1e6;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.6);
}
.room-item.special{ background:#eef1f4; border-color:#c8cdd6; border-left:3px solid #8f9bb0; }
.room-name{ font-size:.8rem; font-weight:800; color:#3d4450; letter-spacing:.06em; }
.room-item.special .room-name{ color:#5a6472; }
.room-desc{ font-size:.68rem; color:#7a8494; line-height:1.6; }
.room-aff{ font-size:.68rem; color:#c25f80; font-weight:700; }
@media (max-width:640px){
  .room-grid{ grid-template-columns:1fr; }
}
