.theme-switch{border:1px solid var(--line-color);width:2.75rem;height:2.75rem;color:var(--text-primary);background:var(--control-bg);cursor:pointer;border-radius:.75rem;flex:none;place-items:center;font-size:1.15rem;line-height:1;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:inline-grid}.theme-switch:hover{color:var(--accent);border-color:var(--accent);background:var(--control-bg-hover);transform:translateY(-1px)}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.theme-switch{transition:none}}.site-nav{z-index:9999;background:linear-gradient(to bottom, color-mix(in srgb, var(--page-bg) 94%, transparent) 0%, color-mix(in srgb, var(--page-bg) 66%, transparent) 44%, transparent 100%);-webkit-backdrop-filter:blur(4px);opacity:1;align-items:center;height:96px;padding:0 180px 0 5vw;transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .28s cubic-bezier(.16,1,.3,1),background-color .28s;animation:1s cubic-bezier(.16,1,.3,1) .5s forwards 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) 88%, 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);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:.05em;color:var(--text-primary);text-shadow:0 2px 4px #00000080;font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.15rem;font-weight:900;transition:color .3s}.site-nav__text-zh{letter-spacing:.15em;color:var(--text-muted);font-family:SmileySans,system-ui,sans-serif;font-size:.9rem;font-weight:400;transition:color .3s}.site-nav__link:hover .site-nav__text-en,.site-nav__link--active .site-nav__text-en{color:var(--accent);text-shadow:0 0 12px color-mix(in srgb, var(--accent) 60%, transparent)}.site-nav__link:hover .site-nav__text-zh,.site-nav__link--active .site-nav__text-zh{color:var(--accent)}:root[data-theme=light] .site-nav{-webkit-backdrop-filter:blur(8px);background:linear-gradient(#ffffffe6 0%,#ffffff94 48%,#0000 100%)}:root[data-theme=light] .site-nav :is(.site-nav__logo,.site-nav__text-en){color:#102a27;text-shadow:0 1px 2px #ffffffbf}:root[data-theme=light] .site-nav .site-nav__text-zh{color:#315550;text-shadow:0 1px 1px #ffffffa6}:root[data-theme=light] .site-nav:after{border-bottom-color:#102a2733;box-shadow:0 1px 8px #fff9}@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{transition:none}}.site-nav--hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.site-nav__actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.site-nav__icon-button,.site-nav__menu-button{border:1px solid var(--line-color);width:2.75rem;height:2.75rem;color:var(--text-primary);background:var(--control-bg);cursor:pointer;border-radius:.75rem;place-items:center;font-size:1.35rem;line-height:1;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:inline-grid}.site-nav__icon-button:hover,.site-nav__icon-button.is-active,.site-nav__menu-button:hover{color:var(--accent);border-color:var(--accent);background:var(--control-bg-hover);transform:translateY(-1px)}.site-nav__menu-button,.site-nav__mobile-menu{display:none}@media (width<=768px){.site-nav{background-color:color-mix(in srgb, var(--page-bg) 88%, transparent);height:64px;padding:0 .9rem;-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{background:color-mix(in srgb, var(--page-bg) 94%, transparent);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;padding:.75rem 1rem 2rem;transition:opacity .18s,transform .18s,visibility .18s;display:block;position:fixed;inset:64px 0 0;transform:translateY(-.5rem)}.site-nav__mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.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{z-index:30;border:1px solid var(--line-color);width:2.8rem;height:2.8rem;color:var(--accent);background:var(--surface-bg);box-shadow:var(--shadow-lg);cursor:pointer;border-radius:.8rem;place-items:center;transition:color .18s,background-color .18s,border-color .18s;display:grid;position:fixed;bottom:1.25rem;left:1rem}.live2d-toggle:hover{color:var(--accent-contrast);border-color:var(--accent);background:var(--accent)}.live2d-widget{z-index:29;pointer-events:none;position:fixed;bottom:0;left:0}.live2d-widget__loading{color:var(--text-secondary);font-family:var(--mono);letter-spacing:.12em;font-size:.62rem;transition:opacity .18s;position:fixed;bottom:1rem;left:1rem}.live2d-widget:not([data-load-state=loading]) .live2d-widget__loading{opacity:0}.live2d-widget[data-load-state=failed]{pointer-events:auto;width:min(18rem,100vw - 2rem);bottom:1rem;left:1rem}.live2d-widget__error{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:var(--text-secondary);background:var(--surface-bg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);border-radius:.8rem;gap:.45rem;padding:.9rem 3rem .9rem 1rem;display:grid}.live2d-widget__error strong{color:var(--danger)}.live2d-widget__error span{font-size:.78rem;line-height:1.45}.live2d-widget__error button{border:1px solid var(--accent);min-height:2.2rem;color:var(--accent-contrast);background:var(--accent);cursor:pointer;border-radius:.55rem;justify-self:start;padding:0 .8rem}.live2d-widget__close{border:1px solid var(--line-color);width:2rem;height:2rem;color:var(--text-secondary);background:var(--surface-bg);cursor:pointer;pointer-events:auto;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:calc(250px - 2.8rem);left:.8rem}.live2d-widget__close:hover{color:var(--accent);border-color:var(--accent)}.live2d-widget[data-load-state=failed] .live2d-widget__close{position:absolute;inset:.65rem .65rem auto auto}@media (width<=768px){.live2d-toggle,.live2d-widget{display:none}}@media (prefers-reduced-motion:reduce){.live2d-toggle{transition:none}}:root{--sans:"SmileySans", system-ui, -apple-system, sans-serif;--mono:ui-monospace, Consolas, monospace;--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-contrast:#06211e;--danger:#ff8f87;--shadow-lg:0 24px 80px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--page-bg:#eef6f4;--surface-bg:#ffffffdb;--surface-solid:#fff;--control-bg:#0b38350f;--control-bg-hover:#0b38351f;--text-primary:#12312f;--text-secondary:#3b5d5a;--text-muted:#6b8581;--line-color:#154d4733;--line-soft:#154d471a;--accent:#078b7d;--accent-strong:#08796e;--accent-contrast:#f3fffc;--danger:#c24b42;--shadow-lg:0 24px 80px #164e4724;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}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;transition:background-color .22s,color .22s}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}*{box-sizing:border-box}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)}@media (prefers-reduced-motion:reduce){html,body{transition:none}}
