/* Shared options: two invitations first, management folded away. */
.shareChoice{padding:16px 0;border-bottom:1px solid #eee6ef}.shareChoice>button{width:100%;text-align:left}.shareChoice p{font-size:14px;line-height:1.5;margin:8px 2px 0;color:#72667a}.shareMain{display:grid;gap:8px}.shareIntro{font-size:14px!important;line-height:1.6}.shareDetails{margin:18px 0;padding:14px;border:1px solid #e6dce8;border-radius:16px}.shareDetails>summary{font-weight:600;color:#72246c;cursor:pointer}.shareDetails>button{margin-top:14px}#sharedDelete{color:#b52e45;border-color:#eab8c1}#sharedHelp{margin-top:12px}.helpQuestion{border-top:1px solid #eee4ef;padding:16px 0}.helpQuestion summary{font-weight:600;cursor:pointer}.helpQuestion p{font-size:15px;line-height:1.6}.helpBasics{margin-bottom:24px}#helpActions{display:grid;gap:10px}#v21Help[hidden]{display:none!important}.v2Topbar{padding:0!important;min-height:0!important}.v2Topbar>span{font-size:11px}#helpButton{flex:0 0 38px;width:38px;height:38px;color:#792b83;border:1px solid #dfcde4;font-weight:700;font-size:21px}header{gap:10px}header #language{min-width:0}@media(max-width:420px){header{gap:7px}header #language{max-width:100px}header .brand small{font-size:8px}}
/* A cinematic introduction, deliberately distinct from the application UI. */
body.welcomeOpen{overflow:hidden}#welcome{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#172536;color:white;overflow:auto;box-sizing:border-box;font-family:Outfit,sans-serif}#welcome::backdrop{background:#172536}.welcomeLayout{position:relative;min-height:100%;isolation:isolate;display:flex}.welcomePhoto{position:fixed;inset:0;z-index:-2;background:url('polignano.jpg') center 45%/cover}.welcomePhoto:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#122237b0,#17213680 25%,#25172eda 75%,#1c132a)}.welcomePhotoLabel{display:none}.welcomeContent{width:min(100%,860px);margin:auto;min-height:100dvh;padding:30px 48px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;box-sizing:border-box}.welcomeTop{display:flex;align-items:center;justify-content:space-between;gap:14px}.welcomeBrand{font-size:17px;font-weight:600;letter-spacing:.25em}.welcomeBrand small{display:block;letter-spacing:.2em;font-size:9px;font-weight:400;color:#f4d9b2;margin-top:6px}.welcomeTop>div{display:flex;align-items:center;gap:22px}#welcomeLanguage{width:110px;min-width:0;background:#ffffff12;border:1px solid #ffffff40;color:white;border-radius:40px;padding:9px;margin:0;font-size:13px}#welcomeLanguage option{color:#302437;background:white}#welcomeSkip{background:transparent;border:0;color:white;padding:12px 0;font:500 14px Outfit,sans-serif;white-space:nowrap}.welcomeProgress{display:flex;gap:6px;margin:24px 0 20px}.welcomeProgress>span{position:relative;flex:1;height:3px;background:#ffffff30;border-radius:4px;overflow:hidden}.welcomeProgress i{display:block;width:100%;height:100%;background:#efc995;transform:scaleX(0);transform-origin:left}.welcomeProgress .complete i{transform:scaleX(1)}.welcomeProgress .current i{animation:introProgress 6s linear forwards}.welcomeBody{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 0}.welcomeEyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;color:#f4d9b2}.welcomeBody h1{font-size:clamp(38px,5.8vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1.06;max-width:680px;margin:20px 0;color:white;text-wrap:balance}.welcomeBody>p{font-size:18px;line-height:1.5;max-width:530px;margin:0 0 26px;color:#f3ecf4;text-wrap:pretty}.welcomeDemo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:min(100%,450px);min-height:210px;padding:42px 28px 24px;background:linear-gradient(130deg,#fffaf5f5,#f1e6f4f5);color:#692c70;border:1px solid #ffffffb0;border-radius:26px;box-shadow:0 18px 65px #0a081650;box-sizing:border-box}.welcomeDemoLabel{position:absolute;top:14px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.18em;color:#9b8299}.welcomeDemo strong{font-size:22px;font-weight:600}.welcomeSymbol{font-size:40px;line-height:1}.welcomeChips{display:flex;justify-content:center;gap:8px}.welcomeChips span,.welcomeNotes span{background:#fff;border:1px solid #e8daea;border-radius:12px;padding:10px 16px;font-size:14px}.welcomeBody>small{font-size:11px;color:#e5c8db;margin:18px 0 0;letter-spacing:.02em}.welcomeBottom{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;padding-top:20px}.welcomeBottom .primary{background:#f2cba0;color:#38293e;border:0;border-radius:50px;box-shadow:0 8px 30px #0002;font:600 16px Outfit,sans-serif;padding:16px 22px;min-height:52px}.welcomeBottom .textBtn{color:#fff;font-size:13px;font-weight:400;padding:10px 0;white-space:nowrap}.welcomeBottom button:disabled{opacity:.3}.welcomeMap{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.welcomeMap span{background:#fff;border:1px solid #e2d3e6;border-radius:20px;padding:10px;font-size:13px}.welcomeSchedule{display:grid;gap:10px;width:100%}.welcomeSchedule span{display:flex;justify-content:space-between;background:#fff;border:1px solid #e7dbe9;padding:10px 15px;border-radius:12px;font-size:14px;gap:12px}.welcomeCalculation{font-size:28px;font-weight:600}.welcomeCalculation span{color:#ad859f}.welcomeNotes{display:grid;gap:14px}.welcomePeople{display:flex;padding-left:14px}.welcomePeople span{display:grid;place-items:center;width:54px;height:54px;border:3px solid #fff;border-radius:50%;margin-left:-14px;background:#9962a3;color:white;font-weight:600}.welcomePeople span:nth-child(2){background:#d66e92}.welcomePeople span:nth-child(3){background:#e9a477}.demoPointer{position:absolute;right:22px;bottom:12px;font-size:34px;color:#ad3d83;text-shadow:1px 2px white;pointer-events:none}.introPaused *{animation-play-state:paused!important}#welcome button:focus-visible,#welcome select:focus-visible{outline:3px solid #efc995;outline-offset:4px}
@keyframes introProgress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){.welcomePhoto{animation:introPhoto 40s ease-in-out infinite alternate}.welcomeBody h1,.welcomeBody>p{animation:introReveal .8s ease both}.welcomeBody>p{animation-delay:.12s}.welcomeDemo{animation:introCard .9s cubic-bezier(.2,.7,.25,1) both}.welcomeChips span,.welcomeMap span,.welcomeSchedule span,.welcomeNotes span,.welcomePeople span{animation:introItem .65s ease both}.welcomeChips span:nth-child(2),.welcomeMap span:nth-child(2),.welcomeSchedule span:nth-child(2),.welcomeNotes span:nth-child(2),.welcomePeople span:nth-child(2){animation-delay:.8s}.welcomeChips span:nth-child(3),.welcomeMap span:nth-child(3),.welcomeSchedule span:nth-child(3),.welcomePeople span:nth-child(3){animation-delay:1.5s}.demoPointer{animation:introTap 3s ease-in-out infinite}.welcomeChips span:last-child{animation:introSelect 5s ease both}@keyframes introPhoto{to{transform:scale(1.12) translateY(-1%)}}@keyframes introReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes introCard{from{opacity:0;transform:translateY(18px) rotate(-2deg) scale(.95)}to{opacity:1;transform:none}}@keyframes introItem{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes introTap{0%,100%{transform:translate(10px,10px);opacity:0}30%,65%{opacity:1;transform:translate(0,0)}45%{transform:scale(.83)}}@keyframes introSelect{0%,30%{background:white}45%,100%{background:#8d398c;color:white}}}
@media(max-width:740px){.welcomeContent{padding:22px 24px max(20px,env(safe-area-inset-bottom))}.welcomeTop>div{gap:16px}.welcomeBrand{font-size:14px}.welcomeBrand small{font-size:8px}.welcomeProgress{margin:22px 0 12px}.welcomeBody{padding:18px 0}.welcomeBody h1{font-size:clamp(34px,9.5vw,46px);margin:16px 0}.welcomeBody>p{font-size:16px;line-height:1.5;margin-bottom:22px}.welcomeDemo{min-height:190px;padding:36px 20px 22px}.welcomeDemo strong{font-size:20px}.welcomeBottom{gap:14px;grid-template-columns:auto minmax(0,1fr) auto}.welcomeBottom .primary{font-size:14px;padding:14px 12px}#welcomeNext{display:none}.welcomeBottom .textBtn{font-size:12px}.welcomeBody>small{font-size:10px}.welcomeEyebrow{font-size:9px}.welcomeChips span{padding:8px 11px;font-size:13px}}
@media(max-height:700px){.welcomeContent{padding-top:16px;padding-bottom:16px}.welcomeBody{padding:8px 0}.welcomeProgress{margin:15px 0 8px}.welcomeBody h1{font-size:34px;margin:12px 0}.welcomeBody>p{font-size:14px;line-height:1.45;margin-bottom:15px}.welcomeDemo{min-height:150px;padding:32px 20px 14px;gap:10px}.welcomeSymbol{font-size:28px}.welcomeBody>small{margin:12px 0 0}.welcomeBottom{padding-top:8px}.welcomeSchedule span{padding:6px 12px}.welcomePeople span{width:42px;height:42px}}@media(max-width:360px){.welcomeContent{padding-left:17px;padding-right:17px}.welcomeTop>div{gap:12px}#welcomeLanguage{width:92px}.welcomeBody h1{font-size:32px}.welcomeBottom{gap:10px}}
