/* Selected 04 greeting: centered desktop dialog and mobile bottom sheet. */
.welcome-dialog.welcome-invitation{width:min(440px,calc(100% - 40px));max-width:440px;padding:0;border:1px solid #d9ccaa;border-radius:24px;overflow:auto;max-height:calc(100svh - 40px);background:#faf8ef;box-shadow:0 35px 110px #001910a6,0 0 0 1px #d7cba719;color:#183f2d;text-align:center;scrollbar-width:thin;isolation:isolate}
.welcome-invitation::backdrop{background:#001e18b8;backdrop-filter:blur(9px) saturate(.75)}
.welcome-invitation .welcome-close{position:absolute;right:12px;top:12px;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:#ffffff06;border:1px solid #d4d8be26;border-radius:50%;font-size:24px;font-weight:200;line-height:1;color:#dce6d8;z-index:3}
.welcome-invitation .welcome-close:hover{background:#ffffff13;border-color:#d4d8be66}
.welcome-invitation-head{position:relative;isolation:isolate;overflow:hidden;padding:35px 32px 31px;background:radial-gradient(ellipse at 50% 5%,#46614b66,transparent 75%),linear-gradient(120deg,#184834,#082f24 70%);color:#fffef4;border-bottom:1px solid #b7a77573}
.welcome-head-line{position:absolute;inset:9px 9px -12px;border:1px solid #d3c29626;border-radius:17px 17px 0 0;pointer-events:none;z-index:-1}
.welcome-arch{position:absolute;z-index:-1;left:calc(50% - 140px);top:20px;width:280px;height:330px;border:1px solid #d4c69d14;border-radius:50% 50% 0 0;transform:rotate(-10deg);pointer-events:none}
.welcome-arch:before{content:"";position:absolute;inset:12px;border:1px solid #d4c69d10;border-radius:inherit}
.welcome-brand{width:112px;height:auto;display:block;margin:0 auto 19px;opacity:.96}
.welcome-membership-mark{font-size:8px;letter-spacing:3.6px;line-height:1.5;color:#fcfbf0;margin:0 0 10px;font-weight:400}
.welcome-dialog.welcome-invitation h2{font-family:Cormorant,Georgia,serif;font-weight:500;font-size:49px;letter-spacing:0;line-height:1.12;margin:0;color:#fffdf5}
html[lang=zh-Hans] .welcome-dialog.welcome-invitation h2{font-family:inherit;font-size:30px;font-weight:300;letter-spacing:5px;line-height:1.5}
.welcome-invitation-subtitle{font-size:8px;letter-spacing:1.3px;line-height:1.8;margin:10px 0 0;color:#d1c29a}
.welcome-invitation-body{position:relative;padding:27px 35px 27px;background:radial-gradient(ellipse at 50% 0,#fffffb,transparent 80%),#f9f7ed}
.welcome-dialog.welcome-invitation .welcome-name{font-family:Cormorant,Georgia,"PingFang SC",serif;font-size:36px;line-height:1.2;font-weight:500;letter-spacing:.1px;margin:8px 0 0;color:#1b4935;overflow-wrap:anywhere;text-wrap:balance}
.welcome-invitation .welcome-divider{display:block;position:relative;width:82px;height:5px;margin:17px auto;background:linear-gradient(90deg,#c9b58077 0 34%,transparent 34% 66%,#c9b58077 66%) center/100% 1px no-repeat}
.welcome-invitation .welcome-divider:before{content:"";position:absolute;width:5px;height:5px;top:0;left:calc(50% - 2.5px);transform:rotate(45deg);background:#baa36b}
.welcome-invitation .welcome-divider:after{display:none}
.welcome-dialog.welcome-invitation .welcome-copy{margin:0 0 23px;color:#86907c;font-size:11px;line-height:2.1;letter-spacing:.5px}
.welcome-invitation .primary-button{width:100%;min-height:53px;padding:12px 15px 12px 23px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(110deg,#24563d,#0a3b2a);border:1px solid #426543;box-shadow:0 7px 15px #143b2817;letter-spacing:.8px;font-size:12px;color:#fffdf4}
.welcome-invitation .primary-button svg{width:27px;height:27px;padding:6px;border:1px solid #d4c59a4d;border-radius:50%;color:#d9c693}
.welcome-invitation .primary-button:hover{background:linear-gradient(110deg,#306549,#154a34)}
.welcome-invitation-body>small{display:block;margin-top:20px;letter-spacing:1px;color:#a1a58f;font-size:7px;line-height:1.8}
@media(max-width:700px){
 .welcome-dialog.welcome-invitation{width:calc(100% - 40px);max-width:370px;border-radius:23px;max-height:calc(100svh - 36px)}
 .welcome-invitation .welcome-close{right:10px;top:10px;width:44px;height:44px;min-height:44px;font-size:23px}
 .welcome-invitation-head{padding:30px 25px 30px}
 .welcome-brand{width:103px;margin-bottom:19px}
 .welcome-membership-mark{font-size:7px;letter-spacing:3.2px;margin-bottom:9px}
 .welcome-dialog.welcome-invitation h2{font-size:44px;line-height:1.15}
 html[lang=zh-Hans] .welcome-dialog.welcome-invitation h2{font-size:28px;letter-spacing:4px;line-height:1.5}
 .welcome-invitation-subtitle{font-size:8px;margin-top:9px;letter-spacing:1px}
 .welcome-invitation-body{padding:26px 25px 23px}
 .welcome-dialog.welcome-invitation .welcome-name{font-size:33px;margin-top:9px}
 .welcome-invitation .welcome-divider{margin:15px auto 15px}
 .welcome-dialog.welcome-invitation .welcome-copy{font-size:10px;line-height:2.1;letter-spacing:.3px;margin-bottom:22px}
 .welcome-invitation .primary-button{min-height:53px;font-size:11px;padding-left:18px}
 .welcome-invitation-body>small{font-size:7px;margin-top:18px;letter-spacing:.4px}
}
@media(max-width:360px){
 .welcome-dialog.welcome-invitation{width:calc(100% - 32px);max-height:calc(100svh - 28px);border-radius:20px}
 .welcome-invitation-head{padding:27px 23px 28px}
 .welcome-brand{width:97px;margin-bottom:17px}
 .welcome-invitation-body{padding-left:22px;padding-right:22px}
 .welcome-dialog.welcome-invitation .welcome-name{font-size:30px}
 .welcome-invitation-body>small{font-size:6px}
}
@media(prefers-reduced-motion:no-preference){.welcome-invitation[open]{animation:invitation-arrive .55s cubic-bezier(.16,.8,.23,1) both}@keyframes invitation-arrive{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.welcome-invitation[open]{animation:none!important}}
/* Greeting layout; existing signed-session and dialog controls are unchanged. */
.welcome-dialog.welcome-silk{width:min(460px,calc(100% - 40px));padding:34px 34px 29px;border-radius:25px;background:radial-gradient(ellipse at 2% 0%,#53856975,transparent 70%),radial-gradient(ellipse at 100% 90%,#4d79542b,transparent 60%),linear-gradient(150deg,#0f4433,#03271f 72%);border:1px solid #93a57b4a;box-shadow:0 25px 100px #001a14bd,inset 0 1px 0 #dbe5c52e;color:#fffaf0;text-align:left;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
.welcome-silk:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at calc(100% - 55px) 15px,transparent 184px,#e1d1a61b 184px 185px,transparent 185px);pointer-events:none}
.welcome-silk:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at calc(100% - 57.5px) 17.5px,transparent 201.5px,#e1d1a610 201.5px 202.5px,transparent 202.5px);pointer-events:none}
.welcome-silk .welcome-invitation-head{padding:0;text-align:left;background:none;border:0;overflow:visible}
.welcome-silk .welcome-arch,.welcome-silk .welcome-head-line{display:none}
.welcome-silk .welcome-brand{width:108px;margin:0 0 30px}
.welcome-silk .welcome-membership-mark{font-size:8px;letter-spacing:3px;color:#cfdbbf;margin-bottom:13px}
.welcome-dialog.welcome-silk h2{color:#e1ecd9;font-size:31px;line-height:1.2;letter-spacing:0;font-family:Cormorant,Georgia,serif;font-weight:500}
html[lang=zh-Hans] .welcome-dialog.welcome-silk h2{font-family:inherit;font-size:22px;font-weight:300;letter-spacing:2px;line-height:1.4}
.welcome-silk .welcome-invitation-subtitle{display:none}
.welcome-silk .welcome-invitation-body{background:none;padding:0;text-align:left}
.welcome-dialog.welcome-silk .welcome-name{font-size:55px;line-height:1.05;font-weight:500;letter-spacing:-.5px;text-align:left;color:#fff8e3;margin:9px 0 0}
.welcome-silk .welcome-divider{display:none}
.welcome-dialog.welcome-silk .welcome-copy{font-size:11px;line-height:2.1;letter-spacing:.3px;color:#a9c1ac;text-align:left;margin:24px 0 27px}
.welcome-silk .primary-button{position:relative;z-index:1;border:1px solid #f7f4df;background:#f4f1e4;color:#194531;border-radius:999px;padding:12px 16px 12px 24px;min-height:54px;font-size:12px;letter-spacing:.6px;box-shadow:0 5px 15px #00180d30}
.welcome-silk .primary-button:hover{background:#fff9e7}
.welcome-silk .primary-button svg{width:26px;height:26px;border-color:#d2d7c0;color:#4c7355}
.welcome-silk .welcome-invitation-body>small{font-size:7px;letter-spacing:.9px;color:#6d947f;margin:21px 0 0;text-align:left}
.welcome-silk .welcome-close{border:0;background:#ffffff08;top:14px;right:14px;color:#e7eee1}
@media(max-width:700px){
 .welcome-dialog.welcome-silk{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom));margin:0 auto;width:calc(100% - 24px);max-width:430px;max-height:calc(100svh - 32px);padding:30px 28px 26px;border-radius:25px;overflow-x:hidden;overflow-y:auto}
 .welcome-silk .welcome-brand{width:103px;margin-bottom:28px}
 .welcome-silk .welcome-membership-mark{font-size:7px;letter-spacing:2.8px;margin-bottom:13px}
 .welcome-dialog.welcome-silk h2{font-size:30px}
 html[lang=zh-Hans] .welcome-dialog.welcome-silk h2{font-size:21px;letter-spacing:2px}
 .welcome-dialog.welcome-silk .welcome-name{font-size:49px;margin-top:9px;line-height:1.05;letter-spacing:-.4px}
 .welcome-dialog.welcome-silk .welcome-copy{font-size:10px;line-height:2.1;letter-spacing:.3px;margin:23px 0 26px}
 .welcome-silk .primary-button{min-height:53px;font-size:11px;padding-left:21px}
 .welcome-silk .welcome-invitation-body>small{font-size:6.5px;letter-spacing:.3px;margin-top:20px}
}
@media(max-width:360px){
 .welcome-dialog.welcome-silk{padding-left:24px;padding-right:24px}
 .welcome-dialog.welcome-silk .welcome-name{font-size:44px}
.welcome-silk .welcome-invitation-body>small{font-size:6px}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.welcome-silk[open]{animation:silk-arrive .6s cubic-bezier(.16,.8,.23,1) both}@keyframes silk-arrive{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}}
