:root{--bg-primary:#0a0a0a;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#6e6e73;--accent-blue:#0a84ff;--accent-green:#30d158;--accent-orange:#ff9f0a;--accent-red:#ff453a;--accent-purple:#bf5af2;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--glass-blur:20px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f7f3;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,Roboto,sans-serif;line-height:1.5}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem}h1{letter-spacing:-.02em;color:var(--text-primary);font-size:2.5rem;font-weight:700}h2{letter-spacing:-.01em;color:var(--text-primary);font-size:1.5rem;font-weight:600}h3{color:var(--text-secondary);font-size:1.1rem;font-weight:600}.subtitle{color:var(--text-secondary);font-size:1rem;font-weight:400}.pill-group{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.pill{cursor:pointer;transition:all var(--transition-fast);background:var(--bg-tertiary);color:var(--text-secondary);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:100px;justify-content:center;align-items:center;padding:.6rem 1.4rem;font-size:.95rem;font-weight:500;display:inline-flex}.pill:hover{color:var(--accent-blue);background:#0a84ff26;border-color:#0a84ff4d}.pill.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 0 20px #0a84ff4d}.btn{border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);background:var(--accent-blue);color:#fff;border:none;justify-content:center;align-items:center;padding:.75rem 2rem;font-size:1rem;font-weight:600;display:inline-flex}.btn:hover{background:#0070e0;transform:scale(1.02);box-shadow:0 0 24px #0a84ff66}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.badge{text-transform:capitalize;border-radius:100px;padding:.2rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-prevedibile,.badge-disponibile{color:var(--accent-green);background:#30d15826}.badge-cautela{color:var(--accent-orange);background:#ff9f0a26}.badge-controindicato{color:var(--accent-red);background:#ff453a26}.progress-container{width:100%;max-width:300px;margin:0 auto}.progress-bar{background:var(--bg-tertiary);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));height:100%;transition:width var(--transition-normal);border-radius:2px}.progress-text{text-align:center;color:var(--text-tertiary);margin-top:.5rem;font-size:.8rem}.popup-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;animation:fadeIn var(--transition-fast)ease;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.popup-card{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);min-width:320px;max-width:90vw;box-shadow:var(--shadow-lg);animation:popupEnter var(--transition-normal)ease;padding:2rem;position:relative}.popup-title{color:var(--text-primary);text-align:center;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.popup-options{flex-direction:column;gap:.75rem;display:flex}.popup-close{width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;top:.6rem;right:.6rem}.popup-close:hover{color:var(--text-primary);background:#ffffff26}.popup-option{border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:left;border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:500;display:flex}.popup-option:hover{color:var(--accent-blue);background:#0a84ff26;border-color:#0a84ff4d}.popup-option:hover .popup-option-key{color:var(--accent-blue);background:#0a84ff40}.popup-option-key{width:1.5rem;height:1.5rem;color:var(--text-tertiary);transition:all var(--transition-fast);background:#ffffff14;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.popup-option-label{flex:1}.popup-hint{text-align:center;color:var(--text-tertiary);opacity:.7;margin-top:.75rem;font-size:.7rem}@keyframes dxPanelEnter{0%{opacity:0}to{opacity:1}}@keyframes dxFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.dx-panel{z-index:50;background:radial-gradient(ellipse at 50% 0%,#0a84ff0f 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,#bf5af20a 0%,transparent 50%),var(--bg-primary);animation:.6s dxPanelEnter;position:fixed;inset:0}.dx-scroll{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;max-width:620px;height:100%;margin:0 auto;padding:3rem 1.5rem 4rem;overflow-y:auto}.dx-scroll::-webkit-scrollbar{width:6px}.dx-scroll::-webkit-scrollbar-track{background:0 0}.dx-scroll::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.dx-header{text-align:center;margin-bottom:2.5rem;animation:.5s both dxFadeUp}.dx-title{letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary)0%,var(--text-secondary)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:700}.dx-subtitle{color:var(--text-tertiary);margin-top:.35rem;font-size:.88rem;font-weight:400}.dx-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:2rem;animation:.5s .1s both dxFadeUp;display:grid}.dx-stat{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.2rem;padding:1rem .5rem;display:flex}.dx-stat-num{letter-spacing:-.02em;font-size:1.8rem;font-weight:700;line-height:1}.dx-stat-lbl{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.dx-anchor{background:#0a84ff0f;border:1px solid #0a84ff1f;border-radius:100px;justify-content:center;align-items:center;gap:.6rem;width:fit-content;margin-bottom:2.25rem;margin-left:auto;margin-right:auto;padding:.65rem 1.25rem;animation:.5s .15s both dxFadeUp;display:flex}.dx-anchor-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:500}.dx-anchor-value{color:var(--accent-blue);text-transform:capitalize;font-size:.9rem;font-weight:600}.dx-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:1rem;padding-left:.15rem;font-size:.72rem;font-weight:600;animation:.5s .2s both dxFadeUp}.dx-methods{flex-direction:column;gap:.6rem;margin-bottom:2.25rem;display:flex}.dx-card{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);border-left:3px solid var(--card-accent,var(--glass-border));transition:border-color var(--transition-fast),box-shadow var(--transition-fast);animation:.45s both dxFadeUp;position:relative;overflow:hidden}.dx-card--expandable{cursor:pointer}.dx-card--expandable:hover{border-color:#ffffff26;box-shadow:0 2px 12px #00000040}.dx-card--blocked{opacity:.65}.dx-card-main{justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem;display:flex}.dx-card-left{flex:1;min-width:0}.dx-card-name{color:var(--text-primary);letter-spacing:-.005em;font-size:1rem;font-weight:600}.dx-card-meta{color:var(--text-tertiary);margin-top:.15rem;font-size:.78rem}.dx-sep{opacity:.5}.dx-card-right{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.dx-dot{background:var(--card-accent,var(--text-tertiary));width:8px;height:8px;box-shadow:0 0 6px color-mix(in srgb,var(--card-accent,transparent)40%,transparent);border-radius:50%}.dx-status-text{color:var(--card-accent,var(--text-secondary));font-size:.78rem;font-weight:500}.dx-chevron{color:var(--text-tertiary);justify-content:center;align-items:center;margin-left:.2rem;transition:transform .25s cubic-bezier(.25,.46,.45,.94);display:flex}.dx-chevron--open{transform:rotate(90deg)}.dx-card-details{max-height:0;transition:max-height .35s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.dx-card-details--open{max-height:300px}.dx-card-details-inner{flex-direction:column;gap:.35rem;padding:0 1.1rem 1rem;display:flex}.dx-detail-warning{color:var(--accent-orange);padding-left:.9rem;font-size:.82rem;line-height:1.5;position:relative}.dx-detail-warning:before{content:"⚠";font-size:.7rem;position:absolute;left:0}.dx-detail-note{color:var(--accent-blue);padding-left:.9rem;font-size:.82rem;line-height:1.5;position:relative}.dx-detail-note:before{content:"ℹ";font-size:.72rem;position:absolute;left:0}.dx-card-hint{color:var(--text-tertiary);opacity:.7;padding:0 1.1rem .65rem;font-size:.7rem}.dx-summary{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:2.5rem;padding:1.5rem;animation:.5s .55s both dxFadeUp}.dx-summary-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:.75rem;font-size:.72rem;font-weight:600}.dx-summary-text{color:var(--text-secondary);font-size:.92rem;line-height:1.7}.dx-footer{justify-content:center;padding-bottom:1rem;animation:.5s .65s both dxFadeUp;display:flex}.dx-restart{background:var(--bg-tertiary);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:100px;justify-content:center;align-items:center;padding:.7rem 1.8rem;font-size:.88rem;font-weight:500;display:inline-flex}.dx-restart:hover{color:var(--text-primary);background:#ffffff14;border-color:#ffffff2e;transform:scale(1.03)}.dx-restart:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes popupEnter{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.prefilter-screen{background:var(--bg-primary);z-index:40;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.prefilter-content{text-align:center;width:90%;max-width:500px}.prefilter-logo{width:80%;max-width:320px;height:auto;margin-bottom:2.5rem}.prefilter-section{margin-bottom:2rem}.prefilter-section h3{margin-bottom:.75rem}.theme-toggle-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);z-index:30;letter-spacing:.02em;border-radius:2rem;padding:.45rem 1rem;font-size:.75rem;font-weight:500;position:fixed;bottom:1.5rem;right:1.5rem}.theme-toggle-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.cube-scene-container{z-index:10;position:fixed;inset:0}.cube-ui-overlay{z-index:20;text-align:center;pointer-events:none;position:fixed;top:2rem;left:50%;transform:translate(-50%)}.cube-hint{color:var(--text-tertiary);font-size:.85rem;animation:2s infinite pulse}@media (max-width:768px){h1{font-size:1.8rem}h2{font-size:1.2rem}h3{font-size:1rem}.glass-card{padding:1.25rem}.prefilter-content{width:95%}.prefilter-logo{max-width:240px;margin-bottom:1.5rem}.prefilter-section{margin-bottom:1.25rem}.pill{padding:.5rem 1rem;font-size:.85rem}.btn{padding:.65rem 1.5rem;font-size:.95rem}.cube-ui-overlay{top:1rem}.cube-hint{font-size:.75rem}.popup-card{width:92vw;min-width:auto;padding:1.5rem 1.25rem}.popup-title{margin-bottom:1rem;font-size:1.05rem}.popup-option{min-height:44px;padding:.85rem 1rem;font-size:.95rem}.popup-hint{font-size:.65rem}.theme-toggle-btn{padding:.4rem .85rem;font-size:.7rem;bottom:1rem;right:1rem}.dx-panel{padding:1rem}.dx-scroll{padding:1.5rem 1.25rem}.dx-title{font-size:1.6rem}.dx-stats{gap:1.5rem}.dx-stat-num{font-size:1.6rem}.dx-card-name{font-size:.92rem}.dx-summary{padding:1.15rem}.dx-restart{padding:.6rem 1.4rem;font-size:.82rem}}@media (max-width:400px){h1{font-size:1.4rem}.pill{padding:.4rem .8rem;font-size:.8rem}.popup-card{width:96vw;padding:1.25rem 1rem}.dx-panel{padding:.75rem}.dx-scroll{padding:1.25rem 1rem}.dx-title{font-size:1.35rem}.dx-stats{flex-wrap:wrap;gap:1rem}.dx-stat-num{font-size:1.4rem}.dx-card-name{font-size:.88rem}.dx-card-meta{font-size:.72rem}.dx-summary{padding:1rem}.dx-summary-text{font-size:.85rem}}.wizard-screen{z-index:40;background:radial-gradient(ellipse at 50% 20%,#0a84ff12 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,#bf5af20a 0%,transparent 50%),var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.wizard-logo{filter:drop-shadow(0 0 30px #0a84ff26);width:55%;max-width:260px;height:auto;margin-bottom:2.5rem}.wizard-question{letter-spacing:-.025em;color:var(--text-primary);text-align:center;margin-bottom:2.5rem;font-size:1.65rem;font-weight:700;line-height:1.3}.wizard-step-container{flex-direction:column;align-items:center;width:100%;display:flex}.wizard-cards-grid{justify-content:center;gap:1.25rem;width:100%;padding:0 1.5rem;display:grid}.wizard-cards-grid--three{grid-template-columns:repeat(3,1fr);max-width:820px}.wizard-cards-grid--two{grid-template-columns:repeat(2,1fr);max-width:560px}.wizard-card{text-align:center;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;transition:transform .22s cubic-bezier(.25,.46,.45,.94),border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.wizard-card:hover{border-color:#0a84ff66;transform:translateY(-6px)scale(1.02);box-shadow:0 12px 40px #0a84ff1f,0 0 0 1px #0a84ff1a}.wizard-card:active{transition-duration:80ms;transform:translateY(-2px)scale(.98)}.wizard-card-image-wrapper{aspect-ratio:4/3;background:var(--bg-tertiary);width:100%;position:relative;overflow:hidden}.wizard-card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.25,.46,.45,.94);display:block}.wizard-card:hover .wizard-card-image{transform:scale(1.06)}.wizard-card-body{border-top:1px solid var(--glass-border);padding:1.25rem 1.1rem 1.4rem}.wizard-card-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.wizard-card-desc{color:var(--text-secondary);font-size:.84rem;line-height:1.55}.wizard-dots{justify-content:center;gap:.6rem;margin-top:2.5rem;display:flex}.wizard-dot{background:var(--bg-tertiary);border-radius:50%;width:8px;height:8px;transition:all .35s cubic-bezier(.25,.46,.45,.94)}.wizard-dot--active{background:var(--accent-blue);transform:scale(1.4);box-shadow:0 0 10px #0a84ff80}@media (max-width:768px){.wizard-logo{max-width:200px;margin-bottom:1.75rem}.wizard-question{margin-bottom:1.75rem;padding:0 1rem;font-size:1.3rem}.wizard-cards-grid--three,.wizard-cards-grid--two{grid-template-columns:1fr;max-width:340px;margin:0 auto}.wizard-card-body{padding:1rem .85rem 1.15rem}.wizard-card-title{font-size:1.05rem}.wizard-card-desc{font-size:.8rem}.wizard-dots{margin-top:1.75rem}}@media (max-width:400px){.wizard-question{font-size:1.15rem}.wizard-cards-grid{padding:0 1rem}.wizard-card-body{padding:.85rem .75rem 1rem}}.file-upload-step{flex-direction:column;gap:1.5rem;width:100%;max-width:520px;padding:0 1.5rem;display:flex}.upload-zone-wrapper{flex-direction:column;gap:.75rem;display:flex}.upload-zone-label{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;font-weight:600}.upload-zone{border-radius:var(--radius-lg);background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:2px dashed #ffffff1f;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1.5rem;transition:border-color .25s,background .25s,box-shadow .25s,transform .25s;display:flex}.upload-zone:hover{background:#0a84ff0a;border-color:#0a84ff66;box-shadow:0 0 24px #0a84ff0f}.upload-zone:focus-visible{border-color:#0a84ff80;box-shadow:0 0 0 2px #0a84ff40}.upload-zone--drag-over{border-color:var(--accent-blue);background:#0a84ff14;transform:scale(1.01);box-shadow:0 0 32px #0a84ff1f,inset 0 0 20px #0a84ff0a}.upload-zone-icon{color:var(--text-tertiary);opacity:.7;transition:color .25s,opacity .25s}.upload-zone:hover .upload-zone-icon,.upload-zone--drag-over .upload-zone-icon{color:var(--accent-blue);opacity:1}.upload-zone-text{color:var(--text-secondary);font-size:.88rem;font-weight:500}.upload-zone-hint{color:var(--text-tertiary);letter-spacing:.04em;font-size:.72rem;font-weight:500}.upload-zone-files{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.upload-zone-file{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.6rem .75rem;transition:border-color .2s,background .2s;display:flex}.upload-zone-file:hover{background:#ffffff0a;border-color:#ffffff26}.upload-zone-preview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--glass-border);flex-shrink:0;width:48px;height:48px}.upload-zone-file-icon{background:var(--bg-tertiary);border-radius:var(--radius-sm);width:48px;height:48px;color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.upload-zone-file-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.upload-zone-file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.upload-zone-file-size{color:var(--text-tertiary);font-size:.72rem}.upload-zone-file-remove{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:all .2s;display:flex}.upload-zone-file-remove:hover{color:var(--accent-red);background:#ff453a1f;border-color:#ff453a4d}.wizard-continue-btn{border-radius:var(--radius-xl);cursor:pointer;background:var(--accent-blue);color:#fff;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding:.85rem 2.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.wizard-continue-btn:hover{background:#0070e0;transform:scale(1.03);box-shadow:0 0 28px #0a84ff66}.wizard-continue-btn:active{transition-duration:80ms;transform:scale(.97)}.file-upload-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:.5rem;font-size:.88rem;line-height:1.5}.files-confirmation-header{text-align:center;margin-bottom:2rem}.files-confirmation-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.5rem;font-weight:700}.files-confirmation-subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:.88rem;line-height:1.5}.files-confirmation-badge{border-radius:var(--radius-xl);color:var(--accent-green);letter-spacing:.02em;background:#30d1581a;border:1px solid #30d15833;align-items:center;gap:.35rem;padding:.3rem .85rem;font-size:.75rem;font-weight:600;display:inline-flex}.files-confirmation-uploads{max-width:100%;padding:0}.files-confirmation-cta{background:linear-gradient(135deg,var(--accent-blue),#0070e0);width:100%;margin-top:2.5rem;padding:1rem 2rem;font-size:1.05rem;box-shadow:0 4px 20px #0a84ff40}.files-confirmation-cta:hover{box-shadow:0 6px 32px #0a84ff66}@media (max-width:768px){.file-upload-step{gap:1.25rem;padding:0 1rem}.upload-zone{padding:1.5rem 1rem}.upload-zone-preview,.upload-zone-file-icon{width:40px;height:40px}.wizard-continue-btn{margin-top:1.5rem;padding:.75rem 2rem;font-size:.95rem}}@media (max-width:400px){.upload-zone{padding:1.25rem .75rem}.upload-zone-file{gap:.5rem;padding:.5rem .6rem}}
