:root{font-family:system-ui,-apple-system,sans-serif;color:#153b42;background:#f0f8f8}
body{margin:0}main{max-width:780px;margin:auto;padding:48px 24px}
h1{font-size:2.5rem;line-height:1.15;letter-spacing:-.04em}h2{font-size:1.35rem}
p{line-height:1.65}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;color:#40666e}
section{background:white;border:1px solid #d8e7e8;border-radius:18px;padding:24px;margin-top:24px}
button,.button{display:inline-block;background:#146c78;color:white;border:0;border-radius:8px;padding:12px 18px;font:inherit;text-decoration:none;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f5f6;padding:16px;border-radius:8px}
.small{font-size:.85rem;color:#4a6267}[hidden]{display:none!important}

main:has(#report:not([hidden])){max-width:1600px;width:calc(100% - 48px);box-sizing:border-box}
.report iframe{width:100%;height:80vh;min-height:600px;border:1px solid #d8e7e8;border-radius:8px;background:white}
.statusline{display:flex;align-items:center;gap:12px}.statusline p{margin:12px 0}
.spinner{flex:none;width:18px;height:18px;border:3px solid #cfe3e5;border-top-color:#146c78;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:#cfe3e5;opacity:.7}}
.actions{display:flex;flex-wrap:wrap;gap:12px}
button.secondary{background:white;color:#146c78;border:1px solid #146c78}
form{display:flex;flex-direction:column;gap:8px;max-width:420px}
input{font:inherit;padding:10px 12px;border:1px solid #9fbcc0;border-radius:8px}
input:focus-visible,button:focus-visible{outline:3px solid #7ab8c0;outline-offset:2px}
