.toast_viewport__K_svV{position:fixed;right:0;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:100;display:flex;flex-direction:column;gap:.75rem;width:min(100%,440px);max-height:calc(100dvh - 2rem);margin:0;padding:0 1rem;list-style:none;pointer-events:none}.toast_toast__kaXd1{pointer-events:auto;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both;transition:transform .2s ease-out}.toast_toast__kaXd1[data-state=open]{animation-name:toast_enter__ConTw}.toast_toast__kaXd1[data-state=closed]{animation-name:toast_exit__agbd_}.toast_toast__kaXd1[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x));transition:none}.toast_toast__kaXd1[data-swipe=cancel]{transform:translateX(0)}.toast_toast__kaXd1[data-swipe=end]{animation-name:toast_exit__agbd_}.toast_toast__kaXd1[data-motion=paused]{animation:none!important;transition:none}@keyframes toast_enter__ConTw{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast_exit__agbd_{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast_toast__kaXd1{animation:none!important;transition:none}}.PortraitAnimation_portrait__73BPU{position:relative;isolation:isolate;width:100%;max-width:480px;margin-inline:auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:1.5rem;background:#080b0e}.PortraitAnimation_portrait__73BPU:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#b7c8c633 .6px,transparent 0);background-size:18px 18px;-webkit-mask-image:linear-gradient(transparent,#0007,transparent);mask-image:linear-gradient(transparent,#0007,transparent)}.PortraitAnimation_topline__NYxds{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem 0 1.25rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono),monospace;font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}.PortraitAnimation_replay__Ms_ZD{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid hsl(var(--border));border-radius:50%;color:hsl(var(--foreground));background:hsl(var(--card)/.65);transition:border-color .18s ease,color .18s ease}.PortraitAnimation_replay__Ms_ZD:hover:enabled{border-color:hsl(var(--primary)/.65);color:hsl(var(--primary))}.PortraitAnimation_replay__Ms_ZD:disabled{opacity:.4;cursor:default}.PortraitAnimation_art__qfKIp{position:relative;width:89%;aspect-ratio:360/440;margin:-.2rem auto 0}.PortraitAnimation_halo__IGXJv{position:absolute;inset:8% -15% 8%;z-index:-1;background:radial-gradient(ellipse,#82cbbb0b,transparent 68%)}.PortraitAnimation_canvas__8XhPB,.PortraitAnimation_photo__MZLwC{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.PortraitAnimation_photo__MZLwC{filter:grayscale(1) contrast(1.05);-webkit-mask-image:linear-gradient(#000 65%,transparent 98%);mask-image:linear-gradient(#000 65%,transparent 98%)}.PortraitAnimation_canvas__8XhPB,.PortraitAnimation_portrait__73BPU[data-renderer=canvas] .PortraitAnimation_photo__MZLwC{opacity:0}.PortraitAnimation_portrait__73BPU[data-renderer=canvas] .PortraitAnimation_canvas__8XhPB{opacity:1}.PortraitAnimation_wordmark__n7JH2{position:relative;z-index:1;margin:-24% .75rem 0;background:linear-gradient(#f3f2ee 20%,#c5c9cb 60%,#687577);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--font-heading),sans-serif;font-size:clamp(2.75rem,16vw,5.25rem);font-weight:700;line-height:1.15;letter-spacing:-.065em;text-align:center}.PortraitAnimation_caption__OEACQ{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:1.25rem 1.25rem 0;padding-block:1rem 1.25rem;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.65rem}.PortraitAnimation_caption__OEACQ span:first-child{color:hsl(var(--foreground))}@media (min-width:1024px){.PortraitAnimation_wordmark__n7JH2{font-size:clamp(3rem,6vw,4.65rem)}}@media (prefers-reduced-motion:reduce){.PortraitAnimation_replay__Ms_ZD{transition:none}}.RoadmapSection_board__CEehL{overflow:hidden;border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--card)/.6)}.RoadmapSection_legend__IEqhL{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:1.2rem 1.5rem;border-bottom:1px solid hsl(var(--border));font-size:.65rem;color:hsl(var(--muted-foreground))}.RoadmapSection_legend__IEqhL>span{display:inline-flex;align-items:center;gap:.5rem}.RoadmapSection_legend__IEqhL i{height:6px;width:6px;border-radius:50%}.RoadmapSection_completeDot__0BKM4{background:#9baba8}.RoadmapSection_currentDot___Cucl{background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary)/.25)}.RoadmapSection_futureDot__2phtG{border:1px solid #82918e}.RoadmapSection_map__Y4hUs{position:relative;padding:2.5rem 1rem 1.5rem}.RoadmapSection_route__nde3X{position:absolute;top:2.5rem;left:1rem;width:calc(100% - 2rem);height:48px;pointer-events:none}.RoadmapSection_route__nde3X path{fill:none;stroke-width:1.5}.RoadmapSection_routeBase__aldBr{stroke:hsl(var(--border))}.RoadmapSection_routePast__OFEBx{stroke:#7b9791}.RoadmapSection_routeFuture__j01bY{stroke:#697974;stroke-dasharray:4 7}.RoadmapSection_mobilePath__dGRS1{display:none}.RoadmapSection_checkpoints__jtjvw{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none}.RoadmapSection_point__aVjEn{min-width:0}.RoadmapSection_checkpoint__Sg7mF{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;gap:1rem;padding:0 .3rem .5rem;border-radius:.6rem;background:transparent;text-align:center;color:hsl(var(--muted-foreground));cursor:pointer}.RoadmapSection_checkpoint__Sg7mF:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:5px}.RoadmapSection_marker__mqCNo{position:relative;z-index:1;display:grid;place-items:center;height:48px;width:48px;border:1px solid #43534f;border-radius:50%;background:#141c1e;color:#b2c4bd;transition:background .18s,border-color .18s}.RoadmapSection_future__wmYRK .RoadmapSection_marker__mqCNo{border-style:dashed;color:#95a5a0}.RoadmapSection_present__rR5Di .RoadmapSection_marker__mqCNo{border-color:hsl(var(--primary)/.6);color:hsl(var(--primary))}.RoadmapSection_selected__OKvJm .RoadmapSection_marker__mqCNo{border-color:hsl(var(--primary));background:#1c3430;color:hsl(var(--primary));box-shadow:0 0 18px hsl(var(--primary)/.12)}.RoadmapSection_checkpoint__Sg7mF:hover .RoadmapSection_marker__mqCNo{border-color:hsl(var(--primary)/.7)}.RoadmapSection_check__VKLvP{position:absolute;bottom:-2px;right:-2px;display:grid;height:15px;width:15px;place-items:center;border:2px solid #151c1e;border-radius:50%;background:#b3c4be;color:#0f1715}.RoadmapSection_copy__pcaUX{display:flex;min-width:0;flex-direction:column;gap:.5rem}.RoadmapSection_period__GVtrq{font-family:var(--font-mono),monospace;font-size:.58rem;line-height:1.5;color:#a5b4ad}.RoadmapSection_title__p1rGG{font-family:var(--font-heading),sans-serif;font-size:.8rem;font-weight:500;line-height:1.6;color:hsl(var(--foreground))}.RoadmapSection_label___m0Av{font-size:.6rem;line-height:1.7}.RoadmapSection_selected__OKvJm .RoadmapSection_title__p1rGG{color:hsl(var(--primary))}.RoadmapSection_mapFooter__WHhqf{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));font-size:.65rem;color:hsl(var(--muted-foreground))}.RoadmapSection_detail__vj4e4{border-top:1px solid hsl(var(--border));background:hsl(var(--background)/.4);padding:2rem}.RoadmapSection_detailHeader__Mhjmq{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.2rem}.RoadmapSection_detailIcon__wkVgc{display:grid;place-items:center;width:44px;height:44px;border:1px solid hsl(var(--primary)/.2);border-radius:.75rem;background:hsl(var(--primary)/.05);color:hsl(var(--primary))}.RoadmapSection_details__cxlxk{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;margin-top:1.8rem}.RoadmapSection_details__cxlxk dt{margin-bottom:.4rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground))}.RoadmapSection_details__cxlxk dd{font-size:.8rem;line-height:1.8;color:hsl(var(--muted-foreground))}.RoadmapSection_goalNote__njneP{margin-top:1.5rem;font-size:.7rem;line-height:1.8;color:#a4bbb2}@media (max-width:900px){.RoadmapSection_legend__IEqhL{padding:1rem 1.25rem}.RoadmapSection_map__Y4hUs{padding:1.5rem 1.25rem}.RoadmapSection_route__nde3X{display:none}.RoadmapSection_mobilePath__dGRS1{display:block;position:absolute;left:calc(1.25rem + 23px);top:3rem;bottom:3rem;width:1px;background:linear-gradient(#748e87 30%,#364a43);transform-origin:top}.RoadmapSection_checkpoints__jtjvw{display:flex;flex-direction:column;gap:1.2rem}.RoadmapSection_checkpoint__Sg7mF{flex-direction:row;align-items:center;gap:1.2rem;padding:.3rem 0;text-align:left}.RoadmapSection_marker__mqCNo{flex-shrink:0}.RoadmapSection_copy__pcaUX{gap:.15rem}.RoadmapSection_title__p1rGG{font-size:.9rem}.RoadmapSection_label___m0Av,.RoadmapSection_period__GVtrq{font-size:.65rem}.RoadmapSection_detail__vj4e4{padding:1.5rem 1.25rem}.RoadmapSection_details__cxlxk{gap:1.3rem}}@media (max-width:540px){.RoadmapSection_details__cxlxk{grid-template-columns:1fr}}[data-motion=paused] .RoadmapSection_marker__mqCNo{transition:none}@media (prefers-reduced-motion:reduce){.RoadmapSection_marker__mqCNo{transition:none}}.WelcomeButton_greeting__oCxdB,.WelcomeButton_hand__rBs9o{display:inline-block;transform-origin:72% 80%}.WelcomeButton_button__AqY6J:focus-visible .WelcomeButton_hand__rBs9o,.WelcomeButton_button__AqY6J:hover .WelcomeButton_hand__rBs9o,.WelcomeButton_greeting__oCxdB{animation:WelcomeButton_wave__gDcfI .65s ease-in-out 1}@keyframes WelcomeButton_wave__gDcfI{0%,to{transform:rotate(0deg)}25%{transform:rotate(12deg)}55%{transform:rotate(-6deg)}80%{transform:rotate(8deg)}}[data-motion=paused] .WelcomeButton_greeting__oCxdB,[data-motion=paused] .WelcomeButton_hand__rBs9o{animation:none!important}@media (prefers-reduced-motion:reduce){.WelcomeButton_greeting__oCxdB,.WelcomeButton_hand__rBs9o{animation:none!important}}