/* apps/embedded-systems/binary-decimal-converter/style.css */
.converter-page .tool-header { margin-bottom: 1.2rem; }
.converter-grid { display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
.panel { border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow); padding:1rem; }
.panel h2 { margin:0 0 0.8rem; font-size:1.15rem; }
.toggle-group, .grouping-row { display:inline-flex; border:1px solid var(--border); border-radius:999px; overflow:hidden; margin-bottom:0.9rem; }
.grouping-row { display:flex; width:100%; }
.toggle-btn { border:0; background:transparent; color:var(--text); padding:0.55rem 0.9rem; font-weight:700; cursor:pointer; }
.toggle-btn.is-active { background:var(--accent-soft); color:var(--primary); }
.field-group { display:grid; gap:0.4rem; margin-bottom:0.8rem; }
.field-label { font-size:0.85rem; font-weight:700; color:var(--muted); }
.error-text { color:#d94848; font-size:0.85rem; }
.result-grid { display:grid; gap:0.6rem; }
.result-row { display:grid; grid-template-columns:180px 1fr; gap:0.6rem; align-items:start; }
.result-cell { display:flex; align-items:center; justify-content:space-between; gap:0.55rem; }
.result-key { color:var(--muted); font-weight:600; }
.result-value { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; word-break:break-word; }
.copy-btn { min-width:82px; padding:0.38rem 0.7rem; }
.history-copy-btn { min-width:76px; padding:0.32rem 0.65rem; }
.warn-box { margin-top:0.8rem; padding:0.65rem 0.75rem; border-radius:10px; border:1px solid color-mix(in srgb, #f5b14c 50%, var(--border)); background:color-mix(in srgb, #f5b14c 12%, var(--surface)); }
.binary-row { display:flex; align-items:center; gap:0.55rem; }
.binary-block { margin-top:0.8rem; padding:0.7rem; border:1px solid var(--border); border-radius:10px; background:var(--surface-muted); font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; letter-spacing:0.04em; flex:1; }
.history-table { width:100%; border-collapse:collapse; }
.history-table th,.history-table td { border-bottom:1px solid var(--border); padding:0.5rem; text-align:left; font-size:0.9rem; }
.history-table tbody tr { cursor:pointer; }
.history-table tbody tr:hover { background:var(--surface-muted); }
.panel-actions { display:flex; justify-content:flex-end; gap:0.5rem; margin-bottom:0.6rem; }
.info-list { margin:0; padding-left:1.1rem; display:grid; gap:0.35rem; }
@media (max-width:900px){
  .converter-grid { grid-template-columns:1fr; }
  .result-row { grid-template-columns:1fr; }
  .result-cell,.binary-row { flex-direction:column; align-items:flex-start; }
}

/* Mobile resilience patch */
.panel { overflow-x: auto; }
.copy-btn,
.history-copy-btn { width: auto; max-width: 100%; }
.history-table { min-width: 720px; }

@media (max-width: 720px) {
  .toggle-group,
  .grouping-row {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .toggle-btn {
    white-space: nowrap;
    flex: 0 0 auto;
  }

  .panel-actions { justify-content: flex-start; flex-wrap: wrap; }
  .panel-actions .btn { width: auto; }
  .copy-btn,
  .history-copy-btn { align-self: flex-start; }
}

.warn-text { color:#b0701f; font-size:0.9rem; margin-top:0.4rem; }

