

:root {
  --orange: #D97757;
  --orange-light: #F5E6DF;
  --orange-border: #E8C4B0;
  --teal: #2A7A6F;
  --teal-light: #E6F4F1;
  --teal-border: #A8D4CE;
  --cream: #FAF9F7;
  --dark: #1A1A1A;
  --mid: #5C5C5C;
  --divider: #E0DBD5;
}
#deck.trauma-deck {
  font-family: "Microsoft JhengHei","微軟正黑體","Noto Sans TC",sans-serif;
  background: var(--cream);
  color: var(--dark);
  font-size: 26px;
}
#deck.trauma-deck > section { text-align: left; padding: 0; }


/* ── wrapper with left accent ── */
.wrap {
  display: flex; flex-direction: column;
  height: 100%; padding: 0 2.8rem 0 0;
  box-sizing: border-box; position: relative;
}
.wrap::before {
  content: ""; position: absolute;
  left: -1.6rem; top: 0.5rem; bottom: 0.5rem;
  width: 5px; background: var(--orange); border-radius: 3px;
}
.wrap.teal::before { background: var(--teal); }
.wrap.no-bar::before { display: none; }

/* ── slide types ── */
.slide-title { display: flex; flex-direction: column; justify-content: center; padding: 0 3rem; height: 100%; }
.slide-title .t-main { font-size: 1.6em; font-weight: 800; line-height: 1.3; color: var(--dark); margin-bottom: .5em; }
.slide-title .t-author { font-size: .8em; color: var(--orange); font-weight: 700; margin-bottom: .3em; }
.slide-title .t-sub { font-size: .72em; color: var(--mid); line-height: 1.7; font-style: italic; }

.section-divider {
  display: flex; flex-direction: column;
  justify-content: center; align-items: flex-start;
  height: 100%; padding: 0 3rem;
  background: var(--orange);
}
.section-divider .sec-label { font-size: .75em; color: rgba(255,255,255,.75); letter-spacing: .1em; text-transform: uppercase; margin-bottom: .4em; }
.section-divider .sec-title { font-size: 1.6em; font-weight: 800; color: #fff; line-height: 1.3; }

h2.stitle {
  font-size: 1.05em; font-weight: 700; color: var(--dark);
  margin: 0 0 .4em 0; line-height: 1.35;
}
hr.div { border: none; border-top: 1.5px solid var(--divider); margin: 0 0 .6em 0; }

ul.blist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .45em; }
ul.blist li { font-size: .78em; line-height: 1.6; padding-left: 1em; position: relative; }
ul.blist li::before { content: "·"; position: absolute; left: 0; color: var(--orange); font-weight: 700; }
ul.blist.teal li::before { color: var(--teal); }

/* ── two-column comparison ── */
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; flex: 1; }
.card { border-radius: 8px; padding: .9rem 1.1rem 1rem; display: flex; flex-direction: column; gap: .5rem; }
.card .clabel { font-size: .72em; font-weight: 700; margin-bottom: .15em; }
.card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .55em; }
.card ul li { font-size: .7em; line-height: 1.65; }
.card-left { background: var(--orange-light); border: 1.5px solid var(--orange-border); color: #3A2218; }
.card-left .clabel { color: var(--orange); }
.card-right { background: var(--teal-light); border: 1.5px solid var(--teal-border); color: #0D2420; }
.card-right .clabel { color: var(--teal); }
.card-neutral { background: #F3F0EC; border: 1.5px solid #D8D3CC; color: #2A2A2A; }
.card-neutral .clabel { color: var(--mid); }

/* ── quote block ── */
.qblock { background: var(--orange-light); border-left: 4px solid var(--orange); border-radius: 0 6px 6px 0; padding: .8rem 1rem; font-size: .8em; line-height: 1.75; color: #2A1A0E; margin-bottom: .6em; }
.qblock.teal { background: var(--teal-light); border-left-color: var(--teal); color: #0A1F1C; }

/* ── email template ── */
.email-box {
  background: #fff; border: 1.5px solid var(--divider); border-radius: 8px;
  padding: .9rem 1.1rem; font-size: .68em; line-height: 1.8; color: #2A2A2A;
  flex: 1;
}
.email-subject { font-weight: 700; color: var(--dark); margin-bottom: .4em; }

/* ── table as cards ── */
.tbl-row { display: grid; gap: .5rem; margin-bottom: .4rem; }
.tbl-row.col2 { grid-template-columns: 1fr 1fr; }
.tbl-cell { background: #F3F0EC; border-radius: 6px; padding: .5rem .8rem; font-size: .68em; line-height: 1.6; }
.tbl-cell.h { background: var(--orange-light); font-weight: 700; font-size: .65em; color: var(--orange); }
.tbl-cell.h.teal { background: var(--teal-light); color: var(--teal); }

/* ── number badges ── */
.nbadge { display: inline-block; background: var(--orange); color: #fff; border-radius: 4px; padding: .05em .35em; font-size: .7em; font-weight: 700; margin-right: .4em; vertical-align: middle; }
.nbadge.teal { background: var(--teal); }

/* ── statement (big centered) ── */
.statement { display: flex; flex-direction: column; justify-content: center; height: 100%; gap: .8em; }
.statement .s-line { font-size: .95em; line-height: 1.6; padding: .6em .8em; background: #fff; border-radius: 6px; border-left: 4px solid var(--orange); }

/* ── tag ── */
.tag { display: inline-block; font-size: .62em; font-weight: 700; padding: .1em .5em; border-radius: 4px; margin-bottom: .3em; }
.tag.orange { background: var(--orange-light); color: var(--orange); border: 1px solid var(--orange-border); }
.tag.teal { background: var(--teal-light); color: var(--teal); border: 1px solid var(--teal-border); }

/* ── interactive ── */
.vote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; flex: 1; }
.vote-item { background: #fff; border: 1.5px solid var(--divider); border-radius: 8px; padding: .6rem .9rem; font-size: .7em; line-height: 1.55; }
.vote-key { font-weight: 800; color: var(--orange); margin-right: .3em; font-size: 1.1em; }

/* ── 三層模型 ── */
.layer-row { display: grid; grid-template-columns: auto 1fr; gap: .5rem 1rem; align-items: start; margin-bottom: .55rem; }
.layer-num { font-size: 1.2em; font-weight: 800; color: var(--orange); white-space: nowrap; }
.layer-content .layer-title { font-size: .78em; font-weight: 700; margin-bottom: .15em; }
.layer-content .layer-desc { font-size: .68em; color: #3A3A3A; line-height: 1.6; }

  

/* Compatibility layer for trauma_in_classroom.html inside minimalism-slides runtime. */
#deck.trauma-deck {
  background: var(--cream);
}
#deck.trauma-deck > section {
  box-sizing: border-box;
  padding: 6vh 7vw 7vh;
  overflow: hidden;
  font-size: calc(26px * var(--trauma-scale, 1) * var(--body-scale, 1));
  font-family: "Microsoft JhengHei", "微軟正黑體", "Noto Sans TC", "PingFang TC", sans-serif;
  color: var(--dark);
  background: var(--cream);
}
#deck.trauma-deck > section.active { display: flex; }
#deck.trauma-deck > section > .wrap,
#deck.trauma-deck > section > .slide-title,
#deck.trauma-deck > section > .section-divider {
  width: 100%;
  min-height: 0;
  flex: 1 1 auto;
}
#deck.trauma-deck > section > .section-divider {
  margin: -6vh -7vw -7vh;
  padding: 0 10vw;
  width: calc(100% + 14vw);
  flex: 1 1 auto;
}
#deck.trauma-deck h2.stitle {
  font-family: inherit;
}
#deck.trauma-deck p,
#deck.trauma-deck li,
#deck.trauma-deck div {
  letter-spacing: normal;
}
#deck.trauma-deck .slide-title {
  box-sizing: border-box;
  padding: 0 4vw;
}
#deck.trauma-deck .wrap::before {
  left: -3vw;
}
body:has(#deck.trauma-deck) #chapters { display: none; }
body:has(#deck.trauma-deck) #page-number { font-family: inherit; }
