:root{--verde: #0a7b3e;--verde-scuro: #075a2d;--verde-chiaro: #e6f4ec;--rosso: #ce2b37;--bianco: #ffffff;--chat-bg: #f0f4f0;--bubble-aria-bg: #ffffff;--bubble-user-bg: var(--verde);--bubble-shadow: 0 1px 2px rgba(0, 0, 0, .05);--bg: #f7faf7;--testo: #121a14;--muted: #6b7b6f;--bordo: #dfe7e1;--danger: #b00020;--font: -apple-system, BlinkMacSystemFont, system-ui, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--shadow-card: 0 6px 20px rgba(10, 40, 20, .08);--shadow-elev: 0 12px 32px rgba(10, 40, 20, .14);--tabbar-h: 64px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--testo);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}a{color:var(--verde)}.iv-logo{display:inline-flex;align-items:center;gap:10px;line-height:1;-webkit-user-select:none;user-select:none}.iv-bars{display:inline-flex;align-items:flex-end;justify-content:center;gap:var(--bar-gap, 3px);height:var(--bars-h, 28px);width:auto}.iv-bar{display:inline-block;width:var(--bar-w, 5px);height:100%;border-radius:3px;transform-origin:bottom center;animation-iteration-count:infinite;animation-timing-function:ease-in-out;will-change:transform}.iv-theme-light .iv-bar-1,.iv-theme-light .iv-bar-2{background:#1a4a2a}.iv-theme-light .iv-bar-3{background:#fff;border:1px solid #d6dcd8}.iv-theme-light .iv-bar-4,.iv-theme-light .iv-bar-5{background:#ce2b37}.iv-theme-on-green .iv-bar-1,.iv-theme-on-green .iv-bar-2{background:#1a4a2a}.iv-theme-on-green .iv-bar-3{background:#fff}.iv-theme-on-green .iv-bar-4,.iv-theme-on-green .iv-bar-5{background:#ce2b37}.iv-theme-dark .iv-bar-1,.iv-theme-dark .iv-bar-2{background:#22a65c}.iv-theme-dark .iv-bar-3{background:#fff}.iv-theme-dark .iv-bar-4,.iv-theme-dark .iv-bar-5{background:#e84b57}.iv-bar-1{animation-name:iv-bar1;animation-duration:.9s}.iv-bar-2{animation-name:iv-bar2;animation-duration:1.3s}.iv-bar-3{animation-name:iv-bar3;animation-duration:1.1s}.iv-bar-4{animation-name:iv-bar4;animation-duration:.8s}.iv-bar-5{animation-name:iv-bar5;animation-duration:1.2s}.iv-state-typing .iv-bar-1{animation-duration:.4s}.iv-state-typing .iv-bar-2{animation-duration:.45s}.iv-state-typing .iv-bar-3{animation-duration:.38s}.iv-state-typing .iv-bar-4{animation-duration:.42s}.iv-state-typing .iv-bar-5{animation-duration:.36s}@keyframes iv-bar1{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes iv-bar2{0%,to{transform:scaleY(.55)}50%{transform:scaleY(.8)}}@keyframes iv-bar3{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes iv-bar4{0%,to{transform:scaleY(.75)}50%{transform:scaleY(.28)}}@keyframes iv-bar5{0%,to{transform:scaleY(.25)}50%{transform:scaleY(.95)}}.iv-wordmark{display:inline-flex;flex-direction:column;gap:2px;line-height:1}.iv-word{font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:var(--word-size, 22px);letter-spacing:-.3px;color:#1a3a2a;line-height:1}.iv-word-italiano{font-weight:400}.iv-word-vivo{font-weight:800}.iv-tagline{font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,sans-serif;font-size:10px;font-weight:500;color:#999;letter-spacing:.4px}.iv-theme-on-green .iv-word{color:#fff}.iv-theme-on-green .iv-tagline{color:#ffffffbf}.iv-theme-dark .iv-word{color:#fff}.iv-theme-dark .iv-tagline{color:#ffffffb3}.iv-size-xs{--bars-h: 18px;--bar-w: 3px;--bar-gap: 2px;--word-size: 13px}.iv-size-xs .iv-tagline{font-size:8.5px}.iv-size-sm{--bars-h: 24px;--bar-w: 4px;--bar-gap: 2.5px;--word-size: 16px}.iv-size-sm .iv-tagline{font-size:9px}.iv-size-md{--bars-h: 32px;--bar-w: 5px;--bar-gap: 3px;--word-size: 20px}.iv-size-lg{--bars-h: 52px;--bar-w: 8px;--bar-gap: 5px;--word-size: 34px}.iv-size-lg .iv-tagline{font-size:12px}.iv-size-xl{--bars-h: 80px;--bar-w: 12px;--bar-gap: 7px;--word-size: 44px}.iv-size-xl .iv-tagline{font-size:13px;letter-spacing:.6px}@media (prefers-reduced-motion: reduce){.iv-bar{animation:none;transform:scaleY(.8)}}.logo-mark{flex:0 0 auto}.logo-wordmark{display:inline-flex;flex-direction:column;gap:2px;line-height:1}.logo-line{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:20px;letter-spacing:-.4px}.logo-italiano{color:var(--verde-scuro)}.logo-vivo{color:var(--verde)}.logo-invert .logo-italiano,.logo-invert .logo-vivo{color:var(--bianco)}.logo-invert .logo-vivo{opacity:.92}.logo-flag{display:inline-flex;align-items:center;margin-left:2px}.logo-tagline{font-size:10.5px;color:var(--muted);font-weight:500;letter-spacing:.3px}.logo-invert .logo-tagline{color:#ffffffb3}.flag{display:inline-block;position:relative;line-height:0;animation:flag-wave 2.6s ease-in-out infinite;transform-origin:left center;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}.flag svg{width:100%;height:100%;display:block}@keyframes flag-wave{0%,to{transform:rotate(-2deg) skewY(-2deg)}25%{transform:rotate(1deg) skewY(2deg)}50%{transform:rotate(-1deg) skewY(-1deg)}75%{transform:rotate(2deg) skewY(3deg)}}.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 18px;border-radius:var(--radius-md);border:1px solid transparent;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:transform .05s,opacity .15s,background .15s;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--verde);color:var(--bianco)}.btn-primary:hover:not(:disabled){background:var(--verde-scuro)}.btn-google-outline{background:var(--bianco);color:var(--verde);border-color:var(--verde)}.link{background:none;border:none;color:var(--verde);font-family:inherit;font-size:15px;cursor:pointer;padding:10px;text-align:center}.link-muted{color:var(--muted)}.link-btn{background:none;border:none;color:var(--verde);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;padding:6px 10px}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:500}.form input{padding:14px 16px;border:1.5px solid var(--bordo);border-radius:var(--radius-md);font-family:inherit;font-size:16px;background:var(--bianco);color:var(--testo);transition:border-color .15s,box-shadow .15s}.form input:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px #0a7b3e1f}.password-field{position:relative;display:flex;align-items:center}.password-field input{flex:1;width:100%;padding-right:52px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;color:#888;border-radius:8px;transition:color .15s,background-color .15s}.password-toggle:hover{background:#0000000a}.password-toggle:focus-visible{outline:2px solid var(--verde);outline-offset:2px}.password-toggle.is-active{color:#0a7b3e}.password-toggle svg{width:20px;height:20px;display:block}.msg{text-align:center;padding:11px 14px;border-radius:var(--radius-md);font-size:14px}.msg-error{background:#fde8ea;color:var(--danger)}.msg-ok{background:var(--verde-chiaro);color:var(--verde)}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;max-width:600px;margin:0 auto;background:var(--bg)}.app-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.home-page{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(14px + env(safe-area-inset-top)) 20px 24px;display:flex;flex-direction:column;gap:18px;background:var(--bg)}.home-header{display:flex;align-items:center}.home-greeting h1{margin:4px 0 8px;font-size:28px;font-weight:700;letter-spacing:-.3px}.home-sub{display:flex;gap:8px}.pill-livello,.pill-streak{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700}.pill-livello{background:var(--verde-chiaro);color:var(--verde)}.pill-streak{background:#fff3d6;color:#a06908}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;border-radius:22px;padding:22px 18px;min-height:170px;display:flex;flex-direction:column;gap:6px;text-align:left;color:var(--bianco);box-shadow:var(--shadow-card);transition:transform .08s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.home-card:active{transform:scale(.97)}.home-card-lezioni{background:#0a4a2a}.home-card-conversa{background:#0a7b3e}.home-card-icon{font-size:32px;line-height:1;margin-bottom:6px}.home-card-title{font-size:15px;font-weight:800;letter-spacing:1.2px}.home-card-sub{font-size:13.5px;opacity:.92;line-height:1.35}.home-card-main{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;background:transparent;color:inherit;text-align:left;padding:0;display:flex;flex-direction:column;gap:6px;font-family:inherit;flex:1 1 auto;-webkit-tap-highlight-color:transparent}.home-card-main:active{transform:scale(.97)}.home-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.home-subaction{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.3);background:#ffffff1f;color:var(--bianco);padding:8px 4px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.home-subaction:active{transform:scale(.95)}.home-subaction-voice{background:#ffffff40}.home-continue{background:var(--bianco);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:10px}.continue-head{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.continue-title{font-size:17px;font-weight:700;color:var(--testo)}.continue-bar{height:8px;background:var(--verde-chiaro);border-radius:999px;overflow:hidden}.continue-bar-fill{height:100%;background:var(--verde);transition:width .4s}.continue-meta{font-size:12px;color:var(--muted)}.lezioni-page{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(14px + env(safe-area-inset-top)) 20px 24px;display:flex;flex-direction:column;gap:14px;background:var(--bg)}.page-header h1{margin:4px 0;font-size:24px;font-weight:700}.page-header p{margin:0;color:var(--muted);font-size:14px}.level-card{background:var(--bianco);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:10px;transition:opacity .15s}.level-card.locked{opacity:.55}.level-card.current{border:2px solid var(--verde)}.level-card-head{display:flex;align-items:flex-start;justify-content:space-between}.level-code{font-size:17px;font-weight:700;color:var(--testo)}.level-code .lock{margin-right:6px}.level-code .star{color:#d4a017;margin-left:4px}.level-desc{font-size:13px;color:var(--muted);margin-top:2px}.level-progress{font-size:13px;font-weight:700;color:var(--verde)}.dots-path{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:6px 0;-webkit-overflow-scrolling:touch}.dot{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:2px solid var(--bordo);background:var(--bianco);color:var(--muted);font-weight:700;font-size:13px;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}.dot.done{background:var(--verde);color:var(--bianco);border-color:var(--verde)}.dot.in-progress{background:var(--verde-chiaro);color:var(--verde);border-color:var(--verde)}.dot.test{border-style:dashed}.dot.disabled{cursor:not-allowed;opacity:.55}.level-next{background:var(--verde-chiaro);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.level-next-label{font-size:11px;color:var(--verde-scuro);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.level-next-title{font-weight:700;color:var(--testo)}.level-hint{font-size:13px;color:var(--muted);font-style:italic}.moduli-wrap{display:flex;flex-direction:column;gap:10px;margin-top:4px}.modulo-row{background:var(--bg);border-radius:var(--radius-md);padding:10px 12px}.modulo-row.empty{opacity:.6}.modulo-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.modulo-title{font-size:13px;font-weight:700;color:var(--testo)}.modulo-n{display:inline-block;background:var(--verde);color:var(--bianco);font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;margin-right:6px;letter-spacing:.3px}.modulo-count{font-size:11px;font-weight:700;color:var(--muted)}.dot.ghost{background:transparent;border:2px dashed var(--bordo);color:var(--bordo);cursor:default;font-size:18px;line-height:1;width:34px;height:34px}.vi-card{background:linear-gradient(135deg,#fff,#f4faf6);border:1px solid var(--bordo)}.install-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:1500;display:flex;align-items:center;gap:12px;background:var(--bianco);border-radius:16px;border:1px solid var(--bordo);padding:12px;box-shadow:0 10px 30px #0000002e;max-width:560px;margin:0 auto;animation:a2hs-slide .3s ease-out}@keyframes a2hs-slide{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}.install-bar-icon{width:44px;height:44px;border-radius:10px;flex:0 0 44px}.install-bar-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13.5px}.install-bar-text strong{color:var(--verde);font-size:14.5px}.install-bar-text span{color:var(--muted)}.install-bar-actions{display:flex;gap:6px;flex:0 0 auto}.install-btn-later{background:var(--bg);color:var(--muted);border:none;padding:9px 14px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}.install-btn-install{background:var(--verde);color:var(--bianco);border:none;padding:9px 14px;border-radius:999px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.install-btn-install:active{transform:scale(.96)}.pwa-update{position:fixed;top:calc(10px + env(safe-area-inset-top));left:12px;right:12px;z-index:2500;display:flex;align-items:center;gap:10px;background:var(--verde);color:var(--bianco);padding:12px 14px;border-radius:14px;box-shadow:0 10px 30px #0a281440;max-width:560px;margin:0 auto;animation:pwa-drop .32s ease-out}@keyframes pwa-drop{0%{transform:translateY(-120%);opacity:0}to{transform:translateY(0);opacity:1}}.pwa-update-dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:pwa-blink 1.4s ease-in-out infinite;flex:0 0 auto}@keyframes pwa-blink{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.pwa-update-text{flex:1 1 auto;display:flex;flex-direction:column;gap:1px;line-height:1.2;min-width:0}.pwa-update-text strong{font-size:14px;font-weight:700}.pwa-update-text span{font-size:12px;opacity:.9}.pwa-update-btn{flex:0 0 auto;background:var(--bianco);color:var(--verde);border:none;border-radius:999px;padding:8px 16px;font-weight:800;font-family:inherit;font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent}.pwa-update-btn:active{transform:scale(.96)}.test-table{width:100%;border-collapse:collapse;font-size:13px}.test-table td{padding:6px 4px;border-bottom:1px solid var(--bordo)}.test-table td:last-child{border-bottom:1px solid var(--bordo)}.test-table tr:last-child td{border-bottom:none}.test-k{color:var(--muted);width:40%;font-weight:600}.test-v{color:var(--testo);font-weight:600;word-break:break-word}.test-v.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.test-v.small{font-size:11px;font-weight:400}.voice-list{list-style:none;padding:0;margin:0;font-size:13px}.voice-list li{padding:4px 0;border-bottom:1px solid var(--bordo)}.voice-list li:last-child{border-bottom:none}.voice-list em{color:var(--verde);font-style:normal;font-size:11px}.voice-quality{margin-top:12px;padding:12px;border-radius:var(--radius-md);background:var(--verde-chiaro)}.voice-quality-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--verde-scuro)}.voice-quality-stars{font-size:17px;letter-spacing:2px;color:#d4a017}.voice-quality-label{font-size:16px;font-weight:700;color:var(--verde-scuro);margin-top:2px}.voice-quality-hint{font-size:12px;color:var(--muted);font-style:italic;margin-top:4px}.test-phrase-btn{display:block;width:100%;text-align:left;background:var(--bianco);border:1.5px solid var(--bordo);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}.test-phrase-btn:hover:not(:disabled){border-color:var(--verde)}.test-phrase-btn:active{transform:scale(.99)}.test-phrase-btn:disabled{opacity:.5;cursor:not-allowed}.test-phrase-label{font-size:13px;font-weight:700;color:var(--verde)}.test-phrase-text{font-size:13.5px;color:var(--testo);margin-top:4px;line-height:1.4}.lezione-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--chat-bg)}.lezione-header{flex:0 0 auto;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--verde);color:var(--bianco);display:grid;grid-template-columns:32px 1fr 40px;gap:10px;align-items:center}.link-back{background:#ffffff2e;border:none;color:var(--bianco);width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer;display:grid;place-items:center}.lezione-title{min-width:0}.lezione-code{font-size:11px;opacity:.85;letter-spacing:.5px}.lezione-name{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fasi-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:10px 14px;background:var(--bianco);border-bottom:1px solid var(--bordo)}.step{display:flex;flex-direction:column;align-items:center;gap:4px}.step-dot{width:26px;height:26px;border-radius:50%;background:var(--bordo);color:var(--muted);font-weight:700;font-size:13px;display:grid;place-items:center;transition:background .2s,color .2s}.step.done .step-dot{background:var(--verde);color:var(--bianco)}.step.active .step-dot{background:var(--bianco);color:var(--verde);border:2px solid var(--verde)}.step-label{font-size:10px;color:var(--muted);text-align:center;line-height:1.1}.step.active .step-label{color:var(--verde);font-weight:700}.fase-card{background:var(--bianco);border-left:3px solid var(--verde);padding:12px 14px;border-radius:var(--radius-md);box-shadow:var(--bubble-shadow);margin-bottom:6px}.fase-card-head{font-size:11px;color:var(--verde-scuro);font-weight:700;letter-spacing:.3px;text-transform:uppercase}.fase-card-obj{font-size:14px;color:var(--testo);margin-top:4px;line-height:1.4}.lezione-actions{flex:0 0 auto;padding:8px 12px;background:var(--bianco);border-top:1px solid var(--bordo);display:flex;justify-content:center}.btn-ghost{background:var(--verde-chiaro);color:var(--verde);border:none;padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}.scenario-bar{flex:0 0 auto;display:flex;gap:8px;padding:10px 12px;background:var(--bianco);border-bottom:1px solid var(--bordo);overflow-x:auto;-webkit-overflow-scrolling:touch}.scenario-chip{flex:0 0 auto;background:var(--bg);color:var(--testo);border:1.5px solid var(--bordo);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.scenario-chip.active{background:var(--verde);color:var(--bianco);border-color:var(--verde)}.voice-cta{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 14px 0;padding:12px 16px;border:none;border-radius:14px;background:linear-gradient(135deg,#0a7b3e,#0a4a2a);color:var(--bianco);font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0a7b3e40;-webkit-tap-highlight-color:transparent}.voice-cta:active{transform:scale(.98)}.voice-nav-btn{background:#fff3;color:var(--bianco)}.tabbar{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;background:var(--bianco);border-top:1px solid var(--bordo);padding-bottom:env(safe-area-inset-bottom)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 0 8px;font-size:11px;font-weight:600;color:var(--muted);text-decoration:none;-webkit-tap-highlight-color:transparent;min-height:var(--tabbar-h)}.tab.active{color:var(--verde)}.tab svg{transition:transform .15s}.tab.active svg{transform:scale(1.08)}.screen{min-height:100dvh;padding:24px 22px calc(24px + env(safe-area-inset-bottom));padding-top:calc(24px + env(safe-area-inset-top));max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.login-screen{justify-content:center;min-height:100dvh}.login-hero{text-align:center;padding:28px 0 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.login-title{margin:4px 0 2px;font-size:34px;font-weight:700;letter-spacing:-.5px;color:var(--verde)}.login-subtitle{margin:0;color:var(--muted);font-size:16px}.login-actions{display:flex;flex-direction:column;gap:12px}.login-form{margin-top:8px}.login-footer{margin:16px 0 0;text-align:center;font-size:12.5px;color:var(--muted)}.card{background:var(--bianco);padding:22px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card h2{margin:0 0 8px}.card p{margin:0 0 14px;color:var(--muted)}.success-card{text-align:center;padding:28px 22px}.success-card h2{color:var(--verde);margin-top:6px}.success-card p{color:var(--testo);margin-bottom:12px}.success-card p strong{color:var(--verde);word-break:break-all}.success-card .hint{font-size:14px;color:var(--muted);margin-bottom:20px}.success-icon{width:64px;height:64px;margin:0 auto 8px;border-radius:50%;background:var(--verde-chiaro);display:grid;place-items:center;font-size:30px;animation:pop .35s ease-out}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.chat-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background-color:var(--chat-bg);background-image:radial-gradient(circle at 20% 15%,rgba(10,123,62,.05) .8px,transparent 1.2px),radial-gradient(circle at 70% 40%,rgba(10,123,62,.04) .8px,transparent 1.2px),radial-gradient(circle at 45% 75%,rgba(10,123,62,.05) .8px,transparent 1.2px),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%230a7b3e' stroke-width='0.6' opacity='0.06'><path d='M10 10 l4 2 l-1 4 l-4 -1 l-1 -4 z'/><circle cx='60' cy='30' r='1.5'/><path d='M30 55 l3 1.5 l-1 3 l-3 -1 l-1 -3 z'/><circle cx='70' cy='70' r='1'/></g><g fill='%230a7b3e' opacity='0.05'><polygon points='45,10 46.5,14 50.5,14 47,16.5 48,20.5 45,18 42,20.5 43,16.5 39.5,14 43.5,14'/><polygon points='15,55 16.2,58 19.2,58 16.6,60 17.5,63 15,61 12.5,63 13.4,60 10.8,58 13.8,58'/></g></svg>");background-size:auto,auto,auto,160px 160px}.chat-header{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr 44px;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 12px;background:var(--verde);color:var(--bianco);box-shadow:0 2px 8px #0a28141f;z-index:5}.chat-header-left{display:flex;align-items:center}.chat-header-center{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.chat-header-right{display:flex;justify-content:flex-end}.chat-name{font-weight:700;font-size:15.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-livello-pill{font-size:11px;font-weight:700;background:#ffffff38;color:var(--bianco);padding:2px 10px;border-radius:999px;letter-spacing:.6px}.chat-body{flex:1 1 auto;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 14px 12px;display:flex;flex-direction:column;gap:12px}.msg-row{display:flex;gap:8px;align-items:flex-end;max-width:100%}.msg-row.left{justify-content:flex-start}.msg-row.right{justify-content:flex-end}.msg-avatar{flex:0 0 auto}.msg-wrap{display:flex;flex-direction:column;gap:4px;max-width:78%;min-width:0}.msg-row.right .msg-wrap{align-items:flex-end}.msg-bubble{padding:11px 15px;border-radius:var(--radius-lg);font-size:15.5px;line-height:1.42;white-space:pre-wrap;word-wrap:break-word;box-shadow:var(--bubble-shadow)}.msg-bubble.aria{background:var(--bubble-aria-bg);color:var(--testo);border-left:3px solid var(--verde);border-bottom-left-radius:6px}.msg-bubble.user{background:var(--bubble-user-bg);color:var(--bianco);border-bottom-right-radius:6px}.msg-bubble.err{background:#fde8ea;color:var(--danger);border-left-color:var(--danger)}.msg-bubble.interim{background:#0a7b3e8c;color:var(--bianco);font-style:italic;border:1.5px dashed rgba(255,255,255,.45)}.msg-bubble.typing{padding:13px 16px}.dots{display:inline-flex;gap:5px}.dots i{width:7px;height:7px;background:var(--verde);border-radius:50%;display:inline-block;animation:blink 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.msg-time{font-size:11px;color:var(--muted);padding:0 4px}.typing-label{font-style:italic}.slide-left{animation:slide-in-left .35s cubic-bezier(.2,.9,.3,1)}.slide-right{animation:slide-in-right .35s cubic-bezier(.2,.9,.3,1)}@keyframes slide-in-left{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.dots-elegant{display:inline-flex;gap:5px;align-items:center}.dots-elegant i{width:8px;height:8px;background:var(--verde);border-radius:50%;display:inline-block;animation:wave-dots 1.25s infinite ease-in-out;box-shadow:0 1px 2px #0a7b3e40}.dots-elegant i:nth-child(2){animation-delay:.18s;background:#2ea562}.dots-elegant i:nth-child(3){animation-delay:.36s;background:#55b881}@keyframes wave-dots{0%,60%,to{transform:translateY(0) scale(.9);opacity:.5}30%{transform:translateY(-5px) scale(1.1);opacity:1}}.chat-error{text-align:center;font-size:13px;color:var(--danger);background:#fde8ea;padding:6px 12px}.chat-input{flex:0 0 auto;display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bianco);border-top:1px solid var(--bordo)}.chat-input input{flex:1 1 auto;min-width:0;padding:13px 16px;border:1.5px solid var(--bordo);border-radius:999px;font-family:inherit;font-size:16px;background:var(--bg);color:var(--testo);transition:border-color .15s,background .15s}.chat-input input:focus{outline:none;border-color:var(--verde);background:var(--bianco)}.chat-send{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:none;background:var(--verde);color:var(--bianco);cursor:pointer;display:grid;place-items:center;transition:transform .06s,opacity .15s,background .15s}.chat-send:active{transform:scale(.92)}.chat-send:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.chat-send:hover:not(:disabled){background:var(--verde-scuro)}.chat-send.pulse{animation:send-pulse 1.8s infinite}@keyframes send-pulse{0%{box-shadow:0 0 #0a7b3e8c}70%{box-shadow:0 0 0 12px #0a7b3e00}to{box-shadow:0 0 #0a7b3e00}}.mic-bars rect{transform-origin:center;transform-box:fill-box}.mic-bars-active .mb-b1{animation:mb1 .6s ease-in-out infinite}.mic-bars-active .mb-b2{animation:mb2 .7s ease-in-out infinite}.mic-bars-active .mb-b3{animation:mb3 .5s ease-in-out infinite}.mic-bars-active .mb-b4{animation:mb4 .65s ease-in-out infinite}.mic-bars-active .mb-b5{animation:mb5 .75s ease-in-out infinite}@keyframes mb1{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.3)}}@keyframes mb2{0%,to{transform:scaleY(.7)}50%{transform:scaleY(1.1)}}@keyframes mb3{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.25)}}@keyframes mb4{0%,to{transform:scaleY(.8)}50%{transform:scaleY(1.2)}}@keyframes mb5{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.3)}}.chat-mic{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--bianco);color:var(--verde);border:2px solid var(--bordo);cursor:pointer;display:grid;place-items:center;transition:transform .06s,background .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.chat-mic:active{transform:scale(.92)}.chat-mic:hover:not(:disabled){border-color:var(--verde)}.chat-mic:disabled{opacity:.4;cursor:not-allowed}.chat-mic.listening{background:var(--rosso);border-color:var(--rosso);color:var(--bianco);animation:mic-pulse 1.1s infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #ce2b378c}70%{box-shadow:0 0 0 14px #ce2b3700}to{box-shadow:0 0 #ce2b3700}}.mode-toggle{width:40px;height:40px;border-radius:50%;background:#ffffff2e;color:var(--bianco);border:1.5px solid rgba(255,255,255,.35);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,transform .06s}.mode-toggle:active{transform:scale(.92)}.mode-toggle.on{background:var(--bianco);color:var(--verde);border-color:var(--bianco);box-shadow:0 0 0 3px #ffffff40}.mode-banner{flex:0 0 auto;text-align:center;font-size:12.5px;font-weight:600;color:var(--verde-scuro);background:var(--verde-chiaro);padding:7px 14px;border-bottom:1px solid rgba(10,123,62,.12)}.chat-warn{text-align:center;font-size:13px;color:var(--verde-scuro);background:#fff7e0;border-top:1px solid #f3e7b5;padding:8px 14px}.aria-avatar-wrap{display:inline-block}.aria-avatar-wrap.speaking .aria-avatar{animation:aria-speak-pulse 1.1s ease-in-out infinite;box-shadow:0 0 #0a7b3e80}@keyframes aria-speak-pulse{0%,to{transform:scale(1);box-shadow:0 0 #0a7b3e80}50%{transform:scale(1.08);box-shadow:0 0 0 8px #0a7b3e00}}.voice-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#e8f5ee,#f5faf7,#e8f5ee);background-size:100% 200%}.voice-breathe{animation:breathe-bg 4s ease-in-out infinite alternate}@keyframes breathe-bg{0%{background-position:0% 0%}to{background-position:0% 100%}}.avatar-stage{position:relative;width:160px;height:160px;display:grid;place-items:center;margin:16px auto 10px}.avatar-stage .aria-avatar{position:relative;z-index:2;transition:all .35s cubic-bezier(.34,1.56,.64,1)}.avatar-idle .aria-avatar{background:#0a7b3e;box-shadow:0 4px 15px #0a7b3e4d;animation:pulse-subtle 3s ease-in-out infinite}.avatar-listening .aria-avatar{background:#ce2b37;box-shadow:0 0 0 8px #ce2b3733,0 0 0 16px #ce2b371a,0 0 0 24px #ce2b370d;animation:pulse-red .8s ease-in-out infinite}.avatar-processing .aria-avatar{background:#555;animation:rotate-subtle 3s linear infinite}.avatar-speaking .aria-avatar{background:#0a7b3e;box-shadow:0 0 20px #0a7b3e99,0 0 40px #0a7b3e4d,0 0 80px #0a7b3e26;animation:glow-breathe 1.2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes pulse-red{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes rotate-subtle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow-breathe{0%,to{box-shadow:0 0 20px #0a7b3e99,0 0 40px #0a7b3e4d,0 0 80px #0a7b3e26}50%{box-shadow:0 0 30px #0a7b3ecc,0 0 60px #0a7b3e66,0 0 100px #0a7b3e33}}.sonar-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;display:none}.avatar-speaking .sonar-container{display:block}.sonar-ring{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:50%;border:2px solid #0a7b3e;animation:sonar-wave 2s ease-out infinite;opacity:0}.sonar-ring:nth-child(2){animation-delay:.65s}.sonar-ring:nth-child(3){animation-delay:1.3s}@keyframes sonar-wave{0%{transform:scale(1);opacity:.6}to{transform:scale(2.8);opacity:0}}.particles-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;display:none}.avatar-speaking .particles-container{display:block}.particle{position:absolute;bottom:30%;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#0a7b3e,#0a7b3e00 70%);animation:particle-rise 2.5s ease-out infinite;opacity:0}@keyframes particle-rise{0%{transform:translateY(0) scale(1);opacity:.8}to{transform:translateY(-90px) scale(.2);opacity:0}}.tricolor-bars{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:48px;margin-bottom:8px}.tb{width:8px;border-radius:3px;height:8px;transition:height .2s ease}.tb.b1,.tb.b2{background:#0a7b3e}.tb.b3{background:#f5f5f5;border:1px solid #d6dcd8}.tb.b4,.tb.b5{background:#ce2b37}.tricolor-idle .tb{animation:tb-idle 2.4s ease-in-out infinite}.tricolor-idle .tb.b1{animation-delay:0s}.tricolor-idle .tb.b2{animation-delay:.3s}.tricolor-idle .tb.b3{animation-delay:.6s}.tricolor-idle .tb.b4{animation-delay:.9s}.tricolor-idle .tb.b5{animation-delay:1.2s}@keyframes tb-idle{0%,to{height:8px}50%{height:16px}}.tricolor-listening .tb{animation:tb-listen .55s ease-in-out infinite}.tricolor-listening .tb.b1{animation-delay:0s}.tricolor-listening .tb.b2{animation-delay:.1s}.tricolor-listening .tb.b3{animation-delay:.2s}.tricolor-listening .tb.b4{animation-delay:.15s}.tricolor-listening .tb.b5{animation-delay:.05s}@keyframes tb-listen{0%,to{height:16px}50%{height:32px}}.tricolor-speaking .tb{animation:tb-speak .45s ease-in-out infinite}.tricolor-speaking .tb.b1{animation-delay:0s}.tricolor-speaking .tb.b2{animation-delay:.12s}.tricolor-speaking .tb.b3{animation-delay:.06s}.tricolor-speaking .tb.b4{animation-delay:.18s}.tricolor-speaking .tb.b5{animation-delay:.24s}@keyframes tb-speak{0%,to{height:24px}50%{height:44px}}.tricolor-processing .tb{animation:tb-idle 2.4s ease-in-out infinite;opacity:.6}.voice-header{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;background:var(--bianco);border-bottom:1px solid var(--bordo)}.voice-back-btn{width:36px;height:36px;border-radius:50%;background:var(--bg);border:none;color:var(--verde);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.voice-back-btn:active{transform:scale(.92)}.voice-toggle-big{margin-top:6px;padding:10px 16px;background:var(--bg);border-radius:999px}.sw-icon path{stroke-linecap:round;transform-origin:center;transform-box:fill-box}.sw-icon.sw-active .sw-b1{animation:sw1 .6s ease-in-out infinite}.sw-icon.sw-active .sw-b2{animation:sw2 .7s ease-in-out infinite}.sw-icon.sw-active .sw-b3{animation:sw3 .5s ease-in-out infinite}.sw-icon.sw-active .sw-b4{animation:sw4 .65s ease-in-out infinite}.sw-icon.sw-active .sw-b5{animation:sw5 .75s ease-in-out infinite}@keyframes sw1{0%,to{stroke-width:3;opacity:.5}50%{stroke-width:5;opacity:1}}@keyframes sw2{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1.2)}}@keyframes sw3{0%,to{transform:scaleY(.7)}50%{transform:scaleY(1.15)}}@keyframes sw4{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1.2)}}@keyframes sw5{0%,to{stroke-width:3;opacity:.5}50%{stroke-width:5;opacity:1}}.voice-header-right{display:flex;align-items:center;gap:10px}.voice-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.voice-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;background:var(--bordo);border-radius:999px;position:relative;transition:background .2s;cursor:pointer}.voice-toggle input:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.voice-toggle input:checked{background:var(--verde)}.voice-toggle input:checked:after{transform:translate(16px)}.voice-body{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 22px calc(24px + env(safe-area-inset-bottom));text-align:center}.voice-body-empty{justify-content:center;padding-top:80px;color:var(--muted)}.voice-avatar-wrap{position:relative;width:180px;height:180px;display:grid;place-items:center;margin-top:8px}.voice-rings{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.voice-rings span{position:absolute;width:130px;height:130px;border-radius:50%;border:2px solid var(--verde);opacity:0}.voice-avatar-wrap.speaking .voice-rings span{animation:voice-ring 2s ease-out infinite}.voice-avatar-wrap.speaking .voice-rings span:nth-child(2){animation-delay:.5s}.voice-avatar-wrap.speaking .voice-rings span:nth-child(3){animation-delay:1s}@keyframes voice-ring{0%{transform:scale(1);opacity:.55}to{transform:scale(1.9);opacity:0}}.voice-avatar-wrap.listening .voice-rings span{animation:voice-ring-red 1.4s ease-out infinite;border-color:var(--rosso)}.voice-avatar-wrap.listening .voice-rings span:nth-child(2){animation-delay:.35s}.voice-avatar-wrap.listening .voice-rings span:nth-child(3){animation-delay:.7s}@keyframes voice-ring-red{0%{transform:scale(1);opacity:.5;border-color:var(--rosso)}to{transform:scale(1.9);opacity:0;border-color:var(--rosso)}}.voice-name{font-weight:700;font-size:18px;color:var(--verde);letter-spacing:1px}.voice-bubble{margin:2px 0 0;font-size:17px;line-height:1.45;color:var(--testo);background:var(--bianco);border-radius:var(--radius-lg);padding:16px 18px;max-width:520px;box-shadow:var(--shadow-card);border-left:3px solid var(--verde);text-align:left;quotes:none}.voice-bubble:before,.voice-bubble:after{content:none}.voice-divider{width:60%;max-width:280px;border:none;border-top:1px solid var(--bordo);margin:6px 0 2px}.voice-interim{min-height:28px;font-size:17px;color:var(--muted);font-style:italic;padding:0 12px;max-width:520px;transition:color .15s;text-align:center}.voice-interim.active{color:var(--verde-scuro);font-style:normal;font-weight:500}.word-appear{display:inline-block;opacity:0;animation:word-appear .3s ease-out forwards}@keyframes word-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.message-arrive{animation:message-arrive .45s cubic-bezier(.2,.9,.2,1)}@keyframes message-arrive{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.mic-premium{width:88px;height:88px;border-radius:50%;border:none;display:grid;place-items:center;cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent;margin-top:4px}.mic-premium:disabled{cursor:not-allowed}.mic-idle{background:#0a7b3e;box-shadow:0 8px 25px #0a7b3e66;animation:mic-breathe 3s ease-in-out infinite}.mic-listening{background:#ce2b37;transform:scale(1.12);box-shadow:0 0 0 12px #ce2b3733,0 8px 25px #ce2b3780;animation:mic-pulse .6s ease-in-out infinite}.mic-processing{background:#555;opacity:.65;transform:scale(.95)}.mic-speaking{background:#0a7b3e;opacity:.55;transform:scale(.95);cursor:not-allowed}@keyframes mic-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes mic-pulse{0%,to{transform:scale(1.12)}50%{transform:scale(1.18)}}.voice-mic{width:110px;height:110px;border-radius:50%;border:none;background:var(--verde);color:var(--bianco);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px #0a7b3e59;transition:transform .08s,background .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;margin-top:4px}.voice-mic:active{transform:scale(.95)}.voice-mic:disabled{opacity:.6;cursor:not-allowed}.voice-mic-idle{background:var(--verde)}.voice-mic-listening{background:var(--rosso);box-shadow:0 8px 24px #ce2b3759;animation:voice-mic-pulse 1.2s ease-in-out infinite}@keyframes voice-mic-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ce2b378c}50%{transform:scale(1.04);box-shadow:0 0 0 18px #ce2b3700}}.voice-mic-processing{background:#7b8a80;animation:none}.voice-mic-speaking{background:var(--verde);animation:voice-mic-speak 1.4s ease-in-out infinite}@keyframes voice-mic-speak{0%,to{transform:scale(1);box-shadow:0 0 #0a7b3e73}50%{transform:scale(1.03);box-shadow:0 0 0 14px #0a7b3e00}}.voice-mic-label{font-weight:600;font-size:15px;color:var(--testo);margin-top:-4px;letter-spacing:.2px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-error{background:#fff7e0;border:1px solid #f3e7b5;border-radius:var(--radius-md);color:var(--testo);padding:12px 14px;font-size:14px;max-width:480px}.voice-error strong{color:var(--verde-scuro)}.voice-footer{font-size:11px;color:var(--muted);letter-spacing:.3px}.voice-back{margin-top:4px}.aria-avatar{background:var(--verde);color:var(--bianco);border-radius:50%;display:grid;place-items:center;font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Arial,sans-serif;font-weight:700;line-height:1;box-shadow:0 2px 6px #0a281433;flex-shrink:0}.initials-avatar{background:linear-gradient(135deg,var(--verde) 0%,var(--verde-scuro) 100%);color:var(--bianco);border-radius:50%;display:grid;place-items:center;font-weight:700;letter-spacing:.5px;box-shadow:var(--shadow-card)}.profile-page{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(8px + env(safe-area-inset-top)) 20px 20px;background:var(--bg);display:flex;flex-direction:column;gap:16px}.profile-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.profile-header h1{margin:0;font-size:24px;color:var(--testo)}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 4px}.profile-hero h2,.profile-name{margin:12px 0 2px;font-size:26px;font-weight:700;letter-spacing:-.4px}.profile-email{margin:0 0 12px;color:var(--muted);font-size:14px}.livello-next{font-size:13px;font-weight:700;color:var(--verde);background:var(--verde-chiaro);padding:4px 10px;border-radius:999px}.profile-card{background:var(--bianco);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card)}.profile-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-card-head h3{margin:0;font-size:15px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.livello-badge-big{background:var(--verde);color:var(--bianco);font-weight:700;padding:6px 14px;border-radius:999px;font-size:15px;letter-spacing:.5px}.level-bar{height:10px;background:var(--verde-chiaro);border-radius:999px;overflow:hidden;margin-bottom:10px}.level-bar-fill{height:100%;background:linear-gradient(90deg,var(--verde) 0%,#2ea562 100%);transition:width .4s ease}.level-scale{display:grid;grid-template-columns:repeat(6,1fr);text-align:center;font-size:12px;font-weight:600;color:var(--muted)}.level-scale .active{color:var(--verde)}.streak-card{display:flex;align-items:center;gap:18px;padding:18px 22px}.streak-flame{font-size:44px;line-height:1}.streak-num{font-size:32px;font-weight:800;line-height:1;color:var(--verde)}.streak-label{color:var(--muted);font-size:14px;margin-top:4px}.streak-card{justify-content:space-between}.xp-box{text-align:right}.xp-num{font-size:28px;font-weight:800;color:var(--verde-scuro);line-height:1}.xp-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:4px}.badges-card{padding:18px}.badges-title{margin:0 0 14px;font-size:15px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badges-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.badge-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:var(--radius-md);background:var(--bg);transition:background .15s}.badge-tile.earned{background:var(--verde-chiaro)}.badge-tile.locked{opacity:.55}.badge-icon{font-size:26px;line-height:1}.badge-name{font-size:10px;text-align:center;color:var(--muted);font-weight:600;line-height:1.2}.badge-tile.earned .badge-name{color:var(--verde-scuro)}.msg-meta{display:flex;align-items:center;gap:8px;padding:0 4px}.msg-meta .msg-time{font-size:11px;color:var(--muted)}.msg-audio{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:26px;height:26px;border-radius:50%;cursor:pointer;color:var(--muted);display:grid;place-items:center;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}.msg-audio:hover{color:var(--verde);background:var(--verde-chiaro)}.msg-audio.playing{color:var(--bianco);background:var(--verde);animation:audio-pulse 1s ease-in-out infinite}@keyframes audio-pulse{0%,to{box-shadow:0 0 #0a7b3e80}50%{box-shadow:0 0 0 5px #0a7b3e00}}.settings-card{padding:18px;display:flex;flex-direction:column;gap:14px}.setting-row{display:flex;flex-direction:column;gap:8px}.setting-row-inline{flex-direction:row;justify-content:space-between;align-items:center;gap:14px}.setting-label{font-size:14px;font-weight:600;color:var(--testo);display:flex;flex-direction:column;gap:2px}.setting-hint{font-size:12px;color:var(--muted);font-weight:400}.setting-select{padding:11px 12px;border:1.5px solid var(--bordo);border-radius:var(--radius-md);font-size:15px;font-family:inherit;background:var(--bianco);color:var(--testo)}.setting-select:focus{outline:none;border-color:var(--verde)}.speed-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.speed-btn{padding:10px 8px;background:var(--bg);color:var(--testo);border:1.5px solid var(--bordo);border-radius:var(--radius-md);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s}.speed-btn.active{background:var(--verde);color:var(--bianco);border-color:var(--verde)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-tile{background:var(--bianco);border-radius:var(--radius-md);padding:16px 10px;text-align:center;box-shadow:var(--shadow-card)}.stat-icon{font-size:24px}.stat-value{font-size:22px;font-weight:700;color:var(--verde);margin:4px 0 2px}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.onboarding{justify-content:center;gap:24px;text-align:center}.onboarding-hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 0 4px}.onboarding-title{margin:10px 0 6px;font-size:26px;font-weight:700;color:var(--testo);letter-spacing:-.5px}.onboarding-sub{margin:0;color:var(--muted);font-size:15.5px;line-height:1.5}.onboarding-sub strong{color:var(--verde)}.onboarding-form{margin-top:6px;animation:fade-up .45s ease-out}.onboarding-cta{margin-top:6px;font-size:17px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.a2hs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a28148c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:flex-end;justify-content:center;animation:a2hs-fade .25s ease-out}@keyframes a2hs-fade{0%{opacity:0}to{opacity:1}}.a2hs-sheet{position:relative;width:100%;max-width:520px;background:var(--verde);color:#fff;border-radius:28px 28px 0 0;padding:24px 22px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0000004d;animation:a2hs-slideup .34s cubic-bezier(.2,.9,.2,1);max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes a2hs-slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.a2hs-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff2e;color:#fff;font-size:16px;cursor:pointer;display:grid;place-items:center}.a2hs-hero{text-align:center;padding:4px 8px 18px}.a2hs-app-icon{width:72px;height:72px;border-radius:18px;box-shadow:0 6px 16px #00000040;margin-bottom:10px}.a2hs-hero h2{margin:6px 0;font-size:22px;font-weight:700}.a2hs-hero p{margin:0;font-size:15px;line-height:1.4;color:#ffffffeb}.a2hs-steps{list-style:none;margin:6px 0 18px;padding:0;display:flex;flex-direction:column;gap:12px}.a2hs-step{background:#fff;color:var(--testo);border-radius:18px;padding:16px 16px 16px 14px;display:grid;grid-template-columns:36px 88px 1fr;align-items:center;gap:14px;box-shadow:0 4px 14px #0000001f}.a2hs-step-num{width:36px;height:36px;border-radius:50%;background:var(--verde);color:#fff;font-weight:700;font-size:17px;display:grid;place-items:center}.a2hs-step-visual{position:relative;display:grid;place-items:center;min-height:64px}.a2hs-step-text{display:flex;flex-direction:column;gap:3px}.a2hs-step-text strong{font-size:16px;color:var(--verde);font-weight:700}.a2hs-step-text span{font-size:13.5px;color:var(--muted);line-height:1.35}.a2hs-btn-share{width:56px;height:56px;border-radius:14px;background:#f2f2f7;color:#0a84ff;display:grid;place-items:center;box-shadow:0 3px 8px #0000001a}.a2hs-arrow-down{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--verde);animation:bounce 1.4s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(4px)}}.a2hs-btn-add{width:100%;min-height:52px;padding:8px 10px;border-radius:12px;background:#f2f2f7;color:var(--testo);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600;text-align:center;box-shadow:0 3px 8px #0000001a}.a2hs-ok{width:100%;padding:14px 16px;border-radius:14px;border:none;background:#fff;color:var(--verde);font-family:inherit;font-size:16px;font-weight:700;cursor:pointer}.logout-card{display:flex;justify-content:center;padding:16px;margin-top:8px;background:transparent;box-shadow:none}.logout-btn{width:100%;max-width:320px;padding:14px 20px;border-radius:14px;border:2px solid #e53935;background:#fff;color:#e53935;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,color .15s}.logout-btn:hover,.logout-btn:active{background:#e53935;color:#fff}.login-divider{display:flex;align-items:center;text-align:center;color:#8e8e93;font-size:13px;font-weight:500;margin:6px 0;gap:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e5e5ea}.login-divider span{padding:0 4px;text-transform:lowercase;letter-spacing:.02em}
