:root { color-scheme: light; font-family: system-ui, sans-serif; color: #17362d; background: #f3f5ef; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(680px, calc(100% - 40px)); margin: 64px auto; }
.eyebrow { letter-spacing: .14em; font-size: .75rem; font-weight: 750; color: #456558; }
h1 { font-size: clamp(2rem, 6vw, 3.2rem); letter-spacing: -.045em; line-height: 1.1; margin: 20px 0; }
.intro { font-size: 1.15rem; line-height: 1.6; }
section { background: #fff; border: 1px solid #cbd7cb; border-radius: 18px; padding: 28px; margin-top: 28px; }
h2 { margin: 0 0 12px; font-size: 1.2rem; }
p { line-height: 1.6; }
label { display: block; font-weight: 650; margin: 24px 0 8px; }
input { width: 100%; border: 1px solid #8fa99c; border-radius: 8px; padding: 12px; font: inherit; }
input:focus-visible, button:focus-visible { outline: 3px solid #b68a21; outline-offset: 3px; }
.hint, .note { font-size: .85rem; color: #4d665b; }
.hint { margin-top: 6px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
button { font: inherit; font-weight: 650; padding: 12px 20px; border-radius: 8px; border: 1px solid #1c503e; background: #1c503e; color: white; cursor: pointer; }
#stop { color: #17362d; background: white; }
button:disabled { opacity: .45; cursor: default; }
#status { border-top: 1px solid #e0e7df; padding-top: 18px; margin-bottom: 0; }
.note { margin-top: 22px; }
@media (max-width: 480px) { main { margin: 30px auto; } section { padding: 20px; } }
