.hguy-form{--hguy-color:#16645d;box-sizing:border-box;max-width:960px;margin:24px auto;padding:28px;border:1px solid #dce3e2;border-radius:12px;background:#fff;color:#1e302e;font-family:var(--hguy-font,inherit);font-size:var(--hguy-size,16px);line-height:1.55}.hguy-form *{box-sizing:border-box}.hguy-form h2{font-size:1.65em;margin:0 0 8px}.hguy-form p{margin:0 0 20px}.hguy-form .hguy-grid{display:grid;gap:var(--hguy-gap,20px);grid-template-columns:1fr}.hguy-form .hguy-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.hguy-form .hguy-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.hguy-form .hguy-wide{grid-column:1/-1}.hguy-form label{display:block;font-weight:600;margin-bottom:6px}.hguy-form input:not([type=checkbox]):not([type=radio]),.hguy-form textarea,.hguy-form select{width:100%;padding:10px 12px;border:1px solid #a7b8b4;border-radius:6px;color:inherit;background:#fff;font:inherit;min-width:0}.hguy-form fieldset{border:0;padding:0;margin:0}.hguy-form .hguy-choice{display:flex;gap:10px;align-items:center;font-weight:400}.hguy-form input[type=checkbox],.hguy-form input[type=radio]{width:20px;height:20px;accent-color:var(--hguy-color)}.hguy-form button{margin:20px 8px 0 0;padding:12px 20px;border:0;border-radius:6px;background:var(--hguy-color);color:#fff;font:inherit;cursor:pointer}.hguy-form button:disabled{opacity:.65;cursor:wait}.hguy-form :focus-visible{outline:3px solid #cf8b22;outline-offset:3px}.hguy-form .hguy-help,.hguy-form small{font-size:.85em;color:#536863}.hguy-form .hguy-error{color:#ad2323;font-size:.9em}.hguy-form [aria-invalid=true]{border-color:#ad2323!important}.hguy-form .hguy-feedback:not(:empty){padding:14px;background:#edf5f3;margin-bottom:20px}.hguy-form [hidden]{display:none!important}.hguy-form .hguy-hp,.hguy-form .hguy-sr{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.hguy-standalone{max-width:1000px;margin:30px auto;padding:12px}@media(max-width:640px){.hguy-form .hguy-grid[data-columns]{grid-template-columns:1fr}.hguy-form{padding:20px;margin:12px 0}}@media print{.hguy-form button{display:none}}

.hguy-form .hguy-page,.hguy-form .hguy-section{display:grid;grid-template-columns:repeat(var(--hguy-columns,1),minmax(0,1fr));gap:var(--hguy-gap,20px)}.hguy-form .hguy-page>h3,.hguy-form .hguy-section>h4,.hguy-form .hguy-section,.hguy-form .hguy-repeater{grid-column:1/-1}.hguy-form .hguy-row{border:1px solid #a7b8b4;padding:16px;margin:12px 0}.hguy-form .hguy-image-choice{display:inline-flex;flex-direction:column;padding:12px;border:2px solid transparent;max-width:220px;vertical-align:top}.hguy-form .hguy-image-choice:has(input:checked){border-color:var(--hguy-color)}.hguy-form .hguy-image-choice img{max-width:180px;max-height:140px;object-fit:contain}.hguy-form .hguy-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.hguy-form .hguy-progress progress{width:100%}.hguy-form .hguy-draft a{display:block;overflow-wrap:anywhere}@media(max-width:640px){.hguy-form .hguy-page,.hguy-form .hguy-section{grid-template-columns:1fr}}

.hguy-form .hguy-review>button,.hguy-form .hguy-review>strong{display:block}.hguy-form .hguy-review>button{margin-bottom:16px}

.hguy-signature{min-width:0}.hguy-signature canvas{width:100%;height:auto;aspect-ratio:10/3;background:#fff;border:2px solid #71827d;touch-action:none;display:block}.hguy-signature canvas[hidden]{display:none}.hguy-signature canvas:focus{outline:3px solid var(--hguy-color);outline-offset:3px}.hguy-signature-policy{font-size:.85em}.hguy-signature button{margin-top:8px}
.hguy-survey{min-width:0;border:0;padding:0}.hguy-survey legend{font-weight:600}.hguy-scale{display:flex;flex-wrap:wrap;gap:8px}.hguy-scale label{display:flex;align-items:center;min-height:44px;padding:8px;border:1px solid #75847e;border-radius:5px}.hguy-scale label:has(input:checked){outline:3px solid var(--hguy-color);font-weight:700}.hguy-survey fieldset[data-row]{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;padding:12px}.hguy-survey [data-row] label{min-height:44px;display:flex;align-items:center;gap:6px}.hguy-ranking li{padding:8px;margin:8px 0;border:1px solid #75847e}.hguy-ranking button{margin:4px;min-height:44px}.hguy-feedback{white-space:pre-line}.hguy-survey :focus-visible{outline:3px solid #1746a2;outline-offset:3px}@media(max-width:480px){.hguy-survey [data-row]{flex-direction:column}.hguy-ranking button{display:inline-block}}

/* Endpoint descriptions share the controls' width; numbers retain meaning when wrapped. */
.hguy-form .hguy-nps,.hguy-form .hguy-rating{container-type:inline-size}
.hguy-form .hguy-endpoint-scale{display:inline-grid;grid-template-columns:minmax(0,1fr);max-width:100%}
.hguy-form .hguy-endpoint-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em 1em;width:0;min-width:100%;margin-top:.5em;overflow-wrap:anywhere}
.hguy-form .hguy-endpoint-low{grid-column:1;text-align:left}
.hguy-form .hguy-endpoint-high{grid-column:2;text-align:right}
@container (max-width:40em){.hguy-form .hguy-endpoint-labels{grid-template-columns:minmax(0,1fr)}.hguy-form .hguy-endpoint-high{grid-column:1;text-align:left}}
/* Per-form accent tokens: primary actions, selections, focus and progress only. */
.hguy-form{--hguy-on-accent:#ffffff;--hguy-accent-ink:#16645d;--hguy-accent-tint:#ecf3f2}
.hguy-form button{background:#fff;color:#1e302e;border:1px solid #75847e}
.hguy-form button[type=submit],.hguy-form button.hguy-primary{background:var(--hguy-color);color:var(--hguy-on-accent);border-color:var(--hguy-accent-ink)}
.hguy-form button.hguy-secondary{color:var(--hguy-accent-ink);border-color:var(--hguy-accent-ink)}
.hguy-form button:disabled{opacity:.55;cursor:not-allowed}
.hguy-form input[type=radio],.hguy-form input[type=checkbox]{accent-color:var(--hguy-accent-ink)}
.hguy-form .hguy-choice:has(input:checked),.hguy-form .hguy-scale label:has(input:checked),.hguy-form .hguy-image-choice:has(input:checked),.hguy-form [data-row] label:has(input:checked){background:var(--hguy-accent-tint);box-shadow:inset 3px 0 var(--hguy-accent-ink)}
.hguy-form .hguy-scale label:has(input:checked){outline:2px solid var(--hguy-accent-ink)}
.hguy-form .hguy-image-choice:has(input:checked){border-color:var(--hguy-accent-ink)}
.hguy-form :is(input,select,textarea,button,a,canvas,summary):focus-visible{outline:3px solid var(--hguy-accent-ink);outline-offset:3px}
.hguy-form .hguy-signature canvas:focus{outline-color:var(--hguy-accent-ink)}
.hguy-form .hguy-progress{color:var(--hguy-accent-ink);font-weight:600}
.hguy-form progress{accent-color:var(--hguy-accent-ink);background:#e4e9e7;border:0;border-radius:4px;overflow:hidden}
.hguy-form progress::-webkit-progress-bar{background:#e4e9e7}
.hguy-form progress::-webkit-progress-value{background:var(--hguy-accent-ink)}
.hguy-form progress::-moz-progress-bar{background:var(--hguy-accent-ink)}
.hguy-form a{color:var(--hguy-accent-ink);text-decoration:underline;text-underline-offset:.15em}
.hguy-form .hguy-error,.hguy-form .hguy-error a{color:#ad2323}
@media(forced-colors:active){.hguy-form :is(input,select,textarea,button,a,canvas,summary):focus-visible{outline-color:Highlight}.hguy-form .hguy-scale label:has(input:checked),.hguy-form .hguy-image-choice:has(input:checked){outline:2px solid Highlight}}

/* Form surface tokens never escape the public form. Inputs and messages retain their surfaces. */
.hguy-form{background:var(--hguy-form-bg,#fff);color:var(--hguy-form-text,#1e302e)}
.hguy-form .hguy-help,.hguy-form small{color:var(--hguy-form-help,#536863)}
.hguy-form input:not([type=checkbox]):not([type=radio]),.hguy-form textarea,.hguy-form select,.hguy-form .hguy-feedback{color:#1e302e}
.hguy-form .hguy-choice:has(input:checked),.hguy-form .hguy-scale label:has(input:checked),.hguy-form .hguy-image-choice:has(input:checked),.hguy-form [data-row] label:has(input:checked){color:#1e302e}
.hguy-form .hguy-image-choice:has(input:checked) small{color:#536863}
.hguy-form :is(input,select,textarea,button,a,canvas,summary):focus-visible{outline-color:var(--hguy-surface-ink,var(--hguy-accent-ink))}
.hguy-form .hguy-signature canvas:focus{outline-color:var(--hguy-surface-ink,var(--hguy-accent-ink))}
.hguy-form a,.hguy-form .hguy-progress{color:var(--hguy-surface-ink,var(--hguy-accent-ink))}
.hguy-form .hguy-error:not(:empty){color:#ad2323;background:#fff;border-radius:3px}
.hguy-form .hguy-error a{color:#ad2323}
@media(forced-colors:active){.hguy-form :is(input,select,textarea,button,a,canvas,summary):focus-visible{outline-color:Highlight}}

.hguy-form .hguy-feedback a{color:var(--hguy-accent-ink)}
.hguy-form :is(h2,h3,h4,label,legend){color:inherit}

.hguy-form .hguy-confirmation,.hguy-standalone .hguy-confirmation{white-space:normal;overflow-wrap:anywhere}
.hguy-form .hguy-confirmation p{margin:0 0 1em}.hguy-form .hguy-confirmation :is(ul,ol){padding-inline-start:1.5em}
.hguy-standalone .hguy-confirmation{background:#fff;color:#1e302e;padding:1.5em;border-radius:.5em}
.hguy-standalone .hguy-confirmation a{color:#16645d;text-decoration:underline}.hguy-standalone .hguy-confirmation a:focus-visible{outline:3px solid currentColor;outline-offset:3px}

.hguy-form .hguy-confirmation ul,.hguy-standalone .hguy-confirmation ul{list-style:disc}
.hguy-form .hguy-confirmation ol,.hguy-standalone .hguy-confirmation ol{list-style:decimal}
.hguy-form .hguy-confirmation :is(strong,b),.hguy-standalone .hguy-confirmation :is(strong,b){font-weight:700}
.hguy-form .hguy-confirmation :is(em,i),.hguy-standalone .hguy-confirmation :is(em,i){font-style:italic}
.hguy-form .hguy-confirmation u,.hguy-standalone .hguy-confirmation u{text-decoration:underline}
