@property --ink{syntax:"<color>";inherits:true;initial-value:#1f2433}@property --ink-soft{syntax:"<color>";inherits:true;initial-value:#1f2433d9}@property --accent{syntax:"<color>";inherits:true;initial-value:#e0765a}:root{--ink:#1f2433;--ink-soft:#1f2433d9;--accent:#e0765a;--font-brand:"Fusion Pixel 12", "PingFang SC", "Microsoft YaHei", sans-serif;--font:"Maple Mono", "Maple Mono CN UI", "PingFang SC", "Microsoft YaHei", monospace;--font-sm:var(--font);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;transition:--ink 1.2s,--ink-soft 1.2s,--accent 1.2s}:root[data-theme=dark]{--ink:#ece6da;--ink-soft:#ece6dad9;--accent:#ffc98a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@font-face{font-family:"Fusion Pixel 12";src:url(./fusion-pixel-12px-BJk1nXha.woff2)format("woff2");font-display:swap}@font-face{font-family:Maple Mono;src:url(./MapleMono-Regular-C5wLU2YK.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Maple Mono;src:url(./MapleMono-Medium-DQCy53xu.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Maple Mono;src:url(./MapleMono-SemiBold-87oha51W.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Maple Mono CN UI;src:url(./MapleMono-CN-UI-CaY1Udmr.woff2)format("woff2");font-weight:400 600;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{font-family:var(--font);color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#141b33}:root[data-theme=light] body{background:#f4efe6}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#141b33}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.profile[data-v-40c617cb]{max-width:34rem}.profile-header[data-v-40c617cb]{justify-content:space-between;align-items:center;gap:12px;display:flex}.name[data-v-40c617cb]{font-family:var(--font-brand);-webkit-font-smoothing:none;text-rendering:optimizespeed;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;align-items:flex-end;gap:10px;margin-bottom:2.2rem;font-size:60px;font-weight:400;line-height:72px;display:inline-flex}.cursor[data-v-40c617cb]{background:var(--accent);width:30px;height:5px;margin-bottom:11px;animation:1.1s step-end infinite blink-40c617cb}@keyframes blink-40c617cb{50%{opacity:0}}h2[data-v-40c617cb]{margin:28px 0 8px;font-size:20px;font-weight:600;line-height:32px}h2[data-v-40c617cb]:before{content:"";vertical-align:2px;background:var(--accent);width:8px;height:8px;margin-right:12px;display:inline-block}p[data-v-40c617cb],li[data-v-40c617cb]{font-family:var(--font-sm);color:var(--ink-soft);font-size:16px;line-height:28px}ul[data-v-40c617cb]{list-style:none}p a[data-v-40c617cb],li a[data-v-40c617cb]{text-underline-offset:3px;text-decoration:underline}p a[data-v-40c617cb]:hover,li a[data-v-40c617cb]:hover{color:var(--accent)}li[data-v-40c617cb]{padding-left:20px;position:relative}li[data-v-40c617cb]:before{content:"-";color:var(--ink-soft);position:absolute;left:2px}@media (width<=768px){.profile-header[data-v-40c617cb]{margin-bottom:8px}.name[data-v-40c617cb]{margin-bottom:8px;font-size:48px;line-height:60px}.cursor[data-v-40c617cb]{width:24px;height:4px;margin-bottom:9px}h2[data-v-40c617cb]{margin:16px 0 6px;font-size:18px;line-height:26px}p[data-v-40c617cb],li[data-v-40c617cb]{font-size:15px;line-height:23px}}@media (width<=360px){.name[data-v-40c617cb]{font-size:36px;line-height:48px}.cursor[data-v-40c617cb]{width:18px;height:3px;margin-bottom:7px}}@media (width<=768px) and (height<=860px){h2[data-v-40c617cb]{margin:12px 0 4px;line-height:24px}p[data-v-40c617cb],li[data-v-40c617cb]{font-size:14px;line-height:21px}}.menu[data-v-558b8139]{flex-direction:column;gap:clamp(28px,5vh,48px);display:flex}.link[data-v-558b8139]{align-items:center;width:fit-content;padding-bottom:6px;font-size:32px;font-weight:500;line-height:44px;display:inline-flex;position:relative}.link[data-v-558b8139]:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:4px;transition:transform .3s steps(6,end);position:absolute;bottom:0;left:0;transform:scaleX(0)}.link[data-v-558b8139]:hover,.link[data-v-558b8139]:focus-visible{color:var(--accent)}.link[data-v-558b8139]:hover:after,.link[data-v-558b8139]:focus-visible:after{transform:scaleX(1)}.link[data-v-558b8139]:focus-visible{outline:none}@media (width<=768px){.menu[data-v-558b8139]{border-top:1px solid color-mix(in srgb, var(--ink-soft) 28%, transparent);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding-top:12px;display:grid}.link[data-v-558b8139]{width:100%;min-height:44px;padding-bottom:0;font-size:18px;line-height:28px}.link[data-v-558b8139]:after{height:1px}}.sky[data-v-36ee4e3a]{width:100vw;height:100dvh;image-rendering:pixelated;z-index:0;pointer-events:none;position:fixed;inset:0}.time-ruler[data-v-af6a78ed]{z-index:3;width:84px;color:var(--ink-soft);font-size:11px;position:fixed;top:50%;right:clamp(16px,3vw,48px);transform:translateY(-50%)}.ruler-track[data-v-af6a78ed]{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;-webkit-tap-highlight-color:transparent;outline:none;height:clamp(180px,30svh,280px);position:relative}.ruler-track.dragging[data-v-af6a78ed]{cursor:grabbing}.ruler-window[data-v-af6a78ed]{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.ruler-strip[data-v-af6a78ed]{transform:translateY(var(--ruler-offset));will-change:transform;position:absolute;top:50%;left:0;right:0}.ruler-tick[data-v-af6a78ed]{top:var(--tick-offset);background:var(--ink-soft);opacity:.35;width:8px;height:1px;position:absolute;right:0}.ruler-tick.half[data-v-af6a78ed]{width:12px}.ruler-tick.major[data-v-af6a78ed]{opacity:.8;width:20px}.ruler-tick span[data-v-af6a78ed]{font-variant-numeric:tabular-nums;position:absolute;top:0;right:28px;transform:translateY(-50%)}.ruler-pointer[data-v-af6a78ed]{background:var(--accent);pointer-events:none;width:28px;height:2px;position:absolute;top:50%;right:-4px;transform:translateY(-50%)}.ruler-pointer[data-v-af6a78ed]:after{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:-2px;right:-1px}.ruler-track:focus-visible .ruler-pointer[data-v-af6a78ed],.ruler-track:focus-visible .ruler-pointer[data-v-af6a78ed]:after{background:var(--ink)}.ruler-live[data-v-af6a78ed]{width:84px;min-height:44px;color:inherit;font:inherit;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;margin-top:16px;display:block}.ruler-live[data-v-af6a78ed]:hover,.ruler-live.active[data-v-af6a78ed]{color:var(--accent)}.ruler-live[data-v-af6a78ed]:focus-visible{color:var(--ink);text-underline-offset:5px;outline:none;text-decoration:underline}@media (width<=768px){.time-ruler[data-v-af6a78ed]{top:auto;right:auto;bottom:calc(16px + env(safe-area-inset-bottom));width:calc(100vw - 48px);left:24px;transform:none}.ruler-track[data-v-af6a78ed]{cursor:ew-resize;width:100%;height:48px}.ruler-track.dragging[data-v-af6a78ed]{cursor:grabbing}.ruler-window[data-v-af6a78ed]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.ruler-strip[data-v-af6a78ed]{transform:translateX(var(--ruler-offset));inset:auto auto 4px 50%}.ruler-tick[data-v-af6a78ed]{top:auto;bottom:0;left:var(--tick-offset);width:1px;height:8px;right:auto}.ruler-tick.half[data-v-af6a78ed]{width:1px;height:12px}.ruler-tick.major[data-v-af6a78ed]{width:1px;height:20px}.ruler-tick span[data-v-af6a78ed]{font-size:10px;top:-20px;left:0;right:auto;transform:translate(-50%)}.ruler-pointer[data-v-af6a78ed]{width:2px;height:24px;inset:auto auto 0 50%;transform:translate(-50%)}.ruler-pointer[data-v-af6a78ed]:after{inset:auto auto -1px -2px}.ruler-live[data-v-af6a78ed]{width:100%;margin-top:0}}@media (width<=360px){.time-ruler[data-v-af6a78ed]{position:absolute}}#app{flex-direction:column;min-height:100svh;display:flex;position:relative}.container{z-index:1;flex:1;grid-template-columns:minmax(0,34rem) max-content;place-content:center;align-items:center;gap:clamp(48px,8vw,112px);padding:clamp(48px,8vh,96px) max(8vw,104px);display:grid;position:relative}.column{min-width:0}.menu{align-items:flex-start}.caption{z-index:1;font-family:var(--font-sm);color:var(--ink-soft);white-space:nowrap;gap:10px;margin:0 auto;padding:0 24px 24px;font-size:14px;line-height:24px;display:flex;position:relative}.caption-sun{gap:8px;display:inline-flex}.sun-altitude{text-align:right;font-variant-numeric:tabular-nums;width:7ch;display:inline-block}.location-control{position:relative}.caption button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.location-toggle{text-underline-offset:4px;text-decoration:underline}.caption button:hover{color:var(--accent)}.caption button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.caption button:disabled{opacity:.5;cursor:wait}.location-options{border:1px solid var(--ink-soft);width:min(320px,100vw - 48px);color:var(--ink);white-space:normal;background:#f4efe6;gap:8px;padding:20px;display:grid;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%)}:root[data-theme=dark] .location-options{background:#141b33}.location-options button{text-align:left;min-height:44px;color:var(--accent)}.location-options small{font:inherit;color:var(--ink-soft);line-height:24px}.enter{animation:.7s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--d) * .12s + 80ms)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (width<=768px){.container{padding:calc(24px + env(safe-area-inset-top)) 24px calc(128px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,34rem);align-content:start;gap:20px}.column{width:100%}#profile-tools{flex-shrink:0;align-items:center;gap:8px;display:flex}.hide-sm{display:none}.caption{z-index:3;flex-direction:column;align-items:flex-end;gap:4px;width:80px;margin:0;padding:0;font-size:12px;animation:none;position:relative;top:auto;bottom:auto;right:auto;transform:none}.location-toggle{text-overflow:ellipsis;white-space:nowrap;max-width:80px;min-height:44px;overflow:hidden}.location-control{position:static}.location-options{inset:calc(100% + 12px) 0 auto auto;transform:none}}@media (width<=768px) and (height<=860px){.container{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(112px + env(safe-area-inset-bottom));gap:16px}}@media (width<=360px){#profile-tools{gap:4px}.container{padding-bottom:calc(132px + env(safe-area-inset-bottom))}}
