/* 日本文化テストメーカー — 左で組み立て、右に印刷される紙面。紙面はダークモードでも白い紙のまま。 */

.mk { max-width: 1320px; margin: 0 auto; padding: 22px 16px 60px; }
.mk-hero { padding: 10px 4px 22px; }
.mk-kicker { margin: 0 0 4px; font: 700 12px/1 var(--sans); letter-spacing: .18em; color: var(--shu); }
.mk-hero h1 { font-size: clamp(26px, 4vw, 36px); }
.mk-lead { max-width: 780px; margin: 10px 0 12px; color: var(--ink2); }
.mk-feats { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 0; padding: 0; list-style: none; }
.mk-feats li { padding: 3px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper2); font-size: 13px; color: var(--ink2); }
.mk-feats b { color: var(--shu); margin-right: 1px; }

.mk-body { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 22px; align-items: start; }
@media (max-width: 980px) { .mk-body { grid-template-columns: 1fr; } }

/* ---------- 組み立て ---------- */
.mk-side { display: grid; gap: 14px; }
@media (min-width: 981px) { .mk-side { position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow-y: auto; padding-right: 4px; scrollbar-width: thin; } }
.mk-card { background: var(--paper2); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 15px 15px; box-shadow: var(--sh); }
.mk-card h2 { display: flex; align-items: center; gap: 8px; font-size: 16px; margin-bottom: 10px; }
.mk-card h2 i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--ai); color: #fff; font: 700 12px/1 var(--sans); font-style: normal; }
.mk-note { margin: 6px 0 0; font-size: 12px; color: var(--ink3); line-height: 1.6; }

.mk-presets { display: grid; gap: 7px; }
.mk-preset { display: grid; grid-template-columns: auto 1fr; gap: 0 8px; text-align: left; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); cursor: pointer; font: inherit; transition: border-color .15s, transform .15s; }
.mk-preset:hover { border-color: var(--shu); transform: translateY(-1px); }
.mk-preset b { font-size: 14.5px; }
.mk-preset small { align-self: center; font-size: 11.5px; color: var(--shu); }
.mk-preset span { grid-column: 1 / -1; font-size: 12.5px; line-height: 1.55; color: var(--ink2); }

.mk-f { display: grid; gap: 3px; margin-bottom: 10px; font-size: 13px; color: var(--ink2); }
.mk-f > span:first-child { font-weight: 600; }
.mk-f input, .mk-f select, .mk-add select, .mk-sec select, .mk-sec input, .mk-pick input {
  width: 100%; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font: inherit; font-size: 14px;
}
.mk-f input:focus, .mk-f select:focus, .mk-sec input:focus, .mk-sec select:focus, .mk-pick input:focus { outline: 2px solid color-mix(in srgb, var(--ai) 40%, transparent); outline-offset: 0; border-color: var(--ai); }
.mk-row { display: flex; flex-wrap: wrap; gap: 0 10px; }
.mk-f-sm { flex: 1 1 90px; }
.mk-unit { display: flex; align-items: center; gap: 5px; }
.mk-unit em { font-style: normal; }

.mk-checks { border: 0; margin: 0 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13.5px; }
.mk-checks legend, .mk-cats legend { padding: 0; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--ink2); display: flex; align-items: center; gap: 6px; width: 100%; }
.mk-checks label, .mk-inline { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.mk-checks-col { flex-direction: column; gap: 6px; }
.mk-checks-col label { align-items: flex-start; flex-wrap: wrap; }
.mk-checks-col input { margin-top: 5px; }
.mk-checks-col small { flex-basis: 100%; padding-left: 20px; font-size: 11.5px; color: var(--ink3); line-height: 1.5; }
.mk-mini { margin-left: auto; padding: 1px 8px; border: 1px solid var(--line); border-radius: 999px; background: none; color: var(--ink2); font: inherit; font-size: 11.5px; font-weight: 500; cursor: pointer; }
.mk-mini + .mk-mini { margin-left: 0; }
.mk-cats { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.mk-cats label { cursor: pointer; }
.mk-cats input { position: absolute; opacity: 0; pointer-events: none; }
.mk-cats span { display: inline-block; padding: 3px 10px; border: 1px solid var(--line); border-radius: 999px; font-size: 12.5px; background: var(--paper); transition: background .12s; }
.mk-cats input:checked + span { background: var(--k); border-color: var(--k); color: #fff; }
.mk-cats input:focus-visible + span { outline: 2px solid var(--ai); outline-offset: 1px; }

.mk-pick-box { position: relative; }
.mk-pick-ac { position: absolute; z-index: 5; left: 0; right: 0; top: calc(100% + 3px); margin: 0; padding: 4px; list-style: none; background: var(--paper2); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--sh); max-height: 280px; overflow-y: auto; }
.mk-pick-ac li { display: flex; justify-content: space-between; gap: 8px; padding: 5px 8px; border-radius: 6px; cursor: pointer; font-size: 14px; }
.mk-pick-ac li small { color: var(--ink3); }
.mk-pick-ac li:hover, .mk-pick-ac li.is-on { background: var(--line2); }
.mk-pick-ac li.none { color: var(--ink3); cursor: default; }
.mk-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 6px 0; }
.mk-chip { display: inline-flex; align-items: center; gap: 3px; padding: 2px 4px 2px 10px; border-radius: 999px; background: var(--shu-soft); color: var(--ink); font-size: 13px; }
.mk-chip button { border: 0; background: none; color: var(--ink3); cursor: pointer; font-size: 14px; line-height: 1; padding: 2px 5px; }

.mk-secs { margin: 0 0 10px; padding: 0; list-style: none; display: grid; gap: 8px; }
.mk-sec { border: 1px solid var(--line); border-radius: 10px; padding: 8px 9px; background: var(--paper); }
.mk-sec-none { font-size: 13px; color: var(--ink3); }
.mk-sec-hd { display: flex; align-items: center; gap: 6px; }
.mk-sec-hd > b { flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: var(--ink); color: var(--paper); font: 700 13px/1 var(--sans); }
.mk-sec-hd select { flex: 1; min-width: 0; font-weight: 600; }
.mk-sec-mv { display: flex; gap: 2px; }
.mk-sec-mv button { width: 26px; height: 28px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper2); color: var(--ink2); cursor: pointer; font-size: 12px; }
.mk-sec-mv button:disabled { opacity: .35; cursor: default; }
.mk-sec-row { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 7px; font-size: 12.5px; color: var(--ink2); }
.mk-sec-row label { display: inline-flex; align-items: center; gap: 4px; }
.mk-sec-row input { width: 58px; padding: 4px 6px; font-size: 13.5px; }
.mk-sec-row select { width: auto; padding: 4px 6px; font-size: 13px; }
.mk-sec-row em { font-style: normal; }
.mk-sec-desc { margin: 5px 0 0; font-size: 11.5px; line-height: 1.55; color: var(--ink3); }
.mk-add { display: flex; gap: 6px; }
.mk-add select { flex: 1; min-width: 0; }
.mk-total { margin: 8px 0 0; font-weight: 700; font-size: 14px; }

.mk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--shu); color: #fff; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; transition: filter .15s, transform .15s; white-space: nowrap; }
.mk-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.mk-btn-sub { background: var(--paper2); color: var(--ink); border: 1px solid var(--line); font-weight: 600; font-size: 14px; padding: 8px 14px; }
.mk-go { position: sticky; bottom: 0; z-index: 2; padding: 10px 0 2px; background: linear-gradient(transparent, var(--paper) 30%); }
.mk-go .mk-btn { width: 100%; padding: 13px; font-size: 16px; }
.mk-status { margin: 6px 2px 0; min-height: 1.4em; font-size: 13px; color: var(--ink2); line-height: 1.55; }
.mk-status.is-bad { color: var(--shu); font-weight: 600; }
.is-busy .mk-go .mk-btn { opacity: .6; pointer-events: none; }
.is-busy .mk-doc { opacity: .5; transition: opacity .2s; }

.mk-saved ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.mk-saved li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; }
.mk-saved a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ai); text-decoration: underline; text-underline-offset: 2px; }
.mk-saved small { color: var(--ink3); font-size: 11.5px; }
.mk-saved button { border: 0; background: none; color: var(--ink3); cursor: pointer; }

/* ---------- 右: 道具と空の案内 ---------- */
.mk-main { min-width: 0; }
.mk [hidden] { display: none !important; }
.mk-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.mk-tip { flex-basis: 100%; margin: 2px 0 0; font-size: 12.5px; color: var(--ink3); line-height: 1.6; }
.mk-empty { border: 2px dashed var(--line); border-radius: var(--r); padding: 26px 24px; color: var(--ink2); }
.mk-empty ul { margin: 16px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.mk-empty li { display: grid; gap: 2px; padding: 10px 12px; background: var(--paper2); border: 1px solid var(--line); border-radius: 10px; }
.mk-empty li b { font-size: 14px; color: var(--ink); }
.mk-empty li span { font-size: 12.5px; line-height: 1.6; }

.mk-about { max-width: 900px; margin: 44px auto 0; }
.mk-about h2 { font-size: 20px; margin-bottom: 10px; }
.mk-about ul { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; color: var(--ink2); font-size: 14.5px; }
.mk-about b { color: var(--ink); }

/* ---------- 紙面（画面ではプレビュー、印刷ではそのまま） ---------- */
.mk-doc {
  --pw: 210mm; --fs: 10.5pt;
  --p-ink: #1d1b18; --p-ink2: #4a453e; --p-ink3: #7b736a; --p-line: #bdb5a8; --p-soft: #f3efe7; --p-accent: #1b3a5c;
  --p-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --p-en: "Source Serif 4", "Times New Roman", Georgia, serif;
  --p-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  color: var(--p-ink); font-family: var(--p-serif); font-size: var(--fs); line-height: 1.75;
  font-feature-settings: "palt" 0;
}
.mk-doc[data-size="s"] { --fs: 9.5pt; }
.mk-doc[data-size="l"] { --fs: 12pt; }
.mk-doc [lang="en"] { font-family: var(--p-en); }
.mk-doc p { margin: 0; }
.mk-doc h1, .mk-doc h2 { font-family: var(--p-serif); letter-spacing: 0; }

@media screen {
  .mk-doc { background: #7d7a74; padding: 18px; border-radius: var(--r); overflow-x: auto; }
  .mk-part { width: var(--pw); max-width: 100%; min-height: 120mm; margin: 0 auto; padding: 13mm 14mm 15mm; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.25); }
  .mk-part + .mk-part { margin-top: 18px; position: relative; }
  .mk-part + .mk-part::before { content: "ここから新しいページ"; position: absolute; top: -16px; left: 0; right: 0; text-align: center; font: 600 10px/1 var(--sans); color: #e9e5de; letter-spacing: .1em; }
  @media (max-width: 700px) { .mk-doc { padding: 8px; } .mk-part { padding: 8mm 6mm 10mm; } }
}

.mk-head { border-bottom: 1.6pt solid var(--p-ink); padding-bottom: 2.4mm; margin-bottom: 4.5mm; }
.mk-head-top { display: flex; align-items: center; gap: 2.5mm; min-height: 1.2em; font-family: var(--p-sans); font-size: .82em; color: var(--p-ink2); }
.mk-ver { display: inline-grid; place-items: center; min-width: 6.5mm; height: 6.5mm; padding: 0 1.5mm; border: 1pt solid var(--p-ink); font-weight: 700; color: var(--p-ink); }
.mk-label { padding: .6mm 2.5mm; background: var(--p-ink); color: #fff; font-weight: 700; letter-spacing: .12em; }
.mk-meta { margin-left: auto; }
.mk-title { font-size: 1.62em; line-height: 1.35; margin: 1mm 0 0; font-weight: 700; }
.mk-sub { font-size: .98em; color: var(--p-ink2); margin-top: .4mm !important; }
.mk-doc [contenteditable]:hover { background: #fff8d8; }
.mk-doc [contenteditable]:focus { outline: 1px dashed #c8402f; background: #fff8d8; }
.mk-fields { display: flex; flex-wrap: wrap; gap: 2mm; margin-top: 3mm; font-family: var(--p-sans); font-size: .85em; }
.mk-fld { display: inline-flex; align-items: stretch; border: .8pt solid var(--p-ink); }
.mk-fld i { font-style: normal; padding: 1.3mm 2mm; background: var(--p-soft); border-right: .8pt solid var(--p-ink); white-space: nowrap; }
.mk-fld b { display: inline-block; min-width: 13mm; font-weight: 400; padding: 1.3mm 2mm; }
.mk-fld-name { flex: 1 1 55mm; }
.mk-fld-name b { flex: 1; }
.mk-fld-score b { min-width: 17mm; }
.mk-fld-score em { font-style: normal; align-self: flex-end; padding: 0 2mm 1mm 0; }

.mk-big { margin: 0 0 5.5mm; }
.mk-big-h { display: flex; align-items: baseline; gap: 2.5mm; font-size: 1em; font-weight: 600; line-height: 1.6; margin: 0 0 2.4mm; break-after: avoid; page-break-after: avoid; }
.mk-big-h b { flex: 0 0 auto; display: inline-grid; place-items: center; width: 7mm; height: 7mm; border: 1.2pt solid var(--p-ink); font-family: var(--p-sans); font-size: 1.05em; font-weight: 700; line-height: 1; position: relative; top: 1mm; }
.mk-big-h span { flex: 1; }
.mk-big-h small { flex: 0 0 auto; font-size: .88em; font-weight: 400; color: var(--p-ink2); }

.mk-qs, .mk-subs { margin: 0; padding: 0; list-style: none; }
.mk-q { position: relative; display: grid; grid-template-columns: 9mm 1fr; margin: 0 0 3mm; break-inside: avoid; page-break-inside: avoid; }
.mk-subs .mk-q { grid-template-columns: 11mm 1fr; }
.mk-no { font-family: var(--p-sans); font-size: .92em; padding-top: .1em; }
.mk-text { line-height: 1.7; }
.mk-text-ja { text-align: justify; }
.mk-theme { font-size: 1.15em; font-weight: 700; }
.mk-quote { font-style: italic; }
.mk-topic { margin-left: 2mm; font-size: .85em; color: var(--p-ink2); font-family: var(--p-sans); }
.mk-hint { margin-top: .6mm !important; font-size: .86em; color: var(--p-ink2); font-family: var(--p-sans); }
.mk-hint::before { content: "（"; } .mk-hint::after { content: "）"; }
.mk-ask { font-size: .96em; margin-bottom: .8mm !important; }
.mk-blank { display: inline-block; min-width: 20mm; border-bottom: .9pt solid var(--p-ink); margin: 0 .8mm; vertical-align: baseline; height: 1em; }
.mk-blank-l { min-width: 22mm; height: auto; border: 0; border-bottom: .9pt solid var(--p-ink); text-align: center; font-family: var(--p-sans); font-size: .85em; font-style: normal; }
.mk-abox { display: inline-block; width: 11mm; height: 6.5mm; margin-left: 3mm; border: .8pt solid var(--p-ink); vertical-align: middle; }

.mk-ch { margin: 1.2mm 0 0; padding: 0; list-style: none; display: grid; gap: .8mm 4mm; }
.mk-ch-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mk-ch-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-ch-1 { grid-template-columns: 1fr; }
.mk-ch li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 1.5mm; line-height: 1.55; }
.mk-ch li i { flex: 0 0 auto; font-style: normal; font-family: var(--p-sans); font-size: .95em; }
.mk-ch li span { flex: 1; min-width: 0; }
.mk-ch-1 li span { flex: 1 1 0; }
.mk-ch li small { flex-basis: 100%; padding-left: 5mm; font-size: .8em; color: var(--p-ink2); font-family: var(--p-sans); }
.mk-ch-4 li small { padding-left: 4.5mm; }

.mk-tok { margin-top: 1mm !important; line-height: 1.8; }
.mk-lines { margin-top: 1.5mm; }
.mk-lines span { display: block; height: 8.5mm; border-bottom: .6pt solid var(--p-line); }
.mk-memo { margin-top: 2mm !important; font-size: .85em; color: var(--p-ink2); font-family: var(--p-sans); }
.mk-themes { margin: 1.5mm 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.mk-themes li { border: 1pt solid var(--p-ink); padding: 3mm 2mm; text-align: center; display: grid; gap: .5mm; }
.mk-themes i { font-style: normal; font-size: .78em; color: var(--p-ink2); font-family: var(--p-sans); }
.mk-themes b { font-size: 1.3em; }

.mk-read { position: relative; margin-bottom: 4mm; }
.mk-read-no { font-family: var(--p-sans); font-weight: 700; margin: 1mm 0 1mm !important; }
.mk-passage { padding: 3mm 4mm; border: .8pt solid var(--p-line); line-height: 1.95; text-align: justify; margin-bottom: 3mm; hyphens: auto; }
.mk-passage::first-line { }
.mk-ul { white-space: normal; }
.mk-ul sup { font-family: var(--p-sans); font-size: .7em; margin-right: .3mm; }
.mk-ul u { text-decoration-thickness: .8pt; text-underline-offset: 2.5px; }

.mk-end { text-align: right; font-family: var(--p-sans); font-size: .9em; margin-top: 3mm !important; }

/* 解答用紙 */
.mk-sb { margin: 0 0 5mm; break-inside: avoid; }
.mk-sb-h { display: flex; align-items: center; gap: 3mm; font-size: 1em; margin: 0 0 1.8mm; }
.mk-sb-h b { display: inline-grid; place-items: center; width: 7mm; height: 7mm; border: 1.2pt solid var(--p-ink); font-family: var(--p-sans); font-weight: 700; }
.mk-sb-h > span { font-weight: 400; font-size: .92em; }
.mk-sub-sc { margin-left: auto; display: inline-flex; border: .8pt solid var(--p-ink); font-size: .85em; font-family: var(--p-sans); font-weight: 400; }
.mk-sub-sc i { font-style: normal; padding: 1mm 2mm; background: var(--p-soft); border-right: .8pt solid var(--p-ink); }
.mk-sub-sc em { font-style: normal; min-width: 18mm; text-align: right; padding: 1mm 2mm; }
.mk-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: .8pt solid var(--p-ink); border-left: .8pt solid var(--p-ink); }
.mk-cell { display: grid; grid-template-rows: auto 11mm; border-right: .8pt solid var(--p-ink); border-bottom: .8pt solid var(--p-ink); }
.mk-cell i { font-style: normal; font-size: .8em; text-align: center; padding: .5mm 0; background: var(--p-soft); border-bottom: .6pt solid var(--p-line); font-family: var(--p-sans); }
.mk-wline { display: grid; grid-template-columns: 9mm 1fr auto; align-items: end; gap: 0 1.5mm; margin-bottom: 2.5mm; break-inside: avoid; }
.mk-wline > i { font-style: normal; font-family: var(--p-sans); font-size: .9em; align-self: start; padding-top: 3mm; }
.mk-wline > b { font-family: var(--p-en); font-size: 1.1em; padding-bottom: .5mm; }
.mk-wline .mk-lines { margin: 0; }
.mk-wline-free { grid-template-columns: 9mm 1fr; }
.mk-wc { text-align: right; font-family: var(--p-sans); font-size: .85em; margin-top: 1mm !important; }

/* 解答・解説 */
.mk-k-note { font-size: .85em; color: var(--p-ink2); font-family: var(--p-sans); margin-bottom: 4mm !important; }
.mk-big-key .mk-big-h span { font-family: var(--p-sans); font-weight: 700; }
.mk-k-ans { display: flex; flex-wrap: wrap; gap: 1mm 5mm; padding: 2mm 3mm; background: var(--p-soft); margin-bottom: 2.5mm !important; font-family: var(--p-sans); font-size: .95em; }
.mk-k-ans b { font-weight: 700; }
.mk-k-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2.4mm; }
.mk-k-list > li { break-inside: avoid; padding-left: 2mm; border-left: 1.5pt solid var(--p-line); }
.mk-k-list > li > b { font-family: var(--p-sans); }
.mk-k-list > li > small { margin-left: 1.5mm; color: var(--p-ink2); font-size: .85em; }
.mk-k-en { font-size: .95em; line-height: 1.6; margin-top: .6mm !important; }
.mk-k-ja { font-size: .88em; line-height: 1.65; color: var(--p-ink2); margin-top: .3mm !important; text-align: justify; }
.mk-k-src { font-size: .75em; color: var(--p-ink3); font-family: var(--p-sans); margin-top: .6mm !important; }
.mk-k-src a { color: inherit; }
.mk-k-rub { font-size: .8em; color: var(--p-ink2); margin-top: 1mm !important; padding: 1mm 2mm; background: var(--p-soft); font-family: var(--p-sans); }
.mk-k-h { font-family: var(--p-sans); font-weight: 700; font-size: .92em; margin-top: 2.5mm !important; }
.mk-k-h2 { font-family: var(--p-sans); font-weight: 700; font-size: .82em; color: var(--p-ink2); margin-top: 2mm !important; }
.mk-k-read { margin-bottom: 4mm; }
.mk-k-guide { margin-bottom: 4mm; }
.mk-k-set { padding: 2mm 0 2mm 3mm; border-left: 1.5pt solid var(--p-line); margin-top: 2mm; }
.mk-k-t { font-weight: 700; font-size: 1.05em; }
.mk-k-qa { margin: 0; padding: 0; list-style: none; display: grid; gap: 1.5mm; }
.mk-k-qa li { break-inside: avoid; }
.mk-credit { margin-top: 6mm !important; padding-top: 2mm; border-top: .6pt solid var(--p-line); font-size: .75em; color: var(--p-ink3); font-family: var(--p-sans); }

/* 画面だけの道具（差し替え・削除） */
.mk-qtools { position: absolute; right: 0; top: -2px; z-index: 1; display: none; gap: 3px; font-family: var(--sans); }
.mk-q:hover > .mk-qtools, .mk-read:hover > .mk-qtools, .mk-q:focus-within > .mk-qtools { display: flex; }
.mk-qtools button { padding: 2px 9px; border: 1px solid #c9c2b6; border-radius: 999px; background: #fff; color: #4a453e; font-size: 11.5px; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.mk-qtools button:hover { border-color: #c8402f; color: #c8402f; }
@media (hover: none) { .mk-qtools { display: flex; position: static; justify-content: flex-end; grid-column: 1 / -1; order: 9; margin-top: 1mm; } }

/* ---------- 印刷 ---------- */
@media print {
  body[data-page="maker"] { background: #fff !important; }
  body[data-page="maker"] .skip, body[data-page="maker"] .hd, body[data-page="maker"] .gnav, body[data-page="maker"] .ft,
  body[data-page="maker"] .drawer, body[data-page="maker"] .drawer-bg, body[data-page="maker"] .to-top, body[data-page="maker"] .toast,
  .mk-hero, .mk-side, .mk-tools, .mk-empty, .mk-about, .mk-qtools, [data-noprint] { display: none !important; }
  .mk, .mk-body, .mk-main { display: block; max-width: none; margin: 0; padding: 0; }
  .mk-doc { background: none; padding: 0; opacity: 1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .mk-part { width: auto; padding: 0; box-shadow: none; }
  .mk-part + .mk-part { break-before: page; page-break-before: always; }
  .mk-doc [contenteditable] { background: none !important; outline: 0 !important; }
  .mk-k-src a { text-decoration: none; }
}
