/*! © 2026 Marco Lorica · tutti i diritti riservati */.ml-tool--documenti{--tc:#ff7a7a;--td:#d64545}.ml-tool--immagini{--tc:#6cc6ff;--td:#1f87c9}.ml-tool--testo{--tc:#7ee08a;--td:#2f8f46}.ml-tool--sviluppo{--tc:#b79bff;--td:#6e4fd6}.ml-tool--colori{--tc:#ff8fd8;--td:#c2409a}.ml-tool--codici{--tc:#ff5a5a;--td:#d12f2f}.ml-tool--fisco{--tc:#5ee7a0;--td:#1f9d5c}.ml-tool--valuta{--tc:#ffcf5a;--td:#b8860b}.ml-tool--password{--tc:#4ff0e1;--td:#0f9e93}.ml-tool--date{--tc:#ff9f68;--td:#d4642a}.ml-tool--unita{--tc:#8ce36b;--td:#4c9a2a}.ml-tool--firma-email{--tc:#f7a8ff;--td:#a54bb3}.ml-tool{--c:var(--td);--glow:#588158;isolation:isolate;position:relative;overflow:hidden}.ml-toolsfx .ml-tool{--c:var(--tc);--glow:#9fe0a0}.ml-tool .ml-tool-icon{transition:color .3s,background .3s,transform .4s cubic-bezier(.2,.8,.3,1.4)}.ml-tool:hover .ml-tool-icon{color:var(--c);background:color-mix(in srgb, var(--c) 16%, transparent);transform:rotate(-8deg)scale(1.08)}.ml-tool:hover,.ml-toolsfx .ml-tool:hover{border-color:color-mix(in srgb, var(--glow) 60%, transparent)}.ml-toolsfx .ml-tool:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--glow) 25%, transparent), 0 18px 50px -12px color-mix(in srgb, var(--glow) 35%, transparent)}.ml-tool:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--glow) 9%, transparent), color-mix(in srgb, var(--glow) 4%, transparent) 45%, transparent 75%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.ml-tool:hover:before{opacity:1}.ml-tool.is-tilt,.ml-toolsfx.is-on .ml-tool.is-tilt{transform:perspective(800px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) translateY(-4px)!important;transition:transform .12s linear,border-color .25s,box-shadow .25s,background .25s,opacity .3s!important}.ml-tool-scene{min-height:86px;color:var(--c);pointer-events:none;flex:1;justify-content:center;align-items:center;gap:12px;margin:4px 0 10px;display:flex;position:relative}.ml-toolsfx .ml-tool-name{margin-top:0}.ml-toolsfx .ml-tool-scene{min-height:0;margin:0 0 6px;scale:.82}@media (height<=820px){.ml-toolsfx .ml-tool-scene{scale:.68}}.ml-toolsfx:not(.is-on) .ml-tool-scene,.ml-toolsfx:not(.is-on) .ml-tool-scene *{animation-play-state:paused!important}.ml-tool-scene .bi{line-height:1}.sc-documenti .pg{border:1.5px solid var(--pc);background:linear-gradient(var(--pc), var(--pc)) 8px 12px / 22px 2px no-repeat, repeating-linear-gradient(transparent 0 7px, color-mix(in srgb, var(--pc) 40%, transparent) 7px 9px) 8px 20px / 30px 32px no-repeat, color-mix(in srgb, var(--pc) 10%, #0d1d13);border-radius:5px;width:46px;height:60px;transition:transform .6s cubic-bezier(.2,.8,.3,1.3);animation:4s ease-in-out infinite docs-float;position:absolute}.ml-tools-page .sc-documenti .pg{background-color:#fff}.sc-documenti .pg1{transform:rotate(-12deg)translate(-22px)}.sc-documenti .pg3{transform:rotate(12deg)translate(22px)}.sc-documenti .pg b{color:#fff;background:var(--pc);border-radius:3px;padding:3px 4px;font:700 9px/1 ui-monospace,Menlo,monospace;position:absolute;bottom:6px;right:-8px}.ml-tool:hover .sc-documenti .pg1{animation:2.2s cubic-bezier(.5,0,.3,1) infinite docs-l}.ml-tool:hover .sc-documenti .pg2{animation:2.2s cubic-bezier(.5,0,.3,1) infinite docs-m}.ml-tool:hover .sc-documenti .pg3{animation:2.2s cubic-bezier(.5,0,.3,1) infinite docs-r}@keyframes docs-float{50%{translate:0 -4px}}@keyframes docs-l{0%,to{transform:rotate(-12deg)translate(-22px)}35%,60%{transform:rotate(-22deg)translate(-46px)translateY(4px)}}@keyframes docs-m{0%,to{transform:none}35%,60%{transform:translateY(-10px)scale(1.08)}}@keyframes docs-r{0%,to{transform:rotate(12deg)translate(22px)}35%,60%{transform:rotate(22deg)translate(46px)translateY(4px)}}.sc-immagini .frame{background:linear-gradient(color-mix(in srgb, currentColor 30%, #0d1d13), color-mix(in srgb, currentColor 8%, #0d1d13));border-radius:6px;width:96px;height:64px;position:relative;overflow:hidden}.ml-tools-page .sc-immagini .frame{background:linear-gradient(color-mix(in srgb, currentColor 30%, #fff), #fff)}.sc-immagini svg{width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.3,1);position:absolute;inset:0}.sc-immagini .sun{fill:#ffd166;animation:3s ease-in-out infinite img-sun}.sc-immagini .mt1{fill:currentColor}.sc-immagini .mt2{fill:color-mix(in srgb, currentColor 55%, transparent)}.sc-immagini .crop{opacity:0;border:1.5px dashed #fff;transition:opacity .3s;position:absolute;inset:8px 14px;box-shadow:0 0 0 200px #00000059}.sc-immagini .crop i{background:#fff;border-radius:1px;width:7px;height:7px;position:absolute}.sc-immagini .crop i:first-child{top:-4px;left:-4px}.sc-immagini .crop i:nth-child(2){top:-4px;right:-4px}.sc-immagini .crop i:nth-child(3){bottom:-4px;left:-4px}.sc-immagini .crop i:nth-child(4){bottom:-4px;right:-4px}.sc-immagini .size{color:color-mix(in srgb, currentColor 80%, transparent);writing-mode:vertical-rl;opacity:.5;font:600 10px/1.3 ui-monospace,Menlo,monospace;transition:opacity .3s;transform:rotate(180deg)}.ml-tool:hover .sc-immagini .crop{opacity:1;animation:2.4s cubic-bezier(.6,0,.3,1) infinite img-crop}.ml-tool:hover .sc-immagini svg{transform:scale(1.15)}.ml-tool:hover .sc-immagini .size{opacity:1}@keyframes img-sun{50%{filter:drop-shadow(0 0 6px #ffd166);transform:translateY(-3px)}}@keyframes img-crop{0%,to{inset:8px 14px}50%{inset:18px 30px 12px 22px}}.sc-testo .aa{height:44px;font:800 38px/44px Spartan,sans-serif;overflow:hidden}.sc-testo .aa>span{flex-direction:column;animation:6s step-end infinite txt-case;display:flex}.sc-testo .aa i{height:44px;font-style:normal}.ml-tool:hover .sc-testo .aa>span{animation:1.6s cubic-bezier(.6,0,.2,1) infinite txt-case-fast}.sc-testo .lines{flex-direction:column;gap:7px;width:70px;display:flex}.sc-testo .lines i{background:color-mix(in srgb, currentColor 60%, transparent);transform-origin:0;border-radius:2px;height:4px;animation:3.2s steps(8,end) infinite txt-type}.sc-testo .lines i:nth-child(2){width:80%;animation-delay:.5s}.sc-testo .lines i:nth-child(3){width:55%;animation-delay:1s}.ml-tool:hover .sc-testo .lines i{animation-duration:1.2s}@keyframes txt-case{0%{transform:none}33%{transform:translateY(-44px)}66%{transform:translateY(-88px)}}@keyframes txt-case-fast{0%,20%{transform:none}33%,53%{transform:translateY(-44px)}66%,86%{transform:translateY(-88px)}to{transform:translateY(-132px)}}@keyframes txt-type{0%{transform:scaleX(0)}60%,to{transform:scaleX(1)}}.sc-sviluppo .code{color:color-mix(in srgb, currentColor 75%, #fff);border:1px solid color-mix(in srgb, currentColor 30%, transparent);background:#0000004d;border-radius:8px;flex-direction:column;gap:2px;padding:10px 14px;font:600 12px/1.35 ui-monospace,Menlo,Consolas,monospace;display:flex}.ml-tools-page .sc-sviluppo .code{color:#3d2f7a;background:#f5f2ff}.sc-sviluppo .code i{white-space:nowrap;font-style:normal;transition:padding .5s cubic-bezier(.2,.8,.3,1.4)}.sc-sviluppo .code .in{padding-left:0}.sc-sviluppo em{color:var(--c);font-style:normal}.sc-sviluppo s{color:#5ee7a0;text-decoration:none}.ml-tools-page .sc-sviluppo s{color:#1f9d5c}.sc-sviluppo u{color:#ffcf5a;text-decoration:none}.ml-tools-page .sc-sviluppo u{color:#b8860b}.sc-sviluppo .code i:last-child:after{content:"";vertical-align:-2px;background:var(--c);width:7px;height:13px;margin-left:3px;animation:1s step-end infinite dev-caret;display:inline-block}.ml-tool:hover .sc-sviluppo .code .in{padding-left:16px}.ml-tool:hover .sc-sviluppo .code{animation:1.6s ease-in-out infinite dev-glow}@keyframes dev-caret{50%{opacity:0}}@keyframes dev-glow{50%{box-shadow:0 0 22px -4px var(--c)}}.sc-colori .wheel{background:conic-gradient(#ff5f6d,#ffc371,#f9f871,#5ee7a0,#4facfe,#b06ab3,#ff5f6d);border-radius:50%;width:58px;height:58px;animation:8s linear infinite col-spin;-webkit-mask:radial-gradient(circle,#0000 15px,#000 16px);mask:radial-gradient(circle,#0000 15px,#000 16px)}.sc-colori .dot{background:var(--dc);width:12px;height:12px;box-shadow:0 0 10px var(--dc);transform:rotate(calc(var(--k) * 72deg)) translateX(38px);border-radius:50%;margin:-6px;transition:transform .6s cubic-bezier(.2,.8,.3,1.5);animation:8s linear infinite col-orbit;position:absolute;top:50%;left:50%}.ml-tool:hover .sc-colori .wheel{animation-duration:1.4s}.ml-tool:hover .sc-colori .dot{animation:2s linear infinite col-orbit-wide}@keyframes col-spin{to{transform:rotate(1turn)}}@keyframes col-orbit{0%{transform:rotate(calc(var(--k) * 72deg)) translateX(38px)}to{transform:rotate(calc(var(--k) * 72deg + 360deg)) translateX(38px)}}@keyframes col-orbit-wide{0%{transform:rotate(calc(var(--k) * 72deg)) translateX(52px) scale(1.3)}to{transform:rotate(calc(var(--k) * 72deg + 360deg)) translateX(52px) scale(1.3)}}.sc-codici .qr{background:#fff;border-radius:4px;width:56px;height:56px;padding:4px}.sc-codici .qr svg{width:100%;height:100%;display:block}.sc-codici .qr rect{fill:#0d1d13}.ml-tool:hover .sc-codici .qr rect{animation:.8s step-end infinite qr-blink;animation-delay:calc(var(--r) * -.16s)}.sc-codici .bars{background:repeating-linear-gradient(90deg,#0d1d13 0 2px,#0000 2px 4px,#0d1d13 4px 7px,#0000 7px 9px,#0d1d13 9px 10px,#0000 10px 13px) 5px 5px/calc(100% - 10px) calc(100% - 10px) no-repeat,#fff;border-radius:4px;width:64px;height:56px}.sc-codici .laser{background:#ff3b3b;border-radius:2px;width:144px;height:2px;animation:2.6s ease-in-out infinite qr-scan;position:absolute;top:50%;left:calc(50% - 72px);box-shadow:0 0 10px 2px #ff3b3bcc}.ml-tool:hover .sc-codici .laser{animation-duration:.9s}@keyframes qr-scan{0%,to{transform:translateY(-30px)}50%{transform:translateY(30px)}}@keyframes qr-blink{50%{fill:#0000}}.sc-fisco .receipt{clip-path:polygon(0 0,100% 0,100% 92%,90% 100%,80% 92%,70% 100%,60% 92%,50% 100%,40% 92%,30% 100%,20% 92%,10% 100%,0 92%);background:#fff;flex-direction:column;gap:6px;width:60px;height:72px;padding:10px 9px;animation:4s ease-in-out infinite tax-float;display:flex;position:relative}.ml-tools-page .sc-fisco .receipt{background:#f8fbf8;box-shadow:inset 0 0 0 1px #e3ece5}.sc-fisco .receipt i{background:#cfd8d1;border-radius:2px;height:3px}.sc-fisco .receipt i:nth-child(2){width:70%}.sc-fisco .receipt b{text-align:right;color:var(--td);margin-top:auto;font:800 12px/1 ui-monospace,Menlo,monospace}.sc-fisco .stamp{opacity:.55;border:2px solid;border-radius:6px;padding:6px 8px;font:800 11px/1 ui-monospace,Menlo,monospace;transform:rotate(-12deg)scale(.9)}.ml-tool:hover .sc-fisco .receipt{animation:1.8s cubic-bezier(.4,0,.2,1) infinite tax-print}.ml-tool:hover .sc-fisco .stamp{animation:1.8s cubic-bezier(.3,1.6,.5,1) infinite tax-stamp}@keyframes tax-float{50%{transform:translateY(-4px)}}@keyframes tax-print{0%{clip-path:inset(0 0 100%);transform:translateY(-10px)}55%,to{clip-path:inset(0);transform:none}}@keyframes tax-stamp{0%,50%{opacity:0;transform:rotate(-30deg)scale(2.2)}62%,to{opacity:1;transform:rotate(-12deg)scale(1)}}.sc-valuta{perspective:400px}.sc-valuta .coin{background:repeating-conic-gradient(#d9a228 0 4deg, #b98317 4deg 8deg);border-radius:50%;width:62px;height:62px;animation:3s ease-in-out infinite fx-flip;position:relative;box-shadow:0 1px #a87510,0 2px #9a6a0c,0 3px #8c600a,0 4px #7d5508,0 10px 14px -4px #0000008c}.sc-valuta .face{color:#9a6a0c;text-shadow:0 1px #fff6cf,0 -1px #5a3c0073;background:radial-gradient(circle at 35% 30%,#fff6cf,#ffd25e 40%,#e3a52b 75%,#c9921c);border-radius:50%;place-items:start center;font:800 26px/54px Spartan,sans-serif;display:grid;position:absolute;inset:4px;overflow:hidden;box-shadow:inset 0 0 0 3px #fff6cf8c,inset 0 0 0 4px #9a6a0c80}.sc-valuta .face:after{content:"";background:linear-gradient(115deg,#0000 35%,#ffffffb3 48%,#0000 60%);animation:3.6s ease-in-out infinite fx-shine;position:absolute;inset:0;transform:translate(-120%)}.sc-valuta .face>span{flex-direction:column;animation:8s cubic-bezier(.7,0,.3,1) infinite fx-sym;display:flex}.sc-valuta .face i{height:54px;font-style:normal}.sc-valuta .c2{animation-delay:-1.5s}.sc-valuta .c2 .face>span{animation-delay:-.4s}.sc-valuta .c2 .face:after{animation-delay:-1.8s}.sc-valuta{gap:8px}.sc-valuta .swap{font-size:16px}.ml-tool:hover .sc-valuta .coin{animation-duration:1s}.ml-tool:hover .sc-valuta .face>span{animation-duration:2.6s}.ml-tool:hover .sc-valuta .swap{animation:.8s ease-in-out infinite fx-swap}@keyframes fx-flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)scaleX(-1)}}@keyframes fx-shine{0%,55%{transform:translate(-120%)}85%,to{transform:translate(120%)}}@keyframes fx-sym{0%,20%{transform:none}25%,45%{transform:translateY(-54px)}50%,70%{transform:translateY(-108px)}75%,95%{transform:translateY(-162px)}to{transform:translateY(-216px)}}@keyframes fx-swap{50%{transform:scaleX(-1)}}.sc-password{flex-direction:column;gap:10px}.sc-password .field{border:1px solid color-mix(in srgb, currentColor 40%, transparent);background:#00000040;border-radius:8px;align-items:center;gap:8px;min-width:150px;padding:9px 12px;display:flex}.ml-tools-page .sc-password .field{background:#f1fbfa}.sc-password .pw{letter-spacing:.12em;color:color-mix(in srgb, currentColor 70%, #fff);font:700 14px/1 ui-monospace,Menlo,monospace}.ml-tools-page .sc-password .pw{color:#0b4f4a}.sc-password .field .bi{animation:3s ease-in-out infinite pw-shake}.sc-password .meter{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:2px;width:150px;height:4px;overflow:hidden}.sc-password .meter i{background:#ff5a5a;border-radius:2px;width:25%;height:100%;transition:width 1.4s cubic-bezier(.2,.8,.3,1),background 1.4s;display:block}.ml-tool:hover .sc-password .meter i{background:var(--c);width:100%}@keyframes pw-shake{0%,80%,to{transform:none}85%{transform:rotate(-14deg)}90%{transform:rotate(10deg)}95%{transform:rotate(-6deg)}}.sc-date .cal{background:#00000038;border-top:6px solid;border-radius:8px;grid-template-columns:repeat(7,12px);gap:5px;padding:10px;display:grid}.ml-tools-page .sc-date .cal{background:#fff6f0}.sc-date .cal i{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:3px;width:12px;height:12px}.sc-date .cal i.today{background:currentColor;animation:1.6s ease-in-out infinite date-pulse}.ml-tool:hover .sc-date .cal i{animation:2.4s ease-in-out infinite date-range;animation-delay:calc(var(--d) * 50ms)}.ml-tool:hover .sc-date .cal i.today{animation:2.4s ease-in-out infinite date-range,.8s ease-in-out infinite date-pulse;animation-delay:calc(var(--d) * 50ms), 0s}@keyframes date-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 30%, transparent)}}@keyframes date-range{0%,15%{background:color-mix(in srgb, var(--c) 18%, transparent)}35%,65%{background:var(--c);transform:scale(1.1)}85%,to{background:color-mix(in srgb, var(--c) 18%, transparent)}}.sc-unita{flex-direction:column;gap:12px}.sc-unita .units{align-items:center;gap:12px;font:800 18px/1 Spartan,sans-serif;display:flex}.sc-unita .units b{border:1.5px solid;border-radius:8px;padding:6px 10px}.sc-unita .units .bi{font-size:18px;animation:4s linear infinite col-spin}.sc-unita .ruler{background:repeating-linear-gradient(90deg, currentColor 0 1.5px, transparent 1.5px 30px) 0 0 / 30px 100% repeat-x, repeating-linear-gradient(90deg, color-mix(in srgb, currentColor 55%, transparent) 0 1px, transparent 1px 6px) 0 8px / 6px 8px repeat-x;border-bottom:1.5px solid;width:150px;height:16px;animation:6s linear infinite unit-scroll;position:relative}.sc-unita .knob{width:3px;height:26px;box-shadow:0 0 10px var(--c);background:#fff;border-radius:2px;margin-left:-1.5px;position:absolute;top:-6px;left:50%}.ml-tools-page .sc-unita .knob{background:var(--c)}.ml-tool:hover .sc-unita .ruler{animation-duration:1.2s}.ml-tool:hover .sc-unita .units .bi{animation-duration:.7s}.ml-tool:hover .sc-unita .units b{animation:1.4s ease-in-out infinite unit-pop}.ml-tool:hover .sc-unita .units b:last-child{animation-delay:.7s}@keyframes unit-scroll{to{background-position:-60px 0,-60px 8px}}@keyframes unit-pop{50%{background:color-mix(in srgb, var(--c) 25%, transparent);transform:scale(1.1)}}.sc-firma-email .env{perspective:300px;background:#0003;border:1.5px solid;border-radius:6px;width:116px;height:70px;position:relative}.ml-tools-page .sc-firma-email .env{background:#fdf5ff}.sc-firma-email .flap{clip-path:polygon(0 0,100% 0,50% 100%);background:color-mix(in srgb, currentColor 35%, transparent);transform-origin:top;height:36px;transition:transform .6s cubic-bezier(.2,.8,.3,1.2);position:absolute;inset:0 0 auto}.sc-firma-email svg{width:calc(100% - 16px);position:absolute;bottom:6px;left:8px;right:8px}.sc-firma-email .sig{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.7}.ml-tool:hover .sc-firma-email .flap{transform:rotateX(180deg)}.ml-tool:hover .sc-firma-email .sig{opacity:1;filter:drop-shadow(0 0 4px var(--c));animation:2.2s cubic-bezier(.5,0,.3,1) infinite sig-draw}@keyframes sig-draw{0%{stroke-dashoffset:1px}70%,to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.ml-tool-scene,.ml-tool-scene *{transition:none!important;animation:none!important}.ml-tool.is-tilt{transform:none!important}}.ml-tools-page .ml-tool-scene{flex:none;height:100px;min-height:0}.ml-tools-page .sc-codici .qr,.ml-tools-page .sc-codici .bars{box-shadow:0 0 0 1px #e3ece5,0 6px 14px -8px #0d1d134d}.ml-tool{grid-template:"head head"".scene"1fr"name scene""text scene""list scene"/minmax(0,1fr) 46%;gap:4px 10px;display:grid}.ml-tool-head{grid-area:head}.ml-tool-scene{grid-area:scene}.ml-tool-name{grid-area:name}.ml-tool-text{grid-area:text}.ml-tool-list{grid-area:list}.ml-tool-scene,.ml-toolsfx .ml-tool-scene,.ml-tools-page .ml-tool-scene{align-self:stretch;height:auto;min-height:96px;margin:0}.ml-toolsfx .ml-tool-scene{min-height:0}.ml-tools-page .ml-tool-scene{scale:.8}.ml-tools-page .ml-tool{grid-template-areas:"head head"".scene""name scene""text scene""list list"}.sc-documenti .pg1 b{inset:8px auto auto -10px}.sc-documenti .pg2 b{left:-8px;right:auto}