*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#17283f;font:16px system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:28px 24px}a{color:#0756b5}nav{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:14px;line-height:1.6}nav a[aria-current=page]{font-weight:700}h1{font-size:clamp(28px,4vw,40px);margin-bottom:8px}.intro,.hint{line-height:1.6;color:#4b5b70}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}button,input,select{font:inherit;border:1px solid #b7c6d8;border-radius:8px;padding:10px;background:white;color:inherit}button{cursor:pointer}.primary{background:#0756b5;color:white;border-color:#0756b5}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f0a020;outline-offset:3px}.hint{font-size:14px}#status{min-height:24px}.sheet{background:white;border:1px solid #d5dfeb;border-radius:16px;padding:24px}.sheet h2{margin:0 0 8px;font-size:28px}.person{color:#4b5b70;margin:0 0 20px}.board{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.board[data-type=first-then]{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:16px;border:2px solid #b7c6d8;border-radius:12px;text-align:center;min-width:0}.card.marked{border-color:#0756b5;background:#edf5ff}.slot{font-size:20px;font-weight:700;margin:0 0 12px;color:#0756b5}.picture{width:100%;height:150px;display:grid;place-items:center;padding:10px;background:white}.picture img{width:100%;height:100%;max-height:130px;object-fit:contain}.card-label{font-size:21px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;margin:12px 0;min-height:29px}.edit-label{width:100%;margin:6px 0}.card-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.card-actions button{font-size:13px;padding:6px 9px}.mark{margin-top:10px;min-height:42px}.marked .mark{background:#0756b5;color:white}.sheet-footer{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:24px}.credits{font-size:11px;color:#4b5b70;line-height:1.5}.qr{width:80px;height:80px}.icon-picker{max-width:600px;width:calc(100% - 32px);border:1px solid #b7c6d8;border-radius:14px;padding:24px}.icon-picker::backdrop{background:#17283f88}.icon-search{display:flex;flex-wrap:wrap;gap:8px}.icon-search input{flex:1;min-width:140px}.icon-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;max-height:330px;overflow:auto;margin:16px 0}.icon-choice{font-size:12px}.icon-choice img{width:60px;height:60px;object-fit:contain;display:block;margin:auto}.picker-actions{display:flex;gap:10px;justify-content:flex-end}@media(max-width:700px){main{padding:20px 14px}.sheet{padding:16px}.board{grid-template-columns:repeat(2,minmax(0,1fr))}.board[data-type=now-next-later],.board[data-type=task-strip]{grid-template-columns:1fr}.picture{height:120px}.picture img{max-height:100px}.card{padding:10px}.card-label{font-size:18px}.slot{font-size:18px}}@page{size:letter portrait;margin:.4in}@media print{body{background:white;font-size:12px}main{padding:0;max-width:none}.no-print,dialog{display:none!important}.sheet{border:0;padding:0}.sheet h2{font-size:24px}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.board[data-type=first-then]{grid-template-columns:repeat(2,minmax(0,1fr))}.board[data-type=now-next-later],.board[data-type=task-strip]{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:10px;break-inside:avoid;print-color-adjust:exact}.picture{height:95px;padding:4px;border:0}.picture img{max-height:85px}.card-label{font-size:16px;margin:8px 0}.slot{font-size:16px;margin-bottom:8px}.sheet-footer{break-inside:avoid;margin-top:16px}.qr{width:.65in;height:.65in}.marked::after{content:'✓';color:#0756b5;font-size:18px}.person{margin-bottom:12px}}
/* Screen and paper use the selected grid. Print reserves space for title and credit. */
.board[data-type]{grid-template-columns:repeat(var(--board-columns,3),minmax(0,1fr))}
@media print{
 .sheet{height:10in;display:flex;flex-direction:column;box-sizing:border-box}
 .sheet h2{font-size:20px;overflow-wrap:anywhere;margin:0 0 6px}
 .sheet .person{font-size:12px;margin:0 0 6px;overflow-wrap:anywhere}
 .board[data-type]{flex:1;min-height:0;grid-template-rows:repeat(var(--board-rows,1),minmax(0,1fr));gap:6px}
 .board .card{min-height:0;padding:4px;display:flex;flex-direction:column;align-items:stretch}
 .board .slot{font-size:var(--print-label-size,14px);margin:0 0 3px}
 .board .picture{flex:1;min-height:0;height:auto;padding:0}
 .board .picture img{max-height:100%;min-height:0;object-fit:contain}
 .board .card-label{font-size:var(--print-label-size,14px);line-height:1.15;min-height:0;margin:3px 0 0}
 .sheet-footer{flex-shrink:0;margin-top:8px}
 .marked::after{font-size:10px;line-height:1}
}
