.radio-tools { font-size: max(16px,1rem); line-height: 1.65; overflow-wrap: anywhere; padding-bottom: 30px; }
.radio-tools [hidden] { display: none !important; }
body[data-page="radio-tones"] .header-actions { margin-inline-start: auto; min-width: 0; flex-wrap: wrap; }
.radio-tools :is(.card,.card-body,.field,fieldset) { min-width: 0; }
.radio-tools .card { margin-block: 20px; border-radius: 18px; }
.radio-tools .card-head { background: var(--soft); gap: 12px; }
.radio-tools .card-head h2 { margin: 0; }
.radio-tools .radio-icon { width: 26px; height: 26px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.radio-tools .radio-steps { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap: 12px; margin-block: 20px; }
.radio-tools .radio-steps a { display: flex; align-items: center; gap: 12px; padding: 18px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); color: var(--text); text-decoration: none; font-weight: 700; }
.radio-tools .radio-steps a:hover { background: var(--green-soft); border-color: var(--green); }
.radio-tools :is(button,input,select,textarea) { font: inherit; max-width: 100%; }
.radio-tools :is(input:not([type="checkbox"]),select,textarea) { display: block; width: 100%; min-width: 0; padding: 12px; min-height: 50px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--text); }
.radio-tools :is(label,legend) { font-weight: 700; }
.radio-tools fieldset { border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin-block: 16px; }
.radio-tools .field-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr)); }
.radio-tools .button { display: inline-flex; gap: 8px; align-items: center; justify-content: center; min-height: 50px; height: auto; white-space: normal; line-height: 1.5; min-width: 0; }
.radio-tools .radio-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 16px; }
.radio-tools .radio-consent { display: flex; gap: 12px; align-items: flex-start; margin-block: 16px; }
.radio-tools .radio-consent input { flex: 0 0 24px; width: 24px; height: 24px; accent-color: var(--green); margin-top: 4px; }
.radio-tools .radio-warning { padding: 18px; border-inline-start: 4px solid #bd8a2e; background: var(--soft); border-radius: 14px; }
.radio-tools .radio-session { padding: 18px; background: var(--green-soft); border: 1px solid var(--line); border-radius: 16px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.radio-tools #radio-status { margin: 0; flex: 1 1 16rem; }
.radio-tools #radio-error { padding: 14px; border: 2px solid #b34332; border-radius: 12px; color: var(--text); font-weight: 700; }
.radio-tools .radio-keypad { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; max-width: 32rem; margin-block: 16px; }
.radio-tools .radio-keypad button { min-height: 60px; padding: 10px 4px; border-radius: 12px; border: 1px solid var(--line); background: var(--soft); color: var(--text); font-size: 1.2em; font-weight: 800; }
.radio-tools .radio-keypad button:hover { border-color: var(--green); background: var(--green-soft); }
.radio-tools #radio-decoded { display: block; min-height: 4em; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); font: 700 1.3em/1.6 ui-monospace,monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.radio-tools :focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.radio-tools :is(section,[role="status"]) { scroll-margin-block: 100px 24px; }
.radio-tools details { margin-block: 16px; }
.radio-tools summary { min-height: 48px; padding-block: 12px; cursor: pointer; font-weight: 700; }
@media(max-width:600px) {
  .radio-tools .radio-actions .button { flex: 1 1 140px; }
  .radio-tools .page-intro { grid-template-columns: minmax(0,1fr); }
  .radio-tools .page-intro > img { display: none; }
}
