.music-toggle{width:2.65rem;height:2.65rem;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex:none;place-items:center;transition:color .3s;display:inline-grid}.music-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.music-toggle__icon{fill:currentColor;width:auto;height:1.5rem;transition:transform .3s;transform:scaleY(.5)}.music-toggle__bar{transform-box:fill-box;transform-origin:50%}.music-toggle.is-playing{color:var(--accent-blue)}.music-toggle.is-playing .music-toggle__icon{transform:scaleY(1)}.music-toggle.is-playing .music-toggle__bar{animation:.9s ease-in-out infinite music-bar-dance}.music-toggle.is-playing .music-toggle__bar:nth-of-type(2){animation-delay:.1s}.music-toggle.is-playing .music-toggle__bar:nth-of-type(3){animation-delay:.2s}.music-toggle.is-playing .music-toggle__bar:nth-of-type(4){animation-delay:.3s}.music-toggle.is-playing .music-toggle__bar:nth-of-type(5){animation-delay:.4s}@keyframes music-bar-dance{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (width>=768px){.music-toggle{width:2.75rem;height:2.75rem}}@media (hover:hover){.music-toggle:hover,.music-toggle.is-playing:hover{color:var(--accent-blue)}}@media (prefers-reduced-motion:reduce){.music-toggle,.music-toggle__icon{transition:none}.music-toggle.is-playing .music-toggle__bar{animation:none}}.site-nav{z-index:9999;background:linear-gradient(to bottom, color-mix(in srgb, var(--page-bg) 96%, transparent) 0%, color-mix(in srgb, var(--page-bg) 78%, transparent) 44%, transparent 100%);opacity:1;align-items:center;height:96px;padding:0 2.5rem 0 5vw;transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .28s cubic-bezier(.16,1,.3,1),background-color .28s,visibility .28s;animation:1s cubic-bezier(.16,1,.3,1) .5s backwards nav-slide-down;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(0);-webkit-mask-image:linear-gradient(#000 50%,#0000 100%);mask-image:linear-gradient(#000 50%,#0000 100%)}.site-nav--scrolled{background-color:color-mix(in srgb, var(--page-bg) 92%, transparent)}.site-nav__scroll-progress{background:var(--accent);width:100%;height:3px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 72%, transparent);opacity:0;transform-origin:0;will-change:transform;transition:transform 90ms linear,opacity .16s;position:absolute;top:0;left:0;transform:scaleX(0)}.site-nav:after{content:"";transform-origin:0;opacity:0;border-bottom:2px solid #ffffff26;width:auto;height:1px;animation:1.2s cubic-bezier(.16,1,.3,1) .8s forwards nav-divider-slide-in;position:absolute;bottom:0;left:5vw;right:0;box-shadow:0 0 10px #fff3}@keyframes nav-divider-slide-in{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.site-nav__list{justify-content:flex-start;align-items:center;gap:4rem;width:100%;margin:0 0 0 6vw;padding:0;list-style:none;display:flex}.site-nav__logo-container{flex-shrink:0;align-items:center;height:64px;display:flex}.site-nav__logo{height:100%;color:var(--text-primary);letter-spacing:.1em;text-shadow:0 1px 10px #04081080,0 0 14px #e6ecf63d;cursor:pointer;align-items:center;font-family:SmileySans,system-ui,sans-serif;font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none;transition:opacity .3s;display:flex}.site-nav__logo:hover{opacity:.88}.site-nav__item{align-items:center;height:64px;display:flex}.site-nav__link{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0 12px;text-decoration:none;display:flex;position:relative}.site-nav__text-en{letter-spacing:normal;color:var(--text-primary);text-shadow:0 2px 4px #00000080;font-family:Oswald,ui-sans-serif,system-ui,sans-serif;font-size:1.375rem;font-weight:500;transition:color .3s}.site-nav__text-zh{letter-spacing:.15em;color:var(--text-muted);font-family:SmileySans,system-ui,sans-serif;font-size:.875rem;font-weight:400;transition:color .3s}.site-nav .site-nav__list .site-nav__link:hover .site-nav__text-en,.site-nav .site-nav__list .site-nav__link--active .site-nav__text-en{color:var(--accent-blue);text-shadow:0 0 12px color-mix(in srgb, var(--accent-blue) 60%, transparent)}.site-nav .site-nav__list .site-nav__link:hover .site-nav__text-zh,.site-nav .site-nav__list .site-nav__link--active .site-nav__text-zh{color:var(--accent-blue)}@keyframes nav-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.site-nav,.site-nav:after,.site-nav__scroll-progress{transition-duration:.01ms!important;animation-duration:.01ms!important}.site-nav__icon-button,.site-nav__menu-button,.site-nav__mobile-menu,.site-nav__mobile-overlay{transition:none}}.site-nav--hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.site-nav__actions{flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;display:flex}.site-nav__icon-button,.site-nav__menu-button{width:2.75rem;height:2.75rem;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;place-items:center;font-size:1.6rem;line-height:1;transition:color .3s;display:inline-grid}.site-nav__icon-button:hover,.site-nav__icon-button.is-active,.site-nav__menu-button:hover{color:var(--accent-blue)}.site-nav__icon-svg{width:1.25rem;height:1.25rem;display:block}.site-nav__menu-button,.site-nav__mobile-menu{display:none}@media (width<=1024px){.site-nav__list{gap:1.5rem;margin-left:2vw}.site-nav__text-en{font-size:1.25rem}.site-nav__actions{gap:.5rem}}@media (width<=768px){.site-nav{height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(.9rem, env(safe-area-inset-right,0px)) 0 max(.9rem, env(safe-area-inset-left,0px));background-color:color-mix(in srgb, var(--page-bg) 88%, transparent);-webkit-mask-image:none;mask-image:none}.site-nav:after{border-bottom-color:#ffffff1a;left:0}.site-nav__logo-container,.site-nav__item{height:52px}.site-nav__logo{letter-spacing:0;font-size:1.05rem}.site-nav__list{display:none}.site-nav__actions{gap:.35rem}.site-nav__icon-button,.site-nav__menu-button{width:2.65rem;height:2.65rem}.site-nav__menu-button{display:inline-grid}.site-nav__mobile-menu{top:calc(64px + env(safe-area-inset-top,0px));z-index:9998;width:min(80vw,20rem);padding:.75rem 1rem calc(2rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--page-bg) 94%, transparent);-webkit-backdrop-filter:blur(18px);border-left:1px solid var(--line-color);box-shadow:var(--shadow-lg);visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.4,0,.2,1),visibility .22s;display:block;position:fixed;bottom:0;right:0;transform:translate(100%)}.site-nav__mobile-menu.is-open{visibility:visible;pointer-events:auto;transform:translate(0)}.site-nav__mobile-overlay{top:calc(64px + env(safe-area-inset-top,0px));z-index:9998;-webkit-backdrop-filter:blur(8px);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;background:#04080f6b;border:none;padding:0;transition:opacity .22s,visibility .22s;position:fixed;bottom:0;left:0;right:0}.site-nav__mobile-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.site-nav__mobile-menu-inner{border:1px solid var(--line-color);background:var(--surface-bg);max-width:32rem;box-shadow:var(--shadow-lg);border-radius:1rem;gap:.5rem;margin:0 auto;padding:.75rem;display:grid}.site-nav__mobile-search,.site-nav__mobile-link{min-height:3.25rem;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;align-items:center;gap:.8rem;padding:0 1rem;display:flex}.site-nav__mobile-search{border-color:var(--line-soft);color:var(--accent)}.site-nav__mobile-link{justify-content:space-between}.site-nav__mobile-link span{color:var(--text-muted);font-family:var(--mono);letter-spacing:.12em;font-size:.75rem}.site-nav__mobile-link strong{color:var(--text-primary);font-size:1rem;font-weight:500}.site-nav__mobile-link:hover,.site-nav__mobile-link.is-active,.site-nav__mobile-search:hover{border-color:var(--line-color);background:var(--control-bg-hover)}}.live2d-toggle,.live2d-widget{display:none}@media (width>=768px){.live2d-toggle,.live2d-widget{left:1rem;bottom:max(1rem, env(safe-area-inset-bottom));z-index:29;color:var(--text-primary);background:var(--surface-bg);border:1px solid var(--line-color);box-shadow:var(--shadow-lg);border-radius:.8rem;position:fixed}.live2d-toggle{width:2.8rem;height:2.8rem;color:var(--accent);cursor:pointer;place-items:center;font-size:1.25rem;display:grid}.live2d-widget{overscroll-behavior:contain;gap:.4rem;width:min(20rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:.6rem;display:grid;overflow:auto}.live2d-widget__heading{justify-content:space-between;align-items:center;padding-left:.4rem;font-size:1rem;display:flex}.live2d-widget button{border:1px solid var(--line-color);background:var(--surface-bg);min-width:2.75rem;min-height:2.75rem;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:.5rem;padding:.3rem .55rem;font-size:1rem}.live2d-widget__stage{touch-action:none;-webkit-user-select:none;user-select:none;height:min(16rem,35dvh);min-height:10rem;position:relative;overflow:hidden}.live2d-widget__stage[aria-disabled=true]{visibility:hidden;pointer-events:none}.live2d-widget[data-load-state=failed] .live2d-widget__stage{display:none}.live2d-widget__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.live2d-widget__svg .shadow{fill:var(--text-secondary);opacity:.15}.live2d-widget__svg .p-heart{stroke:#ff5c93;fill:#ffd0df}.live2d-widget__svg .p-dust{stroke:#9aa3c0}.live2d-widget__svg .eye{stroke:var(--accent)}.live2d-widget__svg .tearf{fill:#8fd0ff}.live2d-widget__help,.live2d-widget__status,.live2d-widget__loading{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.live2d-widget__controls{flex-wrap:wrap;gap:.25rem;display:flex}.live2d-widget__controls button{flex:1}.live2d-widget__controls [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.live2d-widget__scale{align-items:center;gap:.5rem;min-height:2.75rem;font-size:.875rem;display:flex}.live2d-widget__scale input{min-width:0;accent-color:var(--accent);flex:1}.live2d-widget__scale output{text-align:right;min-width:3rem}.live2d-widget__error{gap:.5rem;font-size:1rem;display:grid}.live2d-widget__error span{font-size:.875rem}.live2d-widget__source{color:var(--accent);font-size:.875rem;line-height:2}.live2d-toggle:focus-visible,.live2d-widget :focus-visible{outline:2px solid var(--accent);outline-offset:2px}}@media (hover:hover){.live2d-toggle:hover,.live2d-widget button:hover{border-color:var(--accent);color:var(--accent)}}@media (prefers-reduced-motion:reduce){.live2d-toggle,.live2d-widget,.live2d-widget *{transition:none;animation:none}}:root{--sans:"SmileySans", system-ui, -apple-system, sans-serif;--mono:ui-monospace, Consolas, monospace;--font-body:1rem;--font-label:.875rem;--font-control:1rem;--font-micro:.6875rem;--page-bg:#071016;--surface-bg:#101d23d1;--surface-solid:#102026;--control-bg:#ffffff0f;--control-bg-hover:#ffffff1f;--text-primary:#f2fbfa;--text-secondary:#b0c7c8;--text-muted:#7f9a9b;--line-color:#c1eceb2e;--line-soft:#c1eceb14;--accent:#68e0d1;--accent-strong:#39c5bb;--accent-blue:#18d1ff;--accent-contrast:#06211e;--danger:#ff8f87;--reader-bg:#05090c;--reader-bg-deep:#030507;--reader-grid-line:#c1eceb0b;--reader-grid-major:#c1eceb17;--shadow-lg:0 24px 80px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{width:100%;height:100%;font-family:var(--sans);background-color:var(--page-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow-x:clip}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{color:var(--accent-contrast);background:var(--accent)}.route-fallback{background-color:var(--page-bg);min-height:100vh}
