@font-face{font-family:GAU-Heart-opensans;src:url(fonts/opensans.woff) format('woff');font-display:swap}
@font-face{font-family:GAU-Heart-montserrat;src:url(fonts/montserrat.woff) format('woff');font-display:swap}
@font-face{font-family:GAU-Heart-oswald;src:url(fonts/oswald.woff) format('woff');font-display:swap}
.gau-heart-designer{box-sizing:border-box;max-width:100%;min-width:0;margin:1rem 0;padding:clamp(.75rem,2vw,1.25rem);background:var(--gau-image-surface,#f8f4ed);border:1px solid var(--gau-border,#c9d9dc);border-radius:8px}
.gau-heart-designer h2{margin:0 0 .5rem;font-size:1.3rem}
.gau-heart-designer p,.gau-heart-designer figcaption{font-size:.875rem;line-height:1.45}
.gau-heart-designer figure{margin:0 0 1rem}
.gau-heart-designer figure svg{display:block;width:100%;height:auto;border-radius:5px}
.gau-heart-designer figcaption{margin-top:.4rem}
.gau-heart-area{fill:#c4eff4;fill-opacity:.10;stroke:#7cdae5;stroke-width:3;stroke-dasharray:9 5}
.gau-heart-area.gau-heart-overflow{stroke:#ffae99}
.gau-heart-index{fill:#006b82;stroke:none;font:700 28px sans-serif}
.gau-heart-line{fill:#fff3de;stroke:none;font-kerning:none;font-variant-ligatures:none;cursor:grab;touch-action:none;user-select:none;pointer-events:bounding-box}
.gau-heart-line.gau-heart-overflow{fill:#ffd0c2}
.gau-heart-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 12.2rem),1fr));gap:.75rem}
.gau-heart-fields fieldset{min-width:0;margin:0;padding:.65rem;border:1px solid var(--gau-border,#c9d9dc);border-radius:6px;background:#fff}
.gau-heart-fields legend{padding-inline:.3rem;font-weight:700}
.gau-heart-fields label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .5rem;align-items:center;margin:0 0 .55rem;font-size:.875rem;font-weight:600}
.gau-heart-fields :is(input,select){grid-column:1/-1;box-sizing:border-box;width:100%;min-height:44px;margin:0}
.gau-heart-fields :is(input[type=text],select){padding:.35rem;border:1px solid #7a8e96;border-radius:4px;background:#fff;color:#172d38}
.gau-heart-fields input[type=range]{grid-row:2;accent-color:var(--gau-action,#006b82)}
.gau-heart-fields output{grid-row:1;grid-column:2;font-size:.8rem}
.gau-heart-reset{min-height:44px;padding:.35rem .6rem;border:1px solid #78949a;border-radius:4px;background:#fff;color:#154c58;font-size:.875rem}
.gau-heart-fields :focus-visible{outline:2px solid #006b82;outline-offset:2px}
.gau-heart-error{color:#842323;margin:.4rem 0 0}
.gau-heart-error:empty{display:none}
.gau-heart-status{margin:.75rem 0 0;font-weight:650}
