.bl-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:30px 0}.bl-heading h1 span{color:var(--accent)}.bl-heading p:not(.eyebrow){max-width:70ch;color:var(--muted)}.bl-heading-badge{background:#142f42;color:#a4edff;border:1px solid #315469;border-radius:18px;padding:20px 25px;font:800 1.4rem ui-monospace,monospace;white-space:nowrap}.bl-heading-badge span{color:#f3c879}.bl-start,.bl-guide,.bl-finish,.bl-side,.bl-challenge{border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 12px 32px #0c293a0c}.bl-start{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);gap:40px;padding:clamp(24px,4vw,48px)}.bl-start h2,.bl-guide h2,.bl-finish h2{font-size:clamp(1.5rem,2vw,2.1rem);margin:0 0 12px}.bl-start p,.bl-guide p,.bl-finish p{color:var(--muted);line-height:1.65}.bl-note{font-size:.82rem;max-width:65ch}.bl-stage-list{display:grid;gap:10px}.bl-stage-list div{display:flex;gap:16px;align-items:center;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.bl-stage-list b{color:var(--accent);font-size:1.2rem}.bl-stage-list span{display:grid;gap:3px;font-size:.87rem;color:var(--muted)}.bl-stage-list strong{color:var(--ink);font-size:1rem}.bl-guide{margin-top:20px;padding:26px}.bl-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}.bl-side{padding:22px}.bl-side ol{list-style:none;margin:18px 0;padding:0;display:grid;gap:7px}.bl-side li{display:flex;align-items:center;gap:12px;padding:10px;border-radius:9px;font-size:.9rem;color:var(--muted)}.bl-side li span{display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;width:32px;height:32px;flex:none;font-weight:700}.bl-side li.is-active{background:var(--accent-soft);color:var(--accent);font-weight:700}.bl-side li.is-complete{color:var(--accent)}.bl-score{border-top:1px solid var(--line);padding:22px 4px;display:grid}.bl-score span{font-size:.7rem;letter-spacing:.08em;color:var(--muted);font-weight:700}.bl-score strong{font-size:2.3rem;line-height:1.2;color:var(--accent)}.bl-score small{color:var(--muted)}.bl-reset{border:0;background:transparent;color:var(--accent);padding:8px 4px;cursor:pointer;font:inherit}.bl-challenge{padding:clamp(22px,4vw,42px);min-width:0}.bl-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.75rem;letter-spacing:.06em;color:var(--accent);font-weight:800}.bl-progress{height:7px;background:var(--soft);border-radius:8px;margin:15px 0 32px;overflow:hidden}.bl-progress span{display:block;background:var(--accent);height:100%;transition:width .25s}.bl-challenge h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 16px}.bl-task{color:var(--muted)}.bl-expression{display:flex;gap:clamp(12px,3vw,32px);align-items:center;justify-content:center;flex-wrap:wrap;background:#102c40;color:#b4eeff;border-radius:16px;padding:clamp(22px,4vw,40px);margin:24px 0;font:700 clamp(1.3rem,4vw,2.2rem) ui-monospace,monospace;letter-spacing:.06em}.bl-expression b{color:#ffe3a0;font-size:.65em}.bl-input-label{display:block;font-weight:700;margin-bottom:8px}#bl-answer{width:min(100%,420px);min-height:50px;border:1px solid var(--field-border);border-radius:9px;padding:10px 14px;background:var(--white);color:var(--ink);font:700 1.15rem ui-monospace,monospace;letter-spacing:.1em}.bl-hint,.bl-help p{color:var(--muted);font-size:.9rem}.bl-help{margin:16px 0}.bl-help summary{color:var(--accent);cursor:pointer;font-weight:700}.bl-feedback{min-height:1.5em;color:var(--accent);font-weight:700;line-height:1.6}.bl-actions{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:flex-end}.bl-actions [hidden]{display:none!important}.bl-rule{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.bl-rule span{font-size:.7rem;color:var(--accent);font-weight:800;letter-spacing:.08em}.bl-rule p{font-size:1.05rem;line-height:1.6;margin:8px 0 0}.bl-arrow{text-align:center;color:var(--accent);font-size:1.5rem}.bl-question{font-size:1.15rem;font-weight:800;color:var(--accent)}.bl-choices{border:0;padding:0;margin:22px 0}.bl-choices legend{font-weight:700;margin-bottom:10px}.bl-choices label{display:flex;gap:12px;align-items:baseline;border:1px solid var(--line);border-radius:10px;padding:14px;margin:8px 0;cursor:pointer}.bl-choices label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.bl-choices input{accent-color:var(--accent)}.bl-finish{padding:clamp(24px,4vw,48px);text-align:center}.bl-final-score{display:grid;color:var(--accent);margin:24px}.bl-final-score strong{font-size:clamp(3rem,7vw,5rem);line-height:1}.bl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.bl-layout,.bl-start{grid-template-columns:1fr}.bl-side ol{grid-template-columns:repeat(3,minmax(0,1fr))}.bl-side li{display:grid;justify-items:start;font-size:.75rem}.bl-score{display:flex;align-items:baseline;gap:8px;padding:12px 4px}.bl-score strong{font-size:1.5rem}.bl-heading-badge{display:none}.bl-challenge{padding:20px}}@media(max-width:420px){.bl-expression{gap:10px;letter-spacing:0;font-size:1.15rem}.bl-side{padding:16px}.bl-side li{padding:6px}}
@media(prefers-reduced-motion:reduce){.bl-progress span{transition:none}}

/* Cifre monospaziate e allineate per mostrare le colonne dei bit. */
.bl-expression{display:grid;place-items:center;overflow:auto}
.bl-expression-lines{width:max-content;max-width:100%;font-variant-numeric:tabular-nums}
.bl-operand{display:grid;grid-template-columns:4.5rem max-content;column-gap:1rem;justify-content:end;align-items:baseline}
.bl-operand b{text-align:right}.bl-operand span{white-space:pre}
.bl-expression-rule{height:2px;background:currentColor;margin:8px 0 0}
@media(max-width:420px){.bl-operand{grid-template-columns:3rem max-content;column-gap:.5rem}}

.bl-start.bl-choose{display:block}.bl-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0}.bl-mode{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;min-width:0;padding:20px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:14px;font:inherit;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.bl-mode:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 22px #102d3c18}.bl-mode strong{font-size:1.1rem}.bl-mode>span:not(.bl-mode-icon){color:var(--muted);line-height:1.5}.bl-mode small{color:var(--accent);font-weight:700;margin-top:auto}.bl-mode-icon{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:9px;min-height:40px;padding:8px 12px;font:700 .85rem ui-monospace,monospace}.bl-end-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.bl-side .bl-reset{display:block;text-align:left}.bl-all{display:inline-flex}@media(max-width:800px){.bl-mode-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.bl-mode{transition:none}.bl-mode:hover{transform:none}}
.bl-row span{display:inline-flex}.bl-row i{font-style:normal;border-radius:4px}.bl-row i.is-wrong{background:#ff5f6d;color:#fff}.bl-row i.is-missing{color:#ff9aa3}.bl-row b{color:#9fb8c8!important;font-size:.55em!important;letter-spacing:.04em}.bl-attempt span{color:#e8f6ff}.bl-solution span{color:#8ff0b0}
.bl-feedback[data-tone=error]{color:var(--error-text,#a33a3a)}.bl-feedback[data-tone=ok]{color:var(--success-text,#285435)}.bl-feedback[data-tone=reveal]{color:var(--ink)}
.bl-actions{gap:10px;flex-wrap:wrap}.bl-choices label.is-solution{border-color:var(--success-border,#55815f);background:var(--success-bg,#eef6eb)}.bl-final-stats{font-size:1rem}
