:root {
  --bg: #08101f;
  --bg-2: #0c1630;
  --card: rgba(18, 31, 57, .88);
  --card-2: #101d36;
  --border: #2c4067;
  --text: #f4f7ff;
  --muted: #aebbd3;
  --blue: #6aa9ff;
  --purple: #a68aff;
  --cyan: #57d3e4;
  --green: #32d598;
  --red: #ff6b74;
  --yellow: #ffc857;
  --orange: #ff9f43;
  --shadow: 0 24px 70px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% 0%,#14244a 0,transparent 34%),radial-gradient(circle at 85% 10%,#301d4b 0,transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
button,input,select{font:inherit}.shell{width:min(1380px,calc(100% - 32px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100;background:white;color:#111;padding:10px;border-radius:8px}
.hero{margin-top:18px;padding:34px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(135deg,rgba(20,38,76,.96),rgba(27,18,55,.94));box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(166,138,255,.22),transparent 68%);right:-80px;top:-150px}.hero-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(87,211,228,.12);border:1px solid rgba(87,211,228,.35);color:#9bedf7;font-size:.75rem;font-weight:800;letter-spacing:.12em}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:end;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:#8ec6ff;margin:0 0 6px}.hero h1{font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.05;margin:10px 0 16px;letter-spacing:-.04em;background:linear-gradient(90deg,#7cb7ff,#a78bfa,#ff8fd6);-webkit-background-clip:text;background-clip:text;color:transparent}.brain{font-size:.72em}.hero-subtitle{font-size:clamp(1.05rem,1.5vw,1.35rem);color:#c6d0e5;max-width:900px;margin:0}.hero-note{padding:18px 20px;border-radius:18px;background:rgba(7,14,29,.42);border:1px solid rgba(255,255,255,.12);display:grid;gap:4px;color:#d8e1f2}.hero-note strong{color:white}.concept-strip{margin-top:24px;padding:13px 16px;background:rgba(5,11,25,.5);border:1px solid rgba(255,255,255,.1);border-radius:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;color:#dce5f7;position:relative;z-index:1}.concept-strip i{font-style:normal;color:#657898}.concept-strip span{padding:5px 9px;border-radius:8px;background:rgba(255,255,255,.045)}
.top-nav{position:sticky;top:10px;z-index:50;margin-top:12px;padding:10px;background:rgba(8,16,31,.82);backdrop-filter:blur(18px);border:1px solid rgba(105,130,170,.32);border-radius:16px;display:flex;gap:8px;overflow-x:auto}.top-nav a{white-space:nowrap;text-decoration:none;color:#c9d5ea;padding:8px 12px;border-radius:10px;font-weight:700;font-size:.9rem}.top-nav a:hover{background:#142440;color:white}
main{padding-block:18px 50px}.section-card{margin-top:18px;padding:26px;border-radius:24px;background:linear-gradient(180deg,rgba(18,31,57,.92),rgba(12,24,45,.92));border:1px solid var(--border);box-shadow:0 18px 50px rgba(0,0,0,.15)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.section-heading h2{font-size:clamp(1.5rem,2.2vw,2.35rem);margin:0;letter-spacing:-.02em}.pill,.status-chip{padding:7px 11px;border-radius:999px;background:rgba(50,213,152,.12);border:1px solid rgba(50,213,152,.32);color:#9ef3d1;font-size:.82rem;font-weight:800}.pill.warm{background:rgba(255,200,87,.12);border-color:rgba(255,200,87,.32);color:#ffe19d}
.learning-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.learning-grid article{padding:16px;border:1px solid rgba(138,161,199,.23);border-radius:18px;background:rgba(7,15,30,.38)}.learning-grid h3{font-size:1rem;margin:10px 0 7px}.learning-grid p{margin:0;color:var(--muted);font-size:.9rem}.step-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#274d85,#573f96);font-weight:900}.formula-callout{margin-top:16px;border-radius:18px;border:1px solid rgba(106,169,255,.28);background:#0a1730;display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;padding:17px}.formula-callout>div:not(.arrow){display:grid;gap:5px}.formula-callout span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#a9caff}.formula-callout .arrow{font-size:1.7rem;color:#5c78a2}
.workspace{display:grid;grid-template-columns:360px 1fr;gap:18px}.controls-panel{display:grid;gap:12px}.panel-block,.explain-panel,.truth-card,.training-lab,.chart-card{background:rgba(5,13,29,.42);border:1px solid rgba(138,161,199,.24);border-radius:18px}.panel-block{padding:16px}.panel-block.compact{padding-bottom:10px}.panel-title{display:flex;gap:8px;align-items:center;margin-bottom:12px}.panel-title h3{margin:0;font-size:1.05rem}.range-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:11px 0;color:#d6deed}.range-row input{grid-column:1/3;width:100%}.range-row output,.range-row strong{color:var(--yellow);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.select-row,.training-controls label{display:grid;gap:7px;margin:12px 0;color:#dbe4f4;font-weight:700;font-size:.9rem}select{width:100%;background:#0d1930;color:var(--text);border:1px solid #3b5078;border-radius:10px;padding:10px 11px}.micro-help{padding:10px 11px;border-left:3px solid var(--blue);background:rgba(106,169,255,.08);border-radius:7px;color:#c7d5ec;font-size:.86rem;margin:10px 0}.btn{width:100%;border:none;border-radius:11px;padding:11px 14px;font-weight:850;color:white;cursor:pointer;transition:.18s transform,.18s filter}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.primary{background:linear-gradient(90deg,#5557f6,#7a4cf1)}.btn.accent{background:linear-gradient(90deg,#ff9f1c,#ff7d00);margin-top:8px}.btn.subtle{background:linear-gradient(90deg,#2678ed,#3764dd);margin-top:8px}.panel-copy{color:var(--muted);font-size:.86rem}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset-btn{border:1px solid rgba(50,213,152,.35);background:rgba(50,213,152,.1);color:#b4ffe1;padding:9px;border-radius:9px;font-weight:900;cursor:pointer}.preset-btn:hover,.preset-btn.active{background:#0e9e75;color:white}.check-row{display:flex;align-items:center;gap:9px;color:#d7e0f0;font-size:.88rem;margin:9px 0}.check-row input{accent-color:#7b78ff}.network-stage-wrap{min-width:0}.stage-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(138,161,199,.24);border-radius:14px 14px 0 0;background:rgba(5,13,29,.5)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:#cad4e7}.legend span{display:flex;align-items:center;gap:5px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block}.input-dot{background:#3d8cff}.hidden-dot{background:#a06cf7}.output-dot{background:#20c990}.line-pos,.line-neg{width:16px;height:3px;border-radius:3px;display:inline-block}.line-pos{background:var(--green)}.line-neg{background:var(--red)}.hint{font-size:.76rem;color:#8fa0bc}.svg-holder{height:610px;border:1px solid rgba(138,161,199,.24);border-top:none;background:radial-gradient(circle at 50% 50%,rgba(48,67,107,.18),transparent 45%),#09152a;border-radius:0 0 18px 18px;overflow:hidden}.svg-holder svg{width:100%;height:100%;display:block}.edge{cursor:pointer;transition:.15s;stroke-linecap:round}.edge:hover{filter:drop-shadow(0 0 5px currentColor);stroke-width:5!important}.edge-label{font-size:12px;fill:#ffc857;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}.node{cursor:pointer;transition:.18s;stroke:#dbe7fb;stroke-width:3}.node:hover{filter:drop-shadow(0 0 8px rgba(255,255,255,.45))}.node.input{fill:#123664}.node.hidden{fill:#40325e}.node.output{fill:#0b574b}.node-value{fill:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;font-size:14px;text-anchor:middle;pointer-events:none}.node-label{fill:#9db0cd;font-size:12px;text-anchor:middle;pointer-events:none}.layer-title{fill:#8fa3c3;font-size:13px;font-weight:900;text-anchor:middle;letter-spacing:.08em}.propagating{animation:pulse 700ms ease-in-out 1}@keyframes pulse{0%,100%{filter:none}50%{filter:drop-shadow(0 0 10px #fff)}}.output-summary{margin-top:10px;padding:13px 15px;border:1px solid rgba(50,213,152,.3);border-radius:13px;background:rgba(50,213,152,.075);display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:baseline}.output-summary span{color:#9ef3d1;font-weight:800}.output-summary strong{font-size:1.35rem}.output-summary small{color:#9fb0c9}.explanation-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:14px}.explain-panel{padding:17px}.step-explanation{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}.calc-row{padding:10px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.calc-row code{display:block;color:#9bc0ff;white-space:normal;margin:4px 0}.calc-row strong{color:white}.plain-explanation p,.step-explanation p{color:#c8d3e8;margin:0}.plain-explanation strong{color:#fff}.truth-card{margin-top:14px;padding:18px;display:grid;grid-template-columns:.7fr 1.3fr;gap:18px;align-items:center}.truth-card h3{margin:0 0 5px}.truth-card p{margin:0;color:var(--muted)}.truth-table{overflow:auto}.truth-table table{width:100%;border-collapse:collapse;font-size:.87rem}.truth-table th,.truth-table td{padding:7px 10px;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}.truth-table th{color:#94bfff}.truth-table tr.active{background:rgba(255,200,87,.1)}.truth-table .ok{color:#78efba;font-weight:900}
.training-story{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.training-story article{padding:14px;background:rgba(5,13,29,.42);border:1px solid rgba(138,161,199,.2);border-radius:16px;display:flex;gap:10px}.training-story article>span{flex:0 0 29px;width:29px;height:29px;border-radius:9px;background:#1d3e70;display:grid;place-items:center;font-weight:900}.training-story h3{font-size:.95rem;margin:1px 0 4px}.training-story p{font-size:.82rem;color:var(--muted);margin:0}.training-lab{margin-top:15px;padding:18px;display:grid;grid-template-columns:340px 1fr;gap:18px}.training-controls h3{margin-top:0}.training-controls p{color:var(--muted);font-size:.88rem}.training-controls input[type=range]{width:100%}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.button-row .btn{margin:0}.chart-card{padding:14px;background:#08152b}.chart-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:#c8d3e8}.chart-head strong{color:var(--yellow)}#lossChart{width:100%;height:320px;display:block;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);border-radius:12px}.chart-caption{font-size:.8rem;color:#96a8c5;margin:8px 0 0}.warning-box{margin-top:14px;padding:14px;border-radius:14px;border:1px solid rgba(255,200,87,.28);background:rgba(255,200,87,.07);color:#f3e4b9}.glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.glossary-grid details{background:rgba(5,13,29,.42);border:1px solid rgba(138,161,199,.2);border-radius:14px;padding:12px 14px}.glossary-grid summary{font-weight:850;cursor:pointer}.glossary-grid p{color:var(--muted);margin:8px 0 0}.export-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.export-card h2{margin:0}.export-card p{color:var(--muted)}.export-actions{display:flex;gap:10px;min-width:360px}.export-actions .btn{margin:0}
.edit-dialog{width:min(520px,calc(100% - 30px));border:1px solid #425a87;border-radius:18px;background:#0d1930;color:white;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.55)}.edit-dialog::backdrop{background:rgba(3,7,16,.72);backdrop-filter:blur(5px)}.edit-dialog form{padding:18px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h3{margin:0}.dialog-head button{background:transparent;border:none;color:#aebbd3;font-size:1.6rem;cursor:pointer}.edit-dialog p{color:var(--muted)}.edit-dialog label{display:grid;gap:10px}.edit-dialog input{width:100%}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.dialog-actions .btn{margin:0}.footer{border-top:1px solid #263a61;background:#050c19;padding:25px 0 32px;color:#c8d3e7}.footer p{font-size:.9rem;line-height:1.65}.footer strong{color:white}.footer small{color:#7f91ad}
@media (max-width:1100px){.learning-grid,.training-story{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.controls-panel{grid-template-columns:repeat(2,1fr)}.panel-block:last-child{grid-column:1/-1}.training-lab{grid-template-columns:1fr}.svg-holder{height:540px}.truth-card{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr}.hero-note{max-width:600px}.export-card{align-items:flex-start;flex-direction:column}.export-actions{min-width:0;width:100%}}
@media (max-width:700px){.shell{width:min(100% - 18px,1380px)}.hero,.section-card{padding:18px;border-radius:18px}.hero h1{font-size:2.3rem}.controls-panel,.learning-grid,.training-story,.glossary-grid,.explanation-grid{grid-template-columns:1fr}.panel-block:last-child{grid-column:auto}.formula-callout{grid-template-columns:1fr}.formula-callout .arrow{transform:rotate(90deg);text-align:center}.stage-toolbar{align-items:flex-start;flex-direction:column}.svg-holder{height:480px}.button-row,.dialog-actions{grid-template-columns:1fr}.export-actions{flex-direction:column}.output-summary{grid-template-columns:auto auto}.output-summary small{grid-column:1/-1}.top-nav{top:6px}}
@media print{body{background:white;color:#111}.top-nav,.controls-panel,.stage-toolbar,.export-actions,.hero-badge,.skip-link{display:none!important}.shell{width:100%}.hero,.section-card,.panel-block,.explain-panel,.truth-card,.training-lab,.chart-card{background:white!important;color:#111!important;box-shadow:none;border-color:#bbb}.hero h1{-webkit-text-fill-color:#222;color:#222}.hero-subtitle,.learning-grid p,.plain-explanation p,.step-explanation p,.panel-copy,.training-controls p,.chart-caption,.glossary-grid p,.export-card p,.footer{color:#333}.svg-holder{background:white}.layer-title,.node-label{fill:#444}.footer{background:white;border-color:#bbb}.footer strong{color:#111}}

/* v2 — leggibilità didattica e collegamento con IA generativa */
.plain-language-block{margin-top:14px;display:grid;grid-template-columns:1.2fr .8fr;gap:16px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(106,169,255,.08),rgba(160,108,247,.08));border:1px solid rgba(138,161,199,.24)}
.plain-language-block h3{margin:2px 0 8px}.plain-language-block p{margin:0;color:#c8d3e8;line-height:1.62}.worked-example{display:grid;gap:5px;padding:14px;border-radius:14px;background:rgba(5,13,29,.5);border:1px solid rgba(255,255,255,.08);color:#cdd8eb}.worked-example>strong{color:#fff}.worked-example code{display:block;margin:5px 0;padding:8px;border-radius:8px;background:#081326;color:#9bc0ff;white-space:normal}
.guided-route{margin:-4px 0 16px;padding:13px 15px;border-radius:15px;background:rgba(255,200,87,.07);border:1px solid rgba(255,200,87,.25);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.guided-route strong{color:#ffe39b}.guided-route ol{margin:0;padding-left:20px;display:flex;gap:24px;flex-wrap:wrap;color:#cbd6e8;font-size:.86rem}.guided-route li b{color:#fff}
.visual-key{display:flex;gap:8px 18px;flex-wrap:wrap;padding:8px 12px;border-left:1px solid rgba(138,161,199,.24);border-right:1px solid rgba(138,161,199,.24);background:rgba(8,20,41,.8);color:#95a7c4;font-size:.72rem}.visual-key b{color:#dce6f6}.activation-ring{fill:none;stroke:#ffc857;pointer-events:none;transition:stroke-opacity .25s,stroke-width .25s;filter:drop-shadow(0 0 5px rgba(255,200,87,.22))}.calc-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.calc-head>span{font-size:.78rem;color:#ffe19d}.contrib-list{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.contrib-chip{padding:5px 7px;border-radius:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;border:1px solid}.contrib-chip small{display:block;font-family:system-ui,sans-serif;opacity:.72}.contrib-chip.pos{color:#9ef3d1;background:rgba(50,213,152,.07);border-color:rgba(50,213,152,.22)}.contrib-chip.neg{color:#ffb1b6;background:rgba(255,107,116,.07);border-color:rgba(255,107,116,.22)}

.generative-card{overflow:hidden}.gen-pill{background:rgba(160,108,247,.12);border-color:rgba(160,108,247,.35);color:#dfcaff}.gen-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gen-explainer{padding:16px;border:1px solid rgba(138,161,199,.22);border-radius:16px;background:rgba(5,13,29,.42)}.gen-explainer.emphasis{background:linear-gradient(135deg,rgba(160,108,247,.10),rgba(106,169,255,.06))}.gen-explainer h3{margin:0 0 7px}.gen-explainer p{margin:0;color:#c8d3e8;line-height:1.6}.training-vs-inference{margin-top:14px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}.training-vs-inference>div{padding:15px;border-radius:15px;background:#08152b;border:1px solid rgba(138,161,199,.22);display:grid;gap:4px}.training-vs-inference>div span{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;color:#8fa3c3;font-weight:850}.training-vs-inference>div strong{color:#fff}.training-vs-inference>div small{color:#9fb0c9;line-height:1.45}.training-vs-inference>i{display:grid;place-items:center;color:#7d8fb0;font-size:1.6rem}.token-pipeline{margin:14px 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:11px;border:1px solid rgba(106,169,255,.23);border-radius:14px;background:rgba(106,169,255,.055)}.token-pipeline span{padding:7px 10px;border-radius:9px;background:#102344;color:#d8e8ff;font-size:.82rem;font-weight:800}.token-pipeline i{color:#6383b3}
.gen-lab{display:grid;grid-template-columns:330px 1fr;gap:16px}.gen-controls,.gen-stage{padding:17px;border:1px solid rgba(138,161,199,.24);border-radius:18px;background:rgba(5,13,29,.44)}.gen-controls h3{margin-top:0}.gen-controls p{color:#aebdd4;font-size:.88rem;line-height:1.55}.gen-controls label{display:grid;gap:7px;margin:13px 0;color:#dbe4f4;font-weight:750;font-size:.88rem}.gen-controls input[type=range]{width:100%}.gen-controls .btn{margin-top:8px}.gen-chosen{margin-top:10px;padding:10px 11px;min-height:44px;border-radius:10px;background:rgba(160,108,247,.08);border:1px solid rgba(160,108,247,.22);color:#cbd6e8;font-size:.84rem}.gen-chosen strong{color:#fff}.gen-chosen span{display:block;margin-top:4px;color:#9bc0ff}
.gen-stage{display:grid;gap:16px}.gen-stage h4{margin:0 0 9px;color:#dce6f6}.gen-prompt-box{padding:12px 13px;border-radius:13px;background:#08152b;border:1px solid rgba(106,169,255,.20)}.gen-prompt-box>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#8699b7}.token-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.token-chip{padding:7px 10px;border-radius:9px;background:#122541;border:1px solid #29456b;color:#b8c8df;transition:.22s}.token-chip.gen-active{color:#fff;border-color:#6aa9ff;background:#173761;box-shadow:0 0 14px rgba(106,169,255,.22);transform:translateY(-1px)}.gen-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}.feature-neurons{display:grid;gap:8px}.feature-neuron{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;padding:9px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055);opacity:.58;transition:.22s}.feature-neuron.gen-active{opacity:1;border-color:rgba(255,200,87,.25);background:rgba(255,200,87,.045)}.feature-orb{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#2b2344;border:2px solid #7c61ad;box-shadow:inset 0 0 18px rgba(160,108,247,.14)}.feature-orb span{font-size:.72rem;font-weight:900;color:#fff}.feature-copy strong{display:block;font-size:.84rem}.feature-copy small{color:#8fa1bd;line-height:1.35}.activation-track,.prob-track{height:6px;background:#0b1830;border-radius:99px;overflow:hidden;margin:5px 0}.activation-track i{display:block;height:100%;background:linear-gradient(90deg,#704cf0,#c06fe5);border-radius:99px}.gen-note{font-size:.75rem;color:#7f91ad;line-height:1.45;margin:8px 0 0}.weight-matrix{overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.weight-matrix table{width:100%;border-collapse:collapse;font-size:.75rem;min-width:470px}.weight-matrix th,.weight-matrix td{padding:7px;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.04)}.weight-matrix thead th{color:#9bb8e3;background:#0a1730;position:sticky;top:0}.weight-matrix tbody th{color:#fff;background:rgba(255,255,255,.025)}.weight-matrix td{opacity:.42;transition:.15s}.weight-matrix td.gen-active{opacity:1}.weight-matrix td.positive{color:#86eabd;background:rgba(50,213,152,.035)}.weight-matrix td.negative{color:#ff969d;background:rgba(255,107,116,.035)}.weight-matrix td.bias-cell{color:#ffc857;background:rgba(255,200,87,.035)}
.candidate-tokens{display:grid;gap:8px}.candidate-card{display:grid;grid-template-columns:135px 1fr 62px;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);opacity:.55;transition:.2s}.candidate-card.gen-active{opacity:1}.candidate-card.gen-winner{border-color:rgba(50,213,152,.35);background:rgba(50,213,152,.055)}.candidate-card.sampled{box-shadow:0 0 0 2px rgba(255,200,87,.7),0 0 22px rgba(255,200,87,.12)}.candidate-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.candidate-card strong{color:#fff}.candidate-card small{color:#8496b3}.candidate-card small b{color:#c8d6ea}.prob-track{height:10px;margin:0}.prob-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2678ed,#32d598);border-radius:99px;transition:width .55s ease}.prob-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffe19d;text-align:right;font-weight:850}.gen-narration{padding:12px 13px;border-radius:13px;background:linear-gradient(135deg,rgba(106,169,255,.08),rgba(160,108,247,.07));border:1px solid rgba(106,169,255,.20);color:#cbd6e8;line-height:1.55}.gen-narration details{margin-top:8px}.gen-narration summary{cursor:pointer;color:#fff;font-weight:750}.gen-narration ul{padding-left:20px;margin-bottom:0;font-size:.78rem;color:#aebdd4}.gen-takeaway{margin-top:14px;padding:14px 16px;border-radius:14px;border-left:4px solid #a06cf7;background:rgba(160,108,247,.07);color:#d2dbea;line-height:1.6}.gen-takeaway strong{color:#fff}

@media (max-width:1100px){.gen-lab{grid-template-columns:1fr}.gen-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px}.gen-controls h3,.gen-controls p,.gen-controls .micro-help,.gen-controls .gen-chosen{grid-column:1/-1}.plain-language-block{grid-template-columns:1fr}.gen-columns{grid-template-columns:1fr}}
@media (max-width:700px){.guided-route{grid-template-columns:1fr}.guided-route ol{display:grid;gap:7px}.gen-intro-grid,.training-vs-inference{grid-template-columns:1fr}.training-vs-inference>i{transform:rotate(90deg)}.gen-controls{display:block}.candidate-card{grid-template-columns:105px 1fr 58px}.token-pipeline{justify-content:flex-start}.visual-key{font-size:.68rem}}
@media print{.guided-route,.visual-key,.gen-controls .btn{display:none!important}.gen-explainer,.gen-controls,.gen-stage,.plain-language-block,.worked-example{background:white!important;color:#111!important;border-color:#bbb!important}.gen-explainer p,.gen-controls p,.gen-note,.gen-narration,.gen-takeaway{color:#333!important}.token-chip,.feature-neuron,.weight-matrix thead th{background:white!important;color:#111!important}.candidate-card strong,.feature-copy strong,.gen-stage h4{color:#111!important}}

/* v3 — materiali didattici scaricabili */
.cat-note{border-left:3px solid var(--cyan);background:rgba(87,211,228,.06)!important}
.materials-intro{max-width:900px;color:#b9c7dc;margin:.25rem 0 0;line-height:1.6}.materials-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.material-card{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:20px;border-radius:18px;border:1px solid rgba(138,161,199,.24);background:rgba(5,13,29,.46)}.material-card.student{background:linear-gradient(135deg,rgba(106,169,255,.09),rgba(5,13,29,.46))}.material-card.teacher{background:linear-gradient(135deg,rgba(160,108,247,.10),rgba(5,13,29,.46))}.material-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:#0d1c36;border:1px solid rgba(255,255,255,.09);font-size:1.8rem}.material-card h3{margin:2px 0 8px;font-size:1.3rem}.material-card p{color:#b8c6da;line-height:1.6}.material-card ul{color:#aebdd4;padding-left:19px;margin:10px 0 16px}.download-link{display:inline-flex;text-decoration:none;justify-content:center;width:auto}.materials-tip{margin-top:14px;padding:13px 15px;border-radius:13px;background:rgba(255,200,87,.07);border:1px solid rgba(255,200,87,.22);color:#cfd9e9}.materials-tip strong{color:#ffe19d}@media(max-width:850px){.materials-grid{grid-template-columns:1fr}}@media(max-width:520px){.material-card{grid-template-columns:1fr}.material-icon{width:54px;height:54px}}@media print{.materials-card .download-link{display:none}.material-card{background:white!important;color:#111!important;border-color:#bbb!important}.material-card p,.material-card ul,.materials-intro,.materials-tip{color:#333!important}}

/* v6 — download delle dispense in DOCX, PDF e LaTeX */
.format-label{margin:14px 0 8px!important;color:#dbe7f7!important;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.format-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:7px}
.format-link{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 11px;border-radius:13px;text-decoration:none;border:1px solid rgba(138,161,199,.24);background:rgba(8,19,40,.72);box-shadow:0 6px 18px rgba(0,0,0,.10);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.format-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.32);background:rgba(15,31,61,.92);box-shadow:0 9px 22px rgba(0,0,0,.18)}
.format-link:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.format-badge{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;font-size:.72rem;font-weight:900;letter-spacing:.02em;border:1px solid rgba(255,255,255,.13);color:#fff;background:#14284b}
.format-link strong{min-width:0;color:#f4f8ff;font-size:.86rem;line-height:1.15;white-space:normal}
.format-link small{min-width:0;color:#9fb0c9;font-size:.69rem;line-height:1.2;margin-top:3px}
.format-link.word .format-badge{background:rgba(54,118,224,.22);color:#b8d5ff;border-color:rgba(86,147,244,.34)}
.format-link.pdf .format-badge{background:rgba(236,84,93,.16);color:#ffc0c5;border-color:rgba(236,84,93,.30)}
.format-link.tex .format-badge{background:rgba(39,188,153,.16);color:#aef2df;border-color:rgba(39,188,153,.30)}
.format-link.check .format-badge{background:rgba(255,190,73,.14);color:#ffe19d;border-color:rgba(255,190,73,.28);font-size:1rem}
@media(max-width:1100px){.format-downloads{grid-template-columns:1fr}}
@media(max-width:850px){.format-downloads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.format-downloads{grid-template-columns:1fr}}
@media print{.format-downloads,.format-label{display:none!important}}
