:root{--bg:#0a0b0f;--bg-2:#0f1117;--bg-3:#14171f;--bg-soft:#1a1d24;--border:#1f2330;--border-2:#2a2f3d;--fg:#f5f7fa;--fg-2:#c2c9d6;--fg-3:#8892a4;--fg-4:#5a6273;--acc-1:#c6f432;--acc-1-dim:#8fb81f;--acc-2:#6ee7ff;--acc-2-dim:#3db8d6;--acc-grad:linear-gradient(135deg,#c6f432,#6ee7ff);--acc-grad-soft:linear-gradient(135deg,rgba(198,244,50,.12),rgba(110,231,255,.12));--danger:#ff6b6b;--warn:#ffb84d;--ok:#6ee7a1;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;--sh-glow:0 0 0 1px rgba(198,244,50,.4),0 12px 40px -8px rgba(198,244,50,.35);--sh-glow-cy:0 0 0 1px rgba(110,231,255,.4),0 12px 40px -8px rgba(110,231,255,.35);--sh-card:0 1px 0 hsla(0,0%,100%,.04) inset,0 24px 60px -30px rgba(0,0,0,.8);--e-out:cubic-bezier(.16,1,.3,1);--e-in-out:cubic-bezier(.65,0,.35,1);--t-fast:.18s;--t-med:.35s;--t-slow:.8s;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--max:1280px;--gutter:clamp(20px,4vw,56px);--display:800 clamp(44px,6.8vw,84px)/1 var(--font-sans);--h1:700 clamp(36px,5vw,64px)/1.02 var(--font-sans);--h2:700 clamp(32px,4vw,48px)/1.05 var(--font-sans);--h3:700 26px/1.1 var(--font-sans);--h4:700 18px/1.2 var(--font-sans);--body-lg:400 19px/1.55 var(--font-sans);--body:400 16px/1.55 var(--font-sans);--body-sm:400 14px/1.5 var(--font-sans);--mono-label:500 12px/1 var(--font-mono);--code:400 13px/1.6 var(--font-mono);--tracking-eyebrow:.12em;--tracking-tight:-.02em;--tracking-display:-.035em}.pw-display{font:var(--display);letter-spacing:var(--tracking-display);color:var(--fg);margin:0}.pw-h1,h1{font:var(--h1)}.pw-h1,.pw-h2,h1,h2{letter-spacing:var(--tracking-tight);color:var(--fg);margin:0}.pw-h2,h2{font:var(--h2)}.pw-h3,h3{font:var(--h3);letter-spacing:var(--tracking-tight)}.pw-h3,.pw-h4,h3,h4{color:var(--fg);margin:0}.pw-h4,h4{font:var(--h4)}.pw-display em,.pw-h1 em,.pw-h2 em,h1 em,h2 em{font-style:normal;background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.pw-body-lg{font:var(--body-lg);color:var(--fg-2)}.pw-body{font:var(--body);color:var(--fg-2)}.pw-body-sm{font:var(--body-sm);color:var(--fg-3)}.pw-eyebrow{font:var(--mono-label);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--fg-3)}.pw-code,code{font:var(--code);color:var(--acc-2);background:var(--bg-3);border:1px solid var(--border);padding:1px 6px;border-radius:4px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--acc-2);text-decoration:none}a:hover{color:var(--acc-1)}::selection{background:var(--acc-1);color:#000}.app-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(hsla(0,0%,100%,.025) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 0,#000 30%,transparent 80%)}.shell{position:relative;z-index:1;display:grid;grid-template-columns:240px 1fr;min-height:100vh}@media (max-width:900px){.shell{grid-template-columns:1fr}.rail{display:none}}.rail{border-right:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.rail__brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid var(--border);font:700 15px/1 var(--font-sans);letter-spacing:-.01em;color:var(--fg)}.rail__brand img{width:24px;height:24px}.rail__nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px}.rail__item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r-sm);font:500 14px/1 var(--font-sans);color:var(--fg-3);border:1px solid transparent;transition:all var(--t-fast) var(--e-out)}.rail__item:hover{color:var(--fg);background:var(--bg-3)}.rail__item.on{color:var(--acc-1);background:var(--acc-grad-soft);border-color:var(--acc-1-dim)}.rail__item svg{width:18px;height:18px;flex-shrink:0}.rail__item[aria-disabled=true]{opacity:.4;pointer-events:none}.rail__label{font:500 11px/1 var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-4);padding:0 2px 7px}.main{min-height:0;padding:26px var(--gutter) 72px;max-width:1500px}.main.stretto{max-width:1180px}.eyebrow{font:var(--mono-label);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3);margin:0 0 6px}h1.titolo{font:700 30px/1.1 var(--font-sans);letter-spacing:var(--tracking-tight);margin:0 0 6px}.sottotitolo{color:var(--fg-3);font-size:14px;margin:0 0 22px;max-width:76ch}h2{font:700 20px/1.2 var(--font-sans);letter-spacing:-.015em;margin:30px 0 12px}h3{font:600 15px/1.2 var(--font-sans);margin:22px 0 8px}h4{margin:0 0 10px}.panel{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1 1;min-width:160px}.stack>*+*{margin-top:12px}.scroll{overflow-x:auto}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--r-full);font:600 13.5px/1 var(--font-sans);border:1px solid var(--border-2);background:transparent;color:var(--fg-2);cursor:pointer;transition:all var(--t-fast) var(--e-out);white-space:nowrap}.btn:hover,button:hover:not(:disabled){border-color:var(--acc-2);color:var(--acc-2)}button:disabled{opacity:.45;cursor:not-allowed}.btn.primary,button.primary{background:var(--acc-grad);border-color:transparent;color:var(--bg);font-weight:700}.btn.primary:hover,button.primary:hover:not(:disabled){box-shadow:var(--sh-glow);transform:translateY(-1px);color:var(--bg)}button.danger{color:var(--danger);border-color:hsla(0,100%,71%,.35)}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}input,select,textarea{font:400 14px/1.5 var(--font-sans);padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--bg-3);color:var(--fg);outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast)}input:focus,select:focus,textarea:focus{border-color:var(--acc-2);box-shadow:0 0 0 3px rgba(110,231,255,.15)}input[type=file]{padding:7px 10px;color:var(--fg-3)}label{display:block;margin-bottom:4px;font:500 11px/1 var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-4)}.narrazione{font:400 13px/1.6 var(--font-sans);margin:6px 0;padding-left:10px;border-left:2px solid var(--acc-1-dim)}.narrazione,label.opzione{letter-spacing:normal;color:var(--fg-2)}label.opzione{display:flex;gap:6px;align-items:baseline;margin:0;font:400 13.5px/1.5 var(--font-sans);text-transform:none;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;padding:10px 12px;font:500 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);background:var(--bg-soft)}td,th{border-bottom:1px solid var(--border)}td{padding:11px 12px;vertical-align:top;color:var(--fg-2)}tr:last-child td{border-bottom:none}tbody tr:hover td{background:hsla(0,0%,100%,.02)}.muted{color:var(--fg-3)}.mono{font-family:var(--font-mono);font-size:12px}.small{font-size:13px}.err{color:var(--danger)}.ok{color:var(--ok)}.metagruppo{display:flex;gap:8px;align-items:baseline;margin-top:5px}.metagruppo>div{flex:1 1;min-width:0;overflow:hidden}.metaetichetta{flex:0 0 88px;padding-top:3px;font:500 10px/1.4 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--fg-4)}.pill{display:inline-block;padding:2px 9px;margin:0 4px 4px 0;border-radius:var(--r-full);border:1px solid var(--border-2);font:500 11px/1.6 var(--font-mono);color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.pill,td .pill{max-width:100%}.pill.dominio{border-color:var(--acc-1-dim);color:var(--acc-1)}.pill.struttura{border-style:dashed}.pill.provenienza{opacity:.55}.preview{white-space:pre-wrap;word-break:break-word;max-height:11em;overflow:hidden;color:var(--fg-3);font-size:13px;line-height:1.55}.preview.open{max-height:none;color:var(--fg-2)}.stato{font:600 11px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.stato.corso{color:var(--warn)}.stato.errore{color:var(--danger)}.stato.fatto{color:var(--ok)}tr.pendente td{background:rgba(255,184,77,.05)}@keyframes pulsa{50%{opacity:.4}}.stato.corso:before{content:"● ";animation:pulsa 1.2s var(--e-in-out) infinite}.spunta{font-size:14px}.spunta.si{color:var(--ok)}.spunta.no{color:var(--fg-4)}.passo{border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;background:var(--bg-2);box-shadow:var(--sh-card)}.passo.attivo{border-color:var(--acc-2-dim)}.passo.fatto{border-color:var(--acc-1-dim)}.passo.spento{opacity:.5}.passo>h4{letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;display:flex;gap:9px}.numero,.passo>h4{font:500 11px/1 var(--font-mono);color:var(--fg-3);align-items:center}.numero{display:inline-flex;justify-content:center;width:21px;height:21px;border-radius:50%;border:1px solid var(--border-2)}.passo.attivo .numero{border-color:var(--acc-2);color:var(--acc-2)}.passo.fatto .numero{border-color:transparent;background:var(--acc-grad);color:var(--bg)}.freccia{text-align:center;color:var(--fg-4);margin:-2px 0}.strategie{display:flex;gap:8px;flex-wrap:wrap}.strategia{text-align:left;padding:9px 13px;min-width:158px;border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--border-2);display:block;color:var(--fg-2)}.strategia:hover{border-color:var(--acc-2-dim)}.strategia.scelta{border-color:var(--acc-1);background:var(--acc-grad-soft);color:var(--fg)}.strategia .mono{color:var(--fg-4)}.strategia.scelta .mono{color:var(--acc-1)}.wrap{max-width:1500px}.wrap.largo{max-width:1700px}.confronto{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:1200px){.confronto{grid-template-columns:1fr}}.etichetta{font:500 11px/1 var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3);padding:11px 14px;border-bottom:1px solid var(--border);background:var(--bg-soft)}.grezzo{white-space:pre-wrap;word-break:break-word;margin:14px;font-size:12px}.grezzo,.md{color:var(--fg-2)}.md{padding:6px 16px 16px;font-size:14px}.md h1,.md h2,.md h3,.md h4{font-size:15px;margin:14px 0 6px;color:var(--fg)}.md h1{font-size:17px}.md p{margin:8px 0}.md table{margin:10px 0;font-size:13px}.md td,.md th{border:1px solid var(--border);padding:6px 9px}.md th{background:var(--bg-soft);color:var(--acc-2)}.md ol,.md ul{margin:8px 0;padding-left:22px}.md code{font-family:var(--font-mono);font-size:12.5px;color:var(--acc-1)}.md img{max-width:100%}.finepagina{margin:16px 0 0;padding:8px 14px;text-align:center;font:500 10px/1 var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-4);border-top:1px solid var(--border)}.continua{margin:0;padding:12px 14px;border-top:1px dashed var(--border-2)}.seguito{padding:9px 11px;border-left:2px solid var(--acc-2);background:var(--bg-3);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:13px;color:var(--fg-3)}.separatore{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--bg-soft);border-bottom:1px solid var(--border);padding:5px 14px;margin:14px -16px 6px;font:500 10px/1 var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-4)}.chunk{border:1px solid var(--border-2);border-radius:var(--r-md);padding:12px 14px;background:var(--bg-3)}.chunk+.chunk{margin-top:10px}.chunk>.testa{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.chunk .corpo{margin-top:8px;font-size:13.5px;white-space:pre-wrap;word-break:break-word;color:var(--fg-2)}.chunk .corpo.chiuso{max-height:7em;overflow:hidden}.chunk .md{padding:0}details>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rail__sezione{padding:14px 12px;border-bottom:1px solid var(--border)}.rail__foot{margin-top:auto;padding:12px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}