/* ぐにゃり漢字カードジェネレーター（名前空間：.kanji-cards-wrap） */
.kanji-cards-wrap { --fg:#111; --bg:#f0f8ff; --panel:#fff; --line:#e5e7eb; --primary:#2563eb; --ok:#16a34a; --muted:#6b7280; }
.kanji-cards-wrap h1 { text-align:center; color:var(--primary); margin: 12px 0 18px; }
.kanji-cards-wrap .grid { display:grid; gap:18px; grid-template-columns: 1fr; }
@media (min-width: 1100px){ .kanji-cards-wrap .grid { grid-template-columns: 1.1fr 1.6fr 1fr; } }
.kanji-cards-wrap .card { background:var(--panel); border:2px solid var(--line); border-radius:16px; padding:16px; }

.kanji-cards-wrap .row { margin-bottom:14px; }
.kanji-cards-wrap label { display:block; font-weight:700; margin-bottom:6px; color:#111; }
.kanji-cards-wrap select, .kanji-cards-wrap input[type="number"] {
  font-size:16px; padding:8px 10px; border:2px solid var(--line); border-radius:10px; background:#fff;
}
.kanji-cards-wrap .grid2 { display:grid; grid-template-columns: 1fr 1fr; gap:10px; align-items:center; }
.kanji-cards-wrap .grid2 span { display:inline-block; min-width:5em; color: var(--muted); }

.kanji-cards-wrap .badges { display:grid; grid-template-columns: repeat(4, 1fr); gap:8px; }
.kanji-cards-wrap .badge { padding:10px; border:2px solid var(--line); border-radius:12px; text-align:center; cursor:pointer; user-select:none; }
.kanji-cards-wrap .badge.active { background: var(--primary); color:#fff; border-color: var(--primary); }

.kanji-cards-wrap .size-free { display:none; gap:6px; align-items:center; margin-top:6px; }
.kanji-cards-wrap .random-num { display:none; gap:6px; align-items:center; margin-top:6px; }
.kanji-cards-wrap .check { display:block; margin-top:6px; color:#222; }

.kanji-cards-wrap .actions .btn { width:100%; margin-bottom:8px; }
.kanji-cards-wrap .btn { padding:12px 16px; border-radius:12px; border:2px solid var(--line); background:#fff; cursor:pointer; font-weight:700; }
.kanji-cards-wrap .btn.primary { background: var(--primary); color:#fff; border-color:var(--primary); }
.kanji-cards-wrap .btn.ok { background: var(--ok); color:#fff; border-color:var(--ok); }

.kanji-cards-wrap .canvasWrap { display:flex; justify-content:center; align-items:center; min-height:300px; background:#e6f3ff; border-radius:16px; margin:10px 0; padding:10px; }
.kanji-cards-wrap canvas { background:#fff; border:2px solid var(--primary); border-radius:12px; max-width:100%; height:auto; }

.kanji-cards-wrap .note { color: var(--muted); font-size: 13px; }

.kanji-cards-wrap .list-head { display:flex; justify-content:space-between; align-items:center; }
.kanji-cards-wrap .mini-actions .mini {
  padding:6px 10px; border:1px solid var(--line); background:#fff; border-radius:8px; cursor:pointer; margin-left:6px; font-size:12px;
}
.kanji-cards-wrap .kanji-list {
  display:grid; grid-template-columns: repeat(4, 1fr); gap:6px; max-height: 520px; overflow:auto; border:1px dashed var(--line); border-radius:10px; padding:8px;
}
.kanji-cards-wrap .kanji-list label { display:flex; align-items:center; gap:6px; font-weight:600; border:1px solid var(--line); border-radius:8px; padding:6px 8px; background:#fff; }

/* 印刷ビュー（別ウィンドウ側で使う簡易リセット） */
.print-page { margin: 10mm; font-family: system-ui, "Noto Sans JP", sans-serif; }
.print-grid { position: relative; width: 210mm; height: 297mm; box-sizing: border-box; }
.card-item { position:absolute; box-sizing:border-box; }
.card-item .frame { width:100%; height:100%; border:1px dashed #cbd5e1; }
.card-item .crop { position:absolute; width:100%; height:100%; pointer-events:none; }
/* 追加（印刷ボタン用の強調カラー） */
.kanji-cards-wrap .btn.print{
  background: #f59e0b;   /* amber-500 */
  color: #fff;
  border-color: #d97706; /* amber-600 */
}
.kanji-cards-wrap .btn.print:hover{
  filter: brightness(0.95);
}