/* Palette and neuron shapes adapted from the presentation's NeuronLab. */
.neuron-logic { --acid:#d9ff57; --orange:#ff7657; --blue:#789dff; --pink:#e69cff; margin:2rem 0; padding:1.25rem; border:1px solid #34383d; background:radial-gradient(ellipse at top right,#1b2030 0,transparent 65%),#0d0f12; color:#f1efe8; }
.neuron-logic h2 { color:#f1efe8; font-size:1.4rem; font-weight:600; }
.neuron-logic p { color:#b8bac0; }
.neuron-logic button { font:inherit; cursor:pointer; border:1px solid #454a52; background:#15181c; color:#b8bac0; min-height:44px; }
.neuron-logic button:focus-visible,.neuron-logic summary:focus-visible,.lab-network:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.lab-gates { display:flex; gap:.5rem; margin:1.5rem 0 1rem; flex-wrap:wrap; }
.lab-gates button { padding:.5rem 1rem; flex:1; font-family:ui-monospace,monospace; }
.lab-gates button[aria-pressed="true"] { border-color:var(--acid); color:var(--acid); background:#d9ff5714; }
.lab-network { overflow-x:auto; scrollbar-color:#63723a #15181c; padding:10px 0; }
.lab-diagram { display:block; width:100%; min-width:0; height:auto; font-family:ui-monospace,monospace; }
.lab-wires line { stroke:#4c5159; stroke-width:2; }
.lab-wires line.is-on { stroke:var(--acid); stroke-width:3; }
.lab-wires line.negative.is-on { stroke:var(--orange); }
.lab-wires line.bias { stroke:var(--pink); stroke-dasharray:4 4; }
.lab-weight { fill:#aeb8d9; font-size:14px; font-weight:700; paint-order:stroke; stroke:#111419; stroke-width:6px; stroke-linejoin:round; }
.lab-layer { fill:#9a9da3; font-size:12px; }
.neuron-logic .lab-input,.lab-output,.lab-neuron,.lab-threshold { box-sizing:border-box; width:100%; height:100%; border:2px solid #4c5159; border-radius:50%; background:#15181c; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; }
.neuron-logic .lab-input.is-on,.lab-output.is-on,.lab-neuron.is-on { border-color:var(--acid); background:#1d2416; }
.lab-input span,.lab-output span,.lab-neuron span { color:#a6abb3; font-size:12px; }
.lab-input strong,.lab-output strong { color:#9a9da3; font-size:36px; line-height:1; }
.lab-input.is-on strong,.lab-output.is-on strong { color:var(--acid); }
.lab-neuron { border-width:3px; }
.lab-neuron b { color:#f1efe8; font-size:44px; line-height:1; font-weight:500; }
.lab-neuron code { color:var(--blue); font-size:16px; background:none; padding:0; }
.lab-threshold { border-color:var(--orange); display:grid; grid-template-columns:1fr 1fr; padding:14px; gap:0; color:var(--orange); }
.lab-threshold svg { grid-column:1/-1; width:100%; }
.lab-threshold path { fill:none; stroke:var(--orange); stroke-width:4; }
.lab-threshold span { font-size:13px; }
.lab-threshold strong { font-size:22px; text-align:right; }
.lab-threshold.is-on { background:#ff765714; }
.lab-bias { background:#15181c; display:flex; flex-direction:column; align-items:center; color:var(--pink); font-size:13px; }
.lab-bias span { font-size:11px; color:#a6abb3; }
.lab-calculation { font-family:ui-monospace,monospace; border:1px solid #34383d; padding:1rem; margin:1rem 0; overflow-wrap:anywhere; font-size:.85rem; color:#aeb8d9; }
.lab-explanation { font-size:.95rem; }
.neuron-logic .lab-scroll-hint { font-size:.75rem; color:#9a9da3; margin:0; }
.neuron-logic summary { cursor:pointer; padding:.5rem 0; }
.neuron-logic table { width:100%; text-align:center; color:#f1efe8; font-size:.9rem; }
.neuron-logic th,.neuron-logic td { padding:.5rem .2rem; border:1px solid #454a52; }
@media(max-width:540px) { .neuron-logic { padding:.8rem; } }
