/* ============================================================
   Base Converter — tool-specific layout on top of ../Shared/theme.css
   Shared chrome (gradient header, hamburger nav, .nltm-check, base
   button/input) lives in theme.css; this file only holds the layout
   unique to this tool. Tokens only — no hardcoded colors/fonts.
   ============================================================ */

.bc-main {
   max-width: 1100px;
   margin: 0 auto;
   padding: var(--nltm-sp-6) var(--nltm-sp-5) var(--nltm-sp-8);
   display: flex;
   flex-direction: column;
   gap: var(--nltm-sp-5);
}

.bc-card { padding: var(--nltm-sp-5); }

.bc-heading {
   font-family: var(--nltm-font-display);
   font-style: italic;
   font-weight: 600;
   font-size: var(--nltm-fs-4);
   color: var(--nltm-primary-deep);
   margin: 0 0 var(--nltm-sp-3);
}

.bc-help {
   color: var(--nltm-muted);
   font-size: var(--nltm-fs-2);
   margin: 0 0 var(--nltm-sp-4);
}
.bc-help code {
   font-family: var(--nltm-font-mono);
   font-size: 0.95em;
   background: var(--nltm-surface-2);
   border: 1px solid var(--nltm-line);
   border-radius: var(--nltm-radius-sm);
   padding: 0.05em 0.4em;
   color: var(--nltm-ink);
}

/* ---------- Direction (segmented radio) ---------- */

.bc-section-label {
   display: block;
   font-weight: 600;
   font-size: var(--nltm-fs-2);
   color: var(--nltm-ink);
   margin: 0 0 var(--nltm-sp-2);
}

.bc-direction {
   display: flex;
   flex-wrap: wrap;
   gap: var(--nltm-sp-3);
   margin-bottom: var(--nltm-sp-5);
}

.bc-dir-option {
   flex: 1 1 280px;
   display: flex;
   gap: var(--nltm-sp-3);
   align-items: flex-start;
   padding: var(--nltm-sp-3) var(--nltm-sp-4);
   background: var(--nltm-surface-2);
   border: 1px solid var(--nltm-line);
   border-radius: var(--nltm-radius);
   cursor: pointer;
   transition: border-color 120ms ease, box-shadow 120ms ease;
}
.bc-dir-option:hover { border-color: var(--nltm-primary); }
.bc-dir-option input { accent-color: var(--nltm-primary); margin-top: 0.3em; width: 1.05em; height: 1.05em; flex: none; }
.bc-dir-option:has(input:checked) {
   border-color: var(--nltm-primary);
   box-shadow: 0 0 0 1px var(--nltm-primary), var(--nltm-shadow-1);
   background: var(--nltm-surface);
}
.bc-dir-text { font-size: var(--nltm-fs-2); line-height: var(--nltm-lh-base); }
.bc-dir-text b { color: var(--nltm-primary-deep); }

/* ---------- Numeric / alphabet options grid ---------- */

.bc-options {
   display: flex;
   flex-wrap: wrap;
   gap: var(--nltm-sp-4) var(--nltm-sp-5);
   align-items: flex-end;
}
.bc-field { display: flex; flex-direction: column; gap: var(--nltm-sp-1); }
.bc-field label { font-size: var(--nltm-fs-1); font-weight: 600; color: var(--nltm-muted); }
.bc-num { width: 5.5rem; font-family: var(--nltm-font-mono); }

.bc-alphabets {
   display: flex;
   flex-direction: column;
   gap: var(--nltm-sp-3);
   margin-top: var(--nltm-sp-5);
}
.bc-alpha-row { display: flex; flex-wrap: wrap; gap: var(--nltm-sp-3); align-items: center; }
.bc-alpha-row > label:first-child {
   flex: none;
   width: 8.5rem;
   font-size: var(--nltm-fs-1);
   font-weight: 600;
   color: var(--nltm-muted);
}
.bc-alpha-input { flex: 1 1 22rem; min-width: 14rem; font-family: var(--nltm-font-mono); font-size: var(--nltm-fs-1); }

/* ---------- Input + actions ---------- */

.bc-input {
   width: 100%;
   box-sizing: border-box;
   font-family: var(--nltm-font-mono);
   margin-top: var(--nltm-sp-4);
}

.bc-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--nltm-sp-3);
   margin-top: var(--nltm-sp-4);
}

.bc-sample-btn {
   background: var(--nltm-surface);
   color: var(--nltm-primary-deep);
   border: 1px solid var(--nltm-line);
   box-shadow: var(--nltm-shadow-1);
}
.bc-sample-btn:hover { background: var(--nltm-accent-soft); color: var(--nltm-primary-deep); }

.bc-sample-caption {
   flex-basis: 100%;
   margin: var(--nltm-sp-1) 0 0;
   min-height: 1.4em;
   font-family: var(--nltm-font-hand);
   font-size: var(--nltm-fs-3);
   color: var(--nltm-accent);
}

.bc-warning {
   margin: var(--nltm-sp-3) 0 0;
   padding: var(--nltm-sp-2) var(--nltm-sp-3);
   border-left: 3px solid var(--nltm-accent);
   background: var(--nltm-accent-soft);
   color: var(--nltm-ink);
   font-size: var(--nltm-fs-2);
   border-radius: var(--nltm-radius-sm);
}
.bc-warning:empty { display: none; }
.bc-warning code { font-family: var(--nltm-font-mono); }

/* ---------- Output ---------- */

.bc-output-head {
   display: flex;
   align-items: baseline;
   justify-content: space-between;
   gap: var(--nltm-sp-3);
   margin-bottom: var(--nltm-sp-3);
}
.bc-copy-status {
   font-family: var(--nltm-font-hand);
   font-size: var(--nltm-fs-3);
   color: var(--nltm-success);
   min-width: 4em;
}
.bc-output {
   width: 100%;
   box-sizing: border-box;
   font-family: var(--nltm-font-mono);
   font-size: var(--nltm-fs-1);
   line-height: 1.3;
   resize: vertical;
}

@media (max-width: 640px) {
   .bc-main { padding: var(--nltm-sp-5) var(--nltm-sp-4) var(--nltm-sp-7); }
   #FrameHeader.nltm-tool-header { flex-direction: column; gap: var(--nltm-sp-1); }
   .bc-alpha-row > label:first-child { width: 100%; }
}
