

: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; }

/* 20260720 alcohol training decks: larger title slides + slightly stronger reading size. */
#deck.trauma-deck > section {
  font-size: calc(28px * var(--trauma-scale, 1) * var(--body-scale, 1));
}
#deck.trauma-deck > section:has(> .slide-title),
#deck.trauma-deck > section:has(> .section-divider) {
  --body-scale: 1 !important;
}
#deck.trauma-deck .slide-title .t-main {
  font-size: clamp(50px, 4.9vw, 76px);
  line-height: 1.18;
  max-width: 15em;
}
#deck.trauma-deck .slide-title .t-author {
  font-size: clamp(24px, 2vw, 34px);
}
#deck.trauma-deck .slide-title .t-sub {
  font-size: clamp(22px, 1.75vw, 30px);
}
#deck.trauma-deck .section-divider .sec-title {
  font-size: clamp(62px, 6.2vw, 92px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  max-width: 13em;
}
#deck.trauma-deck .section-divider .sec-label {
  font-size: clamp(20px, 1.6vw, 28px);
}
#deck.trauma-deck h2.stitle {
  font-size: 1.18em;
  line-height: 1.28;
}
#deck.trauma-deck .wrap > p {
  font-size: .82em !important;
}
#deck.trauma-deck ul.blist li,
#deck.trauma-deck ol.blist li {
  font-size: .82em;
}
#deck.trauma-deck .qblock {
  font-size: .86em;
}
#deck.trauma-deck .tbl-cell {
  font-size: .74em;
}
#deck.trauma-deck .card ul li {
  font-size: .76em;
}

/* Markdown source support: tables + Mermaid diagrams. */
#deck.trauma-deck table.md-table {
  width: 100%;
  border-collapse: collapse;
  margin: .15rem 0 .55rem;
  font-size: .58em;
  line-height: 1.45;
  background: #fff;
  border: 1.5px solid var(--divider);
  border-radius: 8px;
  overflow: hidden;
}
#deck.trauma-deck table.md-table th,
#deck.trauma-deck table.md-table td {
  border: 1px solid var(--divider);
  padding: .34rem .42rem;
  vertical-align: top;
}
#deck.trauma-deck table.md-table th {
  background: var(--orange-light);
  color: #3A2218;
  font-weight: 800;
}
#deck.trauma-deck .mermaid-wrap {
  flex: 1 1 auto;
  display: grid;
  place-items: center;
  min-height: 0;
  background: #fff;
  border: 1.5px solid var(--divider);
  border-radius: 8px;
  padding: .35rem;
  overflow: hidden;
}
#deck.trauma-deck .mermaid-wrap .mermaid {
  width: 100%;
  max-height: 100%;
  text-align: center;
  font-size: .62em;
  display: flex;
  align-items: center;
  justify-content: center;
}
#deck.trauma-deck .mermaid-wrap svg {
  width: 96% !important;
  height: auto !important;
  max-width: 96% !important;
  max-height: 64vh !important;
}
#deck.trauma-deck pre.code-fallback {
  font-size: .52em;
  line-height: 1.45;
  white-space: pre-wrap;
  background: #fff;
  border-left: 4px solid var(--orange);
  padding: .6rem .8rem;
  overflow: auto;
}
