.canvas-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(20px,calc((100vw - 1400px)/2));border-bottom:1px solid var(--line)}
.canvas-header>a:last-child{font-size:.9rem;text-underline-offset:4px}.canvas-shell{max-width:1440px;margin:auto;padding:0 24px}.intro{max-width:850px;padding:58px 0 38px}.intro h1{font-size:clamp(2.3rem,4.5vw,4.4rem);line-height:1.08;letter-spacing:-.045em;margin:16px 0 24px}.intro .lead{font-size:1.2rem}.intro p{max-width:730px}.title-row{display:flex;gap:24px;align-items:center;margin-bottom:22px}.title-row>div{flex:1}.draft-tag{color:var(--accent-dark);border:1px solid #d9b29a;border-radius:24px;padding:8px 16px;font-size:.85rem}.canvas-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:20px;align-items:start}.canvas-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;min-width:0}.canvas-card h2,.reflection h2{font-size:1.22rem;letter-spacing:-.025em;margin:0 0 22px}.richting{grid-column:1;grid-row:1}.opzet{grid-column:2;grid-row:1 / span 2;border-top:5px solid var(--accent);box-shadow:0 12px 36px #2823190a}.praktisch{grid-column:3;grid-row:1}.leren{grid-column:1;grid-row:2}.buddy{grid-column:3;grid-row:2}label{display:block;font-weight:700;font-size:.95rem;margin-bottom:6px}label span{font-weight:400}.hint{font-size:.88rem;color:#625e55;line-height:1.5;margin:0 0 10px}input,textarea{display:block;width:100%;font:inherit;color:var(--ink);background:#fffefb;border:1px solid #bdb7ab;border-radius:10px;padding:12px;line-height:1.55;min-width:0}textarea{resize:vertical;margin-bottom:22px;min-height:90px}.canvas-card textarea:last-child,.reflection textarea{margin-bottom:0}.opzet textarea[name=opzet]{min-height:330px}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.reflection{margin-top:24px;padding:24px 28px;border-radius:20px;background:#e5e9df}.reflection h2{margin-bottom:12px}.reflection p{font-size:.95rem;max-width:1050px}.save-row{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:.85rem;color:#625e55;margin:12px 0 40px}.quiet{font:inherit;border:0;background:none;text-decoration:underline;cursor:pointer;white-space:nowrap;padding:12px;color:var(--ink)}.export{border-top:1px solid var(--line);padding:38px 0;max-width:950px}.export h2{font-size:2rem;margin:10px 0}.export-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}button.btn{font:inherit;cursor:pointer;min-height:48px}summary{cursor:pointer;font-weight:700;padding:14px 0}#prompt{font-size:.9rem;margin-top:10px;min-height:260px}#export-status{min-height:1.6em}footer{padding:20px 0 35px;font-size:.85rem;color:#625e55}.notice{padding:20px;background:#fff3d9}#canvas{scroll-margin-top:20px}
@media(max-width:1000px){.canvas-grid{grid-template-columns:1fr 1.3fr}.richting{grid-column:1;grid-row:1}.opzet{grid-column:2;grid-row:1 / span 2}.praktisch{grid-column:1;grid-row:2}.leren{grid-column:1;grid-row:3}.buddy{grid-column:2;grid-row:3}}
@media(max-width:650px){.canvas-shell{padding:0 16px}.canvas-header{padding:18px 16px}.brand{font-size:1rem}.intro{padding:32px 0}.intro h1{font-size:2.5rem}.canvas-grid{display:flex;flex-direction:column;gap:16px}.canvas-card{width:100%;padding:20px}.title-row{display:block}.draft-tag{display:none}.reflection{padding:20px}.save-row{align-items:start;flex-direction:column;gap:0}input,textarea{font-size:16px}.opzet textarea[name=opzet]{min-height:260px}.export-actions{flex-direction:column}.export-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pdf-export{border-top:1px solid var(--line);padding:26px 0 36px;max-width:950px}.pdf-export h2{font-size:1.5rem}#print-canvas{display:none}
@media print{
  @page{size:A4 portrait;margin:16mm}
  html,body{background:white!important;color:#1e2525;font-size:11pt}
  body> *{display:none!important}
  body>#print-canvas{display:block!important}
  #print-canvas h1{font-size:26pt;margin:5mm 0 8mm;line-height:1.15}
  #print-canvas .print-context{font-size:9pt;color:#625e55;line-height:1.5}
  #print-canvas .print-field{border-top:1px solid #ded7c9;padding:4mm 0 2mm;break-inside:auto}
  #print-canvas h2{font-size:12pt;margin:0 0 2mm;break-after:avoid}
  #print-canvas .print-field p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;margin:0 0 3mm;orphans:3;widows:3}
  #print-canvas .print-opzet{border-top:2px solid #ec6f35}
}

.online-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;margin:0 0 32px;max-width:950px}.online-panel h2{font-size:1.4rem;margin-top:0}.online-panel p{font-size:.9rem}#save-code{font-family:ui-monospace,monospace}button:disabled{opacity:.6;cursor:wait}
