:root{--bg-primary: #1a1f2e;--bg-secondary: #242b3d;--bg-card: #242b3d;--bg-elevated: #2d3548;--bg-header: #1a1f2e;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-light: #64748b;--text-on-dark: #f1f5f9;--text-on-dark-secondary: #cbd5e1;--border: #334155;--border-color: #475569;--border-dark: #475569;--border-light: #334155;--border-header: rgba(255, 255, 255, .1);--shadow: rgba(0, 0, 0, .15);--shadow-strong: rgba(0, 0, 0, .25);--primary: #f093fb;--primary-light: #f5b8fc;--primary-dark: #d86ef0;--primary-accent: #db7093;--secondary: #7eb6d9;--secondary-light: #9ccae6;--secondary-dark: #5a9bc8;--accent: #a8dcd1;--accent-light: #c4ede5;--accent-dark: #8ecfc0;--success: #5ec894;--success-light: #7dd9ab;--warning: #fbbf24;--warning-light: #fcd34d;--danger: #ef4444;--danger-light: #f87171;--section-corpo: #fff1e6;--section-mente: #cddafd;--section-cuore: #fcd5ce;--section-spirito: #d8e2dc;--radius: 16px;--radius-sm: 8px;--radius-lg: 24px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;font-family:Quicksand,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.logo-invert{filter:invert(1) brightness(2)}*{margin:0;padding:0;box-sizing:border-box}*:focus,*:focus-visible,*:focus-within{outline:none!important;box-shadow:none!important}button,button:focus,button:active{outline:none!important;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg-primary);color:var(--text-primary);min-width:320px;height:100vh;height:100dvh;overflow:hidden;transition:background-color .3s ease,color .3s ease}#root{width:100%;height:100vh;height:100dvh;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2;margin-bottom:.5em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease}.btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 12px var(--shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-strong)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-light)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-block{width:100%}.card{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:none;transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.card-flat{box-shadow:none;border:1px solid var(--border-light)}input,textarea,select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;background:var(--bg-card);color:var(--text-primary);transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-light)}input::placeholder,textarea::placeholder{color:var(--text-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}*{scrollbar-width:thin;scrollbar-color:var(--primary-light) var(--bg-primary)}.container{max-width:500px;margin:0 auto;padding:0 var(--space-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.text-light{color:var(--text-light)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn .3s ease}.fade-in-up{animation:fadeInUp .4s ease}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.loading-spinner{width:40px;height:40px;border:4px solid var(--secondary-light);border-top-color:var(--secondary);border-radius:50%;animation:spin .8s linear infinite}.loading-screen p{margin-top:1rem;color:var(--text-secondary)}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}body.modal-open{overflow:hidden}body.modal-fullscreen-open .bottom-nav{display:none!important}.auth-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#1a1f2e;color:#e2e8f0;font-family:Quicksand,sans-serif}.auth-content{width:100%;max-width:400px;position:relative}.welcome-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.welcome-logo{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:#e2e8f0}.welcome-logo-icon{width:80px;height:80px;background:#e2e8f00f;border:1px solid rgba(226,232,240,.18);border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden}.welcome-logo-icon img{width:65px;height:65px;filter:invert(1);-o-object-fit:contain;object-fit:contain}.welcome-logo span{font-size:1.75rem;font-weight:700;letter-spacing:-.5px}.welcome-title{font-size:1.1rem;font-weight:400;color:#e2e8f099;letter-spacing:.12em;margin:0}.welcome-buttons{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px}.welcome-btn{padding:.95rem 2rem;border-radius:999px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .2s ease;border:none;-webkit-tap-highlight-color:transparent}.welcome-btn:active{transform:scale(.97)}.welcome-btn-primary{background:#f8fafc;color:#1a1f2e}.welcome-btn-secondary{background:transparent;color:#e2e8f0;border:1.5px solid rgba(226,232,240,.4)}.welcome-link{background:none;border:none;color:#e2e8f099;font-family:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline;margin-top:1rem}.welcome-link:hover{color:#e2e8f0}.auth-back{position:absolute;top:0;left:0;background:none;border:none;color:#e2e8f0;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.auth-back:hover{background:#e2e8f014}.auth-title{font-size:2.2rem;font-weight:400;color:#e2e8f0;margin:0 0 2rem;padding-top:2.5rem}.auth-form-card{background:#e2e8f00d;border:1px solid rgba(226,232,240,.15);border-radius:16px;padding:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{padding:1rem;border:1.5px solid rgba(226,232,240,.2);border-radius:12px;font-family:inherit;font-size:1rem;background:#e2e8f00f;color:#e2e8f0;width:100%;box-sizing:border-box}.auth-input::-moz-placeholder{color:#e2e8f066}.auth-input::placeholder{color:#e2e8f066}.auth-input:focus{outline:none;border-color:#f6c453b3}.auth-password-hint{font-size:.85rem;color:#e2e8f08c;margin:-.5rem 0 .5rem;line-height:1.5}.auth-password-hint strong{color:#e2e8f0}.auth-forgot{background:none;border:none;color:#e2e8f099;font-family:inherit;font-size:.85rem;cursor:pointer;text-align:right;text-decoration:underline;padding:0;margin-top:-.5rem}.auth-forgot:hover{color:#e2e8f0}.auth-submit{padding:.95rem;background:#f8fafc;color:#1a1f2e;border:none;border-radius:999px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .2s ease;margin-top:.5rem;-webkit-tap-highlight-color:transparent}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{background:none;border:none;color:#e2e8f099;font-family:inherit;font-size:.9rem;cursor:pointer;margin-top:1.5rem;text-decoration:underline;display:block;width:100%;text-align:center}.auth-switch:hover{color:#e2e8f0}.auth-error{background:#fca5a51f;border:1px solid rgba(252,165,165,.4);color:#fca5a5;padding:.75rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem;text-align:center}.auth-error__accedi{background:none;border:none;color:#fca5a5;font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:underline;cursor:pointer;display:block;margin:.35rem auto 0;padding:.25rem .5rem;-webkit-tap-highlight-color:transparent}.auth-success{background:#86efac1a;border:1px solid rgba(134,239,172,.35);color:#86efac;padding:.75rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem;text-align:center;line-height:1.5}@media(max-width:480px){.auth-title{font-size:1.8rem}.welcome-logo span{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){.welcome-btn,.auth-submit{transition:none}}.pw-input{position:relative}.pw-input .auth-input{padding-right:3rem}.pw-input__toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.5rem;display:flex;color:#e2e8f073}.pw-input__toggle:hover{color:#e2e8f0}.pw-input__toggle svg{width:1.25rem;height:1.25rem}.onboarding-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.onboarding-card{width:100%;max-width:380px;border-radius:16px;padding:20px 24px;box-shadow:0 4px 20px #00000014}.onboarding-icon{text-align:center;margin-bottom:12px;font-size:36px}.onboarding-title{margin:0 0 12px;font-size:20px;font-weight:600;text-align:center}.onboarding-content{font-size:14px;line-height:1.5;text-align:center}.onboarding-content p{margin:0 0 10px}.onboarding-content strong{font-weight:600}.onboarding-button{width:100%;margin-top:16px;padding:14px 20px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s ease}.onboarding-button:disabled{cursor:not-allowed;opacity:.7}.onboarding-button:hover:not(:disabled){opacity:.9}.benvenuto{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg-primary);position:relative;overflow-x:hidden;overflow-y:auto}.benvenuto__content{flex:1;width:100%;max-width:460px;padding:64px 24px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.benvenuto__logo{width:100px;height:auto;filter:drop-shadow(0 4px 18px rgba(255,255,255,.12));margin-bottom:12px;animation:benvenuto-appare 1.2s ease-out both}.benvenuto__brand{font-size:2.5rem;font-weight:800;letter-spacing:.04em;color:var(--text-primary);margin:0 0 40px;animation:benvenuto-appare 1.2s ease-out .3s both}.benvenuto__line{font-size:1.2rem;font-weight:500;line-height:1.5;color:var(--text-secondary);margin:0 0 28px;max-width:360px;animation:benvenuto-appare 1.2s ease-out .9s both}.benvenuto__line--gesto{margin-bottom:0;animation-delay:1.5s}.benvenuto__continua{background:none;border:none;padding:12px;margin-top:48px;font-size:.85rem;letter-spacing:.04em;color:var(--text-tertiary);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:benvenuto-appare 1.2s ease-out 2.4s both}.benvenuto__continua:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px;border-radius:8px}@keyframes benvenuto-appare{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.benvenuto__logo,.benvenuto__brand,.benvenuto__line,.benvenuto__continua{animation:none}}@media(max-width:380px){.benvenuto__brand{font-size:2.2rem}.benvenuto__line{font-size:1.1rem}}.starry-bg:before{content:"";position:absolute;inset:0;background-image:radial-gradient(2.5px 2.5px at 8% 12%,rgba(255,255,255,.7) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 92% 18%,rgba(255,255,255,.65) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 45% 5%,rgba(255,255,255,.6) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 78% 85%,rgba(255,255,255,.58) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 15% 75%,rgba(255,255,255,.62) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 55% 92%,rgba(255,255,255,.55) 50%,transparent 50%),radial-gradient(2px 2px at 10% 15%,rgba(255,255,255,.6) 50%,transparent 50%),radial-gradient(2px 2px at 85% 25%,rgba(255,255,255,.55) 50%,transparent 50%),radial-gradient(2px 2px at 50% 8%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(2px 2px at 30% 65%,rgba(255,255,255,.52) 50%,transparent 50%),radial-gradient(2px 2px at 72% 78%,rgba(255,255,255,.48) 50%,transparent 50%),radial-gradient(2px 2px at 95% 55%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(2px 2px at 5% 45%,rgba(255,255,255,.52) 50%,transparent 50%),radial-gradient(2px 2px at 62% 35%,rgba(255,255,255,.48) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 92% 70%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 8% 85%,rgba(255,255,255,.45) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 25% 35%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 70% 20%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 40% 55%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 60% 75%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 78% 45%,rgba(255,255,255,.38) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 88% 88%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 15% 52%,rgba(255,255,255,.42) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 45% 12%,rgba(255,255,255,.38) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 95% 32%,rgba(255,255,255,.36) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 52% 92%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 3% 28%,rgba(255,255,255,.42) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 35% 82%,rgba(255,255,255,.38) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 68% 62%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 82% 8%,rgba(255,255,255,.36) 50%,transparent 50%);pointer-events:none;z-index:0}.starry-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 5% 25%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 32% 72%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 58% 18%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 82% 35%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 12% 92%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 28% 5%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 55% 62%,rgba(255,255,255,.26) 50%,transparent 50%),radial-gradient(1px 1px at 3% 42%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 22% 22%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 65% 42%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 75% 12%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 18% 68%,rgba(255,255,255,.27) 50%,transparent 50%),radial-gradient(1px 1px at 48% 32%,rgba(255,255,255,.24) 50%,transparent 50%),radial-gradient(1px 1px at 88% 58%,rgba(255,255,255,.26) 50%,transparent 50%),radial-gradient(1px 1px at 38% 85%,rgba(255,255,255,.22) 50%,transparent 50%),radial-gradient(1px 1px at 68% 5%,rgba(255,255,255,.29) 50%,transparent 50%),radial-gradient(1px 1px at 95% 85%,rgba(255,255,255,.23) 50%,transparent 50%),radial-gradient(1px 1px at 42% 48%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 98% 15%,rgba(255,255,255,.27) 50%,transparent 50%),radial-gradient(1px 1px at 8% 58%,rgba(255,255,255,.24) 50%,transparent 50%),radial-gradient(.8px .8px at 15% 12%,rgba(255,255,255,.18) 50%,transparent 50%),radial-gradient(.8px .8px at 38% 28%,rgba(255,255,255,.16) 50%,transparent 50%),radial-gradient(.8px .8px at 72% 8%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(.8px .8px at 95% 52%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(.8px .8px at 48% 88%,rgba(255,255,255,.17) 50%,transparent 50%),radial-gradient(.8px .8px at 6% 68%,rgba(255,255,255,.19) 50%,transparent 50%),radial-gradient(.8px .8px at 62% 32%,rgba(255,255,255,.14) 50%,transparent 50%),radial-gradient(.8px .8px at 88% 15%,rgba(255,255,255,.16) 50%,transparent 50%),radial-gradient(.8px .8px at 28% 45%,rgba(255,255,255,.17) 50%,transparent 50%),radial-gradient(.8px .8px at 55% 22%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(.8px .8px at 82% 72%,rgba(255,255,255,.18) 50%,transparent 50%),radial-gradient(.8px .8px at 12% 38%,rgba(255,255,255,.14) 50%,transparent 50%),radial-gradient(.8px .8px at 75% 55%,rgba(255,255,255,.16) 50%,transparent 50%),radial-gradient(.8px .8px at 42% 68%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(.8px .8px at 20% 88%,rgba(255,255,255,.17) 50%,transparent 50%),radial-gradient(.8px .8px at 65% 95%,rgba(255,255,255,.14) 50%,transparent 50%),radial-gradient(.5px .5px at 8% 5%,rgba(255,255,255,.12) 50%,transparent 50%),radial-gradient(.5px .5px at 18% 48%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 33% 15%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 45% 38%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 52% 72%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 68% 58%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 78% 82%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 90% 38%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 25% 92%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 42% 5%,rgba(255,255,255,.12) 50%,transparent 50%),radial-gradient(.5px .5px at 58% 48%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 83% 62%,rgba(255,255,255,.1) 50%,transparent 50%);pointer-events:none;z-index:0}.busta{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg-primary);position:relative;overflow-x:hidden;overflow-y:auto}.busta__content{flex:1;width:100%;max-width:460px;padding:64px 24px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.busta__annuncio{font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:0 0 36px;animation:busta-appare 1s ease-out both}.busta__envelope{position:relative;width:min(320px,85vw);aspect-ratio:3 / 2;background:#f2e9d8;border-radius:10px;box-shadow:0 12px 32px #0006;animation:busta-arriva 1s ease-out .4s both}.busta__flap{position:absolute;top:0;left:0;right:0;height:52%;background:linear-gradient(#e8dec9,#efe5d2);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:10px 10px 0 0}.busta__mittente{position:absolute;top:12px;left:14px;display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:#4a4460}.busta__logo-ink{filter:invert(.72)}.busta__francobollo{position:absolute;top:10px;right:12px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;background:#fbf6ea;border:2px dashed #b8a98a;border-radius:4px;font-size:.75rem;font-weight:700;line-height:1.15;color:#4a4460;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:busta-francobollo 2.8s ease-in-out 1.6s infinite}.busta__francobollo:focus-visible{outline:2px solid #4a4460;outline-offset:2px}.busta__destinatario{position:absolute;bottom:18%;left:0;right:0;margin:0;font-size:1.4rem;font-style:italic;font-weight:500;color:#3a3550}.busta__hint{font-size:.85rem;letter-spacing:.03em;color:var(--text-tertiary);margin:28px 0 0;animation:busta-appare 1s ease-out 1.2s both}@keyframes busta-appare{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes busta-arriva{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes busta-francobollo{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.busta__annuncio,.busta__envelope,.busta__hint,.busta__francobollo{animation:none}}.lettera{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg-primary);position:relative;overflow-x:hidden;overflow-y:auto}.lettera__scene{flex:1;width:100%;max-width:460px;padding:48px 24px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.lettera__carta{width:100%;background:#f7efe0;border-radius:10px;box-shadow:0 12px 32px #0006;padding:28px 24px 24px;color:#3a3550;animation:lettera-sfila 1.1s ease-out both}.lettera__icona{display:inline-flex;vertical-align:text-bottom;background:#1a1f2e;border-radius:50%;padding:3px}.lettera__icona svg{width:20px;height:20px}.lettera__cta{display:block;margin:4px auto 0;padding:13px 28px;background:#4a4460;color:#f7efe0;border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.lettera__cta:focus-visible{outline:2px solid #4a4460;outline-offset:2px}.lettera__logo-ink{filter:invert(.72)}.lettera__testo{font-size:1.05rem;line-height:1.65;margin:0 0 18px}.lettera__testo--firma{font-weight:700}.lettera__congedo{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.95rem;font-weight:700;color:#4a4460;margin:28px 0 0}@keyframes lettera-sfila{0%{opacity:0;transform:translateY(45%)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.lettera__carta{animation:none}}.crea-spazio{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg-primary);position:relative;overflow-x:hidden;overflow-y:auto}.crea-spazio__content{flex:1;width:100%;max-width:460px;padding:48px 24px 32px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;animation:crea-spazio-appare .8s ease-out both}.crea-spazio__title{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;text-align:center}.crea-spazio__sub{font-size:1rem;color:var(--text-secondary);margin:0 0 28px;text-align:center}.crea-spazio__secondario{background:none;border:none;padding:12px;margin-top:12px;font-size:.9rem;color:var(--text-tertiary);cursor:pointer;-webkit-tap-highlight-color:transparent}.crea-spazio__contatto{margin-top:20px;font-size:.85rem;color:var(--text-secondary)}.crea-spazio__contatto a{color:var(--secondary);text-decoration:underline}@keyframes crea-spazio-appare{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.crea-spazio__content{animation:none}}.mood-page{position:relative;height:100vh;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;background:#1a1f2e;color:#e2e8f0;font-family:Quicksand,sans-serif}.mood-page__header{display:flex;align-items:center;gap:8px;padding:20px 20px 8px}.mood-page .mood-page__header{padding-left:64px}.mood-page__title{flex:1;font-size:1.35rem;font-weight:600;margin:0}.mood-page__dots{display:flex;justify-content:center;gap:10px;padding:6px 0 4px}.mood-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f040;transition:background .25s ease,transform .25s ease}.mood-dot--active{background:#f6c453;transform:scale(1.25)}.mood-page__content{flex:1;display:flex;justify-content:center;padding:12px 20px 40px}.mood-step{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:22px}.mood-step__question{font-size:1.15rem;font-weight:600;text-align:center;margin:18px 0 0}.mood-step__hint{font-size:.85rem;color:#e2e8f08c;margin:-14px 0 0}.mood-step__options{display:flex;flex-direction:column;align-items:center;gap:10px}.mood-option{background:none;border:none;padding:4px;border-radius:20px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,background .2s ease}.mood-option .mood-icon-svg{width:82px;height:82px;display:block;filter:drop-shadow(0 4px 5px rgba(15,23,42,.4));opacity:.85;transition:opacity .2s ease,transform .2s ease}.mood-step__options--umore .mood-icon-svg{width:74px;height:74px}.mood-option:active{transform:scale(.94)}.mood-option--selected{background:#f6c4531f;box-shadow:0 0 0 2px #f6c453bf}.mood-option--selected .mood-icon-svg{opacity:1;transform:scale(1.06)}.mood-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mood-chips .mood-chip:last-child:nth-child(odd){grid-column:1 / -1}.mood-chip{font-family:inherit;font-size:.9rem;font-weight:600;color:#e2e8f0;background:#e2e8f014;border:1.5px solid rgba(226,232,240,.25);border-radius:999px;padding:9px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}.mood-chip:disabled{opacity:.35;cursor:default}.mood-chips--spente .mood-chip{opacity:.3}.mood-chip--selected{background:#f6c4532e;border-color:#f6c453;color:#fde9bd}.mood-chip--decline{border-style:dashed;color:#e2e8f0b3}.mood-note{width:100%;display:flex;flex-direction:column;gap:8px}.mood-note__label{font-size:.9rem;color:#e2e8f0bf}.mood-note__input{font-family:inherit;font-size:.95rem;color:#e2e8f0;background:#e2e8f00f;border:1.5px solid rgba(226,232,240,.2);border-radius:14px;padding:12px;max-height:55vh;resize:none}.mood-note__input:focus{outline:none;border-color:#f6c453b3}.mood-recap__when{font-size:.85rem;font-style:italic;color:#e2e8f08c;text-align:center;margin:-14px 0 0}.mood-recap{width:100%;display:flex;flex-direction:column;gap:12px}.mood-recap__row{display:flex;align-items:center;gap:12px;background:#e2e8f00f;border-radius:16px;padding:10px 14px}.mood-recap__icon .mood-icon-svg{width:52px;height:52px;display:block}.mood-recap__text{flex:1;font-size:.95rem}.mood-recap__text--full{padding:6px 0}.mood-recap__note{display:block;margin-top:6px;font-size:.88rem;color:#e2e8f0b3;font-style:italic}.mood-recap__edit{font-family:inherit;font-size:.82rem;font-weight:600;color:#f6c453;background:none;border:none;padding:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mood-recap__actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.mood-nav{display:flex;flex-direction:column;align-items:center;gap:10px}.mood-next-btn{font-family:inherit;font-size:1rem;font-weight:700;color:#1a1f2e;background:#f8fafc;border:none;border-radius:999px;padding:13px 44px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease,transform .15s ease}.mood-next-btn:disabled{opacity:.35;cursor:default}.mood-next-btn:not(:disabled):active{transform:scale(.97)}.mood-cancel-btn{font-family:inherit;font-size:.9rem;font-weight:600;color:#e2e8f099;background:none;border:none;padding:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mood-error{font-size:.9rem;color:#fca5a5;text-align:center;margin:0}.mood-slow{font-size:.9rem;color:#94a3b8;text-align:center;margin:0}.mood-loading{font-size:.9rem;color:#e2e8f08c;text-align:center;margin:24px 0 0}.mood-saved-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.mood-grace-btn{font-family:inherit;font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;color:#e2e8f099;background:none;border:none;padding:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mood-saved{font-size:1.05rem;font-weight:700;color:#f6c453;text-align:center;margin:0;padding:13px 0;animation:mood-saved-in .35s ease}@keyframes mood-saved-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mood-saved{animation:none}.mood-dot,.mood-option,.mood-option .mood-icon-svg,.mood-chip,.mood-next-btn{transition:none}}.landing-topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:56px;background:#1a1f2ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}.landing-topbar__brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;transition:left .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1)}.landing-topbar--scrolled .landing-topbar__brand{left:24px;transform:translateY(-50%)}.landing-topbar__logo{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;filter:invert(1);opacity:.9}.landing-topbar__name{font-family:Quicksand,sans-serif;font-size:1.15rem;font-weight:500;color:var(--text-primary);letter-spacing:.5px}.landing-topbar__cta{position:absolute;top:50%;right:24px;transform:translate(8px,-50%);background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:50px;padding:9px 22px;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.4,0,.2,1)}.landing-topbar--scrolled .landing-topbar__cta{opacity:1;pointer-events:auto;transform:translateY(-50%)}.landing-topbar__cta:hover{box-shadow:0 6px 16px #00000040}.landing-topbar__cta:active{transform:translateY(-50%) scale(.97)}@media(max-width:380px){.landing-topbar{height:52px}.landing-topbar--scrolled .landing-topbar__brand{left:16px}.landing-topbar__name{font-size:1.05rem}.landing-topbar__cta{right:16px;padding:8px 18px;font-size:.9rem}}.hero-section{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:56px 24px 32px;background:var(--bg-primary);position:relative;overflow:hidden}.hero-content{text-align:center;width:100%;max-width:420px;padding:0 24px;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.hero-tagline{font-size:1.6rem;font-weight:700;color:var(--text-primary);line-height:1.5;margin:0 0 14px;max-width:340px}.hero-sotto{font-size:1rem;color:var(--text-secondary);margin:0 0 44px;max-width:340px;text-wrap:balance}.hero-cta{display:inline-flex;align-items:center;gap:12px;padding:18px 48px;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:50px;font-size:1.15rem;font-weight:700;cursor:pointer;transition:all .2s ease;max-width:280px}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.hero-cta:active{transform:scale(.98)}.hero-cta svg{width:20px;height:20px}.hero-scroll-link{display:inline-flex;align-items:center;gap:8px;margin-top:32px;padding:12px 24px;background:transparent;border:none;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s ease}.hero-scroll-link:hover{color:var(--text-primary)}.hero-scroll-link svg{width:18px;height:18px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media(max-height:700px){.hero-tagline{font-size:1.4rem;margin-bottom:32px}}@media(max-width:380px){.hero-tagline{font-size:1.3rem}.hero-cta{padding:16px 36px;font-size:1.05rem}}.constellation-intro{position:relative;width:280px;height:300px;margin:12px auto}.constellation-intro__lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;filter:drop-shadow(0 0 2px rgba(255,255,255,.25))}.intro-line{stroke:#ffffffb3;stroke-width:.55;opacity:0;stroke-dasharray:100;stroke-dashoffset:100}@keyframes drawIntroLine{to{opacity:.22;stroke-dashoffset:0}}.intro-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1}.intro-node__label{font-family:Quicksand,sans-serif;font-size:.65rem;font-weight:600;color:#ffffff80;letter-spacing:.18em;transition:color .6s ease}.intro-node__icon{position:relative;display:flex;align-items:center;justify-content:center}.intro-icon{display:block;transition:opacity .7s ease}.intro-icon--off{color:#fcd34d8c;fill:#fcd34d1f}.intro-node--cuore .intro-icon--off{color:#f472b68c;fill:#f472b61f}.intro-icon--on{position:absolute;inset:0;margin:auto;opacity:0}.intro-node__glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:0;z-index:-1}.intro-node__glow--star{width:110%;height:110%;background:radial-gradient(circle,rgba(252,211,77,.5) 0%,rgba(252,211,77,.22) 40%,transparent 70%)}.intro-node__glow--heart{width:140%;height:140%;background:radial-gradient(circle,rgba(244,114,182,.6) 0%,rgba(244,114,182,.3) 45%,transparent 75%)}.intro-node--passato{top:18px;left:33.6px;transform:translate(-50%)}.intro-node--futuro{top:18px;left:246.4px;transform:translate(-50%)}.intro-node--cuore{top:102px;left:140px;transform:translate(-50%)}.intro-node--presente{top:206px;left:140px;transform:translate(-50%)}.constellation-intro--mode-all .intro-icon--off,.constellation-intro--mode-all .intro-node__label{opacity:0}.constellation-intro--mode-all .intro-line{animation:drawIntroLine .5s ease-out .75s forwards}.constellation-intro--mode-all .intro-node--cuore .intro-icon--on{animation:popInIcon .4s ease-out .1s both}.constellation-intro--mode-all .intro-node--cuore .intro-node__glow{animation:glowOnHeart .4s ease-out .1s forwards,glowPulseHeart 2.6s ease-in-out .6s infinite}.constellation-intro--mode-all .intro-node--presente .intro-icon--on{animation:popInIcon .4s ease-out .25s both}.constellation-intro--mode-all .intro-node--presente .intro-node__glow{animation:glowOnStar .4s ease-out .25s forwards,glowPulseStar 2s ease-in-out .8s infinite}.constellation-intro--mode-all .intro-node--presente .intro-node__label{animation:skeletonFadeIn .4s ease-out .4s forwards,labelLight .4s ease-out .4s forwards}.constellation-intro--mode-all .intro-node--passato .intro-icon--on{animation:popInIcon .4s ease-out .4s both}.constellation-intro--mode-all .intro-node--passato .intro-node__glow{animation:glowOnStar .4s ease-out .4s forwards,glowPulseStar 2s ease-in-out .95s infinite}.constellation-intro--mode-all .intro-node--passato .intro-node__label{animation:skeletonFadeIn .4s ease-out .55s forwards,labelLight .4s ease-out .55s forwards}.constellation-intro--mode-all .intro-node--futuro .intro-icon--on{animation:popInIcon .4s ease-out .55s both}.constellation-intro--mode-all .intro-node--futuro .intro-node__glow{animation:glowOnStar .4s ease-out .55s forwards,glowPulseStar 2s ease-in-out 1.1s infinite}.constellation-intro--mode-all .intro-node--futuro .intro-node__label{animation:skeletonFadeIn .4s ease-out .7s forwards,labelLight .4s ease-out .7s forwards}.is-visible .constellation-intro--mode-cuore .intro-line,.is-visible .constellation-intro--mode-presente .intro-line,.is-visible .constellation-intro--mode-passato .intro-line,.is-visible .constellation-intro--mode-futuro .intro-line{animation:drawIntroLine .5s ease-out .1s forwards}.constellation-intro--mode-cuore .intro-node:not(.intro-node--cuore) .intro-icon--off,.constellation-intro--mode-cuore .intro-node:not(.intro-node--cuore) .intro-node__label,.constellation-intro--mode-presente .intro-node:not(.intro-node--presente) .intro-icon--off,.constellation-intro--mode-presente .intro-node:not(.intro-node--presente) .intro-node__label,.constellation-intro--mode-passato .intro-node:not(.intro-node--passato) .intro-icon--off,.constellation-intro--mode-passato .intro-node:not(.intro-node--passato) .intro-node__label,.constellation-intro--mode-futuro .intro-node:not(.intro-node--futuro) .intro-icon--off,.constellation-intro--mode-futuro .intro-node:not(.intro-node--futuro) .intro-node__label{opacity:0}.is-visible .constellation-intro--mode-cuore .intro-node:not(.intro-node--cuore) .intro-icon--off,.is-visible .constellation-intro--mode-cuore .intro-node:not(.intro-node--cuore) .intro-node__label,.is-visible .constellation-intro--mode-presente .intro-node:not(.intro-node--presente) .intro-icon--off,.is-visible .constellation-intro--mode-presente .intro-node:not(.intro-node--presente) .intro-node__label,.is-visible .constellation-intro--mode-passato .intro-node:not(.intro-node--passato) .intro-icon--off,.is-visible .constellation-intro--mode-passato .intro-node:not(.intro-node--passato) .intro-node__label,.is-visible .constellation-intro--mode-futuro .intro-node:not(.intro-node--futuro) .intro-icon--off,.is-visible .constellation-intro--mode-futuro .intro-node:not(.intro-node--futuro) .intro-node__label{animation:skeletonFadeIn .6s ease-out .1s forwards}@keyframes skeletonFadeIn{to{opacity:1}}.is-visible .constellation-intro--mode-cuore .intro-node--cuore .intro-icon--on{animation:iconLight .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-cuore .intro-node--cuore .intro-icon--off{animation:iconDim .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-cuore .intro-node--cuore .intro-node__glow{animation:glowOnHeart .7s ease-out .3s forwards,glowPulseHeart 2.6s ease-in-out 1s infinite}.is-visible .constellation-intro--mode-presente .intro-node--presente .intro-icon--on{animation:iconLight .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-presente .intro-node--presente .intro-icon--off{animation:iconDim .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-presente .intro-node--presente .intro-node__glow{animation:glowOnStar .7s ease-out .3s forwards,glowPulseStar 2s ease-in-out 1s infinite}.is-visible .constellation-intro--mode-presente .intro-node--presente .intro-node__label{animation:labelLight .5s ease-out .5s forwards}.is-visible .constellation-intro--mode-passato .intro-node--passato .intro-icon--on{animation:iconLight .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-passato .intro-node--passato .intro-icon--off{animation:iconDim .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-passato .intro-node--passato .intro-node__glow{animation:glowOnStar .7s ease-out .3s forwards,glowPulseStar 2s ease-in-out 1s infinite}.is-visible .constellation-intro--mode-passato .intro-node--passato .intro-node__label{animation:labelLight .5s ease-out .5s forwards}.is-visible .constellation-intro--mode-futuro .intro-node--futuro .intro-icon--on{animation:iconLight .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-futuro .intro-node--futuro .intro-icon--off{animation:iconDim .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-futuro .intro-node--futuro .intro-node__glow{animation:glowOnStar .7s ease-out .3s forwards,glowPulseStar 2s ease-in-out 1s infinite}.is-visible .constellation-intro--mode-futuro .intro-node--futuro .intro-node__label{animation:labelLight .5s ease-out .5s forwards}.is-visible .constellation-intro--mode-presente .intro-node.intro-node--cuore .intro-icon--on,.is-visible .constellation-intro--mode-passato .intro-node.intro-node--cuore .intro-icon--on,.is-visible .constellation-intro--mode-futuro .intro-node.intro-node--cuore .intro-icon--on{animation:iconLight .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-presente .intro-node.intro-node--cuore .intro-icon--off,.is-visible .constellation-intro--mode-passato .intro-node.intro-node--cuore .intro-icon--off,.is-visible .constellation-intro--mode-futuro .intro-node.intro-node--cuore .intro-icon--off{animation:iconDim .6s ease-out .3s forwards}.is-visible .constellation-intro--mode-presente .intro-node.intro-node--cuore .intro-node__glow,.is-visible .constellation-intro--mode-passato .intro-node.intro-node--cuore .intro-node__glow,.is-visible .constellation-intro--mode-futuro .intro-node.intro-node--cuore .intro-node__glow{animation:glowOnHeart .7s ease-out .3s forwards}@keyframes popInIcon{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes iconLight{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes iconDim{to{opacity:0}}@keyframes glowOnStar{to{opacity:.9}}@keyframes glowOnHeart{to{opacity:1}}@keyframes glowPulseStar{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:.95;transform:translate(-50%,-50%) scale(1.12)}}@keyframes glowPulseHeart{0%,to{opacity:.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}@keyframes labelLight{to{color:#fffc}}.daily-constellation{padding:64px 24px 16px;background:var(--bg-primary);position:relative}.daily-constellation__inner{max-width:520px;margin:0 auto;position:relative;z-index:1;text-align:center}.daily-constellation__title{font-family:Quicksand,sans-serif;font-size:1.85rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3;letter-spacing:-.01em}@media(max-width:380px){.daily-constellation{padding:64px 20px 0}.daily-constellation__title{font-size:1.45rem}}.focus-section{padding:32px 24px 48px;background:var(--bg-primary);position:relative;overflow:hidden;opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s cubic-bezier(.4,0,.2,1)}.focus-section.is-visible{opacity:1;transform:translateY(0)}.focus-section__inner{max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}.focus-section__text{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:12px}.focus-section__title{font-family:Quicksand,sans-serif;font-size:1.6rem;font-weight:600;color:var(--text-primary);line-height:1.3;margin:0;max-width:360px}.focus-section__description{font-size:1rem;font-weight:400;line-height:1.55;color:#ffffffb8;margin:0;max-width:380px}@media(max-width:380px){.focus-section{padding:24px 20px 36px}.focus-section__title{font-size:1.35rem}.focus-section__description{font-size:.95rem}}.cta-section{padding:80px 24px;background:var(--bg-primary)}.cta-content{max-width:480px;margin:0 auto;text-align:center}.cta-logo{display:block;width:44px;margin:0 auto 18px;opacity:.9}.cta-title{font-size:2rem;font-weight:800;color:var(--text-primary);margin:0 0 16px;letter-spacing:-.5px}.cta-subtitle{font-size:1.05rem;color:var(--text-secondary);line-height:1.7;margin:0 0 40px}.cta-button{display:inline-flex;align-items:center;gap:12px;padding:20px 56px;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:50px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.cta-button:active{transform:scale(.98)}.cta-button svg{width:22px;height:22px}@media(max-width:600px){.cta-section{padding:60px 20px}.cta-title{font-size:1.6rem}.cta-button{padding:18px 40px;font-size:1.1rem;width:100%;max-width:280px;justify-content:center}}.public-landing{min-height:100vh;height:100vh;overflow-y:auto;overflow-x:hidden;font-family:Quicksand,sans-serif;scrollbar-width:thin;scrollbar-color:rgba(245,184,252,.35) transparent;--bg-primary: #1a1f2e;--bg-secondary: #242b3d;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-light: #334155;background:var(--bg-primary);color:var(--text-primary)}.public-landing::-webkit-scrollbar{width:5px}.public-landing::-webkit-scrollbar-track{background:transparent}.public-landing::-webkit-scrollbar-thumb{background:#f5b8fc59;background-clip:padding-box;border-top:24px solid transparent;border-bottom:24px solid transparent;border-radius:100px}.public-landing::-webkit-scrollbar-thumb:hover{background:#f5b8fc8c;background-clip:padding-box}.landing-footer{padding:24px;text-align:center;background:var(--bg-secondary);border-top:1px solid var(--border-light, #e8eaed)}.landing-footer p{margin:0;font-size:.85rem;color:var(--text-secondary)}.coming-soon{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg-primary);position:relative;overflow-x:hidden;overflow-y:auto}.coming-soon__content{flex:1;width:100%;max-width:460px;padding:64px 24px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.coming-soon__brand{font-size:2.5rem;font-weight:800;letter-spacing:.04em;color:var(--text-primary);margin:0 0 20px}.coming-soon__bloom{background:none;border:none;padding:0;margin:0 0 12px;cursor:pointer;line-height:0;-webkit-tap-highlight-color:transparent}.coming-soon__logo{width:100px;height:auto;filter:drop-shadow(0 4px 18px rgba(255,255,255,.12));animation:coming-soon-bloom 4s ease-in-out .3s 1 both}.coming-soon__bloom.is-breathing .coming-soon__logo{animation:coming-soon-breathe 10s ease-in-out infinite}@keyframes coming-soon-bloom{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes coming-soon-breathe{0%{transform:scale(1)}40%{transform:scale(1.28)}55%{transform:scale(1.28)}to{transform:scale(1)}}.coming-soon__breath-hint{font-size:.8rem;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 20px}@media(prefers-reduced-motion:reduce){.coming-soon__logo,.coming-soon__bloom.is-breathing .coming-soon__logo{animation:none}}.coming-soon__status{font-size:1.8rem;font-weight:700;letter-spacing:.02em;color:var(--text-primary);margin:0 0 24px}.coming-soon__tagline{font-size:1.2rem;font-weight:500;line-height:1.5;color:var(--text-secondary);margin:0 0 48px;max-width:360px}.coming-soon__form{width:100%;max-width:380px}.coming-soon__label{display:block;font-size:.95rem;font-weight:500;color:var(--text-primary);margin-bottom:12px}.coming-soon__field{display:flex;gap:8px}.coming-soon__field input{flex:1;min-width:0;padding:14px 18px;border:1px solid var(--text-tertiary);border-radius:50px;background:transparent;color:var(--text-primary);font-size:1rem}.coming-soon__field input::-moz-placeholder{color:var(--text-tertiary)}.coming-soon__field input::placeholder{color:var(--text-tertiary)}.coming-soon__field input:focus{outline:none;border-color:var(--text-primary)}.coming-soon__field button{flex-shrink:0;padding:14px 24px;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s ease}.coming-soon__field button:hover{transform:translateY(-2px)}.coming-soon__field button:active{transform:scale(.98)}.coming-soon__thanks{font-size:1.05rem;font-weight:500;color:var(--text-primary);margin:0}.coming-soon__footer{width:100%;text-align:center;padding:24px;position:relative;z-index:1}.coming-soon__footer p{font-size:.85rem;color:var(--text-tertiary);margin:0}@media(max-width:380px){.coming-soon__brand{font-size:2.2rem}.coming-soon__tagline{font-size:1.1rem}.coming-soon__field{flex-direction:column}}.constellation-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px}.constellation-btn__circle{width:88px;height:88px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#ffffffb3;cursor:pointer;-webkit-tap-highlight-color:transparent}.constellation-btn:not(.constellation-btn--heart) .constellation-btn__circle:not(.constellation-btn__circle--glow){color:#fcd34d8c}.constellation-btn:not(.constellation-btn--heart) .constellation-btn__circle:not(.constellation-btn__circle--glow) svg{fill:#353532}.constellation-btn__circle:hover{transform:scale(1.05)}.constellation-btn__circle:active{transform:scale(.98)}.constellation-btn__circle:focus{outline:none}.constellation-btn--heart .constellation-btn__circle{background:transparent;color:#ffffffb3}.constellation-btn__circle--glow{color:#fcd34d;position:relative}.constellation-btn__circle--glow:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:radial-gradient(circle,rgba(252,211,77,.55) 0%,rgba(252,211,77,.28) 40%,transparent 70%);border-radius:50%;z-index:-1;animation:glowPulse 2s ease-in-out infinite}.constellation-btn--heart .constellation-btn__circle--glow{color:#f9a8d4}.constellation-btn--heart .constellation-btn__circle--glow:before{background:radial-gradient(circle,rgba(244,114,182,.6) 0%,rgba(244,114,182,.3) 40%,transparent 70%)}@keyframes glowPulse{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}.constellation-btn__label{font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#ffffff80;transition:color .3s ease}.constellation-btn--active .constellation-btn__label{color:#fffc}@keyframes respiroAmbiente{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.constellation-btn__circle svg{animation:respiroAmbiente 4.5s ease-in-out infinite}@keyframes respiro{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes glowAppare{0%{opacity:0}to{opacity:.8}}.constellation-btn__circle--respiro{animation:respiro .28s ease-out}.constellation-btn__circle--respiro:before{animation:glowAppare .28s ease-out,glowPulse 2s ease-in-out .28s infinite}@media(prefers-reduced-motion:reduce){.constellation-btn__circle--respiro{animation:none}.constellation-btn__circle--glow:before{animation:none}.constellation-btn__circle svg{animation:none}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;padding-top:4px;padding-bottom:calc(max(env(safe-area-inset-bottom,0px),16px) + 4px);background:#1e293b;border-top:1px solid #334155;display:flex;justify-content:space-around;align-items:flex-start;z-index:1000;box-shadow:0 -2px 10px #0000000d}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:none;border:none;cursor:pointer;transition:transform .2s ease;min-width:56px}.bottom-nav__item:active{transform:scale(.9)}.bottom-nav__item--active{transform:scale(1.1)}.bottom-nav__icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:transparent;transition:all .2s ease}.bottom-nav__indicator{width:5px;height:5px;border-radius:50%}.app-layout{min-height:100vh;padding-bottom:calc(72px + max(env(safe-area-inset-bottom,0px),16px))}.app-layout--no-nav{padding-bottom:0}.home-button{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:16px;z-index:60;background:none;border:none;padding:8px;color:#94a3b8;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease}.home-button:active{transform:scale(.92)}.home-button:disabled{opacity:.35;cursor:default}.home-button:disabled:active{transform:none}@media(prefers-reduced-motion:reduce){.home-button{transition:none}}.page-content{height:100vh;height:100dvh;overflow:hidden}.page-content--enter-right{animation:slideFromRight .3s cubic-bezier(.4,0,.2,1) forwards}.page-content--enter-left{animation:slideFromLeft .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideFromRight{0%{transform:translate(30%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideFromLeft{0%{transform:translate(-30%);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.page-content--enter-right,.page-content--enter-left{animation:none}}.dev-switch{position:fixed;left:12px;bottom:calc(156px + env(safe-area-inset-bottom,0px));z-index:1001;font-family:monospace;font-size:.72rem;color:#ffffffd9;background:#0f172a8c;border:1px dashed rgba(255,255,255,.4);border-radius:8px;padding:5px 9px;cursor:pointer;-webkit-tap-highlight-color:transparent}.dev-switch--sopra{bottom:calc(190px + env(safe-area-inset-bottom,0px))}.nuvoletta-guida{position:fixed;top:calc(env(safe-area-inset-top,0px) + 20px);left:50%;transform:translate(-50%);z-index:90;pointer-events:auto;width:min(88%,360px);padding:4px 8px 0;color:#f2e2bb;font-size:1.15rem;line-height:1.5;text-align:center;animation:nuvoletta-comparsa 1.4s ease-out .8s both}.nuvoletta-guida__testo{margin:0;text-wrap:balance}.nuvoletta-guida__avanti{position:fixed;right:18px;bottom:calc(118px + env(safe-area-inset-bottom,0px));z-index:95;pointer-events:auto;padding:10px 26px;border:1px solid rgba(214,190,140,.5);border-radius:999px;background:#0f172aa6;color:#ecd9ac;font:inherit;font-size:.9rem;cursor:pointer;animation:nuvoletta-comparsa 1.4s ease-out .8s both}.nuvoletta-guida__avanti:active{background:#d6be8c1f}@keyframes nuvoletta-comparsa{0%{opacity:0}to{opacity:1}}.page-content:has(.home-page){padding-bottom:0;min-height:auto}.home-page{height:100vh;height:100dvh;background:var(--bg-primary);display:flex;flex-direction:column;position:relative;overflow:hidden;--home-navbar: calc(84px + env(safe-area-inset-bottom, 0px)) ;--home-nuvoletta: clamp(128px, 20vh, 156px);--home-avanti: calc(158px + env(safe-area-inset-bottom, 0px)) }.home-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 10% 15%,rgba(255,255,255,.6) 50%,transparent 50%),radial-gradient(2px 2px at 85% 25%,rgba(255,255,255,.55) 50%,transparent 50%),radial-gradient(2px 2px at 50% 8%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(2px 2px at 30% 65%,rgba(255,255,255,.52) 50%,transparent 50%),radial-gradient(2px 2px at 72% 78%,rgba(255,255,255,.48) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 92% 70%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 8% 85%,rgba(255,255,255,.45) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 25% 35%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 70% 20%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 40% 55%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 60% 75%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 78% 45%,rgba(255,255,255,.38) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 88% 88%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 15% 52%,rgba(255,255,255,.42) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 45% 12%,rgba(255,255,255,.38) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 95% 32%,rgba(255,255,255,.36) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 52% 92%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1px 1px at 5% 25%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 32% 72%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 58% 18%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 82% 35%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 12% 92%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 28% 5%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 55% 62%,rgba(255,255,255,.26) 50%,transparent 50%),radial-gradient(1px 1px at 3% 42%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 22% 22%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 65% 42%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 75% 12%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 18% 68%,rgba(255,255,255,.27) 50%,transparent 50%),radial-gradient(1px 1px at 48% 32%,rgba(255,255,255,.24) 50%,transparent 50%),radial-gradient(1px 1px at 88% 58%,rgba(255,255,255,.26) 50%,transparent 50%),radial-gradient(1px 1px at 38% 85%,rgba(255,255,255,.22) 50%,transparent 50%),radial-gradient(1px 1px at 68% 5%,rgba(255,255,255,.29) 50%,transparent 50%),radial-gradient(1px 1px at 95% 85%,rgba(255,255,255,.23) 50%,transparent 50%);pointer-events:none;z-index:0}.home-page:after{content:"";position:absolute;inset:0;background-image:radial-gradient(.8px .8px at 15% 12%,rgba(255,255,255,.18) 50%,transparent 50%),radial-gradient(.8px .8px at 38% 28%,rgba(255,255,255,.16) 50%,transparent 50%),radial-gradient(.8px .8px at 72% 8%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(.8px .8px at 95% 52%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(.8px .8px at 48% 88%,rgba(255,255,255,.17) 50%,transparent 50%),radial-gradient(.8px .8px at 6% 68%,rgba(255,255,255,.19) 50%,transparent 50%),radial-gradient(.8px .8px at 62% 32%,rgba(255,255,255,.14) 50%,transparent 50%),radial-gradient(.8px .8px at 88% 15%,rgba(255,255,255,.16) 50%,transparent 50%),radial-gradient(.8px .8px at 28% 45%,rgba(255,255,255,.17) 50%,transparent 50%),radial-gradient(.8px .8px at 55% 22%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(.8px .8px at 82% 72%,rgba(255,255,255,.18) 50%,transparent 50%),radial-gradient(.8px .8px at 12% 38%,rgba(255,255,255,.14) 50%,transparent 50%),radial-gradient(.8px .8px at 75% 55%,rgba(255,255,255,.16) 50%,transparent 50%),radial-gradient(.8px .8px at 42% 68%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(.5px .5px at 8% 5%,rgba(255,255,255,.12) 50%,transparent 50%),radial-gradient(.5px .5px at 18% 48%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 33% 15%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 45% 38%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 52% 72%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 68% 58%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 78% 82%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 90% 38%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 25% 92%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 42% 5%,rgba(255,255,255,.12) 50%,transparent 50%),radial-gradient(.5px .5px at 58% 48%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 83% 62%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 97% 22%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 2% 35%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 35% 78%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 70% 95%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 5% 58%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 22% 18%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 48% 52%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 62% 85%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 85% 28%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 15% 75%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 38% 42%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 92% 68%,rgba(255,255,255,.11) 50%,transparent 50%),radial-gradient(.5px .5px at 28% 8%,rgba(255,255,255,.09) 50%,transparent 50%),radial-gradient(.5px .5px at 72% 42%,rgba(255,255,255,.1) 50%,transparent 50%),radial-gradient(.5px .5px at 55% 95%,rgba(255,255,255,.08) 50%,transparent 50%),radial-gradient(.5px .5px at 8% 82%,rgba(255,255,255,.09) 50%,transparent 50%);pointer-events:none;z-index:0}.home-header{display:flex;flex-direction:column;align-items:center;padding:24px 24px 16px;position:relative;z-index:1;gap:12px}.home-header__brand{display:flex;align-items:center;gap:10px}.home-header__title{font-family:Quicksand,sans-serif;font-size:22px;font-weight:300;color:#ffffffe6;letter-spacing:2px}.home-header__pill{display:flex;align-items:center;gap:8px;background:#ffffff14;padding:6px 16px;border-radius:20px;font-family:Quicksand,sans-serif}.pill-icon{flex-shrink:0}.pill-count{color:#ffffffd9;font-size:14px;font-weight:500}.pill-divider{color:#ffffff4d;font-size:14px}.home-content{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;justify-content:safe center;padding:16px 24px var(--home-navbar);max-width:400px;margin:0 auto;width:100%;position:relative;z-index:1}.home-content--scena{padding-top:var(--home-nuvoletta);padding-bottom:var(--home-avanti)}.home-logo{display:block;margin:0 auto clamp(6px,1.4vh,12px);height:clamp(20px,3.2vh,26px);opacity:.9;transform:translateY(-16px);animation:logoComparsa .9s ease-out both}.home-saluto{text-align:center;color:#ffffffb8;font-size:1.15rem;font-weight:400;letter-spacing:.02em;line-height:1.3;margin:0 0 clamp(4px,1.6vh,12px);transform:translateY(-16px);animation:salutoComparsa .9s ease-out both}.home-saluto-nome{display:block;color:#ffffffeb;font-size:1.5rem;font-weight:600;letter-spacing:.03em}@keyframes salutoComparsa{0%{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(-16px)}}@keyframes logoComparsa{0%{opacity:0;transform:translateY(-22px)}to{opacity:.9;transform:translateY(-16px)}}@media(prefers-reduced-motion:reduce){.home-saluto,.home-logo{animation:none}}.constellation{position:relative;width:100%;flex:1 1 auto;min-height:320px;max-height:460px;padding-top:20px;padding-bottom:40px}@keyframes fadeInLine{0%{opacity:0;stroke-dashoffset:100}to{opacity:.12;stroke-dashoffset:0}}.constellation__top--passato .constellation-btn{animation:popIn .4s ease-out .1s both}.constellation__top--futuro .constellation-btn{animation:popIn .4s ease-out .25s both}.constellation__bottom-row .constellation-btn{animation:popIn .4s ease-out .4s both}.constellation__center .constellation-btn{animation:popIn .4s ease-out .7s both}.constellation__lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.constellation__line{stroke:#fff9;stroke-width:.5;opacity:0;stroke-dasharray:100;stroke-dashoffset:100;animation:drawLine .5s ease-out .55s forwards}@keyframes drawLine{to{opacity:.12;stroke-dashoffset:0}}.constellation__top{position:absolute;top:calc(22% - 15px);transform:translate(-50%,-50%);z-index:1}.constellation__top--passato{left:12%}.constellation__top--futuro{left:88%}.constellation__center{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);z-index:2}.constellation__bottom-row{position:absolute;top:calc(68% + 15px);left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;z-index:1}.constellation-btn--center .constellation-btn__circle{width:104px;height:104px;color:#f9a8d4d9;filter:drop-shadow(0 0 10px rgba(244,114,182,.3))}.constellation-btn--center svg{width:60px;height:60px}.constellation-btn--primary .constellation-btn__circle{background:transparent}.constellation-btn--primary .constellation-btn__label{color:#fff9}.constellation-btn--primary .constellation-btn__circle--glow:before{width:120%;height:120%;background:radial-gradient(circle,rgba(251,191,36,.6) 0%,rgba(251,191,36,.3) 40%,transparent 70%)}.pill-icon--pulse{animation:pillPulse .3s ease}@keyframes pillPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.home-invito{display:flex;align-items:center;justify-content:center;gap:4px;margin:clamp(12px,3vh,26px) auto 0;color:#d6be8cd9;font-family:Caveat,Quicksand,sans-serif;font-size:1.4rem;line-height:1.25;animation:invito-comparsa 1.4s ease-out}.home-invito__testo{border:none;background:transparent;color:inherit;font:inherit;padding:8px 4px 8px 16px;cursor:pointer;text-wrap:balance}.home-invito__testo:active{color:#d6c28f}.home-invito__chiudi{border:none;background:transparent;color:#d6be8cbf;font-family:Quicksand,sans-serif;font-size:1.15rem;font-style:normal;line-height:1;padding:8px 12px;cursor:pointer}.home-invito--congedo{padding:8px 16px;text-align:center;text-wrap:balance}@keyframes invito-comparsa{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.constellation--scena{pointer-events:none}.constellation--scena .constellation-btn--ombra .constellation-btn__circle,.constellation--scena .constellation-btn--ombra .constellation-btn__label,.constellation--scena .constellation__lines{opacity:.16}.constellation__lines,.constellation-btn__circle,.constellation-btn__label{transition:opacity .7s ease,color .3s ease}.confirm-popup__backdrop{position:fixed;inset:0;background:#0a0d1499;display:flex;align-items:center;justify-content:center;z-index:80;padding:1.5rem}.confirm-popup{background:var(--bg-elevated);border-radius:1rem;padding:1.4rem;max-width:20rem;width:100%}.confirm-popup__message{text-align:center;margin-bottom:1.2rem;line-height:1.45}.confirm-popup__actions{display:flex;gap:.7rem;justify-content:center}.confirm-popup__cancel,.confirm-popup__confirm{border-radius:.7rem;padding:.6rem 1.4rem;font-size:.98rem;cursor:pointer}.confirm-popup__cancel{background:none;border:1px solid var(--border-color);color:var(--text-secondary)}.confirm-popup__cancel:disabled,.confirm-popup__confirm:disabled{opacity:.55;cursor:default}.confirm-popup__confirm{background:var(--bg-primary);border:1px solid var(--dim-color, var(--border-color));color:var(--text-primary)}.input-popup__campo{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.7rem;color:var(--text-primary);font-size:1rem;padding:.6rem .8rem;margin-bottom:1.2rem}.input-popup__campo:focus{outline:none;border-color:var(--dim-color, var(--border-color))}.input-popup__campo--libero{font-family:inherit;line-height:1.4;resize:none;max-height:40vh;overflow-y:auto}.boule-gufetto{position:absolute;left:26px;bottom:calc(228px + env(safe-area-inset-bottom,0px));max-width:min(76vw,310px);padding:.85rem 1.1rem;background:#f8ecc9;border:none;border-radius:22px;box-shadow:0 2px 14px #fcd34d2e;color:#1c2235;text-align:left;cursor:pointer;z-index:2;animation:bouleComparsa .35s cubic-bezier(.34,1.4,.64,1) .15s both}.boule-gufetto:after{content:"";position:absolute;left:58px;bottom:-9px;width:16px;height:16px;background:#f8ecc9;border-radius:3px;transform:rotate(45deg)}.boule-gufetto__frase{display:block;font-size:1.05rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:break-word}.boule-gufetto__invito{display:block;font-size:.98rem;line-height:1.4;color:#1c2235b8}.boule-gufetto__attesa{display:block;font-size:1.05rem;letter-spacing:3px;color:#1c22358c;animation:bouleAttesa 1.2s ease-in-out infinite}.boule-gufetto__errore{display:block;margin-top:.35rem;font-size:.85rem;color:#a3453f}.boule-gufetto--locked{opacity:.65;cursor:default}.boule-gufetto .sticker__lock{position:static;display:block;width:26px;height:26px;margin:0 auto;filter:none}.boule-gufetto .sticker__lock path{stroke:#1c2235}.boule-gufetto .sticker__lock rect{fill:#1c2235;stroke:#f8ecc9}.boule-gufetto .sticker__lock circle{fill:#f8ecc9}.boule-gufetto .sticker__lock svg{display:block;width:100%;height:100%}@keyframes bouleComparsa{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bouleAttesa{0%,to{opacity:.35}50%{opacity:.8}}@media(prefers-reduced-motion:reduce){.boule-gufetto,.boule-gufetto__attesa{animation:none}}.moon-page{min-height:100vh;min-height:100dvh;background:var(--bg-primary);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;flex-direction:column;position:relative;overflow:hidden}.moon-hills{position:absolute;bottom:0;left:0;right:0;height:85%;z-index:1}.moon-hills-svg{width:100%;height:100%}.moon-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 10% 15%,rgba(255,255,255,.6) 50%,transparent 50%),radial-gradient(2px 2px at 85% 25%,rgba(255,255,255,.55) 50%,transparent 50%),radial-gradient(2px 2px at 50% 8%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 92% 70%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 8% 85%,rgba(255,255,255,.45) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 25% 35%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 70% 20%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 40% 55%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 60% 75%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 78% 45%,rgba(255,255,255,.38) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 88% 88%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1px 1px at 5% 25%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 32% 72%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 58% 18%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 82% 35%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 12% 92%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 28% 5%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 55% 62%,rgba(255,255,255,.26) 50%,transparent 50%),radial-gradient(1px 1px at 3% 42%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 22% 22%,rgba(255,255,255,.28) 50%,transparent 50%),radial-gradient(1px 1px at 65% 42%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 75% 12%,rgba(255,255,255,.3) 50%,transparent 50%);pointer-events:none;z-index:0}.moon-element{position:absolute;z-index:2;color:#ffffffd9}.moon-element--crescent{top:80px;right:40px;background:none;border:none;cursor:pointer;padding:16px;transition:transform .2s ease}.moon-element--crescent:hover{transform:scale(1.05)}.moon-element--crescent:active{transform:scale(.98)}.moon-glow{display:flex;align-items:center;justify-content:center;position:relative;filter:drop-shadow(0 0 8px rgba(255,255,255,.25))}.moon-glow svg{animation:moonBreathe 3s ease-in-out infinite}@keyframes moonBreathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.moon-hills,.moon-branch,.moon-element--owl{transition:opacity .25s ease,filter .25s ease}.moon-page--rito .moon-element--owl,.moon-page--rito .moon-hills,.moon-page--rito .moon-branch{opacity:.24;transition:opacity .7s ease,filter .7s ease}.moon-page--rito .moon-element--owl{filter:drop-shadow(0 0 20px rgba(255,255,255,.1)) brightness(.3)}.moon-page--rito .moon-branch{filter:brightness(.3)}.moon-glow--active{position:relative}.moon-glow--active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140%;height:140%;background:radial-gradient(circle,rgba(253,224,71,.6) 0%,rgba(253,224,71,.3) 40%,transparent 70%);border-radius:50%;z-index:-1;animation:moonGlowPulse 2s ease-in-out infinite}.moon-glow--active svg{animation:moonGlow 2.5s ease-in-out infinite}@keyframes moonGlowPulse{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}@keyframes moonGlow{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.2)}}.moon-element--active .moon-glow{animation:moonClickPulse .4s ease}@keyframes moonClickPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.moon-branch{position:absolute;bottom:calc(56px + env(safe-area-inset-bottom,0px));left:0;width:60%;height:30px;color:#fff9;z-index:2;animation:popIn .4s ease-out .2s both}.moon-element--owl{bottom:calc(41px + env(safe-area-inset-bottom,0px));left:30px;filter:drop-shadow(0 0 20px rgba(255,255,255,.1));animation:popIn .5s ease-out .3s both}.moon-element--owl svg{animation:owlBreathe 4s ease-in-out infinite}@keyframes owlBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.moon-element--crescent{animation:popIn .4s ease-out .1s both}@keyframes popIn{0%{opacity:0;transform:scale(.3)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.present-hub{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 20px calc(32px + env(safe-area-inset-bottom,0px))}.present-hub__logo{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);width:30px;opacity:.9}.present-hub__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 20px;width:100%;max-width:420px}.sticker{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.sticker:active{transform:scale(.96)}.sticker__art{position:relative;width:118px;height:118px}.sticker-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 5px 6px rgba(15,23,42,.4))}.sticker__label{font-size:.9rem;font-weight:600;color:var(--text-primary, #e2e8f0);text-align:center;line-height:1.2}.sticker__hint{font-size:.72rem;font-style:italic;color:var(--text-tertiary, #94a3b8);margin-top:-4px}.sticker--dimmed .sticker-svg{filter:saturate(.35) opacity(.62) drop-shadow(0 3px 4px rgba(15,23,42,.3))}.sticker--dimmed .sticker__label{color:var(--text-tertiary, #94a3b8)}.sticker__lock{position:absolute;right:6px;bottom:10px;width:34px;height:34px;z-index:2;filter:drop-shadow(0 2px 3px rgba(15,23,42,.45))}.sticker__lock svg{width:100%;height:100%;display:block}.ph-scena{position:fixed;inset:0;z-index:80;background:transparent}.present-hub--scena .sticker{opacity:.22;transition:opacity .7s ease}.present-hub--scena .sticker--luce{opacity:1}.present-hub--scena .home-button{opacity:0}.present-hub--scena .nuvoletta-guida{top:calc(env(safe-area-inset-top,0px) + 56px)}.present-hub--invito .sticker{opacity:.22;transition:opacity .7s ease;cursor:default}.present-hub--invito .sticker--luce{opacity:1;cursor:pointer}.present-hub--invito .sticker--luce .sticker-svg{filter:drop-shadow(0 5px 6px rgba(15,23,42,.4)) drop-shadow(0 0 12px rgba(242,226,187,.55))}.present-hub--invito .nuvoletta-guida{top:calc(env(safe-area-inset-top,0px) + 72px);animation:nuvoletta-comparsa .5s ease-out 0s both}.mood-oggi{display:flex;flex-direction:column;gap:12px;width:min(420px,100%);margin:0 auto;padding:8px 0 24px}.mood-oggi .mood-next-btn{align-self:center;margin-bottom:12px}.mood-oggi__label{font-size:.85rem;font-weight:600;color:#e2e8f08c;margin:4px 0 0}.mood-card{display:flex;align-items:center;gap:12px;background:#e2e8f00d;border:1px solid rgba(226,232,240,.12);border-radius:14px;padding:12px 14px}.mood-card__icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.mood-card__icons svg{width:34px;height:34px}.mood-card__body{flex:1;min-width:0}.mood-card__main{font-size:.95rem;margin:0}.mood-card__causes{font-size:.8rem;color:#e2e8f08c;margin:2px 0 0}.mood-card__note{font-size:.85rem;font-style:italic;color:#e2e8f0b3;margin:4px 0 0;word-break:break-word}.mood-card__ora{font-size:.75rem;color:#e2e8f073;flex-shrink:0;align-self:flex-start}.archivio{margin-top:2.2rem;border-top:1px solid var(--border-light);padding-top:.9rem}.archivio__toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.92rem;padding:.3rem 0}.archivio__lista{list-style:none;margin:0;padding:.6rem 0 0;display:flex;flex-direction:column;gap:.5rem}.archivio__riga{display:flex;align-items:center;justify-content:space-between}.archivio__nome{display:flex;align-items:center;gap:.55rem;color:var(--text-secondary)}.archivio__ripristina{background:none;border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);font-size:.85rem;padding:.3rem .8rem;cursor:pointer}.archivio__ripristina:disabled{opacity:.5}.archivio__errore{color:#e8a1a1;font-size:.88rem;margin-top:.5rem}.oro-modal__titolo{color:var(--dim-color)}.oro-modal__testo{width:100%;min-height:9rem;margin-top:.8rem;background:var(--bg-primary);border:1px solid color-mix(in srgb,var(--dim-color) 40%,transparent);border-radius:.8rem;color:var(--text-primary);font-size:1.02rem;line-height:1.55;padding:.9rem;resize:vertical;font-family:inherit}.oro-modal__testo:focus{outline:none;border-color:var(--dim-color)}.oro-modal__errore{color:#e8a1a1;font-size:.88rem;margin-top:.5rem}.hc-modal--form .hc-modal__form-title{flex:1;font-size:1.1rem;font-weight:600}.hc-modal__prompt{display:flex;flex-direction:column;gap:.45rem;line-height:1.5;margin-bottom:1.2rem}.hc-modal__prompt-esempi{color:var(--text-secondary)}.hc-modal__prompt-domanda{font-weight:600;color:var(--dim-color)}.hc-modal__gia{margin-bottom:1.2rem}.hc-modal__gia-title{font-size:.88rem;color:var(--text-secondary);font-weight:600;margin-bottom:.4rem}.hc-modal__gia-lista{list-style:none;margin:0;padding:0;color:var(--text-primary);font-size:.95rem;display:flex;flex-direction:column;gap:.25rem}.hc-modal__input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.7rem;color:var(--text-primary);font-size:1rem;padding:.75rem .9rem}.hc-modal__input:focus{outline:none;border-color:var(--dim-color)}.hc-modal__dup,.hc-modal__errore{color:#e8a1a1;font-size:.88rem;margin-top:.45rem}.heart-cards-page{position:relative;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary);color:var(--text-primary);padding:1rem 1rem 3rem}.heart-cards-page__header{text-align:center;padding:14px 44px 1.4rem}.heart-cards-page__title{font-size:1.35rem;font-weight:600;letter-spacing:.02em}.heart-cards-page__stato{text-align:center;color:var(--text-secondary);padding:2rem 0}.heart-cards-page__content{max-width:28rem;margin:0 auto}.albero{display:flex;flex-direction:column;gap:1.6rem}.branch__argento{display:flex;align-items:center;gap:.7rem;padding:.2rem 0;color:var(--text-primary)}.branch__argento-cuore{position:relative;display:inline-flex}.branch__argento-glow{position:absolute;inset:-22%;background:radial-gradient(circle,color-mix(in srgb,var(--dim-color) 50%,transparent) 0%,color-mix(in srgb,var(--dim-color) 24%,transparent) 45%,transparent 70%);border-radius:50%;opacity:0;transition:opacity .4s ease;pointer-events:none}.branch--accesa .branch__argento-glow{opacity:1}.branch__label{font-size:1.1rem;font-weight:600}.branch__bronzi{list-style:none;margin:.2rem 0 0 1.7rem;padding:0}.branch__bronzo-item{display:flex;align-items:center}.branch__stem{width:1.4rem;height:1.7rem;border-left:2px solid color-mix(in srgb,var(--dim-color) 50%,transparent);border-bottom:2px solid color-mix(in srgb,var(--dim-color) 50%,transparent);border-bottom-left-radius:.9rem;margin-top:-.7rem;align-self:flex-start}.branch__stem--vuoto{border-left-style:dashed;border-bottom-style:dashed;opacity:.6}.branch__bronzo{display:flex;align-items:center;gap:.55rem;background:none;border:none;padding:.35rem .4rem;cursor:pointer;color:var(--text-primary);font-size:.98rem}.branch__bronzo-nome{text-align:left}.branch__bronzo svg{flex-shrink:0}.branch__add{width:1.9rem;height:1.9rem;margin:.3rem 0;border:1.5px dashed var(--border-color);border-radius:50%;background:none;color:var(--text-secondary);font-size:1.15rem;line-height:1;cursor:pointer}.branch__add:hover{border-color:var(--dim-color, var(--text-secondary));color:var(--text-primary)}.hc-scena{position:fixed;inset:0;z-index:80;background:transparent;transition:opacity .7s ease}.heart-cards-page--invito .heart-cards-page__header{opacity:0}.heart-cards-page--invito .nuvoletta-guida{top:calc(env(safe-area-inset-top,0px) + 72px);animation:nuvoletta-comparsa .5s ease-out 0s both}.heart-cards-page--invito .branch__add,.heart-cards-page--bronzi-glow .branch__add{border-style:solid;border-color:var(--dim-color, var(--text-secondary));color:var(--text-primary);box-shadow:0 0 10px var(--dim-color, transparent)}.hc-ombra,.heart-cards-page--scena .archivio{opacity:.16}.heart-cards-page--scena .heart-cards-page__header,.heart-cards-page--scena .home-button{opacity:0}.heart-cards-page--scena .heart-cards-page__header{padding-top:1.4rem}.heart-cards-page--invito .heart-cards-page__header{padding-top:3.2rem}.heart-cards-page__header,.heart-cards-page .home-button,.archivio,.branch__argento,.branch__bronzi{transition:opacity .7s ease}.oro{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.9rem;margin-bottom:1.8rem;border:1px solid color-mix(in srgb,var(--dim-color) 45%,transparent);border-radius:1rem;background:color-mix(in srgb,var(--dim-color) 8%,transparent);cursor:pointer;font:inherit;color:var(--text-primary)}.oro__title{font-size:1.05rem;font-weight:600;color:var(--dim-color);letter-spacing:.04em}.oro__intesta{display:flex;align-items:center;gap:.6rem}.oro--scritto,.oro--loading{flex-direction:column;align-items:flex-start;gap:.5rem;background:#e2e8f00d;border-radius:14px;text-align:left}.oro--scritto .oro__title,.oro--loading .oro__title{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.oro--loading{cursor:default}.oro__testo{margin:0;color:var(--text-primary);font-size:1rem;line-height:1.5;white-space:pre-wrap}.oro__testo--attesa{color:var(--text-secondary)}.oro__invito{flex-basis:100%;margin:0;text-align:center;color:var(--text-secondary);font-size:.88rem}.oro--scritto .oro__intesta{width:100%}.oro__matita{margin-left:auto;color:var(--text-secondary);opacity:.7;flex-shrink:0}.hc-modal__backdrop{position:fixed;inset:0;background:#0a0d14bf;display:flex;align-items:stretch;justify-content:center;z-index:70}.hc-modal__backdrop--center{align-items:center;padding:1.5rem}.hc-modal--dialog{height:auto;max-height:85vh;border-radius:1rem;box-shadow:0 12px 40px var(--shadow-strong)}.hc-modal{width:100%;max-width:28rem;background:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column;padding:1.2rem 1.2rem 1.6rem;overflow-y:auto}.hc-modal__header{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.hc-modal__chip{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--bg-primary);background:var(--dim-color);border-radius:999px;padding:.25rem .7rem}.hc-modal__nome{flex:1;font-size:1.15rem;font-weight:600}.hc-modal__close{background:none;border:none;color:var(--text-secondary);font-size:1.8rem;line-height:1;cursor:pointer;padding:.2rem .5rem}.hc-modal__centro{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:1.5rem 0}.hc-modal__cuore{background:none;border:none;cursor:pointer;transition:transform .15s ease}.hc-modal__cuore:active{transform:scale(.94)}.hc-modal__eco{color:var(--text-secondary);text-align:center}.hc-modal__retro{margin-top:auto;border-top:1px solid var(--border-light);padding-top:.9rem}.hc-modal__retro-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.92rem;padding:.3rem 0}.hc-modal__retro-giorni{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:.7rem 0 0;margin:0}.hc-modal__giorno{display:flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);padding:.35rem .7rem;font-size:.85rem;cursor:pointer}.hc-modal__giorno--firmato{border-color:var(--dim-color)}.hc-modal__footer{display:flex;justify-content:center;gap:.7rem;padding-top:1.2rem}.hc-modal__rinomina{background:none;border:1px solid var(--border-color);border-radius:.8rem;color:var(--text-secondary);font-size:1rem;padding:.7rem 1.6rem;cursor:pointer}.hc-modal__rinomina:disabled{opacity:.55;cursor:default}.hc-modal__archivia,.hc-modal__salva{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:.8rem;color:var(--text-primary);font-size:1rem;padding:.7rem 2.2rem;cursor:pointer}.hc-modal__salva:disabled{opacity:.45;cursor:default}.deposito-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.copertina{display:flex;flex-direction:column;padding:0;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-secondary);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.copertina:active{transform:scale(.97)}.copertina__cielo{position:relative;display:block;height:74px;background:var(--bg-primary)}.copertina__mese{display:block;padding:7px 10px;border-top:1px solid var(--border-light);text-align:left;font-size:.88rem;font-weight:500;color:var(--text-secondary);text-transform:capitalize}.copertina--accesa{border-color:#d6be8c66}.copertina--accesa .copertina__cielo{background:radial-gradient(ellipse at 32% 38%,rgba(214,190,140,.1),transparent 62%),var(--bg-primary)}.copertina--accesa .copertina__mese{color:var(--text-primary)}.copertina__scintille{position:absolute;inset:0;width:100%;height:100%}.copertina__scintille path,.copertina__scintille circle{fill:#d6c28f;opacity:.55}.copertina--scelta{border-color:#f5b30173}.copertina .sticker__lock{top:8px;right:8px;bottom:auto;width:22px;height:22px}.journey-free__sotto{text-align:center;font-size:.9rem;color:var(--text-secondary);margin:0 0 6px}.journey-free__cosa{text-align:center;font-size:.85rem;color:var(--text-secondary);margin:0 0 16px}.journey-free__vuoto{text-align:center;font-size:.9rem;color:var(--text-primary);margin:24px 0}.journey-free__panel{margin-top:16px;padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-secondary)}.journey-free__testo{margin:0;font-size:.9rem;color:var(--text-primary)}.journey-free__sub{display:block;margin-top:3px;font-size:.8rem;color:var(--text-secondary)}.mese-nav__riga{display:flex;align-items:center;justify-content:center;gap:14px}.mese-nav__arrow{border:1px solid rgba(214,190,140,.4);background:transparent;color:#d6c28f;border-radius:8px;padding:4px 11px;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.mese-nav__arrow:disabled{opacity:.35;cursor:default}.journey-page{position:relative;max-width:500px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 52px) 20px calc(12px + env(safe-area-inset-bottom,0px))}.page-content:has(.journey-page--lista){height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden}.journey-page--lista{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}.journey-logo{position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);left:50%;transform:translate(-50%);height:30px;z-index:60;pointer-events:none;opacity:.9}.journey-header{text-align:center;margin:2px 0 8px}.journey-header__eyebrow{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 2px}.journey-header__mese{font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:0;text-transform:capitalize}.cornice-perche{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:10px;border:1px solid color-mix(in srgb,var(--oro) 40%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--oro) 7%,transparent)}.cornice-perche svg{flex-shrink:0}.cornice-perche__label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--oro);margin:0 0 3px}.cornice-perche__testo{font-size:.88rem;line-height:1.45;color:var(--text-primary);margin:0}.foto-settimane{display:flex;gap:8px}.foto-settimana{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 3px 7px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-secondary)}.foto-settimana__range{font-size:clamp(.55rem,2.4vw,.7rem);color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.foto-settimana__icone{display:flex;align-items:center;gap:6px}.foto-settimana__icone svg{width:22px;height:22px}.foto-titoletto{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 6px}.foto-dalla-v1{font-size:.85rem;line-height:1.45;color:var(--text-secondary);margin:0 0 14px}.foto-attivita{margin-top:10px}.foto-attivita__riga{display:flex;align-items:center;gap:9px;padding:6px 12px;margin-bottom:5px;font-size:.87rem;color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-secondary)}.foto-attivita__riga svg{flex-shrink:0}.foto-attivita__riga svg path{fill-opacity:1}.foto-attivita__volte{margin-left:auto;color:var(--oro, #d9c48f);font-weight:600;font-variant-numeric:tabular-nums}.foto-vuota{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:46px;text-align:center}.foto-vuota__quadro{opacity:.95}.foto-vuota__riga{margin:0;font-size:.95rem;color:var(--text-secondary)}.page-content:has(.foto-attivita--espansa){height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden}.foto-attivita__altre{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:.76rem;color:var(--text-secondary);margin:2px 2px 0;padding:4px 2px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.foto-attivita__freccia{font-size:.6rem;opacity:.75}.foto-numeri{margin-top:10px}.foto-numeri__chips{display:flex;flex-wrap:wrap;gap:6px}.foto-numeri__chip{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-primary);border:1px solid var(--border-light);border-radius:999px;padding:4px 11px;background:var(--bg-secondary);font-variant-numeric:tabular-nums}.journey-stato{margin:0;padding:24px 0;font-size:.88rem;color:var(--text-secondary);text-align:center}.journey-errore{margin:0;font-size:.85rem;color:var(--text-secondary);text-align:center}.journey-errore__riprova{font:inherit;color:var(--text-primary);background:none;border:none;padding:0;text-decoration:underline;cursor:pointer}.checkin-page{position:relative;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:#1a1f2e;color:#e2e8f0;font-family:Quicksand,sans-serif;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.checkin-page__header{padding:24px 48px 4px;text-align:center}.checkin-page__header h1{font-size:1.35rem;font-weight:600;margin:0 0 2px}.checkin-page__data{font-size:.85rem;color:#ffffff8c;margin:0 0 12px}.checkin-page__content{padding:0 20px;max-width:460px;margin:0 auto}.step-indicator{display:flex;justify-content:center;gap:10px}.step-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f040;transition:background .25s ease,box-shadow .25s ease}.step-dot--active{background:#f6c453;box-shadow:0 0 0 2px #f6c4534d}.checkin-step{display:flex;flex-direction:column;align-items:center;gap:20px;animation:fadeIn .3s ease}.checkin-step h2{font-size:1.15rem;font-weight:600;text-align:center;margin:18px 0 0;line-height:1.4}.step-hint{font-size:.85rem;color:#e2e8f08c;margin:-12px 0 0}.ck-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.ck-section__title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f099;margin:6px 0 0}.ck-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ck-chips .ck-chip:last-child:nth-child(odd){grid-column:1 / -1}.ck-chip{font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.3;color:#e2e8f0;background:#e2e8f014;border:1.5px solid rgba(226,232,240,.25);border-radius:999px;padding:9px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}.ck-chip:disabled{opacity:.35;cursor:default}.ck-chip--selected{background:#f6c4532e;border-color:#f6c453;color:#fde9bd}.ck-chip--niente{border-style:dashed;color:#e2e8f0b3}.ck-note{width:100%;font-family:inherit;font-size:.95rem;color:#e2e8f0;background:#e2e8f00f;border:1.5px solid rgba(226,232,240,.2);border-radius:14px;padding:12px;max-height:55vh;resize:none;resize:vertical;box-sizing:border-box}.ck-note:focus{outline:none;border-color:#f6c453b3}.ck-recap{width:100%;display:flex;flex-direction:column;gap:12px}.ck-recap__row{display:flex;align-items:center;gap:12px;background:#e2e8f00f;border-radius:16px;padding:12px 14px}.ck-recap__body{flex:1;display:flex;flex-direction:column;gap:4px}.ck-recap__label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f08c}.ck-recap__value{font-size:.95rem}.ck-recap__value--note{font-style:italic;color:#e2e8f0cc}.ck-recap__edit{font-family:inherit;font-size:.82rem;font-weight:600;color:#f6c453;background:none;border:none;padding:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ck-recap__actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.ck-nav{display:flex;flex-direction:column;align-items:center;gap:10px}.ck-next-btn{font-family:inherit;font-size:1rem;font-weight:700;color:#1a1f2e;background:#f8fafc;border:none;border-radius:999px;padding:13px 44px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease,transform .15s ease}.ck-next-btn:disabled{opacity:.35;cursor:default}.ck-next-btn:not(:disabled):active{transform:scale(.97)}.ck-timer-btn{font-family:inherit;font-size:.9rem;font-weight:600;color:#f6c453;background:#f6c45314;border:1.5px solid rgba(246,196,83,.6);border-radius:999px;padding:10px 24px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ck-timer-btn:active{background:#f6c4532e}.ck-cancel-btn{font-family:inherit;font-size:.9rem;font-weight:600;color:#e2e8f099;background:none;border:none;padding:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ck-error{font-size:.9rem;color:#fca5a5;text-align:center;margin:0}.ck-slow{font-size:.9rem;color:#94a3b8;text-align:center;margin:0}.ck-calma{text-align:center}.ck-quadrato{--lato: 132px;position:relative;width:var(--lato);height:var(--lato);margin:18px auto 6px;border:1.5px solid rgba(226,232,240,.35);border-radius:8px;display:flex;align-items:center;justify-content:center}.ck-quadrato__luce{position:absolute;top:-5px;left:-5px;width:10px;height:10px;border-radius:50%;background:#e2e8f0;box-shadow:0 0 10px #e2e8f099;opacity:.45}.ck-quadrato--vivo .ck-quadrato__luce{opacity:1;animation:quadratoGiro 16s linear infinite}.ck-quadrato__fase{font-size:.95rem;color:#e2e8f0d9;letter-spacing:.04em}@keyframes quadratoGiro{0%{transform:translate(0)}25%{transform:translate(var(--lato))}50%{transform:translate(var(--lato),var(--lato))}75%{transform:translateY(var(--lato))}to{transform:translate(0)}}.ck-calma__text{font-size:1rem;color:#e2e8f0d9;margin:0}.ck-calma__timer{font-size:.9rem;color:#e2e8f080}.checkin-closing{padding-top:40px}.closing-message h2{margin-bottom:8px}.closing-message p{font-size:.95rem;color:#e2e8f099;margin:0 0 24px}.checkin-waiting{text-align:center;padding:48px 24px}.checkin-waiting__icon{color:#e2e8f080;margin-bottom:24px;opacity:.5}.checkin-waiting h2{font-size:1.25rem;font-weight:500;margin:0 0 12px}.checkin-waiting p{font-size:.95rem;color:#e2e8f099;line-height:1.6;margin:0}.dev-btn{margin-top:24px;padding:8px 16px;border:1px dashed rgba(226,232,240,.4);border-radius:8px;background:transparent;color:#e2e8f099;font-family:monospace;font-size:.85rem;cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ck-loading{font-size:.9rem;color:#e2e8f080;text-align:center;margin:0}.ck-fatto__sub{font-size:.9rem;color:#e2e8f099;text-align:center;margin:0 0 16px}.ck-fatto__calma{font-size:.9rem;color:#f6c453d9;text-align:center;margin:16px 0 0}@media(prefers-reduced-motion:reduce){.checkin-step,.ck-quadrato__luce,.step-dot,.ck-chip,.ck-next-btn{animation:none;transition:none}}.pensieri-page{position:relative;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:#1a1f2e;color:#e2e8f0;font-family:Quicksand,sans-serif;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.pensieri-page__header{padding:24px 48px 4px;text-align:center}.pensieri-page__header h1{font-size:1.35rem;font-weight:600;margin:0 0 12px}.pensieri-page__content{padding:0 20px;max-width:460px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.pensieri-composer{display:flex;flex-direction:column;gap:10px}.pensieri-textarea{width:100%;font-family:inherit;font-size:.95rem;color:#e2e8f0;background:#e2e8f00f;border:1.5px solid rgba(226,232,240,.2);border-radius:14px;padding:12px;resize:none;max-height:55vh;overflow-y:auto;box-sizing:border-box}.pensieri-textarea:focus{outline:none;border-color:#f6c453b3}.pensieri-btn{align-self:flex-end;font-family:inherit;font-size:.95rem;font-weight:600;color:#1a1f2e;background:#f6c453;border:none;border-radius:999px;padding:10px 24px;cursor:pointer;-webkit-tap-highlight-color:transparent}.pensieri-btn:disabled{opacity:.4;cursor:default}.pensieri-btn--ghost{align-self:center;font-family:inherit;font-size:.9rem;font-weight:600;color:#e2e8f099;background:none;border:none;padding:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.pensieri-day{display:flex;flex-direction:column;gap:8px}.pensieri-day__label{font-size:.85rem;font-weight:600;color:#e2e8f08c;text-transform:capitalize;margin:4px 0 0}.pensiero{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;text-align:left;font-family:inherit;color:inherit;background:#e2e8f00d;border:1px solid rgba(226,232,240,.12);border-radius:14px;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.pensiero__testo{font-size:.95rem;line-height:1.45;margin:0;white-space:pre-wrap;word-break:break-word}.pensiero__ora{font-size:.75rem;color:#e2e8f073;flex-shrink:0}.pensiero--edit{display:flex;flex-direction:column;gap:10px;cursor:default}.pensiero__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.pensieri-error{font-size:.9rem;color:#fca5a5;text-align:center;margin:0}.pensieri-slow{font-size:.9rem;color:#94a3b8;text-align:center;margin:0}.pensieri-loading{font-size:.9rem;color:#e2e8f080;text-align:center;margin:0}@media(prefers-reduced-motion:reduce){.pensieri-btn,.pensiero{transition:none}}.riflessione-page{position:relative;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:#1a1f2e;color:#e2e8f0;font-family:Quicksand,sans-serif;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.riflessione-page__header{padding:24px 48px 4px;text-align:center}.riflessione-page__header h1{font-size:1.35rem;font-weight:600;margin:0 0 12px}.riflessione-page__content{padding:0 20px;max-width:460px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.riflessione-oggi{background:#f6c45312;border:1.5px solid rgba(246,196,83,.28);border-radius:18px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:12px}.riflessione-angolo{align-self:flex-start;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f6c453e6;background:#f6c4531f;border-radius:999px;padding:3px 10px}.riflessione-oggi__domanda{font-size:1.1rem;line-height:1.55;margin:0}.riflessione-composer{display:flex;flex-direction:column;gap:10px}.riflessione-textarea{width:100%;font-family:inherit;font-size:.95rem;color:#e2e8f0;background:#1a1f2e8c;border:1.5px solid transparent;border-radius:12px;padding:12px;resize:none;max-height:55vh;overflow-y:auto;box-sizing:border-box;transition:border-color .25s ease}.riflessione-textarea:focus{outline:none;border-color:#f6c4538c}.riflessione-textarea--spenta{opacity:.3;transition:opacity .2s ease}.riflessione-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.riflessione-btn{font-family:inherit;font-size:.95rem;font-weight:600;color:#1a1f2e;background:#f6c453;border:none;border-radius:999px;padding:10px 24px;cursor:pointer;-webkit-tap-highlight-color:transparent}.riflessione-btn:disabled{opacity:.4;cursor:default}.riflessione-btn--ghost{font-family:inherit;font-size:.85rem;font-weight:600;color:#e2e8f099;background:none;border:none;padding:8px 0;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.riflessione-risposta{background:#e2e8f00d;border:1px solid rgba(226,232,240,.12);border-radius:14px;padding:12px 14px}.riflessione-testo{font-size:.95rem;line-height:1.45;margin:0;white-space:pre-wrap;word-break:break-word}.riflessione-eco{font-size:.95rem;line-height:1.45;margin:0;color:#e2e8f0b3;font-style:italic}.riflessione-risposta__tap{display:block;width:100%;padding:0;margin:0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.riflessione-risposta--edit{display:flex;flex-direction:column;gap:10px;background:none;border:none;padding:0}.riflessione-scorsi{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:20px;border-top:1px solid rgba(226,232,240,.15)}.riflessione-scorsi__toggle{font-family:inherit;font-size:.9rem;font-weight:600;color:#e2e8f099;background:none;border:none;padding:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.riflessione-scorsi__chevron{display:inline-block;margin-left:8px;font-size:.8rem;color:#f6c453cc;transition:transform .2s ease}.riflessione-scorsi__chevron--aperto{transform:rotate(90deg)}.riflessione-scorsi__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.riflessione-scorsi__item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;font-family:inherit;color:inherit;background:#e2e8f00d;border:1px solid rgba(226,232,240,.12);border-radius:14px;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.riflessione-scorsi__item--attivo{border-color:#f6c453b3}.riflessione-scorsi__giorno{font-size:.78rem;font-weight:600;color:#e2e8f08c;text-transform:capitalize;display:flex;align-items:center;gap:8px}.riflessione-scorsi__angolo{font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#f6c453a6}.riflessione-scorsi__domanda{font-size:.92rem;line-height:1.4}.riflessione-scorsi__composer{margin:8px 0 4px 12px;padding-left:12px;border-left:2px solid rgba(246,196,83,.45)}.riflessione-risposte-link{display:block;text-align:center;font-size:.9rem;font-weight:600;color:#e2e8f099;text-decoration:none;padding:8px;-webkit-tap-highlight-color:transparent}.riflessione-conferma{display:flex;flex-direction:column;gap:8px}.riflessione-conferma p{font-size:.9rem;font-weight:600;color:#e2e8f0d9;margin:0}.riflessione-saved{font-size:1rem;font-weight:700;color:#f6c453;text-align:center;margin:0;padding:6px 0;animation:riflessione-saved-in .35s ease}@keyframes riflessione-saved-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.riflessione-saved{animation:none}.riflessione-scorsi__chevron{transition:none}}.riflessione-error{font-size:.9rem;color:#fca5a5;text-align:center;margin:0}.riflessione-slow{font-size:.9rem;color:#94a3b8;text-align:center;margin:0}.riflessione-loading{font-size:.9rem;color:#e2e8f080;text-align:center;margin:0}.risposte-page{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:#1a1f2e;color:#e2e8f0;font-family:Quicksand,sans-serif;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.risposte-back{position:absolute;top:22px;left:16px;font-size:1.1rem;color:#f6c453cc;text-decoration:none;padding:8px;-webkit-tap-highlight-color:transparent}.risposte-page__header{padding:24px 48px 4px;text-align:center}.risposte-page__header h1{font-size:1.35rem;font-weight:600;margin:0 0 12px}.risposte-page__content{padding:0 20px;max-width:460px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.risposte-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.risposte-card{display:flex;flex-direction:column;gap:6px;background:#e2e8f00d;border:1px solid rgba(226,232,240,.12);border-radius:14px;padding:12px 14px}.risposte-card__giorno{font-size:.78rem;font-weight:600;color:#e2e8f08c;text-transform:capitalize}.risposte-card__domanda{font-size:.85rem;line-height:1.4;margin:0;color:#f6c453bf}.risposte-card__testo{font-size:.95rem;line-height:1.45;margin:0;white-space:pre-wrap;word-break:break-word}.risposte-card__carta{font-size:.9rem;margin:0;color:#e2e8f099;font-style:italic}.risposte-piu{font-family:inherit;font-size:.9rem;font-weight:600;color:#e2e8f099;background:none;border:none;padding:8px;cursor:pointer;align-self:center;-webkit-tap-highlight-color:transparent}.risposte-vuoto,.risposte-loading{font-size:.9rem;color:#e2e8f080;text-align:center;margin:0}.risposte-error{display:flex;flex-direction:column;gap:4px;align-items:center}.risposte-error p{font-size:.9rem;color:#fca5a5;text-align:center;margin:0}.passato-viste{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.passato-viste__tab{border:none;background:transparent;color:#cbb37e8c;font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;cursor:pointer}.passato-viste__tab[aria-selected=true]{color:#d6c28f;border-bottom:1px solid rgba(214,190,140,.55)}.passato-viste__sep{color:#cbb37e73}.passato-nav__range--mese{text-transform:uppercase;letter-spacing:.08em}.mese-index{display:flex;flex-direction:column;gap:12px}.mese-week{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(214,190,140,.28);border-left:2px solid rgba(214,190,140,.35);border-radius:12px;background:#d6be8c0d;color:var(--text-primary);font-family:inherit;font-size:.9rem;text-align:left;padding:14px 16px;cursor:pointer}.mese-week:active:not(:disabled){background:#d6be8c1f}.mese-week__range{font-weight:600;letter-spacing:.02em}.mese-week__marker{width:8px;height:8px;border-radius:50%;background:#d6c28f;flex-shrink:0;box-shadow:0 0 6px #d6be8c8c}.mese-week--locked{border-color:#d6be8c24;border-left-color:#d6be8c29;background:transparent;cursor:default;opacity:.55}.mese-week--locked .mese-week__range{color:#cbb37e73}.passato-foto-card .sticker__lock{position:static;display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-3px}.passato-foto-card .sticker__lock svg{width:100%;height:100%;display:block}.page-content:has(.passato-page){height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;padding-bottom:0}.passato-page{position:relative;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:Quicksand,sans-serif;padding:calc(env(safe-area-inset-top,0px) + 24px) 18px 48px;box-sizing:border-box;max-width:620px;margin:0 auto}.passato-stato{text-align:center;font-size:.88rem;color:var(--text-secondary);padding:18px 0}.passato-stato__retry{border:1px solid rgba(214,190,140,.4);background:transparent;color:#d6c28f;border-radius:8px;padding:3px 10px;font-family:inherit;font-size:.82rem;cursor:pointer}.passato-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:22px}.passato-nav__arrow{border:1px solid rgba(214,190,140,.4);background:transparent;color:#d6c28f;border-radius:8px;padding:4px 11px;font-family:inherit;cursor:pointer}.passato-nav__arrow:disabled{opacity:.35;cursor:default}.passato-nav__range{font-size:.9rem;font-weight:600}.passato-week{display:flex;flex-direction:column;gap:12px}.passato-title{text-align:center;font-size:1.35rem;font-weight:600;margin:0 30px 14px}.echo__ora{float:right;margin-left:.6rem;font-size:.72rem;color:var(--text-secondary);white-space:nowrap;line-height:2.1}.day{border-left:2px solid rgba(214,190,140,.35);padding:4px 0 6px 14px}.day__label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#cbb37e}.day__echoes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.echo{display:flex;align-items:baseline;gap:9px;font-size:.9rem}.echo__dot{width:6px;height:6px;border-radius:50%;background:#cbb37e;flex-shrink:0;position:relative;top:-2px}.echo__detail{display:block;font-size:.8rem;color:var(--text-secondary);margin-top:2px}.echo-mood__icons{display:inline-flex;align-items:center;gap:4px;margin-left:8px;vertical-align:middle}.echo-mood__icons svg{width:18px;height:18px}.echo-checkin__segno{margin-top:3px}.echo__note{font-style:italic}.passato-week--locked{opacity:.55}.day--locked{border-left:2px solid rgba(214,190,140,.16);padding:2px 0 2px 14px}.day--locked .day__label{color:#cbb37e73}.passato-locked__panel{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:26px 18px 10px}.passato-locked__panel .sticker__lock{position:static;width:34px;height:34px;display:block;filter:drop-shadow(0 2px 3px rgba(15,23,42,.45))}.passato-locked__panel .sticker__lock svg{width:100%;height:100%;display:block}.passato-locked__testo{margin:0;font-size:.92rem;color:var(--text-primary)}.passato-locked__sub{display:block;margin-top:5px;font-size:.82rem;color:var(--text-secondary)}.day--silent{display:flex;align-items:baseline;gap:10px;border-left:2px solid rgba(214,190,140,.16);padding:2px 0 2px 14px}.day--silent .day__label{display:inline;color:#cbb37e8c}.day__silent{font-size:.78rem;font-style:italic;color:#cbb37e8c}.passato-foto-card{display:block;margin:28px auto 0;max-width:320px;padding:12px 16px;text-align:center;text-decoration:none;font-size:.92rem;color:#d6be8cd9;border:1px solid rgba(214,190,140,.28);border-radius:14px;background:#d6be8c0f}.passato-foto-card:active{background:#d6be8c1f}.passato-foto-card--attesa{font-style:italic;color:#d6be8ca6;background:transparent}.passato-foto-card--attesa:active{background:transparent}.desire{border:1px solid var(--accent, #a8dcd1);border-radius:16px;padding:16px;background:var(--bg-primary)}.desire__testa{display:flex;align-items:flex-start;gap:12px}.desire-star{flex-shrink:0}.desire-star__shape{fill:color-mix(in srgb,var(--desire-col, #f472b6) 18%,transparent);stroke:var(--desire-col, #f472b6);stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.desire-star__riflesso{fill:#fff;opacity:.35}.desire-star--realizzata{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--desire-col, #f472b6) 55%,transparent))}.desire-star--realizzata .desire-star__shape{fill:var(--desire-col, #f472b6);stroke:var(--desire-col, #f472b6)}.desire-star--realizzata .desire-star__riflesso{opacity:.7}.desire__parole{min-width:0;padding-top:4px}.desire__etichetta{display:block;font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary)}.desire__etichetta--nasce{margin-top:8px}.desire__text{margin:2px 0 0;font-size:.98rem;font-weight:600;overflow-wrap:anywhere}.desire__nasce{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary);font-style:italic;overflow-wrap:anywhere}.passi{list-style:none;margin:6px 0 0 1.05rem;padding:0}.passi__item{display:flex;align-items:center}.passi__stem{width:1.4rem;height:1.7rem;border-left:2px solid color-mix(in srgb,var(--desire-col, #f472b6) 50%,transparent);border-bottom:2px solid color-mix(in srgb,var(--desire-col, #f472b6) 50%,transparent);border-bottom-left-radius:.9rem;margin-top:-.7rem;align-self:flex-start;flex-shrink:0}.passi__stem--vuoto{border-left-style:dashed;border-bottom-style:dashed;opacity:.6}.passi__row{display:flex;align-items:flex-start;gap:.55rem;background:none;border:none;padding:.35rem .4rem;color:var(--text-primary);font:inherit;font-size:.93rem;text-align:left}button.passi__row{cursor:pointer}.passi__testo{overflow-wrap:anywhere}.passi__row svg{flex-shrink:0;margin-top:-1px}.passi__data{flex-shrink:0;align-self:flex-end;color:var(--text-secondary);font-size:.72rem;white-space:nowrap}.passi__correggi,.desire__correggi{flex-shrink:0;border:1px solid color-mix(in srgb,var(--desire-col, #f472b6) 55%,transparent);background:none;color:var(--desire-col, #f472b6);border-radius:999px;padding:2px 10px;font:inherit;font-size:.75rem;white-space:nowrap;cursor:pointer}.passi__correggi{align-self:flex-end}.desire__correggi{margin-left:.6rem}.passi__add{width:1.9rem;height:1.9rem;margin:.3rem 0;border:1.5px dashed var(--text-secondary);border-radius:50%;background:none;color:var(--text-secondary);font-size:1.15rem;line-height:1;cursor:pointer}.passi__add:hover{border-color:color-mix(in srgb,var(--desire-col, #f472b6) 70%,transparent);color:var(--text-primary)}.desire__footer{display:flex;justify-content:flex-end;gap:14px;padding-top:12px}.desire__azione{background:none;border:none;padding:4px 0;color:var(--text-secondary);font-family:inherit;font-size:.8rem;cursor:pointer}.desire__azione:hover{color:var(--text-primary)}.desire__azione--realizza{color:var(--desire-col, #f472b6);margin-right:auto}.desire__realizzato-il{margin-right:auto;padding:4px 0;color:var(--desire-col, #f472b6);font-size:.8rem}.desire__azione--realizza:hover{color:color-mix(in srgb,var(--desire-col, #f472b6) 70%,white)}.page-content:has(.futuro-page){height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;padding-bottom:0}.futuro-page{position:relative;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:Quicksand,sans-serif;padding:22px 18px 96px;box-sizing:border-box;max-width:620px;margin:0 auto}.futuro-header{padding:8px 44px 0;text-align:center;margin-bottom:22px}.futuro-title{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:.02em}.futuro-stato{text-align:center;color:var(--text-secondary);font-size:.9rem}.futuro-desires{display:flex;flex-direction:column;gap:24px}.futuro-add{margin-top:22px;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px dashed rgba(244,114,182,.55);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.9rem;cursor:pointer}.futuro-add:hover{border-style:solid;border-color:#f472b6;color:var(--text-primary)}.futuro-add__plus{font-size:1.15rem;line-height:1;color:#f472b6}.futuro-page--invito .nuvoletta-guida{top:calc(env(safe-area-inset-top,0px) + 72px);animation:nuvoletta-comparsa .5s ease-out 0s both}.futuro-page--invito .futuro-add{margin-top:108px;border-style:solid;border-color:#f472b6;color:var(--text-primary);box-shadow:0 0 10px #f472b6}.ft-modal__backdrop{position:fixed;inset:0;background:#0a0e1eb8;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.ft-modal{width:100%;max-width:420px;background:var(--bg-secondary, #171d33);border:1px solid rgba(168,220,209,.35);border-radius:16px;padding:18px;box-sizing:border-box;color:var(--text-primary);font-family:Quicksand,sans-serif}.ft-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ft-modal__title{margin:0;font-size:1rem;font-weight:600}.ft-modal__close{background:none;border:none;color:var(--text-secondary);font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px}.ft-modal__campo{display:block;margin-bottom:14px}.ft-modal__label{display:block;font-size:.82rem;color:var(--text-secondary);margin-bottom:6px}.ft-modal__textarea{width:100%;box-sizing:border-box;background:var(--bg-primary);border:1px solid rgba(168,220,209,.35);border-radius:10px;padding:10px 12px;color:var(--text-primary);font-family:inherit;font-size:.92rem;resize:vertical}.ft-modal__errore{margin:0 0 10px;color:#f0a3a3;font-size:.82rem}.ft-modal__footer{display:flex;justify-content:flex-end}.ft-modal__salva{background:var(--accent, #a8dcd1);color:#10142a;border:none;border-radius:999px;padding:9px 22px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.ft-modal__salva:disabled{opacity:.5;cursor:default}.ft-sheet__testo{margin:0 0 14px;font-size:.95rem;overflow-wrap:anywhere}.ft-sheet__azioni{display:flex;flex-direction:column;gap:8px}.ft-sheet__primaria{background:var(--accent, #a8dcd1);color:#10142a;border:none;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.ft-sheet__secondaria{background:none;border:1px solid rgba(168,220,209,.4);border-radius:999px;padding:9px 18px;color:var(--text-primary);font-family:inherit;font-size:.88rem;cursor:pointer}.ft-sheet__annulla{background:none;border:none;padding:8px;color:var(--text-secondary);font-family:inherit;font-size:.85rem;cursor:pointer}.ft-sheet__conferma-testo{margin:0 0 12px;font-size:.88rem;color:var(--text-secondary)}.ft-sheet__conferma-azioni{display:flex;justify-content:flex-end;gap:10px}.ft-sheet__primaria:disabled,.ft-sheet__secondaria:disabled,.ft-sheet__annulla:disabled{opacity:.5;cursor:default}.ft-archivio{margin-top:34px}.ft-archivio__toggle{background:none;border:none;padding:6px 0;color:var(--text-secondary);font-family:inherit;font-size:.85rem;cursor:pointer}.ft-archivio__lista{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.ft-archivio__testata{display:flex;align-items:center;justify-content:space-between;gap:12px}.ft-archivio__nome{background:none;border:none;padding:0;font-family:inherit;font-size:.9rem;color:var(--text-secondary);text-align:left;overflow-wrap:anywhere;cursor:pointer}.ft-archivio__nome:hover{color:var(--text-primary)}.ft-archivio__diario{margin:8px 0 4px;padding-left:12px;border-left:2px solid rgba(168,220,209,.25)}.ft-archivio__diario-passi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:var(--text-primary)}.ft-archivio__diario-data{margin-right:8px;color:var(--text-secondary);font-size:.72rem;white-space:nowrap}.ft-archivio__diario-realizzato{margin:6px 0 0;font-size:.8rem;color:#f472b6}.ft-archivio__diario-vuoto{margin:0;font-size:.8rem;color:var(--text-secondary)}.ft-archivio__ripristina{background:none;border:1px solid rgba(168,220,209,.4);border-radius:999px;padding:6px 14px;color:var(--text-primary);font-family:inherit;font-size:.78rem;cursor:pointer;flex-shrink:0}.ft-archivio__ripristina:disabled{opacity:.5;cursor:default}.ft-archivio__errore{margin-top:8px;color:#f0a3a3;font-size:.8rem}.page-content:has(.settings-page){height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden}.settings-page{min-height:100vh;min-height:100dvh;background:var(--bg-primary);padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.settings-page__header{padding:32px 24px 24px}.settings-page__brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px}.settings-page__app-name{font-family:Quicksand,sans-serif;font-size:22px;font-weight:300;letter-spacing:2px;color:var(--text-primary)}.settings-page__header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.settings-page__content{padding:0 24px}.settings-section{margin-bottom:32px}.settings-section__title{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.settings-page__nome{margin:0 0 2px;color:var(--text-primary);font-size:1rem;overflow-wrap:anywhere}.settings-page__email{margin:0 0 12px;color:var(--text-secondary);font-size:.95rem;overflow-wrap:anywhere}.settings-page__piano{margin:0 0 12px;color:var(--text-secondary);font-size:.95rem}.settings-btn{display:block;width:100%;padding:16px;margin-bottom:8px;background:var(--bg-secondary);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;color:var(--text-primary);font-size:1rem;text-align:left;cursor:pointer;transition:all .2s ease}.settings-btn:hover{background:var(--bg-tertiary)}.settings-btn:active{transform:scale(.98)}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn--danger{color:#ef4444;border-color:#ef444459;margin-bottom:0}.settings-btn--danger:hover{background:#ef44441a}.settings-danger{margin-top:48px}.settings-danger__box{padding:16px;border:1px solid rgba(239,68,68,.3);border-radius:12px}.settings-danger__testo{margin:0 0 12px;color:var(--text-secondary);font-size:.9rem}.settings-page__errore{color:#e8a1a1;font-size:.88rem;margin-top:.5rem}
