.utility-page{padding-bottom:3rem}.utility-header{max-width:760px;padding-block:1.8rem 1.4rem}.utility-header h1{letter-spacing:-.035em;margin:0 0 .75rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12}.utility-header>p{color:var(--text-muted);margin:0;font-size:1.03rem;line-height:1.75}.utility-autor{color:var(--text-muted);align-items:center;gap:.65rem;margin-top:1.1rem;font-size:.86rem;line-height:1.4;text-decoration:none;display:inline-flex}.utility-autor img{object-fit:cover;object-position:top center;border:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;flex:none;width:36px;height:36px}.utility-autor strong{color:var(--text)}.utility-autor:hover strong{color:var(--accent)}.utility-tool{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);max-width:980px;padding:clamp(1.1rem,3vw,2rem)}.utility-ad,.utility-content{max-width:760px;margin-inline:auto}.utility-ad{width:100%}.utility-content{padding-top:.25rem}.utility-content>h2:first-child{margin-top:0}.utility-content code{background:var(--bg-soft);border-radius:5px;padding:.12rem .3rem;font-size:.9em}.utility-content a{text-underline-offset:3px}.utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.utility-field{flex-direction:column;gap:.45rem;display:flex}.utility-field-full{grid-column:1/-1}.utility-field label,.utility-label{color:var(--text);font-size:.9rem;font-weight:700}.utility-field input,.utility-field select,.utility-field textarea,.utility-output{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:10px;font-size:.94rem}.utility-field input,.utility-field select,.utility-output{min-height:46px;padding:.7rem .85rem}.utility-field textarea{resize:vertical;min-height:170px;padding:.85rem;line-height:1.6}.utility-field input:focus,.utility-field select:focus,.utility-field textarea:focus,.utility-output:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 20%, transparent)}.utility-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.5}.utility-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.utility-button{min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1.2rem;font-size:.92rem;font-weight:700;line-height:1;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.utility-button:hover{transform:translateY(-1px)}.utility-button-primary{background:var(--accent);color:#fff}.utility-button-primary:hover{background:var(--accent-hover)}:root[data-theme=dark] .utility-button-primary{color:var(--bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .utility-button-primary{color:var(--bg)}}.utility-button-secondary{border-color:var(--border);background:var(--bg);color:var(--text)}.utility-button-secondary:hover{border-color:var(--accent);color:var(--accent)}.utility-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.utility-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.utility-message{border-radius:9px;margin:.9rem 0 0;padding:.7rem .85rem;font-size:.86rem;line-height:1.5}.utility-message[data-state=error]{background:color-mix(in srgb, #dc2626 11%, var(--bg));color:#b91c1c}.utility-message[data-state=success]{background:color-mix(in srgb, #16a34a 12%, var(--bg));color:#15803d}:root[data-theme=dark] .utility-message[data-state=error]{color:#fca5a5}:root[data-theme=dark] .utility-message[data-state=success]{color:#86efac}.utility-result{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-top:1.25rem;padding:1rem}.utility-result-title{margin:0 0 .7rem;font-size:.95rem;font-weight:700}.utility-result-row{align-items:stretch;gap:.6rem;display:flex}.utility-output{flex:1}[hidden]{display:none!important}@media (width<=680px){.utility-grid{grid-template-columns:1fr}.utility-field-full{grid-column:auto}.utility-result-row{flex-direction:column}.utility-result-row .utility-button{width:100%}}@media (prefers-reduced-motion:reduce){.utility-button{transition:none}.utility-button:hover{transform:none}}
