:root { color-scheme: light; font: 16px/1.55 system-ui, -apple-system, sans-serif; color: #22332e; background: #f3f5f1; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1000px; padding: 36px 22px; margin: auto; }
h1 { font-size: clamp(28px, 4vw, 40px); margin: 4px 0; letter-spacing: -.03em; }
h2 { font-size: 22px; margin: 0 0 12px; } h3 { margin-top: 28px; }
p { margin: 8px 0 18px; }
.eyebrow { font-size: 12px; letter-spacing: .16em; color: #557467; }
.card { background: white; border: 1px solid #dce3dc; border-radius: 14px; padding: 24px; margin: 18px 0; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; }
label { display: block; font-size: 14px; margin-bottom: 14px; }
input, textarea, select { display: block; width: 100%; border: 1px solid #a9bbb1; border-radius: 7px; font: inherit; color: inherit; background: white; padding: 10px; margin-top: 5px; }
textarea { resize: vertical; }
button { cursor: pointer; font: inherit; color: white; background: #225e49; border: 1px solid #225e49; border-radius: 7px; padding: 9px 16px; }
button:disabled { opacity: .5; cursor: wait; }
button.secondary { background: transparent; color: #225e49; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #83b5a0; outline-offset: 2px; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 32px; }
.muted, footer { color: #61736a; font-size: 14px; }
.checks { display: flex; gap: 24px; flex-wrap: wrap; }
.checks input { display: inline-block; width: auto; }
#notice:not(:empty) { padding: 12px 16px; background: #fff0d4; border-left: 4px solid #ad7a22; border-radius: 5px; overflow-wrap: anywhere; }
.action-row { padding: 12px 0; border-top: 1px solid #e1e8e1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.action-row span { overflow-wrap: anywhere; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.5 ui-monospace, monospace; }
footer { margin-top: 34px; }
[hidden] { display: none !important; }
@media (max-width: 600px) { .grid { grid-template-columns: 1fr; } .card { padding: 18px; } main { padding: 24px 14px; } }
