:root{font-family:system-ui,sans-serif;color:#182f2a;background:#f4f6f3}*{box-sizing:border-box}body{margin:0}main{max-width:680px;margin:auto;padding:24px 16px}header{padding:20px 0}header span{letter-spacing:5px;color:#6d694c;font-size:14px}h1{font-size:28px;margin-bottom:8px}h2{font-size:21px}p{line-height:1.8}section,article{background:white;border:1px solid #dbe3dc;border-radius:16px;padding:20px;margin:16px 0}label{display:block;margin:12px 0}input[type=url],input[type=password]{width:100%;font:inherit;padding:15px;border:1px solid #81988d;border-radius:9px;direction:ltr;min-height:48px}button{width:100%;padding:15px;margin-top:20px;border:0;border-radius:9px;background:#254f41;color:white;font:inherit;cursor:pointer;min-height:48px}button:disabled{background:#838e88;cursor:default}fieldset{margin-top:20px;border:1px solid #dbe3dc;border-radius:9px}small{display:block;margin-top:12px;line-height:1.7;color:#54655f}#notice{background:#fff4d7;padding:16px;border-radius:8px}#message{color:#87400d}article p{overflow-wrap:anywhere;margin:6px 0}.category{display:flex;gap:12px;align-items:center;min-height:44px}input[type=checkbox]{width:22px;height:22px}a{color:#254f41}[hidden]{display:none!important}

.top{display:flex;gap:16px;align-items:center;justify-content:space-between}.top h2{margin:0}.secondary{background:#edf1ed;color:#254f41;border:1px solid #c9d5cd;width:auto;padding:10px 16px;margin:10px 0;font-size:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}input[type=text],input[type=number],textarea,select{width:100%;font:inherit;padding:12px;border:1px solid #81988d;border-radius:8px;min-height:46px;background:white;color:inherit}textarea{line-height:1.9;resize:vertical}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.image-card{padding:10px;border:1px solid #dbe3dc;border-radius:10px}.image-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px}.image-card label{font-size:13px}.image-card strong{font-size:13px;color:#715c24}summary{cursor:pointer;padding:12px 0}#source-evidence{max-height:300px;overflow:auto;white-space:pre-wrap;font-size:14px;overflow-wrap:anywhere}#reviewed{flex-shrink:0}.terms{font-size:14px;color:#54655f}article a{display:block;margin-top:10px}article button{display:block}@media(max-width:360px){.image-grid{grid-template-columns:1fr}}

/* Clear touch targets and visible action feedback on mobile. */
button{min-width:44px;min-height:48px;background:#145c43;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s;touch-action:manipulation}
button:hover{background:#104a36}button:active{transform:translateY(2px);background:#0b3929;box-shadow:inset 0 2px 4px #0003}
button.secondary{background:#fff;color:#174c3b;border:2px solid #386553;min-height:48px;min-width:44px}
button.secondary:hover{background:#e7f2ec}button.secondary:active{background:#cfe5d8}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #186bc0;outline-offset:3px}
button:disabled{background:#e1e6e3;color:#47554e;border:2px solid #8a9990;cursor:default;transform:none}
button[aria-busy=true]{background:#145c43;color:#fff;cursor:wait}
button[aria-busy=true]::before{content:'';display:inline-block;width:18px;height:18px;margin-inline-end:10px;vertical-align:middle;border:3px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:azurfa-spin .8s linear infinite}
.category{min-height:48px;cursor:pointer;padding:8px;border-radius:8px}.category:has(input:checked){background:#e4f1e9;box-shadow:inset 0 0 0 2px #386553}
.category input{flex-shrink:0;margin:0}summary{min-height:48px;padding:12px;border:2px solid #386553;border-radius:8px;color:#174c3b;font-weight:700;background:#f4f9f6}
article a{min-height:44px;padding:10px 12px;border:2px solid #386553;border-radius:8px;text-decoration:underline;font-weight:600}
@keyframes azurfa-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button{transition:none}button:active{transform:none}button[aria-busy=true]::before{animation:none;border-style:dotted}}
