/* Images are converted locally by Canvas to JPEG quality=0.50, then stored in authenticated D1. */
.image-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.image-field>label{font-size:13px;font-weight:680;color:#5e5749}
.image-input-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.image-input-row #image-hint{font-size:11px;line-height:1.55;color:#80776c}
.image-pick-button{min-height:41px;padding:9px 15px;border:1px solid #c4ad83;border-radius:12px;background:#f5ebd6;color:#6b4e23;font-weight:700;font-size:12px;transition:background .16s}
.image-pick-button:hover{background:#f0dcbb}
.image-pick-button:focus-visible{outline:3px solid #d4a74e;outline-offset:2px}
.image-preview-box{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid #d2c7b5;border-radius:14px;background:#f6f2e9}
.image-preview-box[hidden]{display:none}
.image-preview-box img{width:106px;height:80px;border-radius:9px;object-fit:cover;border:1px solid #d1c5b2;flex:none}
.image-preview-info{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;color:#6a645a;font-size:12px}
.image-preview-info button{background:none;border:0;padding:4px;color:#915544;font-weight:720;font-size:12px}
.image-preview-info button:hover{text-decoration:underline}
.image-field .error{min-height:0;margin:0}
.todo-image-link{display:block;width:min(238px,100%);border:1px solid #cab997;border-radius:10px;overflow:hidden;background:#e9e4da;align-self:flex-start}
.todo-image-thumb{display:block;width:100%;max-height:145px;aspect-ratio:16/9;object-fit:cover;transition:transform .18s ease}
.todo-image-link:hover .todo-image-thumb{transform:scale(1.025)}
.todo-image-link:focus-visible{outline:3px solid #d4a74e;outline-offset:2px}
[data-theme=night] .image-field>label{color:#ddd7c5}
[data-theme=night] .image-input-row #image-hint{color:#aeb9c0}
[data-theme=night] .image-pick-button{background:#283340;border-color:#566575;color:#c5beaf}
[data-theme=night] .image-pick-button:hover{background:#334251;color:#e5d6b7}
[data-theme=night] .image-preview-box{background:#202c36;border-color:#45535e}
[data-theme=night] .image-preview-box img{border-color:#56606e}
[data-theme=night] .image-preview-info{color:#b3c0c6}
[data-theme=night] .image-preview-info button{color:#d4aa9b}
[data-theme=night] .todo-image-link{border-color:#5c6a75;background:#19212b}
@media(max-width:640px){.image-preview-box img{width:88px;height:72px}.todo-image-thumb{max-height:130px}}
@media(prefers-reduced-motion:reduce){.todo-image-thumb{transition:none}.todo-image-link:hover .todo-image-thumb{transform:none}}
