@import"https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&display=swap";.theme-toggle{background:none;border:none;font-family:Space Mono,monospace;text-transform:uppercase;letter-spacing:inherit;cursor:pointer}.header{background-color:var(--color-bg);border-bottom:none;padding:14px 0;position:fixed;top:0;left:0;width:100%;z-index:100;transition:background-color .3s ease}.header .container{display:flex;align-items:center;justify-content:space-between;max-width:none;margin:0;padding:0 3.5vw;box-sizing:border-box;position:relative}.logo{display:flex;align-items:center}.logo a{display:block;line-height:0;padding:0;margin:0}.logo a.brand{display:flex;align-items:center;gap:10px;line-height:1;text-decoration:none}.brand-name{font-size:clamp(14px,2.2vw,22px);font-weight:500;letter-spacing:.04em;line-height:1;white-space:nowrap;color:var(--color-text-primary);transition:color .3s ease}.logo-image{height:40px;width:auto;display:block}.header-actions{display:flex;align-items:center;gap:clamp(16px,3vw,40px)}.nav-item{color:var(--color-text-primary);font-family:inherit;font-weight:500;font-size:clamp(14px,2.2vw,22px);transition:color .3s;cursor:pointer;text-decoration:none;background:none;border:none;padding:0}.nav-item:hover{color:var(--color-text-secondary)}.font-toggle{line-height:1}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:clamp(24px,3vw,30px);height:clamp(18px,2.4vw,22px);background:none;border:none;padding:0;cursor:pointer}.hamburger span{display:block;width:100%;height:2px;background-color:var(--color-text-primary);transition:transform .3s ease,opacity .2s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-dropdown{position:absolute;top:100%;right:3.5vw;margin-top:clamp(6px,1vw,12px);background-color:var(--color-bg);border:1px solid var(--color-border);display:flex;flex-direction:column;min-width:180px;padding:8px 0;z-index:110;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.nav-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-link{padding:clamp(10px,1.4vw,14px) 24px;color:var(--color-text-primary);font-weight:500;font-size:clamp(14px,1.6vw,17px);text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease}.nav-dropdown-link:hover{background-color:var(--color-border);color:var(--color-text-secondary)}@media (max-width: 768px){.header{padding:10px 0}.header .container{padding:0 3.9vw}.logo-image{height:36px}.nav-item,.brand-name{font-size:15px}.header-actions{gap:18px}.hamburger{width:27px;height:20px;gap:5px}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-dropdown{min-width:190px;right:3.9vw}.nav-dropdown-link{font-size:15px;padding:11px 25px}}.loading-page{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background-color:var(--color-bg);z-index:9999;transition:opacity .8s ease-out;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.loading-page.fade-out{opacity:0;pointer-events:none}.loading-content{width:100%;height:100%;position:relative}.loading-title-section{background-color:var(--color-bg);padding:0;display:flex;justify-content:flex-start;align-items:center;width:76.3%;position:fixed;left:3.5vw;top:50%;transform:translateY(-50%);transition:top 1.1s cubic-bezier(.25,.1,.25,1),transform 1.1s cubic-bezier(.25,.1,.25,1),background-color .3s ease;will-change:transform,top;-webkit-transform:translateY(-50%) translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.loading-title{font-size:11.5vw;font-weight:400;color:var(--color-text-title);letter-spacing:-.01em;margin:0;line-height:.9;white-space:nowrap;transform:scaleY(1.2) translateZ(0);-webkit-transform:scaleY(1.2) translateZ(0);position:relative;overflow:visible;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:color .3s ease,font-size 1.1s cubic-bezier(.25,.1,.25,1),letter-spacing 1.1s cubic-bezier(.25,.1,.25,1),transform 1.1s cubic-bezier(.25,.1,.25,1)}.loading-title:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg);animation:revealText 1.4s cubic-bezier(.65,0,.35,1) forwards;z-index:1;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.loading-title-section.move-to-navbar{top:34px;left:calc(3.5vw + 41px);transform:translateY(-50%) translateZ(0);-webkit-transform:translateY(-50%) translateZ(0)}.loading-title-section.move-to-navbar .loading-title{font-size:clamp(14px,2.2vw,22px);font-weight:500;letter-spacing:.04em;transform:scaleY(1) translateZ(0);-webkit-transform:scaleY(1) translateZ(0)}@keyframes revealText{0%{transform:translate(0) translateZ(0)}to{transform:translate(100%) translateZ(0)}}@media (max-width: 768px){.loading-title-section.move-to-navbar{top:28px;left:calc(3.9vw + 38px)}.loading-title-section.move-to-navbar .loading-title{font-size:15px}}.home-landing{width:100%;height:100vh;height:100dvh;overflow:hidden;background-color:var(--color-bg);display:flex;flex-direction:column}.home-stage{position:relative;flex:1;overflow:hidden}.home-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.15)}.home-video-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);opacity:1;transition:opacity .6s ease;pointer-events:none}.home-video-loading.loaded{opacity:0}.home-video-loading .dot-matrix-loader{width:min(20vmin,96px);aspect-ratio:1;display:grid;place-items:center}.home-video-loading .dot-matrix-loader svg{width:100%;height:100%;overflow:visible}.home-nav{position:absolute;left:3.5vw;top:clamp(84px,16vw,130px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px,1.6vw,18px);z-index:2}.home-nav-link{background:#fff;color:#000;font-weight:500;font-size:clamp(20px,3.2vw,36px);letter-spacing:.04em;line-height:1;padding:clamp(10px,1.3vw,18px) clamp(20px,3vw,40px);cursor:pointer;text-decoration:none;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.home-nav.show .home-nav-link{opacity:1;transform:translateY(0)}.home-nav.show .home-nav-link:nth-child(1){transition-delay:.1s}.home-nav.show .home-nav-link:nth-child(2){transition-delay:.35s}.home-nav.show .home-nav-link:nth-child(3){transition-delay:.6s}.home-nav-link:hover{opacity:.7;transition:opacity .2s ease}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--font-scale: 1}html{background-color:var(--color-bg);scroll-behavior:smooth;transition:background-color .3s ease}body{background-color:var(--color-bg);transition:background-color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{min-height:100vh;position:relative;background-color:transparent}.App{background-color:var(--color-bg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-slide-up{animation:slideUp .6s ease-out forwards}.animate-slide-down{animation:slideDown .6s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}.scroll-animate{opacity:0;transform:translateY(30px)}.scroll-animate.animate-in{animation:slideUp .8s ease-out forwards}@keyframes routeEnter{0%{opacity:0}to{opacity:1}}.route-view{animation:routeEnter .45s ease both}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.stagger>*{animation:riseIn .6s cubic-bezier(.22,1,.36,1) both}.stagger>*:nth-child(1){animation-delay:.08s}.stagger>*:nth-child(2){animation-delay:.22s}.stagger>*:nth-child(3){animation-delay:.36s}.stagger>*:nth-child(4){animation-delay:.5s}.stagger>*:nth-child(5){animation-delay:.64s}@media (prefers-reduced-motion: reduce){.route-view,.stagger>*{animation:none}}:root{--color-bg: #FFFFF0;--color-text-primary: #000000;--color-text-title: #1a1a1a;--color-text-secondary: #333333;--color-text-tertiary: #555555;--color-text-dimmed: #666666;--color-text-inactive: #aaaaaa;--color-border: #e0e0e0;--color-link-hover: #000000;--color-link-underline: #000000;--color-popup-overlay: rgba(255, 255, 240, .7);--color-popup-dot: rgba(0, 0, 0, .25);--color-popup-dot-active: rgba(0, 0, 0, .75);--color-popup-dot-hover: rgba(0, 0, 0, .45);--color-popup-close: #000000;--color-popup-shadow: rgba(0, 0, 0, .15)}html.dark{--color-bg: #232323;--color-text-primary: #FFFEF8;--color-text-title: #E8E7E0;--color-text-secondary: #CCCCCC;--color-text-tertiary: #AAAAAA;--color-text-dimmed: #888888;--color-text-inactive: #555555;--color-border: #333333;--color-link-hover: #FFFEF8;--color-link-underline: #FFFEF8;--color-popup-overlay: rgba(35, 35, 35, .7);--color-popup-dot: rgba(255, 254, 248, .25);--color-popup-dot-active: rgba(255, 254, 248, .75);--color-popup-dot-hover: rgba(255, 254, 248, .45);--color-popup-close: #FFFEF8;--color-popup-shadow: rgba(255, 254, 248, .08)}html,body{margin:0;padding:0;width:100%;height:100%;background-color:var(--color-bg);font-family:Space Mono,monospace;text-transform:uppercase;-webkit-overflow-scrolling:touch;overscroll-behavior:none;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}#root{width:100%;height:100%;background-color:transparent}::selection{background-color:red;color:#000}::-moz-selection{background-color:red;color:#000}
