/* 祝日ずかん ワークシート（A4 縦・1ページ＝1シート） */
@page {
  size: A4 portrait;
  margin: 0;
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  padding: 0;
}
body {
  background: #dfe3ee;
  color: #141a33;
  font-family: 'Nunito', 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.wtool {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  background: #141a33;
  color: #fff;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 14px;
}
.wtool a {
  color: #ffd23f;
}
.wtool button {
  font: inherit;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #3a5cff;
  color: #fff;
  padding: 4px 16px;
  cursor: pointer;
}
.wp {
  --fs: 1;
  position: relative;
  width: 210mm;
  height: 297mm;
  margin: 18px auto;
  padding: 11mm 13mm 9mm;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  page-break-after: always;
  break-after: page;
  font-size: calc(11.5pt * var(--fs));
  line-height: 1.5;
}
@media screen and (max-width: 820px) {
  .wp {
    zoom: 0.45;
  }
}
@media print {
  body {
    background: #fff;
  }
  .wtool {
    display: none;
  }
  .wp {
    margin: 0;
    box-shadow: none;
  }
  .wp:last-child {
    page-break-after: auto;
    break-after: auto;
  }
}
/* 見出し */
.wh {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
  border-bottom: 2.5px solid #141a33;
  padding-bottom: 2.5mm;
  margin-bottom: 4mm;
  flex: none;
}
.wh-l {
  display: flex;
  gap: 3mm;
  align-items: center;
  min-width: 0;
}
.wh-e {
  width: 13mm;
  height: 13mm;
  flex: none;
  display: grid;
  place-items: center;
  font-size: 8mm;
  border: 2px solid #141a33;
  border-radius: 50%;
  background: #ffd23f;
}
.wh-k {
  margin: 0;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: 9pt;
  letter-spacing: 0.08em;
  color: #3a5cff;
  text-transform: uppercase;
}
.wh h2 {
  margin: 0;
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  font-size: 18pt;
  line-height: 1.15;
}
.wh-s {
  margin: 0.6mm 0 0;
  font-size: 9pt;
  color: #4a5272;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
}
.wh-name {
  display: flex;
  align-items: flex-end;
  gap: 1.5mm;
  font-size: 8.5pt;
  font-weight: 800;
  flex: none;
}
.wh-name i {
  display: inline-block;
  width: 12mm;
  border-bottom: 1.2px solid #141a33;
  height: 5mm;
}
.wh-name i.s {
  width: 9mm;
}
.wh-name i.l {
  width: 34mm;
}
.wb {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.wf {
  flex: none;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #c9cddc;
  padding-top: 1.5mm;
  margin-top: 2mm;
  font-size: 7.5pt;
  color: #7d84a0;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.wq {
  font-size: calc(11pt * var(--fs));
  margin: 4mm 0 2mm;
  padding: 1mm 3mm;
  background: #eef2ff;
  border-left: 4px solid #3a5cff;
  border-radius: 2px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
}
.wq small {
  font-weight: 500;
  color: #4a5272;
}
.wq:first-child {
  margin-top: 0;
}
.note {
  margin: 0 0 2mm;
  font-size: 9.5pt;
  font-family: 'Zen Maru Gothic', sans-serif;
}
/* 1 Reading */
.read {
  font-size: calc(12.5pt * var(--fs));
  line-height: 1.75;
}
.read p {
  margin: 0 0 2.6mm;
  text-align: justify;
}
.read .pn {
  display: inline-grid;
  place-items: center;
  width: 5.6mm;
  height: 5.6mm;
  margin-right: 1.5mm;
  border-radius: 50%;
  background: #141a33;
  color: #fff;
  font-size: 8.5pt;
  vertical-align: 0.4mm;
}
.read-art {
  float: right;
  width: 52mm;
  height: 52mm;
  object-fit: contain;
  margin: 0 0 2mm 4mm;
  border: 1.5px solid #141a33;
  border-radius: 4mm;
  padding: 1mm;
}
.read-art.emo {
  display: grid;
  place-items: center;
  font-size: 28mm;
  width: 40mm;
  height: 40mm;
}
.gloss {
  clear: both;
  border: 1.5px dashed #141a33;
  border-radius: 3mm;
  padding: 2mm 3.5mm;
  margin-top: 3mm;
  font-size: calc(9.5pt * var(--fs));
}
.gloss ul {
  list-style: none;
  margin: 1mm 0 0;
  padding: 0;
  columns: 3;
  column-gap: 5mm;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.gloss li {
  break-inside: avoid;
}
.gloss li span {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
}
/* 2 Quiz */
.mc {
  margin: 0;
  padding-left: 6mm;
}
.mc li {
  margin-bottom: 2.6mm;
  break-inside: avoid;
}
.mc p {
  margin: 0 0 0.8mm;
  font-weight: 800;
}
.opts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6mm 4mm;
  font-size: calc(10.5pt * var(--fs));
}
.opts b {
  display: inline-grid;
  place-items: center;
  width: 4.6mm;
  height: 4.6mm;
  border: 1.2px solid #141a33;
  border-radius: 50%;
  font-size: 7.5pt;
  margin-right: 1mm;
}
.tf {
  margin: 0;
  padding-left: 6mm;
}
.tf li {
  display: flex;
  justify-content: space-between;
  gap: 4mm;
  margin-bottom: 1.6mm;
  font-size: calc(10.5pt * var(--fs));
}
.tf em {
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}
/* 3 Words */
.match {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6mm 10mm;
}
.mrow {
  display: grid;
  grid-template-columns: 12mm 3mm 1fr 3mm 30mm;
  align-items: center;
  gap: 1mm;
}
.me {
  font-size: 8mm;
  text-align: center;
  line-height: 1.1;
}
.dot {
  width: 3mm;
  height: 3mm;
  border-radius: 50%;
  background: #141a33;
}
.mw {
  font-weight: 800;
  font-size: calc(11.5pt * var(--fs));
}
.un {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6mm 8mm;
  margin: 0;
  padding-left: 6mm;
}
.un li span.sc {
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.un small {
  margin-left: 1.5mm;
  color: #4a5272;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.un i,
.so i {
  display: block;
  border-bottom: 1.2px solid #141a33;
  height: 6mm;
}
.bank {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5mm;
  border: 1.5px solid #141a33;
  border-radius: 3mm;
  padding: 2mm;
  margin-bottom: 2mm;
}
.bank span {
  border: 1px solid #8a90a8;
  border-radius: 999px;
  padding: 0 2.5mm;
  font-weight: 800;
  font-size: calc(10.5pt * var(--fs));
}
.cz {
  margin: 0;
  line-height: 2.15;
  font-size: calc(11.5pt * var(--fs));
}
.blank {
  display: inline-block;
  width: 24mm;
  border-bottom: 1.2px solid #141a33;
  height: 4mm;
}
/* 4 Crossword */
.cw-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 3mm;
}
.cw-wrap svg {
  max-width: 100%;
  max-height: calc(128mm * var(--fs) * var(--fs));
  width: auto;
  height: auto;
}
.clues {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6mm;
  font-size: calc(10pt * var(--fs));
}
.clues h4 {
  margin: 0 0 1mm;
  font-family: 'Fredoka', sans-serif;
  color: #3a5cff;
}
.clues ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.clues li {
  margin-bottom: 1.1mm;
  padding-left: 6mm;
  text-indent: -6mm;
}
.clues li b {
  display: inline-block;
  width: 6mm;
  text-indent: 0;
}
.clues small {
  color: #7d84a0;
}
/* 5 Word search */
.ws2 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6mm;
  align-items: start;
}
.ws2 svg {
  width: calc(112mm * var(--fs));
  height: auto;
}
.ws2 h4 {
  margin: 0 0 2mm;
  font-family: 'Fredoka', sans-serif;
}
.wl {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: calc(11.5pt * var(--fs));
  line-height: 1.75;
}
.key {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2mm;
  margin-bottom: 3mm;
}
.key span {
  display: grid;
  grid-template-rows: auto auto;
  text-align: center;
  border: 1.2px solid #141a33;
  border-radius: 2mm;
  min-width: 9mm;
  font-weight: 800;
  font-size: 10pt;
  line-height: 1.3;
}
.key b {
  font-size: 13pt;
  border-bottom: 1px solid #c9cddc;
  font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', 'Noto Sans Symbols 2', sans-serif;
}
.code {
  display: flex;
  flex-wrap: wrap;
  gap: 5mm;
}
.cw-word {
  display: flex;
  gap: 1mm;
}
.cw-word span {
  display: grid;
  text-align: center;
  width: 9mm;
}
.cw-word b {
  font-size: 15pt;
  font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', 'Noto Sans Symbols 2', sans-serif;
}
.cw-word i {
  border-bottom: 1.5px solid #141a33;
  height: 8mm;
}
/* 6 Maze */
.mz-wrap {
  display: flex;
  justify-content: center;
}
.mz-wrap svg {
  height: calc(130mm * var(--fs) * var(--fs));
  width: auto;
  max-width: 100%;
}
.secret {
  text-align: center;
  font-weight: 800;
  font-size: 13pt;
  margin: 2mm 0 1mm;
}
.secret i {
  display: inline-block;
  width: 9mm;
  height: 8mm;
  border-bottom: 1.6px solid #141a33;
  margin: 0 1mm;
}
.so {
  margin: 0;
  padding-left: 6mm;
}
.so li {
  margin-bottom: 1.6mm;
  font-size: calc(11pt * var(--fs));
}
.so li span {
  font-weight: 800;
}
.so small {
  margin-left: 2mm;
  color: #4a5272;
  font-family: 'Zen Maru Gothic', sans-serif;
}
/* 7 Find someone who */
.fsw {
  width: 100%;
  border-collapse: collapse;
  font-size: calc(11pt * var(--fs));
}
.fsw th,
.fsw td {
  border: 1.3px solid #141a33;
  padding: 1.6mm 3mm;
  text-align: left;
}
.fsw th {
  background: #eef2ff;
}
.fsw td:last-child {
  width: 38mm;
}
.fsw td small {
  display: block;
  color: #4a5272;
  font-size: 8.5pt;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.wr {
  margin-bottom: 3mm;
}
.wr p {
  margin: 0;
  font-weight: 800;
}
.wr small {
  color: #4a5272;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.wr i {
  display: block;
  border-bottom: 1.2px solid #8a90a8;
  height: 8.5mm;
}
/* 8 Kids */
.trace {
  display: grid;
  gap: 2mm;
}
.tr {
  display: grid;
  grid-template-columns: 16mm 1fr;
  align-items: center;
  gap: 3mm;
}
.te {
  font-size: 11mm;
  text-align: center;
}
.tr svg {
  width: 100%;
  height: auto;
  max-height: 12.5mm;
  display: block;
}
.color-box,
.draw-box {
  margin-top: 3mm;
  border: 2px solid #141a33;
  border-radius: 4mm;
  padding: 2mm;
  display: flex;
  justify-content: center;
  align-items: center;
}
.color-box img {
  max-height: calc(96mm * var(--fs) * var(--fs));
  width: auto;
  max-width: 100%;
}
.draw-box {
  height: calc(80mm * var(--fs) * var(--fs));
  align-items: flex-start;
  font-weight: 800;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.p-kids .trace {
  font-family: 'Andika', sans-serif;
}
/* Answers */
.ans p {
  margin: 0 0 1.5mm;
  font-size: calc(10.5pt * var(--fs));
}
.ans ol {
  margin: 0;
  padding-left: 6mm;
  font-size: calc(10.5pt * var(--fs));
}
.zen {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: calc(9.5pt * var(--fs));
  line-height: 1.7;
}
.zen p {
  margin: 0 0 1.4mm;
}
.ans2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5mm;
  align-items: start;
}
.ans2 h4 {
  margin: 0 0 1mm;
  font-family: 'Fredoka', sans-serif;
}
.ans2 svg {
  width: 100%;
  height: auto;
  max-height: 120mm;
}
/* ===== アクティビティ集・発展セット ===== */
.bingo2 { display: grid; gap: 2mm; }
.bl-h { margin: 0 0 1mm; font-family: 'Fredoka', sans-serif; font-weight: 700; font-size: 12pt; }
.cut { margin: 1mm 0; text-align: center; color: #8a90a8; font-size: 9pt; letter-spacing: 1px; overflow: hidden; white-space: nowrap; }
.bingo { width: 100%; border-collapse: collapse; table-layout: fixed; }
.bingo td { border: 1.6px solid #141a33; text-align: center; vertical-align: middle; font-weight: 800; font-size: calc(11pt * var(--fs)); padding: 1mm; word-break: break-word; }
.bingo.s5 td { height: 17mm; }
.bingo.s4 td { height: 20mm; }
.bingo .free { font-size: 9pt; color: #d6402c; line-height: 1.2; }
.sg-wrap svg { width: 100%; height: auto; max-height: calc(118mm * var(--fs)); }
.tasks { margin: 2mm 0 0; padding-left: 9mm; columns: 2; column-gap: 6mm; font-size: calc(10pt * var(--fs)); }
.tasks li { break-inside: avoid; margin-bottom: 1mm; }
.tasks li::marker { content: '★' counter(list-item) ' '; font-weight: 800; color: #d6402c; }
.rp-top { display: flex; justify-content: space-between; gap: 4mm; align-items: flex-start; }
.qr { flex: none; width: 24mm; text-align: center; font-size: 7.5pt; line-height: 1.2; }
.qr svg { width: 22mm; height: 22mm; display: block; margin: 0 auto 1mm; }
.rp { width: 100%; border-collapse: collapse; font-size: calc(11pt * var(--fs)); }
.rp th { width: 22mm; text-align: left; vertical-align: top; padding: 1.2mm 2mm; font-family: 'Fredoka', sans-serif; color: #3a5cff; }
.rp td { padding: 1.2mm 2mm; border-bottom: 1px dashed #c9cddc; }
.chk { font-weight: 800; font-size: 10pt; margin: 2mm 0; }
.card-w { display: grid; grid-template-columns: 70mm 1fr; gap: 5mm; border: 2.5px dashed #141a33; border-radius: 5mm; padding: 5mm; margin-bottom: 4mm; }
.card-art { display: grid; place-items: center; border: 1.5px solid #141a33; border-radius: 4mm; padding: 2mm; }
.card-art img { width: 100%; height: auto; max-height: calc(90mm * var(--fs)); object-fit: contain; }
.card-art .emo { font-size: 40mm; }
.card-lines p { margin: 0 0 2mm; font-weight: 800; font-size: 12pt; }
.card-lines i { display: block; border-bottom: 1.2px solid #8a90a8; height: 11mm; }
.card-lines .from { text-align: right; margin-top: 4mm; }
.phr { border: 1.5px solid #141a33; border-radius: 3mm; padding: 2mm 4mm; font-size: calc(10pt * var(--fs)); }
.phr ul { margin: 1mm 0 0; padding-left: 5mm; columns: 2; column-gap: 6mm; font-family: 'Zen Maru Gothic', sans-serif; }
.phr li { break-inside: avoid; }
.phr li span { font-family: 'Nunito', sans-serif; font-weight: 800; }
.res { width: 100%; border-collapse: collapse; font-size: calc(10.5pt * var(--fs)); }
.res th, .res td { border: 1.3px solid #141a33; padding: 1.6mm 2.5mm; text-align: left; vertical-align: top; }
.res th { background: #eef2ff; }
.res td:first-child { width: 40mm; }
.res td i { display: block; border-bottom: 1px solid #c9cddc; height: 8mm; }
.res .flag-i { width: 8mm; height: auto; vertical-align: middle; border: 0.5px solid #999; }
.venn svg { width: 100%; height: auto; max-height: calc(70mm * var(--fs)); }
.read.adv { font-size: calc(11.5pt * var(--fs)); }
.topic { border: 2px solid #141a33; border-radius: 3mm; padding: 2.5mm 4mm; margin-bottom: 3mm; font-weight: 800; }
.topic small { font-weight: 500; color: #4a5272; font-family: 'Zen Maru Gothic', sans-serif; }
.frame { width: 100%; border-collapse: collapse; }
.frame th { width: 26mm; border: 1.3px solid #141a33; background: #eef2ff; font-family: 'Fredoka', sans-serif; text-align: center; font-size: 10.5pt; vertical-align: middle; }
.frame th small { font-family: 'Zen Maru Gothic', sans-serif; font-weight: 500; }
.frame td { border: 1.3px solid #141a33; padding: 1mm 3mm; }
.frame .hint { color: #8a90a8; font-size: 9pt; font-style: italic; }
.frame td i { display: block; border-bottom: 1px solid #c9cddc; height: calc(8.5mm * var(--fs)); }
.tlq { margin: 0; padding-left: 7mm; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(10pt * var(--fs)); }
.tlq li { margin-bottom: 1.2mm; }
.vm { display: grid; grid-template-columns: 1fr 1.6fr; gap: 6mm; font-size: calc(10.5pt * var(--fs)); }
.vm ol { margin: 0; padding-left: 7mm; }
.vm ol:first-child { font-weight: 800; }
.vm li { margin-bottom: 1mm; }
.vm ol[type='a'] { font-family: 'Zen Maru Gothic', sans-serif; }

/* 枠の中で文字を上下中央に・行の高さをそろえる */
.fsw th, .fsw td { vertical-align: middle; height: calc(12mm * var(--fs)); padding: 0 3.5mm; }
.fsw thead th { height: 9mm; }
.res th, .res td, .frame th, .frame td, .rp th, .rp td, .bingo td { vertical-align: middle; }
.res thead th { height: 9mm; padding: 0 3mm; }
.rp th, .rp td { height: calc(8.5mm * var(--fs)); }
.wq { display: flex; align-items: center; min-height: 8mm; }
.wh-name { align-items: center; }
.key span { padding: 0.5mm 1mm; align-content: center; }
.expl { margin: 0; padding-left: 6mm; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(9.5pt * var(--fs)); line-height: 1.6; }
.expl li { margin-bottom: 1mm; }
.tj { margin: 0; padding-left: 5mm; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(9pt * var(--fs)); columns: 2; column-gap: 6mm; }
.tj li { break-inside: avoid; }
/* 授業手順書 */
.lp-sum { display: grid; gap: 3mm; }
.lp-card { border: 1.5px solid #141a33; border-radius: 3mm; padding: 2.5mm 4mm; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(10pt * var(--fs)); }
.lp-t { display: flex; justify-content: space-between; gap: 4mm; margin: 0; }
.lp-t span { white-space: nowrap; font-size: 9pt; color: #4a5272; }
.lp-goal { margin: 1mm 0; color: #4a5272; }
.lp-card ol { margin: 1mm 0 0; padding-left: 5mm; }
.lp-top { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(9.5pt * var(--fs)); margin-bottom: 3mm; }
.lp-top p, .lp-top ul { margin: 1mm 0 0; padding-left: 4mm; }
.lp-top p { padding-left: 0; }
.lp-flow { width: 100%; border-collapse: collapse; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(8.8pt * var(--fs)); line-height: 1.5; }
.lp-flow th, .lp-flow td { border: 1.2px solid #141a33; padding: 1.4mm 2mm; vertical-align: top; text-align: left; }
.lp-flow thead th { background: #eef2ff; text-align: center; vertical-align: middle; }
.lp-flow tbody th { width: 14mm; background: #fff7d6; vertical-align: middle; text-align: center; }
.lp-flow .m { width: 8mm; text-align: center; vertical-align: middle; font-weight: 800; }
.lp-flow .en { font-family: 'Nunito', sans-serif; font-size: calc(8.5pt * var(--fs)); width: 30%; color: #23466e; }
.lp-bot { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-top: 3mm; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(8.8pt * var(--fs)); }
.lp-bot ul { margin: 0.5mm 0 1.5mm; padding-left: 4mm; }
.lp-board pre { white-space: pre-wrap; background: #234c3a; color: #f2f6ee; border-radius: 2mm; padding: 2.5mm 3mm; margin: 1mm 0 0; font-family: 'Zen Maru Gothic', sans-serif; font-size: calc(8.5pt * var(--fs)); line-height: 1.55; }
.vdef { display: grid; grid-template-columns: 0.6fr 1.6fr; gap: 5mm; font-size: calc(10pt * var(--fs)); }
.vdef ol { margin: 0; padding-left: 6mm; }
.vdef ol:first-child { font-weight: 800; }
.vdef li { margin-bottom: 1.2mm; }
.deb { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-bottom: 3mm; font-size: calc(9.5pt * var(--fs)); }
.deb > div { border: 1.5px solid #141a33; border-radius: 3mm; padding: 2mm 3mm; }
.deb ul { margin: 1mm 0; padding-left: 4mm; }
.deb .add { margin: 1mm 0 0; font-weight: 800; font-size: 9pt; }
.deb i { display: block; border-bottom: 1px solid #c9cddc; height: 7mm; }
/* 解答の図（クロスワード・迷路など）も、ページの縮小率（--fs）に合わせて小さくする */
.ans2 svg { max-height: calc(110mm * var(--fs, 1)); }
.ans2 { gap: calc(5mm * var(--fs, 1)); }
/* 英文の音声 QR（Google TTS）：読み物の右上に */
.ws-qr { float: right; width: 24mm; margin: 0 0 2mm 4mm; padding: 1.5mm; border: 1.2px solid #141a33; border-radius: 2.5mm; background: #fff; text-align: center; font-size: 7pt; line-height: 1.25; font-weight: 700; }
.ws-qr svg { display: block; width: 20mm; height: 20mm; margin: 0 auto 1mm; }
