:root{color-scheme:light;--text:#162721;--muted:#53645c;--accent:#205c49;--surface:#fff;--background:#f5f7f4;--border:#d6e0d9}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{max-width:900px;margin:auto;padding:48px 20px 38px}header{margin-bottom:30px}.eyebrow{font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);font-weight:750}h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;letter-spacing:-.035em;margin:9px 0 16px}h2{font-size:1.3rem;margin:0 0 8px}.lead{font-size:1.13rem;max-width:760px;color:#394d43}.panel{padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:20px 0;box-shadow:0 2px 10px #142a2110}.hint{color:var(--muted);margin-top:0}label{display:block;font-weight:650;margin-bottom:7px}textarea{width:100%;font:inherit;line-height:1.5;padding:15px;border:1px solid #afbeb5;border-radius:10px;resize:vertical;min-height:220px;color:var(--text)}textarea:focus,button:focus-visible,.file-action:focus-within{outline:3px solid #8bd1b5;outline-offset:2px}.input-bar{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:12px 0 20px}.file-action{display:inline-block;margin:0;padding:8px 13px;border:1px solid var(--accent);color:var(--accent);border-radius:7px;cursor:pointer;font-size:.9rem}#file{max-width:250px;font-size:.85rem}#count{font-size:.83rem;color:var(--muted);margin-left:auto}.challenge{min-height:0;margin:3px 0}button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:650;font-size:1rem;cursor:pointer}button:disabled{background:#899a91;cursor:not-allowed}.secondary{background:#e5ede8;color:var(--text)}.status{min-height:24px;color:var(--muted)}.result-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.report{overflow-wrap:anywhere}.report h1{font-size:1.6rem;margin:24px 0 10px}.report h2{font-size:1.3rem;margin:24px 0 10px}.report h3{font-size:1.08rem;margin:20px 0 8px}.report blockquote{margin:12px 0;border-left:3px solid var(--accent);padding:4px 16px;background:#f6f9f7}.report p{margin:10px 0}.report li{margin:6px 0}.report pre{white-space:pre-wrap}.report table{border-collapse:collapse;display:block;overflow:auto}.report td,.report th{border:1px solid var(--border);padding:8px}.note{font-size:.92rem;color:#4b5e54;line-height:1.6;margin:25px 4px}footer{text-align:center;font-size:.85rem;color:var(--muted);margin-top:38px}@media(max-width:570px){.shell{padding:24px 12px}.panel{padding:17px}#file{max-width:100%}.result-bar button{width:100%}}
/* Visible progress and clipboard feedback */
.status.loading{display:flex;align-items:center;gap:10px}
.status.loading::before{content:'';width:17px;height:17px;flex:0 0 17px;border:3px solid #cadad0;border-top-color:var(--accent);border-radius:50%;animation:review-spin .85s linear infinite}
@keyframes review-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.status.loading::before{animation:none;border-color:var(--accent);border-right-color:#cadad0}}
/* Some browsers apply reduced-motion preferences: keep a distinguishable progress icon without rotating it. */
.copy-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#copy-status{font-size:.88rem;color:var(--accent)}

/* Optional feedback, handled by the visitor's email client (no local storage). */
.feedback{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}
.feedback h3{margin:0 0 8px;font-size:1.1rem}
.feedback-choices{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.feedback-choice[aria-pressed="true"]{background:var(--accent);color:#fff}
.feedback textarea{min-height:90px;max-width:100%;margin:0 0 12px}
#feedback-send{padding:9px 16px}
#feedback-status{margin:10px 0 0}

.feedback .hint{font-size:.9rem}

.review-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Turnstile appears only if interaction is needed; status labels the security check. */
.security-status{font-size:.8rem;color:var(--muted);margin:4px 0 12px}

/* Compact Vegan Australia identity; intentionally no site-wide menu. */
.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:0 0 22px;margin-bottom:29px}
.brand-link{display:inline-flex;align-items:center;background:transparent;text-decoration:none}
.brand-logo{display:block;width:190px;max-width:100%;height:auto}
.brand-link:hover .brand-logo,.brand-link:focus-visible .brand-logo{opacity:.88}
.back-home{color:var(--accent);font-size:.94rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}
a{color:var(--accent)}
a:focus-visible{outline:3px solid #8bd1b5;outline-offset:3px}
.simple-footer{border-top:1px solid var(--border);padding:22px 0 0;margin-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.9rem}
.simple-footer a{color:var(--accent)}
.privacy-page .panel{margin-top:16px}
.policy-content h2{font-size:1.18rem;margin:24px 0 7px}
.policy-content h2:first-child{margin-top:0}
.policy-content p{margin:0 0 13px}
.policy-date{font-size:.85rem;color:var(--muted);margin-top:25px!important}
@media(max-width:570px){.brand-bar{gap:14px;margin-bottom:22px}.brand-logo{width:165px}.back-home{font-size:.86rem}}

/* After successful security verification, remove the misleading Cloudflare “Success!” panel. It reappears when a new challenge is needed. */
.challenge.verified{display:none}
