/* 116 學測考前全方位指南：artifact-specific layout */
:root {
  --guide-soft-blue: #e9f0f0;
  --guide-soft-gold: #f7efd9;
}

body { font-size: 17px; }

.guide-page {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.guide-page > main { flex: 1 1 auto; }
.guide-page .wujie-page-footer { margin-top: auto; }

.guide-kicker {
  margin: 0;
  color: var(--wujie-coral);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
}

.guide-page-title {
  margin: 2px 0 0;
  font-size: clamp(28px, 3.2vw, 40px);
  letter-spacing: -.025em;
}

.guide-deck {
  max-width: 700px;
  margin: 8px 0 0;
  color: var(--wujie-muted);
  font-size: 1.04rem;
  line-height: 1.62;
}

.guide-cover {
  background:
    radial-gradient(circle at 88% 18%, rgba(220,117,95,.17), transparent 42mm),
    linear-gradient(120deg, rgba(57,125,123,.07), transparent 52%),
    var(--wujie-paper);
}

.guide-cover-main {
  display: grid;
  align-content: center;
  min-height: 205mm;
}

.guide-cover h1 {
  max-width: 150mm;
  margin: 10px 0 18px;
  font-size: clamp(48px, 6vw, 74px);
  line-height: 1.06;
}

.guide-cover .guide-subtitle {
  max-width: 125mm;
  color: var(--wujie-muted);
  font-size: 1.25rem;
  line-height: 1.65;
}

.guide-date {
  display: inline-flex;
  width: fit-content;
  margin-top: 26px;
  padding: 10px 18px;
  border: 1px solid var(--wujie-line);
  border-radius: 999px;
  color: var(--wujie-teal-dark);
  background: var(--wujie-card);
  font-weight: 900;
}

.guide-anchor {
  margin-top: 26px;
  padding: 16px 20px;
  border-left: 7px solid var(--wujie-coral);
  border-radius: 4px 16px 16px 4px;
  background: var(--wujie-insight);
  font-size: 1.08rem;
  font-weight: 800;
}

.guide-tight { margin-top: 14px; }
.guide-tight-list { margin: 6px 0 0; padding-left: 1.3em; }
.guide-tight-list li + li { margin-top: 4px; }
.guide-card-title { margin-bottom: 6px; font-size: 1.08rem; }
.guide-card p:last-child, .guide-card ul:last-child { margin-bottom: 0; }

.guide-five {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.guide-pillar {
  min-height: 138px;
  padding: 14px;
  border: 1px solid var(--wujie-line);
  border-radius: 15px;
  background: var(--wujie-card);
}

.guide-pillar strong {
  display: block;
  margin-bottom: 8px;
  color: var(--wujie-teal-dark);
  font-size: 1.04rem;
}

.guide-pillar p { margin: 0; color: var(--wujie-muted); font-size: .92rem; line-height: 1.55; }

.guide-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  padding: 0;
  list-style: none;
}

.guide-checklist li {
  position: relative;
  padding: 10px 12px 10px 38px;
  border-bottom: 1px solid var(--wujie-line);
}

.guide-checklist li::before {
  position: absolute;
  top: 10px;
  left: 8px;
  color: var(--wujie-teal);
  content: "□";
  font-size: 1.2em;
  font-weight: 900;
}

.guide-band {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 16px;
  align-items: start;
  padding: 14px 16px;
  border-top: 1px solid var(--wujie-line);
}

.guide-band:first-child { border-top: 0; }
.guide-band strong { color: var(--wujie-teal-dark); }
.guide-band p { margin: 0; }

.guide-plan-table td:first-child,
.guide-plan-table th:first-child { width: 23%; }

.guide-resource-table td:first-child,
.guide-resource-table th:first-child { width: 20%; }

.guide-resource-table td:last-child,
.guide-resource-table th:last-child { width: 21%; }

.guide-score {
  display: inline-block;
  min-width: 2.4em;
  color: var(--wujie-coral);
  font-weight: 900;
  text-align: center;
}

.guide-mini-note {
  color: var(--wujie-muted);
  font-size: .9rem;
  line-height: 1.55;
}

.guide-routine {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.guide-routine > div {
  padding: 14px;
  border: 1px solid var(--wujie-line);
  border-radius: 14px;
  background: var(--guide-soft-blue);
}

.guide-routine b {
  display: block;
  margin-bottom: 6px;
  color: var(--wujie-teal-dark);
}

.guide-timeline {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 0 14px;
}

.guide-timeline dt,
.guide-timeline dd {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--wujie-line);
}

.guide-timeline dt { color: var(--wujie-coral); font-weight: 900; }
.guide-timeline dd { color: var(--wujie-ink); }

.guide-quote-large {
  margin: 26px 0;
  padding: 24px 26px;
  border-left: 7px solid var(--wujie-teal);
  background: var(--wujie-mist);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.55;
}

.guide-quote-large cite {
  display: block;
  margin-top: 10px;
  color: var(--wujie-muted);
  font-size: .88rem;
  font-style: normal;
  font-weight: 500;
}

.guide-sources {
  columns: 2;
  column-gap: 28px;
  margin: 0;
  padding-left: 1.35em;
  font-size: .92rem;
}

.guide-sources li { break-inside: avoid; margin-bottom: 9px; }

.guide-disclaimer {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #dccca8;
  border-radius: 12px;
  background: var(--guide-soft-gold);
  color: #5f512f;
  font-size: .9rem;
}

/* Page 9: separate the correction table from the concluding insight so the
   two systems do not visually merge. */
.wujie-page[aria-labelledby="p9-title"] .wujie-insight { margin-top: 16px; }

@media (max-width: 900px) {
  .guide-five, .guide-routine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .guide-five, .guide-routine, .guide-checklist { grid-template-columns: 1fr; }
  .guide-sources { columns: 1; }
  .guide-band { grid-template-columns: 1fr; gap: 4px; }
}

@media print {
  body { font-size: 11.5pt; }
  .guide-page { height: 297mm; min-height: 297mm; }
  .guide-page-title { font-size: 25pt; }
  .guide-deck { font-size: 11.5pt; }
  .guide-kicker { font-size: 10pt; }
  .guide-cover h1 { font-size: 44pt; }
  .guide-cover .guide-subtitle { font-size: 14pt; }
  .guide-cover-main { min-height: 236mm; }
  .guide-five { gap: 8px; }
  .guide-pillar { min-height: 116px; padding: 10px; }
  .guide-pillar p, .guide-mini-note { font-size: 10pt; }
  .guide-routine { gap: 8px; }
  .guide-routine > div { padding: 10px; }
  .guide-tight-list li + li { margin-top: 2px; }
  .guide-quote-large { margin: 18px 0; padding: 18px 20px; font-size: 15pt; }
  .guide-sources { font-size: 10pt; }
  .guide-disclaimer { font-size: 10pt; }
  a { color: var(--wujie-teal-dark); }

  /* Page 18 carries the densest resource stack. Recover vertical space through
     spacing and QR scale, never by reducing the declared reading type. */
  .wujie-page[aria-labelledby="p18-title"] .wujie-page-header { padding-bottom: 6px; }
  .wujie-page[aria-labelledby="p18-title"] .guide-deck { margin-top: 4px; }
  .wujie-page[aria-labelledby="p18-title"] .wujie-section { margin-top: 6px; }
  .wujie-page[aria-labelledby="p18-title"] .wujie-grid-2,
  .wujie-page[aria-labelledby="p18-title"] .wujie-grid-3 { gap: 6px; }
  .wujie-page[aria-labelledby="p18-title"] .wujie-card { padding: 8px 10px; }
  #qr-wujie { grid-template-columns: 20mm 1fr; gap: 3mm; margin-top: 5px; padding: 5px 8px; }
  #qr-wujie img { width: 20mm; height: 20mm; }

  .wujie-page[aria-labelledby="p9-title"] .wujie-table th,
  .wujie-page[aria-labelledby="p9-title"] .wujie-table td {
    padding: 8px 10px;
    line-height: 1.5;
  }
  .wujie-page[aria-labelledby="p9-title"] .wujie-insight {
    margin-top: 16px;
    padding: 12px 16px;
  }
  .wujie-page[aria-labelledby="p9-title"] .wujie-insight .wujie-label { margin-bottom: 6px; }
}

/* September revision: retain the original palette and physical page geometry. */
.wujie-page::after {height:16.8%;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.02) 25%,rgba(0,0,0,.12) 55%,rgba(0,0,0,.38) 82%,rgba(0,0,0,.62) 100%);}
.wujie-tag {flex-shrink:0;white-space:nowrap;}
.revision-page .wujie-table td:first-child {width:22%;}
.revision-prompts h3 {margin:12px 0 4px;color:var(--wujie-teal-dark);font-size:1.1rem;}
.revision-prompts p {margin:0 0 12px;}
@media print {.revision-page .wujie-section-title {font-size:18pt;} .revision-page .wujie-table td {padding:9px 10px;} .revision-page .wujie-section {margin-top:14px;} .revision-page .wujie-insight {margin-top:12px;} .revision-page p {margin-top:6px;margin-bottom:8px;} }
@media screen and (max-width:620px) {.wujie-page-header{flex-direction:column;gap:10px;} .wujie-page{padding:24px 20px;} .wujie-shell{width:calc(100% - 20px);} .guide-cover .guide-date{display:block;border-radius:14px;} }
