*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto Mono,monospace;background:#fff;min-height:100vh;padding:20px;display:flex;align-items:center;flex-direction:column;justify-content:center}.container{width:100%;max-width:800px;margin:0 auto}.screen{display:none;background:#fafafa;padding:40px;text-align:center;border:8px solid #000}.screen.active{display:block;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.logo-container-fixed{display:none}.logo-container-start{text-align:left;margin-bottom:30px}.logo-start{max-width:140px;height:auto}.start-title{font-size:2.5rem;font-weight:700;margin-bottom:20px;color:#000;text-align:left}.start-intro{font-size:1rem;color:#000;margin-bottom:25px;text-align:left;line-height:1.5}.instructions{text-align:left;margin-bottom:25px}.instructions-title{font-size:1rem;font-weight:700;color:#000;margin-bottom:10px;text-transform:uppercase}.instructions-list{list-style-position:outside;padding-left:20px;margin:0}.instructions-list li{font-size:1rem;color:#000;margin-bottom:8px;line-height:1.5}.start-note{font-size:1rem;color:#000;margin-bottom:30px;text-align:left;line-height:1.5}#startBtn{width:100%;max-width:100%;padding:20px;font-size:1.1rem;font-family:Roboto Mono,monospace;text-transform:uppercase;border-radius:8px;border:3px solid #000}.material-icons{font-size:inherit;vertical-align:middle;color:#000;margin-right:8px}h1 .material-icons,h2 .material-icons{font-size:1em;vertical-align:middle}.btn-primary,.btn-secondary{font-family:Roboto Mono,monospace;font-weight:700;padding:15px 20px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s ease}.btn-primary .material-icons,.btn-secondary .material-icons{margin-right:0;font-size:20px}.btn-primary{background-color:#ff88a2;color:#000;border:3px solid #000}.btn-primary:hover{opacity:.9;transform:translateY(-2px)}.btn-secondary{background:#e6e6e6;color:#000c;border-color:#ccc;margin-left:10px}.btn-secondary:hover{background:#d6d6d6;transform:translateY(-2px)}.camera-container{position:relative;width:100%;max-width:640px;margin:0 auto 30px;background:#000;border-radius:10px;overflow:hidden}#video{width:100%;height:auto;display:block}.countdown{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:120px;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(0,0,0,.5);pointer-events:none;z-index:10}.flash{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;opacity:0;pointer-events:none;z-index:20}.flash.active{animation:flashAnimation .3s ease-out}@keyframes flashAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.crop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.crop-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;aspect-ratio:340 / 450;border:3px solid rgba(255,255,255,.8);border-radius:8px;box-shadow:0 0 0 9999px #00000080,inset 0 0 20px #ffffff4d}.crop-frame:before{content:"Area di cattura";position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#ffffffe6;color:#333;padding:5px 15px;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap}.thumbnails{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.thumbnail-slot{width:80px;height:100px;border:3px dashed #ccc;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#ccc;background:#f9f9f9;position:relative;overflow:hidden}.thumbnail-slot.filled{border:3px solid #ff88a2;background:transparent}.thumbnail-slot img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.thumbnail-slot.filled:before{content:"";display:none}.camera-info{color:#666;font-size:1rem}#processingScreen h2{margin-bottom:30px;color:#333}.loader{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #ff88a2;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#processingStatus{color:#666;margin-bottom:20px}.progress-container{width:100%;max-width:400px;height:30px;background:#f0f0f0;border-radius:15px;overflow:hidden;margin:0 auto}.progress-bar{height:100%;background:#ff88a2;width:0%;transition:width .3s ease}#resultScreen h2{margin-bottom:30px;color:#333}.result-container{max-width:400px;margin:0 auto 30px;background:#f9f9f9;padding:20px;border-radius:10px}#finalImage{max-width:100%;height:auto;border-radius:10px;box-shadow:0 4px 15px #0000001a}.result-actions{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:500px;margin:0 auto}.result-actions .btn-primary{width:100%}.user-info-form{max-width:500px;margin:30px auto;text-align:center}.form-description{font-size:1rem;color:#000;margin-bottom:20px;line-height:1.5}.form-group{margin-bottom:15px}.form-input{width:100%;padding:15px;font-family:Roboto Mono,monospace;font-size:1rem;border:3px solid #000;border-radius:8px;background:#fff;color:#000;outline:none;transition:all .3s ease}.form-input:focus{border-color:#ff88a2}.form-input::placeholder{color:#999}#confirmDataBtn{width:100%;margin-top:10px}.download-instruction{font-size:1rem;color:#000;margin-bottom:20px;line-height:1.5;text-align:left;width:100%}@media (max-width: 768px){.screen{padding:20px}.logo{max-width:150px}#startScreen h1{font-size:2rem}.countdown{font-size:80px}.thumbnail-slot{width:60px;height:80px;font-size:1.5rem}.btn-primary,.btn-secondary{padding:12px 30px;font-size:1rem}.result-actions{flex-direction:column}.btn-secondary{margin-left:0}}
