:root{ --ink:#2a2233; --green:#2f8f4e; --gold:#f6d04d; }
*{ box-sizing:border-box; }
body{ margin:0; font-family:Verdana, Tahoma, sans-serif; color:var(--ink); background:#9fdcff; line-height:1.5; }
.bar{ display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; padding:8px 14px; background:var(--ink); color:#fff; position:sticky; top:0; }
.ttl{ font-weight:bold; color:var(--gold); }
.btn{ background:#4b3d5e; color:#fff; border:2px solid #120e1f; padding:6px 12px; font:inherit; font-size:14px; text-decoration:none; cursor:pointer; }
.btn.primary{ background:#e0574f; } .btn:hover{ filter:brightness(1.15); }
#paper{ max-width:900px; margin:20px auto; background:#fffaf0; border:5px solid var(--ink); box-shadow:8px 8px 0 rgba(42,34,51,.8); padding:24px 30px; }
.school{ margin:0; text-transform:uppercase; letter-spacing:.12em; font-weight:bold; color:var(--green); }
.jp-head h2{ margin:.1em 0; font-size:1.9rem; } .jp-head p{ margin:.15em 0; }
.jp-teacher{ background:#f1f5ff; border:3px dashed #7f9fe0; padding:10px 14px; margin:14px 0; font-size:.92rem; }
.jp-teacher h3{ margin:0 0 .3em; }
.flags li{ margin:.2em 0; color:#7a3a10; }
.note{ font-size:.82rem; color:#555; }
table{ border-collapse:collapse; width:100%; margin:.4em 0; background:#fff; font-size:.85rem; }
th, td{ border:1px solid #ccc; padding:4px 6px; text-align:left; vertical-align:top; }
th{ background:#e8e2d2; }
.jp-entry{ border-top:3px solid var(--ink); padding:10px 0 6px; break-inside:avoid; }
.jp-entry h3{ margin:.1em 0 .3em; color:var(--green); } .jp-entry h3 small{ color:#777; font-weight:normal; font-size:.75em; }
.jp-entry p{ margin:.25em 0; } .jp-entry ol{ margin:.2em 0 .4em; }
.lbl{ font-size:.75rem; font-weight:bold; padding:0 .4em; border:1px solid; } .lbl.ok{ color:#2f7a3a; } .lbl.no{ color:#8a5a10; }
.time{ font-size:.75rem; color:#777; }
.write{ color:#999; margin-top:.5em !important; }
.arch-h{ margin-top:30px; border-top:6px double var(--ink); padding-top:14px; }
.arch{ margin-bottom:20px; }
@media print{
  body{ background:#fff; } .bar{ display:none; }
  #paper{ border:none; box-shadow:none; margin:0; max-width:none; padding:0; }
  details > summary{ list-style:none; } details{ display:block; }
  .jp-teacher{ break-inside:avoid; }
  .arch{ break-before:page; }
}
