/* Weekly worksheet: write by hand first, check online after; prints as a blank A4 booklet.
   Layout follows the Year 6 Japanese worksheet; colours follow the site's home page. */
:root{--bg:#fff;--surface:#f7f8fa;--ink:#1d2430;--muted:#5d6875;--line:#dfe4ea;--ocean:#0f5c8c;--ocean-deep:#0c3b5c;--ocean-soft:#e8f1f7;
  --gold:#a4501f;--gold-soft:#fff3e4;--green:#2e7d4f;--green-soft:#e7f3ec;--red:#b3261e;--red-soft:#fbe9e7;--focus:#075fe4}
*{box-sizing:border-box}html{color-scheme:light}
body{margin:0;background:var(--surface);color:var(--ink);font:16px/1.45 Arial,"Hiragino Sans","Yu Gothic","PingFang SC",sans-serif}
button,input{font:inherit}
button{min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:8px 15px;font-weight:700;cursor:pointer}
button:hover{border-color:var(--ocean);background:var(--ocean-soft)}
button.primary{background:var(--ocean);border-color:var(--ocean);color:#fff}button.primary:hover{background:var(--ocean-deep);color:#fff}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.home-link{width:min(1000px,calc(100% - 32px));margin:12px auto 0;color:var(--ocean-deep);font-weight:700;text-decoration:none;display:block}
main{width:min(1000px,calc(100% - 32px));margin:16px auto 40px;background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.hero{padding:20px 28px 16px;border-bottom:1px solid var(--line);background:#fff}
.lesson-label{margin:0 0 4px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold)}
h1{font-size:30px;line-height:1.2;margin:0 0 6px;text-wrap:balance}.goal{margin:0;color:var(--muted)}
.worksheet-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 24px;border-bottom:1px solid var(--line);background:var(--surface)}
.screen-note{margin:10px 24px 0;padding:8px 12px;border-radius:10px;background:var(--gold-soft);border:1px solid #f0d6bd}
.sheet{padding:14px 24px 24px;display:grid;gap:18px}
.sheet-page{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fff}
.page-head{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ocean);padding-bottom:7px;margin-bottom:9px}.page-head strong{color:var(--ocean-deep)}
.part{margin-top:14px}.part h2{font-size:1.25rem;color:var(--ocean-deep);margin:0 0 3px}.part>p{margin:0 0 7px;color:var(--muted)}
.ws-review{display:inline-block;color:#8a6a00!important;background:#fffdf5;border:1px solid #e9c46a;border-radius:8px;padding:2px 8px;font-size:.8rem;font-weight:700}
.meaning-bank{display:flex;flex-wrap:wrap;gap:5px 16px;padding:8px 10px;border-radius:10px;background:var(--gold-soft);font-size:.9rem;margin-bottom:7px}.meaning-bank span{white-space:nowrap}
.question{display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,.7fr);gap:10px;align-items:end;min-height:44px;border-bottom:1px solid #e5e9ee;padding:5px 0}
.question label{font-weight:700}
.question input{width:100%;height:36px;border:0;border-bottom:2px solid #4b5563;border-radius:0;background:#fff;padding:4px 6px;color:var(--ink)}
.question.correct input{border-color:var(--green);background:var(--green-soft)}.question.incorrect input{border-color:var(--red);background:var(--red-soft)}
.answer-hint{display:none;color:var(--green);font-weight:700;font-size:.9rem}.answers-shown .answer-hint{display:block}
.answer-hint.block{border-left:3px solid var(--green);padding:4px 10px;margin:6px 0;font-weight:400;color:var(--ink)}.answer-hint.block p{margin:2px 0}
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 18px}
.question.kq{grid-template-columns:3rem 1fr;min-height:48px}
.kbig{font-size:1.6rem;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}
.jpw{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",Arial,sans-serif}
.wgrid{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0}
.wgrid span{width:46px;height:46px;border:1px solid #9aa6b2;background:linear-gradient(#e5e9ee,#e5e9ee) center/1px 100% no-repeat,linear-gradient(#e5e9ee,#e5e9ee) center/100% 1px no-repeat}
.wgrid span.model{display:grid;place-items:center;background:var(--ocean-soft);border-color:var(--ocean)}
.wgrid span.kword{width:auto;height:auto;border:0;background:none;color:var(--muted);font-size:.9rem;margin-left:6px}
.ws-q{font-weight:700;margin:6px 0}.ws-note{color:var(--muted);font-size:.9rem;margin:0 0 4px}
.ws-text{border-left:3px solid var(--ocean);padding:2px 12px;margin:6px 0 8px}.ws-text p{margin:3px 0}
.ws-lines span{display:block;height:34px;border-bottom:1px solid #4b5563}.ws-lines.tall span{height:36px}
.own-line{display:grid;grid-template-columns:minmax(120px,14rem) 1fr;gap:10px;align-items:end}.own-line .ws-lines span{height:30px}
.ws-table{width:100%;border-collapse:collapse;margin:6px 0 10px;font-size:.95rem}.ws-table th,.ws-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.ws-table th{background:var(--ocean-soft)}.ws-grid td:nth-child(2){width:62%;height:38px}.ws-box{background:var(--ocean-soft);border:1px solid #c8dceb;border-radius:10px;padding:8px 12px;margin:6px 0 10px}.ws-box p{margin:4px 0}.part h3{font-size:1rem;margin:14px 0 4px;color:var(--ink)}.ws-blank{display:inline-block;min-width:3em;border-bottom:1.5px solid var(--ink)}.ws-hint{color:var(--muted);font-weight:400}.ws-intro{border:1px solid var(--line);border-left:4px solid var(--ocean);border-radius:10px;padding:8px 12px;margin:4px 0 10px}.ws-intro p{margin:3px 0}.ws-dim{color:var(--muted);font-size:.85rem}
.footer{padding:11px 28px;color:var(--muted);font-size:.86rem}
@media(max-width:780px){main,.home-link{width:calc(100% - 16px)}.hero,.worksheet-toolbar{padding-left:16px;padding-right:16px}.sheet{padding-inline:10px}
  .sheet-page{padding:12px}.question{grid-template-columns:1fr}.own-line{grid-template-columns:1fr}h1{font-size:1.45rem}}
@page{size:A4;margin:12mm}
@media print{
  body{background:#fff}.home-link,.hero,.worksheet-toolbar,.screen-note,.footer{display:none!important}
  main{width:100%;margin:0;border:0;box-shadow:none;overflow:visible}.sheet{display:block;padding:0}
  .sheet-page{border:0;border-radius:0;padding:0;break-after:page}.sheet-page:last-child{break-after:auto}
  .part{margin-top:4mm}.part h2{font-size:12pt;break-after:avoid}.part>p{font-size:9pt;break-after:avoid}.question{grid-template-columns:1fr 55mm!important;min-height:8.5mm;padding:.8mm 0;font-size:10pt;break-inside:avoid}.question.kq{grid-template-columns:12mm 1fr!important}.kgrid{grid-template-columns:repeat(4,1fr)!important}.own-line{grid-template-columns:45mm 1fr!important}.wgrid{break-inside:avoid;margin:1.5mm 0}.wgrid span{width:11mm;height:11mm}.ws-text{break-inside:avoid}
  .question input{color:transparent!important;background:#fff!important;border-bottom:1pt solid #333!important}
  .answer-hint{display:none!important}.ws-table th{background:#fff}.ws-box{background:#fff}.ws-grid td:nth-child(2){height:11mm}.ws-lines span{height:9mm;border-bottom:.6pt solid #333}
  .meaning-bank{background:#fff;border:1pt solid #e0c9a8}.wgrid span.model{background:#fff}
}
