﻿/* Глава 14: Системы счисления — стили, дополняющие chapter-base.css */
:root{
  --bg:#060E1C; --bg2:#0A1628; --panel:#0E1D33; --panel2:#13243F;
  --ink:#E5EEF8; --muted:#8FA6C0; --line:#1E3354;
  --cyan:#22D3EE; --amber:#FCD34D; --red:#F87171; --green:#34D399; --violet:#A78BFA;
}

/* Long division animation */
.longdiv{font-family:"JetBrains Mono",monospace;font-size:16px;line-height:1.35;display:inline-block;padding:12px 18px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;min-width:240px}
.longdiv .ld-row{display:flex;align-items:center;white-space:pre;opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .35s}
.longdiv .ld-row.ld-show{opacity:1;transform:translateY(0)}
.longdiv .ld-divisor{color:var(--cyan);font-weight:700;padding-right:0}
.longdiv .ld-bracket{color:var(--muted);padding:0 2px}
.longdiv .ld-dividend{color:var(--ink);font-weight:600}
.longdiv .ld-quotient{color:var(--green);font-weight:700}
.longdiv .ld-line{border:none;border-top:2px solid var(--muted);height:0}
.longdiv .ld-sub{color:var(--amber);font-weight:600}
.longdiv .ld-subtract{color:var(--muted)}
.longdiv .ld-remain{color:var(--cyan);font-weight:600}
.longdiv .ld-carry{color:var(--red);font-size:12px}
.longdiv .ld-hline{border-top:2px solid var(--muted);height:0;margin:0}

/* Tables for ch14.3 */
.op-table-wrap{overflow-x:auto;margin:14px 0}
.op-table{width:100%;border-collapse:separate;border-spacing:2px;font-family:"JetBrains Mono",monospace;font-size:15px}
.op-table th{background:var(--panel2);color:var(--cyan);padding:8px 12px;border-radius:6px;font-weight:700;text-align:center}
.op-table td{padding:8px 12px;text-align:center;background:var(--bg2);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-weight:600;transition:background .2s,transform .2s;cursor:default}
.op-table td.hl{background:rgba(34,211,238,.15);border-color:var(--cyan);transform:scale(1.08)}
.op-table td.result-cell{color:var(--green);background:rgba(52,211,153,.1)}
.op-table td.zero-cell{color:var(--muted)}
.op-table .op-sym{color:var(--amber);font-weight:700;font-size:18px}

/* Animated column solver */
.col-solver{font-family:"JetBrains Mono",monospace;font-size:18px;line-height:1.4;padding:16px 20px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.col-solver .cs-row{display:flex;align-items:center;opacity:0;transition:opacity .4s}
.col-solver .cs-row.cs-show{opacity:1}
.col-solver .cs-op{color:var(--amber);font-weight:700;margin-right:6px}
.col-solver .cs-digit{display:inline-block;min-width:22px;text-align:center;transition:color .3s}
.col-solver .cs-digit.cs-highlight{color:var(--cyan);text-decoration:underline}
.col-solver .cs-digit.cs-carry{color:var(--red);font-size:13px;vertical-align:super}
.col-solver .cs-line{border-top:2px solid var(--muted);height:0;margin:4px 0}
.col-solver .cs-result{color:var(--green);font-weight:700}

/* Practice section */
.prac-filter{display:flex;gap:8px;margin-bottom:14px}
.prac-filter button{padding:6px 16px;border:1px solid var(--line);border-radius:20px;background:var(--panel2);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}
.prac-filter button.active{background:var(--cyan);color:#04222b;border-color:var(--cyan)}
.prac-filter button:hover{border-color:var(--cyan)}

/* Expanded problem input */
.exp-problem{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;margin:10px 0}
.exp-problem input{width:80px;padding:6px 8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:15px;text-align:center}
.exp-problem input:focus{border-color:var(--cyan);outline:none}
.exp-problem .ep-op{color:var(--amber);font-weight:700;font-size:18px}
.exp-problem .ep-label{font-size:12px;color:var(--muted)}
.exp-problem input.ep-correct{border-color:var(--green);background:rgba(52,211,153,.08)}
.exp-problem input.ep-wrong{border-color:var(--red);background:rgba(248,113,113,.08)}
.exp-problem .ep-eq{color:var(--cyan);font-weight:700;font-size:20px}
.bead-board{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:18px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;margin:12px 0}
.bead-col{display:flex;flex-direction:column-reverse;align-items:center;gap:4px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:60px;position:relative}
.bead-col.active{border-color:var(--cyan);box-shadow:0 0 16px rgba(34,211,238,.18)}
.bead{width:36px;height:14px;background:var(--amber);border-radius:7px;border:1px solid #b08800;transition:all .18s}
.bead.on{background:var(--cyan);border-color:#0e7490;box-shadow:0 0 8px rgba(34,211,238,.5)}
.bead-pow{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);margin-top:4px}
.bead-val{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--amber);font-weight:700;margin-top:2px}
.bead-col.on .bead-val{color:var(--cyan)}
.divider-line{height:1px;background:var(--line);margin:8px 0;width:100%}
.bin-col-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px;font-family:"JetBrains Mono",monospace}
.bin-col-table th{background:var(--bg2);color:var(--cyan);padding:8px;text-align:center;border:1px solid var(--line);font-size:12px}
.bin-col-table td{padding:10px 6px;text-align:center;border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:700}
.bin-col-table td.acc{color:var(--green);background:rgba(52,211,153,.06)}
.bin-col-table td.zer{color:var(--muted)}
.trace-step{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:var(--bg2);border-left:3px solid var(--cyan);border-radius:0 8px 8px 0;margin:6px 0}
.trace-step .ts-num{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--cyan);min-width:24px;padding-top:2px}
.trace-step .ts-body{font-size:14px;line-height:1.6;color:var(--ink)}
.trace-step .ts-body b{color:var(--amber)}
.col-add{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:14px 0}
.col-add .ca-cell{padding:10px 0;text-align:center;background:var(--panel2);border:1px solid var(--line);border-radius:6px;font-family:"JetBrains Mono",monospace;font-size:18px;font-weight:700;color:var(--ink)}
.col-add .ca-cell.a{color:var(--amber);background:rgba(252,211,77,.1)}
.col-add .ca-cell.b{color:var(--cyan);background:rgba(34,211,238,.1)}
.col-add .ca-cell.s{color:var(--green);background:rgba(52,211,153,.12);border-color:var(--green)}
.col-add .ca-cell.c{color:var(--red);background:rgba(248,113,113,.12);border-color:var(--red)}
.col-add .ca-cell.h{color:var(--ink);background:var(--line)}
.conv-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:var(--bg2);border-radius:10px;margin:10px 0}
.conv-flow .cf-step{padding:8px 14px;background:var(--panel2);border:1px solid var(--cyan);border-radius:8px;font-family:"JetBrains Mono",monospace;font-size:14px;color:var(--ink);font-weight:700}
.conv-flow .cf-arr{color:var(--cyan);font-size:18px}
@media(max-width:760px){
  .bead-col{min-width:48px}
  .bead{width:30px}
  .col-add{grid-template-columns:repeat(4,1fr)}
}
