/* Printables plugin pages: name tracing, weekly packs and three-level worksheets. Uses the tokens from brand.css and courses.css. */
.pr-maker{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:32px;align-items:start}
.pr-form{display:grid;gap:18px;min-width:0}
.pr-form fieldset{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px 16px;margin:0;min-width:0}
.pr-form legend{font-family:var(--font-display);font-weight:700;font-size:17px;padding:0 6px;margin-left:-6px}
.pr-field{display:grid;gap:5px;margin-top:10px;min-width:0}
.pr-field:first-of-type{margin-top:4px}
.pr-field label{font-weight:650;font-size:15px}
.pr-field label span{font-weight:400;color:var(--muted)}
.pr-field input,.pr-field select{width:100%;min-height:46px;padding:9px 12px;border:1.5px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);font-size:17px}
.pr-field input:focus,.pr-field select:focus{border-color:var(--brand);outline:3px solid var(--pencil);outline-offset:1px}
.pr-field input[aria-invalid="true"]{border-color:var(--bad);background:#fff7f6}
.pr-hint{margin:10px 0 0;font-size:14px;color:var(--muted);line-height:1.45}
.pr-choices{display:flex;flex-wrap:wrap;gap:8px}
.pr-choice{position:relative;display:inline-flex}
.pr-choice input{position:absolute;opacity:0;width:1px;height:1px}
.pr-choice span{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1.5px solid var(--line-strong);border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;background:#fff}
.pr-choice input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep)}
.pr-choice input:focus-visible+span{outline:3px solid var(--pencil);outline-offset:2px}
.pr-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pr-row .pr-field{margin-top:0}
.pr-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;cursor:pointer}
.pr-check input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--brand)}
.pr-error{margin:0;color:var(--bad);font-weight:650;font-size:15px}
.pr-error:empty,.pr-status:empty{display:none}
.pr-status{margin:0;color:var(--ok);font-weight:650;font-size:15px}
.pr-form .actions{margin-top:0}
.pr-privacy{margin:0;font-size:14px;color:var(--muted);line-height:1.45}
.pr-note{margin:6px 0 0;font-size:14px;color:var(--muted)}
.pr-preview{position:sticky;top:16px;min-width:0}
.pr-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.pr-preview-head h2{margin:0}
.pr-preview-head .pr-note{margin:0}
.pr-pages{display:grid;gap:16px;padding:16px;background:var(--wash);border:1.5px solid var(--line);border-radius:14px;min-width:0}
.pr-page{background:#fff;padding:3.5%;box-shadow:0 2px 10px #17203314;border-radius:4px;min-width:0}
.pr-page svg{display:block;width:100%;height:auto}
.pr-single{max-width:720px}
.pr-section{margin-top:36px}
.pr-section>h2{margin-bottom:8px}
.pr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:14px}
.pr-card{position:relative;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
.pr-card:hover{border-color:var(--brand)}
.pr-card h3{margin:0 0 4px;font-size:18px}
.pr-card h3 a::after{content:"";position:absolute;inset:0}
.pr-card p{margin:0;font-size:14px;color:var(--muted)}
.pr-lesson{margin-top:40px;padding:24px;border-radius:14px;background:var(--pencil-wash,#fff6dc);border:1.5px solid #f0d78e}
.pr-lesson h2{margin-top:0}
.pr-lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.pr-lesson-grid article{position:relative;padding-left:44px}
.pr-lesson-grid h3{margin:2px 0 6px;font-size:18px}
.pr-lesson-grid p{margin:0;font-size:16px}
.pr-step{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ok);color:#fff;font-weight:700}
.pr-tip{margin:18px 0 0;padding-top:14px;border-top:1px solid #f0d78e}
.pr-grades{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.pr-grade{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border:1.5px solid var(--line-strong);border-radius:12px;color:var(--ink);background:#fff}
.pr-grade b{font-family:var(--font-display);font-size:28px;line-height:1;color:var(--brand)}
.pr-grade span{font-size:14px;color:var(--muted)}
.pr-grade:hover{border-color:var(--brand);text-decoration:none}
.pr-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.pr-days>div{display:grid;align-content:start;gap:4px;padding:12px;border:1.5px solid var(--line);border-radius:12px;font-size:14px;line-height:1.4}
.pr-days b{font-size:15px}
.pr-list{padding-left:22px}
.pr-list li{margin-bottom:6px}
.pr-day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pr-day{display:flex;flex-direction:column;gap:10px;padding:16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;min-width:0}
.pr-day header p{margin:0}
.pr-day h3{margin:2px 0 0;font-size:19px;line-height:1.25}
.pr-day-name{font-weight:700;color:var(--brand);font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.pr-sample{margin:0;padding-left:20px;font-size:14px;color:var(--muted);line-height:1.45;flex:1}
.pr-sample li{margin-bottom:6px;overflow-wrap:anywhere}
.pr-day-links{display:flex;flex-wrap:wrap;gap:8px}
.pr-day-links .button{flex:1 1 auto;min-height:42px;padding:8px 12px;font-size:15px}
.pr-lesson-week{padding:22px 24px;border-radius:14px;background:var(--brand-soft);border:1.5px solid #dde3ff}
.pr-lesson-week h2{margin-top:4px}
.pr-weeknav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:28px}
.pr-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.pr-level{display:grid;gap:4px;padding:14px;border-radius:12px;border:1.5px solid var(--line);border-top-width:5px;font-size:15px;line-height:1.45}
.pr-support{border-top-color:var(--ok)!important}
.pr-core{border-top-color:var(--brand)!important}
.pr-challenge{border-top-color:#c2372a!important}
.pr-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pr-level-col{padding:16px;border:1.5px solid var(--line);border-top-width:5px;border-radius:14px;background:#fff;min-width:0}
.pr-level-col h3{margin:0 0 4px;font-size:21px}
.pr-level-col header p{margin:0 0 10px;font-size:14px;color:var(--muted);line-height:1.45}
.pr-level-col h4{margin:12px 0 6px;font-size:15px}
.pr-facts{margin:0;display:grid;gap:6px;font-size:14px}
.pr-facts div{display:grid;gap:1px}
.pr-facts dt{font-weight:700}
.pr-facts dd{margin:0;color:var(--muted)}
@media(max-width:1020px){.pr-maker{grid-template-columns:1fr}.pr-preview{position:static}.pr-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pr-lesson-grid,.pr-levels,.pr-level-grid{grid-template-columns:1fr}.pr-lesson{padding:18px}.pr-pages{padding:10px}.pr-row{grid-template-columns:1fr}.pr-days{grid-template-columns:1fr}}
@media print{.pr-form,.pr-cards,.pr-lesson,.pr-weeknav{display:none!important}.pr-pages{border:0;background:none;padding:0}.pr-page{box-shadow:none;padding:0}}
.pr-singles{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.pr-singles a{display:block;padding:8px 10px;border:1px solid #d5dbea;border-radius:8px;background:#fff;text-align:center;text-decoration:none;font-weight:600}
