/* An immersive homecoming entrance; scoped to keep the application intact. */
.welcome-screen.login { display:block; min-height:100svh; padding:22px 26px 0; background:#e9e6db; }
.welcome-stage { position:relative; isolation:isolate; min-height:calc(100svh - 76px); overflow:hidden; border-radius:15px; background:#38463a; color:#fff9ec; display:flex; flex-direction:column; box-shadow:0 14px 38px #34352814; }
.welcome-backdrop { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 56%; }
.welcome-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,#12231c40 0%,#18271e12 30%,#1a271c05 56%,#14251b90 100%); }
.welcome-shade:after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 34% 55% at 50% 38%,#14241b38,transparent 100%); }
.welcome-nav { display:flex; align-items:center; justify-content:space-between; height:auto; border:0; background:transparent; padding:27px 42px; gap:30px; }
.welcome-brand { display:flex; align-items:center; gap:10px; color:#fffbef; font-size:22px; letter-spacing:-.7px; font-weight:600; }
.welcome-brand-mark { display:grid; place-items:center; width:35px; height:35px; border:1px solid #fcf6e0a0; border-radius:11px 11px 4px 11px; font:bold 30px Georgia,serif; }
.welcome-brand b { font-size:10px; letter-spacing:0; font-weight:500; opacity:.8; margin-left:2px; }
.welcome-links { flex:initial; display:flex; align-items:center; gap:29px; overflow:visible; margin-left:auto; min-height:0; }
.welcome-links button { padding:8px 0; background:none; border:0; color:#fff8e9; font-size:12px; text-shadow:0 1px 5px #17241a66; }
.welcome-links button:hover { color:#ffe2a8; }
.welcome-top-cta { border:1px solid #fffdf2b3; background:#fffbefed; color:#3f523a; border-radius:30px; padding:9px 19px; min-height:38px; font-size:12px; font-weight:600; white-space:nowrap; }
.welcome-top-cta span { margin-left:16px; }
.welcome-top-cta:hover,.welcome-primary:hover { background:#f8e8bf; border-color:#f8e8bf; box-shadow:0 5px 20px #18241918; }
.welcome-story { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; padding:clamp(25px,5vh,70px) 24px 35px; }
.welcome-kicker { display:flex; align-items:center; gap:9px; font-size:12px; letter-spacing:1px; color:#f3e9d3; margin:0 0 23px; text-shadow:0 1px 6px #10201740; }
.welcome-kicker>span { width:5px; height:5px; background:#e6c98c; border-radius:50%; box-shadow:0 0 0 4px #fce5b512; }
.welcome-story h1 { font-family:"Segoe UI","Microsoft YaHei",sans-serif; font-size:clamp(36px,4.2vw,60px); line-height:1.35; font-weight:600; letter-spacing:1px; color:#fffaf0; margin:0 0 22px; text-shadow:0 2px 18px #10251a28; }
.welcome-description { font-size:14px; line-height:1.95; letter-spacing:.5px; color:#f7eedc; margin:0 0 28px; text-shadow:0 1px 10px #11221866; }
.welcome-actions { display:flex; align-items:center; justify-content:center; gap:18px; }
.welcome-primary { border:1px solid #fff8e8; border-radius:9px; background:#fff8e8; color:#3c533c; font-size:13px; padding:12px 24px; min-height:46px; font-weight:600; box-shadow:0 5px 20px #0b231c12; }
.welcome-primary span { margin-left:25px; }
.welcome-secondary { border:0; border-bottom:1px solid #fff3d566; background:transparent; color:#fff5e0; padding:9px 0 5px; font-size:12px; text-shadow:0 1px 5px #15251a66; }
.welcome-secondary:hover { border-color:#fff5e0; color:#ffe3ac; }
.welcome-reassurance { color:#e1dfc7; font-size:11px; letter-spacing:1px; margin:18px 0 0; text-shadow:0 1px 5px #15251a80; }
.welcome-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 42px 27px; color:#f8efdb; }
.welcome-bottom-note { display:flex; gap:10px; align-items:center; font-size:11px; letter-spacing:.5px; }
.welcome-small-sun { font-size:21px; color:#e5c88b; }
.welcome-feature-list { display:flex; align-items:center; gap:26px; color:#fff5e2; font-size:12px; }
.welcome-feature-list span+span:before { content:''; display:inline-block; width:3px; height:3px; border-radius:50%; background:#e5d4a77a; margin-right:26px; vertical-align:middle; }
.welcome-caption { display:flex; justify-content:space-between; gap:20px; color:#787c68; padding:15px 6px 13px; font-size:10px; letter-spacing:.3px; }
.welcome-dialog { background:#fffaf0; width:440px; padding:32px; color:#3d533c; text-align:center; border:1px solid #f7edd7; }
.welcome-dialog::backdrop { background:#14231988; backdrop-filter:blur(7px); }
.welcome-dialog-close { position:absolute; right:15px; top:12px; border:0; border-radius:50%; width:33px; height:33px; font-size:24px; line-height:1; background:transparent; color:#7e896f; }
.welcome-dialog-close:hover { background:#edeeda; }
.welcome-dialog-symbol { display:grid; place-items:center; width:49px; height:49px; margin:3px auto 16px; font-size:35px; color:#789066; background:#ebeedb; border-radius:16px; }
.welcome-dialog-kicker { font-size:11px; color:#8b9179; letter-spacing:.5px; margin:5px 0 10px; }
.welcome-dialog h2 { font-size:26px; margin:0 0 11px; }
.welcome-dialog .muted { font-size:12px; line-height:1.8; }
.welcome-dialog .identity { text-align:left; margin:12px 0; background:#fffdf7; padding:13px 16px; }
.welcome-dialog .identity small { color:#848a74; }
.welcome-demo-note { font-size:10px; color:#858a74; line-height:1.9; margin:20px 0 0; }
.welcome-about { text-align:left; width:480px; }
.welcome-about h2 { font-size:24px; margin:12px 0 24px; }
.welcome-about-step { border-top:1px solid #e9e4d4; padding:17px 0 0; margin-top:15px; }
.welcome-about-step b { font-size:14px; font-weight:600; color:#5b7450; }
.welcome-about-step p { font-size:12px; color:#7a846d; line-height:1.85; margin:7px 0 0; }
.welcome-about .welcome-primary { margin-top:24px; background:#577451; color:#fff9e9; border-color:#577451; }
.welcome-about .welcome-primary:hover { background:#415f3e; }
.welcome-screen :focus-visible { outline:3px solid #eecb80; outline-offset:5px; }
@media(min-width:1600px) { .welcome-screen.login { padding:30px 34px 0; } .welcome-stage { min-height:calc(100svh - 86px); } .welcome-nav { padding:30px 50px; } .welcome-story { padding-top:10vh; } }
@media(max-width:1000px) { .welcome-nav { padding:24px 27px; gap:22px; } .welcome-story { padding-top:65px; } .welcome-story h1 { font-size:47px; } .welcome-bottom { padding:23px 27px; } .welcome-feature-list { gap:17px; } .welcome-feature-list span+span:before { margin-right:17px; } .welcome-bottom-note { font-size:10px; } }
@media(max-width:700px) {
 .welcome-screen.login { padding:12px 12px 0; }
 .welcome-stage { min-height:calc(100svh - 83px); border-radius:12px; }
 .welcome-backdrop { object-position:48% center; }
 .welcome-shade { background:linear-gradient(180deg,#12231c70,#192a1e25 35%,#14231b25 70%,#14231baf); }
 .welcome-shade:after { background:linear-gradient(90deg,#12241a15,#12241a35,#12241a15); }
 .welcome-nav { height:auto; padding:20px 18px; gap:8px; }
 .welcome-brand { font-size:18px; gap:8px; }
 .welcome-brand-mark { width:30px; height:30px; font-size:25px; border-radius:9px 9px 3px 9px; }
 .welcome-brand b { font-size:8px; }
 .welcome-links { display:none; }
 .welcome-top-cta { font-size:10px; padding:7px 11px; min-height:33px; }
 .welcome-top-cta span { margin-left:7px; }
 .welcome-story { padding:65px 20px 105px; justify-content:flex-start; }
 .welcome-kicker { font-size:10px; letter-spacing:.3px; margin-bottom:23px; }
 .welcome-story h1 { font-size:clamp(30px,8.3vw,43px); letter-spacing:0; line-height:1.5; margin-bottom:21px; }
 .welcome-description { font-size:12px; line-height:2; margin-bottom:26px; letter-spacing:0; }
 .welcome-actions { flex-direction:column; gap:15px; }
 .welcome-primary { font-size:12px; padding:12px 25px; }
 .welcome-secondary { font-size:11px; }
 .welcome-reassurance { margin-top:20px; font-size:10px; }
 .welcome-bottom { padding:18px 19px 24px; flex-direction:column; align-items:center; gap:15px; }
 .welcome-bottom-note { font-size:10px; }
 .welcome-small-sun { font-size:17px; }
 .welcome-feature-list { gap:10px; font-size:10px; }
 .welcome-feature-list span+span:before { margin-right:10px; width:2px; height:2px; }
 .welcome-caption { flex-direction:column; align-items:center; gap:3px; padding:12px 0; font-size:9px; }
 .welcome-dialog { width:calc(100vw - 32px); padding:29px 23px; }
 .welcome-about h2 { font-size:23px; }
}
@media(max-height:650px) and (min-width:701px) { .welcome-story { padding-top:20px; padding-bottom:40px; } .welcome-story h1 { font-size:43px; } .welcome-nav { padding-top:19px; padding-bottom:19px; } }
