@layer utilities{.util{gap:var(--space-4);min-width:0;display:grid}.util__field{gap:var(--space-2);min-width:0;display:grid}.util__field[hidden],.util__error[hidden]{display:none}.util__field>label{font-weight:600}.util__textarea{width:100%;min-height:10rem;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:var(--text-sm);resize:vertical;tab-size:4;line-height:1.5}.util__textarea[readonly]{background:var(--color-surface)}.util__textarea[aria-invalid=true]{border-color:var(--color-danger)}.util__actions,.util__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.util__error{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-danger-soft);display:grid}.util__status:empty{display:none}.util__status{font-weight:500}.util__wrap{flex-wrap:wrap}.util__wrap label{flex:9rem}.util__file{min-height:var(--tap-min);padding-block:var(--space-2)}[data-match][data-state=match]{color:var(--color-success)}[data-match][data-state=mismatch]{color:var(--color-danger)}.util__values{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.util__value{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:flex}.util__value code,.util__value output{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:var(--text-sm);flex:1}@media (width<=479px){.util__value{flex-wrap:wrap}}.fsg{gap:var(--space-4);--step:1.25rem;--cap:12;min-width:0;display:grid}.fsg__bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.fsg__bar-gap{flex:1 1 0}.fsg__tool[hidden],.fsg__icon[hidden]{display:none}.fsg__icon{padding-inline:var(--space-3)}.fsg__paste{gap:var(--space-2);min-width:0;display:grid}.fsg__paste label{font-weight:600}.fsg__paste-text{min-height:8rem}.fsg__empty{justify-items:start;gap:var(--space-3);padding:var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);display:grid}.fsg__empty p{color:var(--color-text);font-size:var(--text-lg);margin:0;font-weight:600}.fsg__structure{gap:var(--space-2);min-width:0;display:grid}.fsg__summary{font-size:var(--text-base);font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin:0;font-weight:600}.fsg__summary:focus{outline:none}.fsg__summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.fsg__tree,.fsg__children{margin:0;padding:0;list-style:none}.fsg__tree{min-width:0;padding-block:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md)}.fsg__item{min-width:0}.fsg__row{align-items:center;gap:var(--space-1);min-width:0;padding-inline:calc(var(--space-2) + min(var(--d,0), var(--cap)) * var(--step)) var(--space-2);display:flex}.fsg__row:hover{background:var(--color-surface)}.fsg__level{min-width:1.5rem;color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:end;flex:none;display:none}.fsg__item[data-deep=far]>.fsg__row>.fsg__level{display:inline-block}.fsg__name,.fsg__field{align-items:center;column-gap:var(--space-2);min-width:0;min-height:var(--tap-min);flex-wrap:wrap;flex:auto;display:flex}.fsg__name{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:start;cursor:text;background:0 0;border:0}.fsg__name svg,.fsg__field svg{color:var(--color-accent);flex:none}.fsg__text{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.fsg__note{color:var(--color-warning);font-size:var(--text-xs);flex-basis:100%;padding-inline-start:calc(18px + var(--space-2))}.fsg__field{padding-inline:var(--space-2)}.fsg__input{min-width:0;min-height:2.5rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;flex:8rem}.fsg__input[aria-invalid=true]{border-color:var(--color-danger)}.fsg__error{color:var(--color-danger);font-size:var(--text-xs);flex-basis:100%;padding-inline-start:calc(18px + var(--space-2))}.fsg__error:empty{display:none}.fsg__icon-btn{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.fsg__icon-btn:hover,.fsg__icon-btn[aria-expanded=true]{background:var(--color-surface-strong);color:var(--color-text)}.fsg__menu{gap:var(--space-1);padding-block:0 var(--space-2);padding-inline:calc(var(--space-2) + min(var(--d,0), var(--cap)) * var(--step) + 18px) var(--space-2);flex-wrap:wrap;display:flex}.fsg__danger{color:var(--color-danger)}.fsg__after{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.fsg__reset,.fsg__reset-confirm{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.fsg__reset-confirm[hidden]{display:none}.fsg__output{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid}.fsg__output .opt-help{margin:0}.fsg__warn{color:var(--color-warning)}.fsg__problems{padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-soft);overflow-wrap:anywhere}.fsg__problems p{margin:0 0 var(--space-1);font-weight:600}.fsg__problems ul{margin:0;padding-inline-start:var(--space-4)}.fsg__problems:focus{outline:none}.fsg__structure[hidden],.fsg__output[hidden],.fsg__empty[hidden],.fsg__paste[hidden],.fsg__bar[hidden],.fsg__problems[hidden]{display:none}@media (width<=599px){.fsg{--step:.875rem;--cap:6}.fsg__item[data-deep]>.fsg__row>.fsg__level{display:inline-block}.fsg__icon span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fsg__output .button{flex:100%}}}
