/* テストまでの勉強計画シート（A4縦・1人1枚・白黒印刷でも読める）2026-10-26 */
#planPrint{display:none}
@media print{
  @page{size:A4 portrait;margin:8mm}
  body.ps-printing{background:#fff!important}
  body.ps-printing>*:not(#planPrint){display:none!important}
  body.ps-printing #planPrint{display:block!important}
}
.ps-page{box-sizing:border-box;width:194mm;height:280mm;display:flex;flex-direction:column;gap:2.2mm;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif;color:#1d2433;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;line-height:1.3;overflow:hidden;break-after:page;page-break-after:always;text-align:left}
.ps-page:last-child{break-after:auto;page-break-after:auto}
.ps-page *{box-sizing:border-box}
.ps-page h1,.ps-page h3,.ps-page ul{margin:0;padding:0;color:#1d2433;font-family:inherit;line-height:1.25;text-transform:none}.ps-page small,.ps-page b,.ps-page em,.ps-page span{font-family:inherit}

/* 見出し */
.ps-head{display:flex;justify-content:space-between;gap:4mm;border:0.6mm solid #1d2433;border-radius:3mm;padding:2.6mm 4mm}
.ps-kicker{font-size:7pt;font-weight:700;letter-spacing:.14em;color:#5b6475}
.ps-title{font-size:18pt;font-weight:800;letter-spacing:.02em;margin:.6mm 0 .8mm}
.ps-title small{font-size:11pt;font-weight:700}
.ps-sub{font-size:8.5pt;color:#3b4456;font-weight:700}
.ps-who{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:1.2mm;min-width:52mm}
.ps-count{background:#1d2433;color:#fff;border-radius:2mm;padding:1mm 3.2mm;font-size:9.5pt;font-weight:700;white-space:nowrap}
.ps-count b{font-size:15pt;margin:0 .6mm}
.ps-seat{font-size:9.5pt;font-weight:800}
.ps-name{font-size:13pt;font-weight:800;border-bottom:0.3mm solid #1d2433;min-width:50mm;min-height:7mm;text-align:center;padding:0 2mm}

/* 数字のまとめ */
.ps-stats{display:grid;grid-template-columns:1fr 1fr .9fr 1.15fr 2.4fr;gap:1.8mm}
.ps-stat{border:0.3mm solid #b9c0cc;border-radius:2mm;padding:1.3mm 2.2mm;min-width:0}
.ps-stat small{display:block;font-size:6.6pt;color:#5b6475;font-weight:700}
.ps-stat b{font-size:13pt;font-weight:800;white-space:nowrap}.ps-stat b span{font-size:7.2pt;font-weight:700;margin-left:.6mm}
.ps-subjects>div{display:flex;flex-wrap:wrap;gap:.8mm 2.6mm;font-size:7.6pt;margin-top:.6mm}
.ps-subjects b{font-size:9pt}.ps-subjects .ps-subj{margin-right:.8mm}
.ps-none{font-size:7pt;color:#5b6475}

/* 教科の印（白黒でも文字で分かる） */
.ps-subj{display:inline-block;font-style:normal;font-weight:800;font-size:6.2pt;line-height:1.35;border-radius:.6mm;padding:0 .5mm;color:#fff;background:#5d6270;text-align:center;min-width:3.2mm}
.ps-subj.s0{background:#c0394d}.ps-subj.s1{background:#2f64b5}.ps-subj.s2{background:#7448b5}.ps-subj.s3{background:#2f8456}.ps-subj.s4{background:#e0b000;color:#3b2f00}.ps-subj.s5{background:#5d6270}

/* カレンダー */
.ps-cal{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 20mm;grid-template-rows:5mm repeat(var(--weeks),minmax(0,1fr));border-top:0.5mm solid #1d2433;border-left:0.5mm solid #1d2433}
.ps-cal>div{border-right:0.3mm solid #8f98a8;border-bottom:0.3mm solid #8f98a8;min-width:0;min-height:0;overflow:hidden}
.ps-cal>div:nth-child(8n){border-right:0.5mm solid #1d2433}
.ps-wd{display:flex;align-items:center;justify-content:center;background:#e8ecf3;font-size:7.6pt;font-weight:800}
.ps-wd.ps-sat{color:#2c5e9e}.ps-wd.ps-sun{color:#b23a4f}
.ps-cell{display:flex;flex-direction:column;gap:.5mm;padding:.9mm 1.1mm 1mm}
.ps-cell.ps-sat,.ps-cell.ps-sun{background:#f5f6f9}
.ps-cell.ps-out{background:repeating-linear-gradient(135deg,#fff 0 1.4mm,#eef0f4 1.4mm 2.8mm)}
.ps-cell.ps-out .ps-date{color:#aab1bd}
.ps-date{display:flex;align-items:center;gap:1mm;min-height:4.4mm}
.ps-date b{font-size:11pt;font-weight:800;line-height:1}
.ps-date .m{font-size:7pt;margin-right:.3mm}
.ps-cell.ps-sun .ps-date b{color:#b23a4f}.ps-cell.ps-sat .ps-date b{color:#2c5e9e}
.ps-today{font-style:normal;font-size:6pt;font-weight:800;background:#1d2433;color:#fff;border-radius:1mm;padding:0 1mm}
.ps-cell.ps-now{box-shadow:inset 0 0 0 0.6mm #1d2433}
.ps-cell.ps-test{background:#fff1f4;box-shadow:inset 0 0 0 0.8mm #b23a4f}
.ps-testband{background:#b23a4f;color:#fff;font-size:7.4pt;font-weight:800;text-align:center;border-radius:.8mm;padding:.3mm 0;letter-spacing:.08em}
.ps-ev{font-size:6.2pt;font-weight:700;color:#24604f;border:0.25mm solid #8fbfb1;border-radius:.8mm;padding:0 .8mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-ev.ps-evt{color:#9a3346;border-color:#d99aa7}
.ps-plans{list-style:none;display:grid;gap:.7mm;flex:1;align-content:start;min-height:0;overflow:hidden}.ps-cal.ps-dense .ps-txt{-webkit-line-clamp:2}
.ps-plans li{background:none;border:0;display:grid;grid-template-columns:2.6mm auto minmax(0,1fr);gap:.6mm;align-items:start;font-size:6.6pt;line-height:1.28}
.ps-box{display:inline-flex;align-items:center;justify-content:center;font-size:6.5pt;font-weight:800;line-height:1;font-style:normal;width:2.6mm;height:2.6mm;border:0.3mm solid #1d2433;border-radius:.4mm;margin-top:.15mm;background:#fff;vertical-align:middle}
.ps-txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.ps-txt small{font-size:5.8pt;color:#4a5263}
.ps-plans li.ps-deadline .ps-txt b{background:#1d2433;color:#fff;border-radius:.5mm;padding:0 .5mm;font-size:5.8pt}
.ps-plans li.ps-exam .ps-txt b{border:0.25mm solid #b23a4f;color:#9a3346;border-radius:.5mm;padding:0 .4mm;font-size:5.8pt}
.ps-more{font-size:5.8pt;color:#4a5263;font-weight:700}
.ps-rec{margin-top:auto;display:flex;align-items:flex-end;gap:.6mm;font-size:6.4pt;color:#4a5263;border-top:0.2mm dashed #b9c0cc;padding-top:.6mm;white-space:nowrap}
.ps-rec.ps-done{color:#1d2433}.ps-rec.ps-done b{font-size:7.4pt}
.ps-fill{display:inline-block;flex:1;min-width:5mm;border-bottom:0.3mm solid #1d2433;height:3.2mm}
.ps-week{display:flex;flex-direction:column;gap:.9mm;padding:1.2mm 1.4mm;background:#f1f3f8;font-size:6.6pt}
.ps-week>b{font-size:8pt}.ps-week small{font-size:6pt;color:#5b6475;margin-top:-.6mm}
.ps-week span b{font-size:9pt}
.ps-week-fill{display:flex;align-items:flex-end;gap:.5mm;margin-top:auto}
.ps-week-rec{font-size:6pt;color:#24604f;font-weight:700}

/* 下の欄 */
.ps-legend{display:flex;flex-wrap:wrap;gap:1mm 5mm;font-size:6.8pt;color:#3b4456;font-weight:700}
.ps-legend .ps-box{margin-right:.6mm}
.ps-foot{display:grid;grid-template-columns:1fr 1fr;gap:3mm}
.ps-write{border:0.3mm solid #8f98a8;border-radius:2mm;padding:1.6mm 3mm 2mm}
.ps-write h3{font-size:7.8pt;font-weight:800}
.ps-line{border-bottom:0.25mm solid #8f98a8;height:7mm}
.ps-printed{font-size:6.2pt;color:#7a8291;text-align:right}
