.brand-tal{background:linear-gradient(110deg,#b68a43 0%,#e6c77d 28%,#fff3c9 43%,#b78e45 58%,#e3bd6d 78%,#fff0b9);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brandGold 10s ease-in-out infinite}.brand-noro{color:#edf0e8;letter-spacing:2px}.brand-eye{position:relative;display:inline-block;color:#fff6df;text-shadow:none;animation:brandBlink 8s ease-in-out infinite;transform-origin:center 52%}.brand-eye:last-child{animation-delay:.18s}.brand-eye:before{content:' ';position:absolute;left:50%;top:49%;width:.46em;height:.46em;border-radius:50%;background:radial-gradient(circle at 46% 42%,#ffeaaa 0 24%,#ffd359 40%,#efaf29 66%,#a96b17 90%);translate:-50% -50%;box-shadow:inset 0 0 0 .018em #fff0bd,0 .018em .045em #2517073d}.brand-eye:after{content:' ';position:absolute;left:50%;top:49%;width:.245em;height:.245em;border-radius:50%;background:radial-gradient(circle at 32% 27%,#fffdf5 0 14%,transparent 17%),radial-gradient(circle at 68% 74%,#f8d98b 0 4%,transparent 7%),radial-gradient(circle at 55% 56%,#0c1417 0 67%,#482e16 83%,#784817 100%);translate:calc(-50% + var(--brand-look-x,0px)) calc(-50% + var(--brand-look-y,0px));box-shadow:0 0 0 .014em #8d5c1e;transition:translate .16s ease-out}.wordmark small{color:#b3bea9;font-size:7px;letter-spacing:2.1px;margin-top:8px}.brand .wordmark{letter-spacing:1.5px}.brand img{filter:drop-shadow(0 0 9px #d6ad6614)}@keyframes brandGold{0%,25%,100%{background-position:0% 50%}65%{background-position:100% 50%}}@keyframes brandBlink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.1)}}
body.welcome-open{overflow:hidden}.welcome-world{padding:0;width:min(880px,calc(100vw - 32px));height:min(650px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow:hidden;background:radial-gradient(ellipse at 50% 5%,#52664028,transparent 52%),radial-gradient(ellipse at 10% 100%,#14584a30,transparent 65%),#0c1512;border:1px solid #c9dfa52e;border-radius:20px;color:#edf0e6;box-shadow:0 0 0 7px #cce8a504,0 40px 150px #000c}.welcome-world::backdrop{background:#070d0bec;backdrop-filter:blur(20px)}.welcome-world:before{content:'';position:absolute;inset:14px;border:1px solid #bcd9930e;border-radius:12px;pointer-events:none}.welcome-topline{position:absolute;z-index:3;left:32px;right:32px;top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:7px;letter-spacing:2px;color:#6e8664}.welcome-topline button{font-size:10px;letter-spacing:.2px;color:#a5bb92;padding:8px}.welcome-orbit{position:absolute;width:530px;height:530px;border:1px solid #cfdfa50c;border-radius:50%;left:50%;top:50%;translate:-50% -50%;pointer-events:none}.welcome-orbit:before{content:'';position:absolute;inset:28px;border:1px solid #cfdfa50d;border-radius:50%;transform:rotateX(65deg) rotateZ(-25deg)}.welcome-orbit:after{content:'';width:4px;height:4px;border-radius:50%;background:#e2c782;box-shadow:0 0 25px #e2c78266;position:absolute;left:16%;top:12%;animation:orbit 30s linear infinite}.welcome-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 12% 25%,#d9eab64d 1px,transparent 2px),radial-gradient(circle at 80% 18%,#e4ca8b44 1px,transparent 2px),radial-gradient(circle at 85% 65%,#b8e2d933 1px,transparent 2px),radial-gradient(circle at 22% 77%,#d9eab633 1px,transparent 2px)}.welcome-avatar{position:absolute;left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%) scale(.65);opacity:0;transition:transform 1.2s cubic-bezier(.22,1,.36,1),opacity .6s;filter:drop-shadow(0 16px 30px #0007);z-index:2}.welcome-avatar img{width:100%;height:100%;object-fit:contain;animation:levitate 6s ease-in-out infinite}.welcome-world.entered .welcome-avatar{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.welcome-world.intro .welcome-avatar{transform:translate(-50%,-235px) scale(.8)}.welcome-copy{position:absolute;top:205px;left:8%;right:8%;text-align:center;opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s;z-index:2}.welcome-world.intro .welcome-copy{opacity:1;transform:none}.welcome-greeting{font-size:14px;color:#aebea0;margin-bottom:15px;min-height:18px}.welcome-greeting span{display:inline-block;opacity:0;transform:translateY(6px);animation:letterArrive .5s forwards;animation-delay:calc(var(--letter)*32ms)}.welcome-copy .wordmark{font-size:58px;letter-spacing:3px;font-weight:800;line-height:1;display:inline-block}.welcome-copy .brand-noro{letter-spacing:3px}.welcome-copy .wordmark small{font-size:9px;letter-spacing:3px;margin-top:19px;color:#a7bc93}.welcome-genie-name{font:500 20px Manrope,sans-serif;letter-spacing:-.6px;margin-top:25px;color:#d0e5b5;opacity:0;transform:translateY(8px);transition:opacity .8s,transform .8s}.welcome-genie-name small{display:block;font:10px 'DM Sans',sans-serif;color:#6c8661;letter-spacing:.3px;margin-top:8px}.welcome-world.named .welcome-genie-name{opacity:1;transform:none}.welcome-choices{position:absolute;left:7%;right:7%;bottom:47px;opacity:0;transform:translateY(20px);transition:opacity .9s,transform .9s;pointer-events:none;z-index:3;text-align:center}.welcome-world.ready .welcome-choices{opacity:1;transform:none;pointer-events:auto}.welcome-choices>p{font-size:12px;color:#a6b799;margin-bottom:17px}.welcome-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px}.welcome-paths button{text-align:left;border:1px solid #cde4a72c;border-radius:8px;padding:21px 20px;background:linear-gradient(130deg,#d3efad0b,transparent);position:relative}.welcome-paths button:hover{background:#d3efad14;border-color:#cde4a777;transform:translateY(-3px)}.welcome-paths b{font:550 15px Manrope,sans-serif;color:#e0ebd2;letter-spacing:-.4px;display:block}.welcome-paths small{display:block;color:#78956a;font-size:9px;margin-top:8px}.welcome-paths span{position:absolute;right:19px;top:22px;color:#c9df9c;font-size:17px}.welcome-bottom{position:absolute;left:0;right:0;bottom:18px;text-align:center;font-size:7px;letter-spacing:.5px;color:#536d49}.replay-welcome{font-size:10px;color:#9eb18c;padding:0;margin-left:0}@keyframes letterArrive{to{opacity:1;transform:none}}
@media(max-width:800px){.welcome-world{height:min(650px,calc(100dvh - 24px));width:calc(100vw - 24px)}.welcome-copy{top:204px;left:5%;right:5%}.welcome-copy .wordmark{font-size:44px;letter-spacing:1px}.welcome-copy .brand-noro{letter-spacing:1px}.welcome-copy .wordmark small{font-size:7px;letter-spacing:2.3px;margin-top:17px}.welcome-topline{left:23px;right:18px;top:18px;font-size:6px;letter-spacing:1px}.welcome-world.intro .welcome-avatar{transform:translate(-50%,-230px) scale(.72)}.welcome-choices{left:6%;right:6%;bottom:44px}.welcome-choices>p{font-size:10px;line-height:1.7;max-width:270px;margin:0 auto 15px}.welcome-paths{gap:8px}.welcome-paths button{padding:19px 14px}.welcome-paths b{font-size:12px;padding-right:14px;line-height:1.35}.welcome-paths span{right:12px;top:18px;font-size:14px}.welcome-paths small{font-size:8px;line-height:1.6;margin-top:7px}.welcome-genie-name{font-size:18px;margin-top:24px}.welcome-genie-name small{font-size:9px}.welcome-greeting{font-size:12px}.welcome-orbit{width:410px;height:410px}.welcome-copy .brand-eye:before{width:.43em;height:.43em}.wordmark small{font-size:6px;letter-spacing:1.6px}}
@media(max-height:620px){.welcome-world{height:calc(100dvh - 24px)}.welcome-world.intro .welcome-avatar{transform:translate(-50%,-185px) scale(.55)}.welcome-copy{top:144px}.welcome-copy .wordmark{font-size:38px}.welcome-greeting{font-size:11px;margin-bottom:11px}.welcome-copy .wordmark small{font-size:6px;margin-top:12px}.welcome-genie-name{font-size:15px;margin-top:15px}.welcome-genie-name small{font-size:8px}.welcome-choices{bottom:35px}.welcome-paths button{padding:15px}.welcome-paths b{font-size:12px}.welcome-choices>p{margin-bottom:12px}.welcome-bottom{font-size:6px;bottom:12px}}@media(max-height:440px){.welcome-topline{top:8px}.welcome-world.intro .welcome-avatar{transform:translate(-50%,-145px) scale(.4)}.welcome-copy{top:94px}.welcome-greeting{font-size:10px;margin-bottom:7px}.welcome-copy .wordmark{font-size:31px}.welcome-copy .wordmark small{margin-top:8px}.welcome-genie-name{font-size:12px;margin-top:10px}.welcome-genie-name small{display:none}.welcome-choices{bottom:24px}.welcome-paths button{padding:11px 14px}.welcome-paths small{display:none}.welcome-choices>p{font-size:9px;margin-bottom:8px}.welcome-bottom{bottom:7px;font-size:5px}}
@media(prefers-reduced-motion:reduce){.brand-tal,.brand-eye,.welcome-avatar img,.welcome-orbit:after,.welcome-greeting span{animation:none!important}.welcome-greeting span{opacity:1;transform:none}.welcome-avatar,.welcome-copy,.welcome-genie-name,.welcome-choices{transition:none!important}}

.welcome-greeting span{animation:none}.welcome-world.intro .welcome-greeting span{animation:letterArrive .5s forwards;animation-delay:calc(.05s + var(--letter)*32ms)}.welcome-copy .wordmark{opacity:0;transform:translateY(10px)}.welcome-world.intro .welcome-copy .wordmark{animation:letterArrive .8s .8s forwards}@media(prefers-reduced-motion:reduce){.welcome-copy .wordmark{opacity:1;transform:none;animation:none!important}}

/* Final intro layout uses top anchors, preventing owl/copy overlap on short screens. */
.welcome-world{--owl-top:55px;--owl-scale:.8;--copy-top:204px;transition:opacity .42s ease,transform .55s cubic-bezier(.22,1,.36,1)}.welcome-avatar{transition:top 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),opacity .65s}.welcome-world.intro .welcome-avatar{top:var(--owl-top);transform:translate(-50%,0) scale(var(--owl-scale))}.welcome-copy{top:var(--copy-top)}.welcome-world.leaving{opacity:0;transform:translateY(-10px) scale(.98)}.welcome-facets{position:absolute;inset:0;width:100%;height:100%;color:#d0bb7d;opacity:.05;pointer-events:none;transform:scale(1.12);transition:transform 2.5s cubic-bezier(.22,1,.36,1),opacity 2s}.welcome-world.entered .welcome-facets{transform:scale(1);opacity:.12}.welcome-world .brand-tal{text-shadow:0 0 40px #e1bd6833}.welcome-world:after{content:'';position:absolute;inset:0;border-radius:20px;pointer-events:none;background:linear-gradient(118deg,transparent 35%,#e6eeb708 45%,transparent 55%);translate:-100% 0}.welcome-world.entered:after{animation:welcomeGlass 3s 1s ease forwards}@keyframes welcomeGlass{to{translate:100% 0}}.login-options{max-height:65dvh;overflow:auto}.welcome-paths button:active{transform:translateY(0) scale(.985)}@media(max-width:800px){.welcome-world{--owl-top:50px;--owl-scale:.72;--copy-top:204px}}@media(max-height:620px){.welcome-world{--owl-top:28px;--owl-scale:.55;--copy-top:145px}}@media(max-height:440px){.welcome-world{--owl-top:10px;--owl-scale:.4;--copy-top:112px}}@media(prefers-reduced-motion:reduce){.welcome-world,.welcome-facets{transition:none!important}.welcome-world.entered:after{animation:none!important}}

.welcome-world::backdrop{transition:opacity .42s ease}.welcome-world.leaving::backdrop{opacity:0}.welcome-world.ready .welcome-paths button{animation:panelIn .8s cubic-bezier(.22,1,.36,1) both}.welcome-world.ready .welcome-paths button:nth-child(2){animation-delay:.1s}@media(prefers-reduced-motion:reduce){.welcome-world::backdrop{transition:none!important}}

/* Keep the intro's typography independent of the general information dialogs. */
dialog.welcome-world .welcome-greeting{font-size:14px;line-height:1.5;color:#c1ccba}
dialog.welcome-world .welcome-choices>p{font-size:12px;line-height:1.6;color:#c1ccba}
dialog.welcome-world .welcome-bottom{font-size:9px;line-height:1.5;color:#82967d;padding:0 20px}
.welcome-genie-name small,.welcome-paths small{color:#9eaf94}
.welcome-topline{color:#92a486}.welcome-topline button{color:#c0cdb3}
#skip-welcome:focus-visible{outline-width:1px;outline-offset:2px}
.team-access{grid-column:1/-1;border-top:1px solid #ffffff1c;margin-top:5px;padding-top:18px;display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.team-access>span{font-size:10px;color:#8b9b80;margin-right:auto}
.login-options .team-access a{font-size:12px;padding:5px 0;border:0;border-radius:0;color:#c6d4b9}
@media(max-width:800px){dialog.welcome-world .welcome-greeting{font-size:13px}dialog.welcome-world .welcome-choices>p{font-size:11px}dialog.welcome-world .welcome-bottom{font-size:8px;bottom:19px}.welcome-choices{bottom:59px}}
@media(max-height:620px){dialog.welcome-world .welcome-greeting{font-size:11px}dialog.welcome-world .welcome-choices>p{font-size:10px}dialog.welcome-world .welcome-bottom{font-size:8px;bottom:12px}.welcome-choices{bottom:37px}}
@media(max-height:440px){dialog.welcome-world .welcome-greeting{font-size:10px}dialog.welcome-world .welcome-choices>p{font-size:10px}dialog.welcome-world .welcome-bottom{font-size:7px;bottom:9px}.welcome-choices{bottom:30px}.welcome-paths span{top:10px}}
@media(max-height:320px){.welcome-world{--owl-top:38px;--owl-scale:.65;--copy-top:45px}.welcome-avatar{left:22%}.welcome-copy{left:38%;right:5%}.welcome-copy .wordmark{font-size:32px}.welcome-greeting{margin-bottom:7px}.welcome-copy .wordmark small{letter-spacing:1.5px;margin-top:9px}.welcome-genie-name{margin-top:10px}.welcome-choices{left:6%;right:6%;bottom:28px}.welcome-paths button{padding:10px 14px}.welcome-topline{top:7px}.welcome-world .welcome-topline>span{font-size:6px}.welcome-bottom{bottom:6px}}
@media(max-height:260px){.welcome-world{--owl-top:30px;--owl-scale:.45;--copy-top:29px}.welcome-genie-name,.welcome-bottom{display:none}.welcome-choices{bottom:14px}.welcome-copy .wordmark{font-size:27px}.welcome-copy .wordmark small{font-size:6px}dialog.welcome-world .welcome-greeting{font-size:9px}}
.welcome-choices{bottom:clamp(118px,22vh,180px)}
.welcome-topline .welcome-path-prompt{font-size:8px;letter-spacing:1.4px;color:#9ed8cf}
@media(max-width:800px){.welcome-choices{bottom:clamp(102px,19vh,150px)}}
@media(max-height:620px){.welcome-choices{bottom:clamp(72px,14vh,100px)}}
@media(max-height:440px){.welcome-choices{bottom:68px}}
@media(max-height:320px){.welcome-choices{bottom:28px}}
/* Translate the owl into its final position without animating layout. */
.welcome-world{--intro-height:min(650px,calc(100dvh - 32px))}
.welcome-avatar{top:50%;transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity .65s}
.welcome-world.intro .welcome-avatar{top:50%;transform:translate(-50%,calc(var(--owl-top) - var(--intro-height)*.5)) scale(var(--owl-scale))}
