/* AML Self-Study Quiz & Certificate v2
   Shared visual layer. Semantic markup and focus behavior remain page-owned. */
:root{
  --aml-study-navy:#102840;
  --aml-study-green:#245e55;
  --aml-study-gold:#a8792f;
  --aml-study-paper:#fffdf8;
  --aml-study-line:#d8e0dd;
  --aml-study-soft:#f4f7f6;
}
.wrap{max-width:960px}
.kicker{display:inline-flex;align-items:center;gap:8px}
.kicker::before{content:"";width:26px;height:2px;background:currentColor}
.quiz-spec{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  list-style:none;padding:0;margin:20px 0 28px
}
.quiz-spec li{
  border:1px solid var(--aml-study-line);border-radius:15px;background:#fff;
  padding:12px 14px;color:#546270
}
.quiz-spec strong{display:block;color:var(--aml-study-navy);font-size:.82rem}
.quiz-spec span{display:block;margin-top:2px;font-size:.88rem}
.gate,.quiz-card,.result-card,.certificate-panel{
  position:relative;overflow:hidden
}
.gate::before,.quiz-card::before,.result-card::before,.certificate-panel::before{
  content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--aml-study-gold)
}
.quiz-card{padding:28px}
.quiz-step,[data-step]{
  display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;
  border-radius:999px;background:#f5efe3;color:#705522;
  font-size:.78rem;font-weight:900;letter-spacing:.06em
}
.case{
  margin-top:14px;border:1px solid #e5dfd3;background:#f9f6ef!important;
  border-radius:16px!important;padding:16px 18px!important
}
.case::before{
  content:"情境";display:block;margin-bottom:4px;color:#786239;
  font-size:.72rem;font-weight:900;letter-spacing:.12em
}
.options{gap:12px!important;margin-top:18px}
.options button{
  position:relative;min-height:58px!important;padding:15px 18px!important;
  border:1px solid #ccd8d4!important;border-radius:15px!important;
  background:#fff!important;color:#172431!important;font:inherit!important;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease
}
.options button:hover{border-color:#6f9b90!important;box-shadow:0 6px 16px rgba(25,70,61,.06)}
.options button:focus-visible{
  outline:3px solid #b67d25!important;outline-offset:3px!important;
  border-color:#6a4b17!important;box-shadow:none!important
}
.score{
  display:inline-flex;align-items:baseline;justify-content:center;
  min-width:130px;padding:8px 16px;border-radius:16px;
  background:#eef7f4;color:#1f5a4f!important;line-height:1.1
}
.review-list{margin-top:12px}
.review-list li+li{margin-top:6px}
.action-row{align-items:center}
.btn{min-height:46px}
.btn:focus-visible,.back:focus-visible,.certificate-form input:focus-visible{
  outline:3px solid #b67d25!important;outline-offset:3px!important
}

/* Certificate 2.0 */
.certificate{
  position:relative;isolation:isolate;overflow:hidden;
  margin-top:22px!important;padding:48px 52px!important;
  border:1px solid #b89b66!important;border-radius:22px!important;
  background:
    linear-gradient(135deg,rgba(198,167,106,.09),transparent 28%),
    linear-gradient(315deg,rgba(36,94,85,.06),transparent 32%),
    var(--aml-study-paper)!important;
  color:#172431;text-align:center;
  box-shadow:0 18px 44px rgba(16,40,64,.08)
}
.certificate::before{
  content:"";position:absolute;inset:10px;border:1px solid rgba(168,121,47,.42);
  border-radius:16px;pointer-events:none
}
.certificate::after{
  content:"AML";position:absolute;right:24px;bottom:12px;z-index:-1;
  color:rgba(16,40,64,.035);font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(5rem,15vw,10rem);font-weight:900;line-height:1
}
.certificate__topline{
  display:flex;align-items:center;justify-content:center;gap:12px;
  color:#775a26;font-size:.75rem;font-weight:900;letter-spacing:.17em
}
.certificate__topline::before,.certificate__topline::after{
  content:"";width:54px;height:1px;background:#c7aa73
}
.certificate .brand{margin-top:8px!important}
.certificate__title{
  margin:12px 0 4px!important;color:var(--aml-study-navy)!important;
  font-family:Georgia,"Noto Serif TC","Times New Roman",serif;
  font-size:clamp(1.8rem,4vw,2.45rem)!important
}
.certificate__en{
  color:#7c8790;font-size:.75rem;font-weight:800;letter-spacing:.12em
}
.certificate__statement{margin-top:26px;color:#69757f;font-size:.86rem}
.certificate .name{
  display:inline-block;min-width:min(100%,380px);margin:8px auto 20px!important;
  padding:4px 18px 8px;border-bottom:1px solid #bca16d;
  color:#245e55!important;font-family:Georgia,"Noto Serif TC","Times New Roman",serif;
  font-size:clamp(1.7rem,4vw,2.3rem)!important
}
.certificate__course{
  max-width:700px;margin:0 auto;padding:16px 18px;border-radius:14px;
  background:rgba(255,255,255,.72);border:1px solid #e1d6c0
}
.certificate__course strong{display:block;color:var(--aml-study-navy);font-size:1.03rem}
.certificate__course span{display:block;margin-top:3px;color:#66727c;font-size:.86rem}
.certificate__meta{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  max-width:720px;margin:22px auto 0
}
.certificate__meta div{
  padding:10px;border-top:1px solid #d9ccb4;color:#66727c;font-size:.78rem
}
.certificate__meta strong{display:block;color:#253b4d;font-size:.84rem}
.certificate .notice{
  max-width:760px;margin:24px auto 0!important;padding-top:14px!important;
  border-top:1px solid #e2d7c4!important;color:#707a82!important;font-size:.74rem!important
}
.certificate__signature{
  margin-top:20px;color:#52616d;font-size:.78rem;letter-spacing:.04em
}

@media(max-width:680px){
  .quiz-spec{grid-template-columns:1fr}
  .certificate{padding:34px 22px!important}
  .certificate__meta{grid-template-columns:1fr}
  .certificate__topline::before,.certificate__topline::after{width:24px}
}
@media(prefers-reduced-motion:reduce){
  .options button{transition:none!important}
}
@media print{
  @page{size:A4 landscape;margin:10mm}
  .certificate{
    min-height:180mm!important;margin:0!important;padding:28mm 22mm!important;
    border:1.2pt solid #967b4d!important;border-radius:0!important;
    box-shadow:none!important;background:#fff!important
  }
  .certificate::before{inset:6mm;border-radius:0}
  .certificate::after{display:none}
  .certificate__meta{max-width:230mm}
}

/* Shared completion next step */
.completion-exit{
  margin-top:24px;padding:24px;border:1px solid #d7e5e1;border-radius:22px;
  background:linear-gradient(135deg,#f7fcfa,#fffdf8)
}
.completion-exit__kicker{
  color:#2c7164;font-size:.72rem;font-weight:900;letter-spacing:.13em
}
.completion-exit h2{margin:5px 0 7px;color:var(--aml-study-navy);font-size:1.3rem}
.completion-exit p{margin:0 0 14px;color:#66727c}
.completion-exit__actions{display:flex;gap:10px;flex-wrap:wrap}
.completion-exit__actions a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:9px 14px;border-radius:999px;border:1px solid #95b8af;background:#fff;
  color:#245e55;text-decoration:none;font-weight:900
}
.completion-exit__actions a.primary{background:#245e55;color:#fff;border-color:#245e55}
.completion-exit__actions a:focus-visible{outline:3px solid #b67d25;outline-offset:3px}
@media(max-width:680px){.completion-exit__actions a{width:100%}}
