*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:#fafafa;color:#1a1a1a;-webkit-text-size-adjust:100%}header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}header h1{font-size:1.5rem;margin:0}header .who{font-size:.85rem;color:#666}h2{font-size:1rem;text-transform:uppercase;letter-spacing:.05em;color:#666;margin:1.5rem 0 .5rem}.empty{color:#888}.error{background:#fde2e2;color:#8a1f1f;padding:.6rem .8rem;border-radius:8px}.parent{max-width:640px;margin:0 auto;padding:1rem}.parent form{display:flex;gap:.5rem;margin-bottom:1rem}.parent form input{flex:1;font-size:1.1rem;padding:.7rem .85rem;border:1px solid #d0d0d0;border-radius:8px;background:#fff}.parent form button{font-size:1.05rem;padding:.7rem 1.1rem;border:none;border-radius:8px;background:#1a1a1a;color:#fff;cursor:pointer}.parent form button:disabled{opacity:.4}.parent ul{list-style:none;padding:0;margin:0}.parent li{display:flex;align-items:center;gap:.6rem;padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.4rem}.parent .task{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.parent .task .title{font-size:1.05rem}.parent .task .meta{font-size:.8rem;color:#888}.parent li.done .task .title{text-decoration:line-through;color:#888}.parent .thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;display:block}.remove{font-size:1.5rem;width:2.25rem;height:2.25rem;border:none;background:transparent;color:#999;cursor:pointer;border-radius:50%;flex-shrink:0}.remove:active{background:#f0f0f0;color:#b00020}.child{max-width:1100px;margin:0 auto;padding:1.5rem}.child header h1{font-size:2rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.card{background:#fff;border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;min-height:160px}.card h3{font-size:1.4rem;margin:0;flex:1}.complete{font-size:1.15rem;padding:1rem;border:none;border-radius:10px;background:#1a7f3c;color:#fff;cursor:pointer;min-height:56px}.complete:disabled{opacity:.5}.complete:active{background:#166631}.done-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card.done{padding:.75rem;min-height:0}.card.done h3{font-size:1rem;color:#555}.photo{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;display:block}
