@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-FdJpG9jw.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-ClTydo4B.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-DYSs2pW_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-italic-C7FdRbwB.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-italic-2ejdbzvv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-italic-5K55R7rt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-italic-meYcawAn.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-italic-B4xd0SrS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sky:#0a0a0c;--sky-2:#17171b;--page:var(--sky);--text:#fff;--text-2:#a3a3a8;--text-3:#ffffff4d;--rule:#ffffff24;--accent:#f7c948;--red:#e2262c;--yellow:#f7c948;--blue:#3f6fb5;--ink:var(--text);--ink-2:var(--text-2);--ink-3:var(--text-3);--fade:23 23 27;--glass-bg:#ffffff1a;--glass-rule:#ffffff38;--card-bg:#141418eb;--card-rule:#ffffff24;--card-text:#fff;--card-text-2:#a3a3a8;--sans:"Nunito Variable", "Nunito", "Segoe UI", system-ui, sans-serif;--serif:var(--sans);--hud-side:clamp(18px, 3vw, 40px);--hud-top:clamp(150px, 32vh, 340px);--hud-bottom:clamp(64px, 11vh, 104px);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}:root[data-sky=day]{--sky:#4f97e0;--sky-2:#d7ebfb;--text:#14213d;--text-2:#3f5473;--text-3:#14213d52;--rule:#14213d29;--fade:215 235 251;--glass-bg:#ffffff57;--glass-rule:#fff9}:root[data-sky=sunset]{--sky:#8f81b5;--sky-2:#f3c7b5;--text:#35283f;--text-2:#59445e;--text-3:#35283f73;--rule:#35283f2e;--fade:243 199 181;--glass-bg:#fff3eb5c;--glass-rule:#fff6eda6;--accent:#923e52}@media (width<=720px){:root{--hud-top:clamp(200px, 30vh, 300px);--hud-bottom:84px}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{color:var(--text);transition:color 1.2s var(--ease-in-out);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior:none;background:linear-gradient(#0a0a0c 0%,#17171b 100%) fixed;font-size:16px;line-height:1.4}body,.app{position:fixed;inset:0;overflow:hidden}.app:before{content:"";opacity:0;transition:opacity 1.2s var(--ease-in-out);background:linear-gradient(#3f86d6 0%,#6fb0ea 38%,#b9dcf7 72%,#d7ebfb 100%);position:absolute;inset:0}:root[data-sky=day] .app:before{opacity:1}.app:after{content:"";pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease-in-out);background:radial-gradient(at 27% 56%,#ffe7b4bf,#0000 48%),linear-gradient(#8277aa 0%,#b49ac3 29%,#e7b1b6 53%,#f7ceb1 77%,#f3c7b5 100%);position:absolute;inset:0}:root[data-sky=sunset] .app:after{opacity:1}.scene{z-index:1;touch-action:none;position:absolute;inset:0}.scene canvas{outline:none;width:100%;height:100%;display:block}.scene:after{content:"";pointer-events:none;background:linear-gradient(to top, var(--sky-2) 18%, rgb(var(--fade) / .92) 32%, rgb(var(--fade) / .6) 55%, rgb(var(--fade) / .2) 80%, transparent);height:30vh;transition:background 1.2s var(--ease-in-out);position:absolute;bottom:0;left:0;right:0}a{color:inherit}@media (prefers-reduced-motion:reduce){html,.app:before,.app:after,.scene:after{transition:none}}button{font:inherit;color:inherit}:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px;border-radius:2px}.hud{z-index:2;pointer-events:none;transition:opacity .5s var(--ease-out);position:absolute;inset:0}html:not(.fonts-ready) .hud{opacity:0}.hud-fade{opacity:0;transition:opacity 1.1s var(--ease-out)}.hud-fade.lift{transition:opacity 1.1s var(--ease-out), translate 1.1s var(--ease-out);translate:0 6px}.phase-intro .hud-fade,.phase-idle .hud-fade,.phase-loving .hud-fade,.phase-stepping .hud-fade,.phase-visiting .hud-fade,.phase-joining .hud-fade,.phase-together .hud-fade,.phase-unsupported .hud-fade,.phase-leaving .hud-fade,.phase-gone .hud-fade{opacity:1;translate:0}.phase-intro .countdown,.phase-intro .hud-index{transition-delay:.35s}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hud-index{transition-delay:.35s}.phase-intro .strip{transition-delay:.6s}.phase-leaving .hud-fade.leaves,.phase-gone .hud-fade.leaves,.phase-joining .hud-fade.leaves,.phase-together .hud-fade.leaves{opacity:0;transition-duration:1.6s}.phase-leaving .hud-fade.lift.leaves,.phase-gone .hud-fade.lift.leaves,.phase-joining .hud-fade.lift.leaves,.phase-together .hud-fade.lift.leaves{translate:0 -4px}.hud-title{top:var(--hud-side);left:var(--hud-side);position:absolute}.hud-title p{color:var(--ink-2);margin:0;font-size:14px;font-style:italic}.hud-index{top:calc(var(--hud-side) + 2px);left:var(--hud-side);color:var(--ink-2);margin:0;font-size:14px;font-style:italic;position:absolute}.hud-btn{right:var(--hud-side);border:1px solid var(--rule);width:32px;height:32px;color:var(--ink-2);cursor:pointer;pointer-events:auto;transition:color .3s var(--ease-out), background .3s var(--ease-out), opacity 1.1s var(--ease-out);background:#7f7f7f1f;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.hud-btn:hover,.hud-btn:focus-visible,.hud-btn[aria-expanded=true]{color:var(--text);background:#7f7f7f3d}.sky-toggle{top:var(--hud-side)}.sky-panel{z-index:4;top:calc(var(--hud-side) + 42px);right:var(--hud-side);border:1px solid var(--card-rule);background:var(--card-bg);width:min(224px,100vw - 36px);color:var(--card-text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;border-radius:16px;padding:7px;position:absolute;box-shadow:0 12px 34px #00000040}.sky-panel button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:9px 11px;font-size:13px;display:flex}.sky-panel button:hover,.sky-panel button[aria-pressed=true]{background:#ffffff1f}.sky-panel button:focus-visible{outline-offset:-2px;outline-color:#f7c948}.sky-panel p{color:var(--card-text-2);margin:7px 11px 5px;font-size:11px}.visa-toggle{top:calc(var(--hud-side) + 40px)}.visa-panel{top:calc(var(--hud-side) + 84px);right:var(--hud-side);background:var(--glass-bg);border:1px solid var(--glass-rule);-webkit-backdrop-filter:blur(18px)saturate(150%);width:212px;color:var(--text);transform-origin:100% 0;pointer-events:auto;transition:opacity .28s var(--ease-out), translate .28s var(--ease-out), scale .28s var(--ease-out);border-radius:16px;padding:12px 14px 13px;position:absolute;box-shadow:inset 0 1px #ffffff47,0 12px 34px #0000002e}.hud .visa-panel:not(.is-open){opacity:0;pointer-events:none;translate:0 -6px;scale:.98}.visa-panel:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px #ffffff80,0 12px 34px #0000002e}.visa-panel p{margin:0}.visa-title{color:var(--ink-2);font-size:13px;font-style:italic}.visa-stats{justify-content:space-between;gap:8px;margin-top:6px;display:flex}.visa-stat{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.visa-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:28px;font-weight:300;line-height:1.05}.visa-unit{color:var(--ink-2);margin-top:2px;font-size:11px;font-style:italic}.visa-expired{margin-top:4px;font-size:22px;font-weight:300}@media (width<=1340px){.visa-panel{top:calc(var(--hud-side) + 118px)}}.countdown{top:calc(var(--hud-side) + 62px);left:var(--hud-side);right:var(--hud-side);text-align:center;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";margin:0;font-size:clamp(28px,4vw,44px);font-weight:300;line-height:1.2;position:absolute}.half{white-space:nowrap;display:inline-block}.part{white-space:nowrap;margin:0 .3em;display:inline-block}.num{display:inline-block}.digit{text-align:center;width:1ch;display:inline-block}.unit{color:var(--ink-2);letter-spacing:0;margin-left:.16em;font-size:.42em;font-style:italic;font-weight:500}.roll .digit{animation:roll .36s var(--ease-out) both}@keyframes roll{0%{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:none}}.strip{left:var(--hud-side);right:var(--hud-side);bottom:var(--hud-side);position:absolute}.strip-row{align-items:flex-end;height:14px;display:flex}.ticks{flex:1 1 0;justify-content:space-between;align-items:flex-end;min-width:0;margin:0;padding:0;list-style:none;display:flex}.ticks li,.hub{transition:background .8s var(--ease-out), height .8s var(--ease-out), opacity .5s var(--ease-out)}.ticks li{background:var(--ink-3);border-radius:1px;width:2px;height:7px}.ticks li.is-elapsed,.ticks li.is-current{height:12px}.ticks-her li.is-elapsed,.ticks-her li.is-current{background:var(--red)}.ticks-him li.is-elapsed,.ticks-him li.is-current{background:var(--blue)}.hub{border:1.5px solid var(--text);background:0 0;border-radius:50%;flex:none;width:12px;height:12px;margin-inline:calc(2.94118% - 7.05882px)}.hub.is-elapsed{background:var(--text)}.ticks li.is-current,.hub.is-current{animation:breathe 3.2s var(--ease-in-out) infinite}@keyframes breathe{0%,to{opacity:.45}50%{opacity:1}}.phase-leaving .ticks li,.phase-leaving .hub,.phase-gone .ticks li,.phase-gone .hub,.phase-joining .ticks li,.phase-joining .hub,.phase-together .ticks li,.phase-together .hub{opacity:0;transition-delay:calc(var(--i) * 45ms);animation:none}.strip-labels{color:var(--ink-2);white-space:nowrap;align-items:baseline;margin-top:8px;font-size:13px;font-style:italic;display:flex}.strip-labels>span{flex:1 1 0;min-width:0}.strip-labels>span:nth-child(2){text-align:center;flex:none}.strip-labels>span:last-child{text-align:right}.anchor{will-change:transform;visibility:hidden;position:absolute;top:0;left:0}.tooltip{background:var(--card-bg);border:1px solid var(--card-rule);color:var(--card-text);-webkit-backdrop-filter:blur(10px);white-space:nowrap;opacity:0;transition:opacity .22s var(--ease-out), margin .22s var(--ease-out);border-radius:10px;margin-top:4px;padding:8px 12px 9px;font-size:14px;line-height:1.25;box-shadow:0 10px 30px #0000008c}.tooltip.is-on{opacity:1;margin-top:0}.tooltip>*{position:relative}.tooltip small{color:var(--card-text-2);font-size:12px;font-style:italic;display:block}.tooltip{translate:-50% calc(-100% - 16px)}.hints{background:var(--card-bg);border:1px solid var(--card-rule);-webkit-backdrop-filter:blur(10px);pointer-events:none;opacity:0;min-width:190px;transition:opacity .22s var(--ease-out), margin .22s var(--ease-out);border-radius:14px;flex-direction:column;align-items:stretch;gap:6px;margin-top:4px;padding:6px;display:flex;translate:-50% calc(-100% - 14px);box-shadow:inset 0 1px #ffffff0f,0 12px 34px #0000008c}.hints.is-on{pointer-events:auto;opacity:1;margin-top:0}.hints:after{content:"";background:var(--card-bg);border-right:1px solid var(--card-rule);border-bottom:1px solid var(--card-rule);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;translate:-50%;rotate:45deg}.hint{text-align:center;color:var(--card-text-2);white-space:nowrap;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:9px;padding:8px 14px 9px;font-size:14px;font-weight:500;line-height:1.2;position:relative}.hint:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px #ffffff80}.hint-go{color:#0a0a0c;background:#ffffffeb;border-color:#ffffffeb;font-weight:600}.hint-go:after{content:"›";color:#0a0a0c80;margin-left:6px;font-weight:400}.hint-go:hover,.hint-go:focus-visible{background:#fff;border-color:#fff}.hint-go:focus-visible{box-shadow:0 0 0 2px #ffffff59}.hint-visit:hover,.hint-visit:focus-visible,.hint-walk:hover,.hint-walk:focus-visible{color:var(--card-text);background:#ffffff0f}.hint-walk.is-holding{color:var(--card-text)}.hint-walk:after{content:"";transform-origin:0;background:#fff9;border-radius:1px;height:1.5px;transition:transform .3s ease-out;position:absolute;bottom:5px;left:14px;right:14px;transform:scaleX(0)}.hint-walk.is-holding:after{transition:transform 1.4s linear;transform:scaleX(1)}.again{left:50%;bottom:var(--hud-side);color:var(--ink-2);opacity:0;pointer-events:none;cursor:pointer;transition:opacity 1.4s var(--ease-out);background:0 0;border:0;padding:6px 2px;font-size:14px;font-style:italic;position:absolute;translate:-50%}.again:after{content:"";opacity:.4;background:currentColor;height:1px;margin-top:2px;display:block}.phase-gone .again{opacity:1;pointer-events:auto;transition-delay:.6s}.unsupported{text-align:center;max-width:34ch;color:var(--ink-2);margin:0;font-size:16px;font-style:italic;position:absolute;top:50%;left:50%;translate:-50% -50%}.hint-love span{color:#ff9aba;margin-left:.4em}@media (width<=720px){.visa-panel{top:calc(var(--hud-side) + 112px)}.countdown{top:calc(var(--hud-side) + 32px);text-align:left;font-size:clamp(26px,7.4vw,34px);line-height:1.15}.half{display:block}.part{margin:0 .42em 0 0}.strip-date{display:none}}@media (prefers-reduced-motion:reduce){.hud-fade,.tooltip,.hints,.visa-panel,.again,.ticks li,.hub{transition-duration:.01ms;transition-delay:0s}.roll .digit{animation:none}.ticks li.is-current,.hub.is-current{opacity:1;animation:none}}
