:root{--sans:"Segoe UI", -apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;font:16px/1.5 var(--sans);color:#1f3a35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:#d4f1ec;margin:0}#app{min-height:100svh}.navbar-wrap[data-v-8c73c9c1]{z-index:100;width:80vw;position:fixed;top:2.4vh;left:50%;transform:translate(-50%)}.navbar[data-v-8c73c9c1]{-webkit-backdrop-filter:blur(22px)saturate(180%);background:#ffffff6b;border:1px solid #ffffffa6;border-radius:999px;justify-content:space-between;align-items:center;gap:2vw;padding:.5em .6em .5em 1.5em;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex;box-shadow:0 8px 32px #1f5e541f,inset 0 1px #fffc}.brand[data-v-8c73c9c1]{color:#1f3a35;align-items:center;gap:.65em;text-decoration:none;display:flex}.brand-logo[data-v-8c73c9c1]{width:auto;height:2.3em;display:block}.brand-name[data-v-8c73c9c1]{letter-spacing:.04em;white-space:nowrap;font-size:clamp(16px,2vh,20px);font-weight:700}.nav-menu[data-v-8c73c9c1]{align-items:center;gap:.25em;margin:0;padding:0;list-style:none;display:flex}.nav-link[data-v-8c73c9c1]{letter-spacing:.12em;color:#3f5d58;white-space:nowrap;border-radius:999px;padding:.55em 1.5em;font-size:clamp(13px,1.7vh,16px);text-decoration:none;transition:background-color .25s,color .25s,box-shadow .25s;display:block}.nav-link[data-v-8c73c9c1]:hover{color:#1f3a35;background:#ffffff8c}.nav-link.active[data-v-8c73c9c1]{color:#0f705f;background:#ffffffe6;font-weight:600;box-shadow:0 2px 10px #1f5e5426}.warn-overlay[data-v-ea35d631]{z-index:9999;box-sizing:border-box;-webkit-backdrop-filter:blur(14px);background:#0f26226b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.warn-box[data-v-ea35d631]{text-align:center;color:#1f3a35;background:#ffffffb8;border:1px solid #ffffffd9;border-radius:24px;width:min(400px,92vw);padding:34px 28px 28px;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;box-shadow:0 24px 60px #0f3c344d,inset 0 1px #ffffffe6}.warn-icon[data-v-ea35d631]{width:104px;height:104px;margin:-6px auto 10px}.warn-icon[data-v-ea35d631] svg{display:block;width:100%!important;height:100%!important}.warn-title[data-v-ea35d631]{letter-spacing:.05em;margin:0 0 14px;font-size:21px;font-weight:700}.warn-text[data-v-ea35d631]{letter-spacing:.03em;color:#1f3a35c7;margin:0 0 12px;font-size:14px;line-height:1.8}.warn-text strong[data-v-ea35d631]{color:#d35400}.warn-btn[data-v-ea35d631]{letter-spacing:.12em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff8a4c,#ff5f6d);border:none;border-radius:999px;width:100%;margin-top:12px;padding:13px 20px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 10px 24px #ff5f6d61}.warn-btn[data-v-ea35d631]:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 14px 30px #ff5f6d7a}.warn-btn[data-v-ea35d631]:active{transform:translateY(0)}.warn-enter-active[data-v-ea35d631],.warn-leave-active[data-v-ea35d631]{transition:opacity .3s}.warn-enter-active .warn-box[data-v-ea35d631],.warn-leave-active .warn-box[data-v-ea35d631]{transition:transform .3s cubic-bezier(.34,1.4,.64,1),opacity .3s}.warn-enter-from[data-v-ea35d631],.warn-leave-to[data-v-ea35d631]{opacity:0}.warn-enter-from .warn-box[data-v-ea35d631],.warn-leave-to .warn-box[data-v-ea35d631]{opacity:0;transform:translateY(18px)scale(.94)}.puffIn{animation-name:puffIn}@keyframes puffIn{0%{opacity:0;transform-origin:50%;filter:blur(2px);transform:scale(2)}to{opacity:1;transform-origin:50%;filter:blur();transform:scale(1)}}.puffOut{animation-name:puffOut}@keyframes puffOut{0%{opacity:1;transform-origin:50%;filter:blur();transform:scale(1)}to{opacity:0;transform-origin:50%;filter:blur(2px);transform:scale(2)}}.vanishIn{animation-name:vanishIn}@keyframes vanishIn{0%{opacity:0;transform-origin:50%;filter:blur(90px);transform:scale(2)}to{opacity:1;transform-origin:50%;filter:blur();transform:scale(1)}}.vanishOut{animation-name:vanishOut}@keyframes vanishOut{0%{opacity:1;transform-origin:50%;filter:blur();transform:scale(1)}to{opacity:0;transform-origin:50%;filter:blur(20px);transform:scale(2)}}.boingInUp{animation-name:boingInUp}@keyframes boingInUp{0%{opacity:0;transform-origin:50% 0;transform:perspective(800px)rotateX(-90deg)}50%{opacity:1;transform-origin:50% 0;transform:perspective(800px)rotateX(50deg)}to{opacity:1;transform-origin:50% 0;transform:perspective(800px)rotateX(0)}}.boingOutDown{animation-name:boingOutDown}@keyframes boingOutDown{0%{opacity:1;transform-origin:100% 100%;transform:perspective(800px)rotateX(0)rotateY(0)}20%{opacity:1;transform-origin:100% 100%;transform:perspective(800px)rotateX(0)rotateY(10deg)}30%{opacity:1;transform-origin:0 100%;transform:perspective(800px)rotateX(0)rotateY(0)}40%{opacity:1;transform-origin:0 100%;transform:perspective(800px)rotateX(10deg)rotateY(10deg)}to{opacity:0;transform-origin:100% 100%;transform:perspective(800px)rotateX(90deg)rotateY(0)}}.bombLeftOut{animation-name:bombLeftOut}@keyframes bombLeftOut{0%{opacity:1;transform-origin:50%;filter:blur();transform:rotate(0)}50%{opacity:1;transform-origin:-100%;filter:blur();transform:rotate(-160deg)}to{opacity:0;transform-origin:-100%;filter:blur(20px);transform:rotate(-160deg)}}.bombRightOut{animation-name:bombRightOut}@keyframes bombRightOut{0%{opacity:1;transform-origin:50%;filter:blur();transform:rotate(0)}50%{opacity:1;transform-origin:200%;filter:blur();transform:rotate(160deg)}to{opacity:0;transform-origin:200%;filter:blur(20px);transform:rotate(160deg)}}.magic{animation-name:magic}@keyframes magic{0%{opacity:1;transform-origin:100% 200%;transform:scale(1)rotate(0)}to{opacity:0;transform-origin:200% 500%;transform:scale(0)rotate(270deg)}}.swap{animation-name:swap}@keyframes swap{0%{opacity:0;transform-origin:0 100%;transform:scale(0)translate(-700px)}to{opacity:1;transform-origin:100% 100%;transform:scale(1)translate(0)}}.twisterInDown{animation-name:twisterInDown}@keyframes twisterInDown{0%{opacity:0;transform-origin:0 100%;transform:scale(0)rotate(360deg)translateY(-100%)}30%{transform-origin:0 100%;transform:scale(0)rotate(360deg)translateY(-100%)}to{opacity:1;transform-origin:100% 100%;transform:scale(1)rotate(0)translateY(0%)}}.twisterInUp{animation-name:twisterInUp}@keyframes twisterInUp{0%{opacity:0;transform-origin:100% 0;transform:scale(0)rotate(360deg)translateY(100%)}30%{transform-origin:100% 0;transform:scale(0)rotate(360deg)translateY(100%)}to{opacity:1;transform-origin:0 0;transform:scale(1)rotate(0)translateY(0)}}.foolishIn{animation-name:foolishIn}@keyframes foolishIn{0%{opacity:0;transform-origin:50%;transform:scale(0)rotate(360deg)}20%{opacity:1;transform-origin:0 100%;transform:scale(.5)rotate(0)}40%{opacity:1;transform-origin:100% 100%;transform:scale(.5)rotate(0)}60%{opacity:1;transform-origin:0%;transform:scale(.5)rotate(0)}80%{opacity:1;transform-origin:0 0;transform:scale(.5)rotate(0)}to{opacity:1;transform-origin:50%;transform:scale(1)rotate(0)}}.foolishOut{animation-name:foolishOut}@keyframes foolishOut{0%{opacity:1;transform-origin:50%;transform:scale(1)rotate(360deg)}20%{opacity:1;transform-origin:0 0;transform:scale(.5)rotate(0)}40%{opacity:1;transform-origin:100% 0;transform:scale(.5)rotate(0)}60%{opacity:1;transform-origin:0%;transform:scale(.5)rotate(0)}80%{opacity:1;transform-origin:0 100%;transform:scale(.5)rotate(0)}to{opacity:0;transform-origin:50%;transform:scale(0)rotate(0)}}.holeOut{animation-name:holeOut}@keyframes holeOut{0%{opacity:1;transform-origin:50%;transform:scale(1)rotateY(0)}to{opacity:0;transform-origin:50%;transform:scale(0)rotateY(180deg)}}.swashIn{animation-name:swashIn}@keyframes swashIn{0%{opacity:0;transform-origin:50%;transform:scale(0)}90%{opacity:1;transform-origin:50%;transform:scale(.9)}to{opacity:1;transform-origin:50%;transform:scale(1)}}.swashOut{animation-name:swashOut}@keyframes swashOut{0%{opacity:1;transform-origin:50%;transform:scale(1)}80%{opacity:1;transform-origin:50%;transform:scale(.9)}to{opacity:0;transform-origin:50%;transform:scale(0)}}.spaceInDown{animation-name:spaceInDown}@keyframes spaceInDown{0%{opacity:0;transform-origin:50% 100%;transform:scale(.2)translateY(200%)}to{opacity:1;transform-origin:50% 100%;transform:scale(1)translate(0%)}}.spaceInLeft{animation-name:spaceInLeft}@keyframes spaceInLeft{0%{opacity:0;transform-origin:0%;transform:scale(.2)translate(-200%)}to{opacity:1;transform-origin:0%;transform:scale(1)translate(0%)}}.spaceInRight{animation-name:spaceInRight}@keyframes spaceInRight{0%{opacity:0;transform-origin:100%;transform:scale(.2)translate(200%)}to{opacity:1;transform-origin:100%;transform:scale(1)translate(0%)}}.spaceInUp{animation-name:spaceInUp}@keyframes spaceInUp{0%{opacity:0;transform-origin:50% 0;transform:scale(.2)translateY(-200%)}to{opacity:1;transform-origin:50% 0;transform:scale(1)translate(0%)}}.spaceOutDown{animation-name:spaceOutDown}@keyframes spaceOutDown{0%{opacity:1;transform-origin:50% 100%;transform:scale(1)translate(0%)}to{opacity:0;transform-origin:50% 100%;transform:scale(.2)translateY(200%)}}.spaceOutLeft{animation-name:spaceOutLeft}@keyframes spaceOutLeft{0%{opacity:1;transform-origin:0%;transform:scale(1)translate(0%)}to{opacity:0;transform-origin:0%;transform:scale(.2)translate(-200%)}}.spaceOutRight{animation-name:spaceOutRight}@keyframes spaceOutRight{0%{opacity:1;transform-origin:100%;transform:scale(1)translate(0%)}to{opacity:0;transform-origin:100%;transform:scale(.2)translate(200%)}}.spaceOutUp{animation-name:spaceOutUp}@keyframes spaceOutUp{0%{opacity:1;transform-origin:50% 0;transform:scale(1)translate(0%)}to{opacity:0;transform-origin:50% 0;transform:scale(.2)translateY(-200%)}}.perspectiveDown{animation-name:perspectiveDown}@keyframes perspectiveDown{0%{transform-origin:0 100%;transform:perspective(800px)rotateX(0)}to{transform-origin:0 100%;transform:perspective(800px)rotateX(-180deg)}}.perspectiveDownReturn{animation-name:perspectiveDownReturn}@keyframes perspectiveDownReturn{0%{transform-origin:0 100%;transform:perspective(800px)rotateX(-180deg)}to{transform-origin:0 100%;transform:perspective(800px)rotateX(0)}}.perspectiveLeft{animation-name:perspectiveLeft}@keyframes perspectiveLeft{0%{transform-origin:0 0;transform:perspective(800px)rotateY(0)}to{transform-origin:0 0;transform:perspective(800px)rotateY(-180deg)}}.perspectiveLeftReturn{animation-name:perspectiveLeftReturn}@keyframes perspectiveLeftReturn{0%{transform-origin:0 0;transform:perspective(800px)rotateY(-180deg)}to{transform-origin:0 0;transform:perspective(800px)rotateY(0)}}.perspectiveRight{animation-name:perspectiveRight}@keyframes perspectiveRight{0%{transform-origin:100% 0;transform:perspective(800px)rotateY(0)}to{transform-origin:100% 0;transform:perspective(800px)rotateY(180deg)}}.perspectiveRightReturn{animation-name:perspectiveRightReturn}@keyframes perspectiveRightReturn{0%{transform-origin:100% 0;transform:perspective(800px)rotateY(180deg)}to{transform-origin:100% 0;transform:perspective(800px)rotateY(0)}}.perspectiveUp{animation-name:perspectiveUp}@keyframes perspectiveUp{0%{transform-origin:0 0;transform:perspective(800px)rotateX(0)}to{transform-origin:0 0;transform:perspective(800px)rotateX(180deg)}}.perspectiveUpReturn{animation-name:perspectiveUpReturn}@keyframes perspectiveUpReturn{0%{transform-origin:0 0;transform:perspective(800px)rotateX(180deg)}to{transform-origin:0 0;transform:perspective(800px)rotateX(0)}}.rotateDown{animation-name:rotateDown}@keyframes rotateDown{0%{opacity:1;transform-origin:0 0;transform:perspective(800px)rotateX(0)translateZ(0)}to{opacity:0;transform-origin:50% 100%;transform:perspective(800px)rotateX(-180deg)translateZ(300px)}}.rotateLeft{animation-name:rotateLeft}@keyframes rotateLeft{0%{opacity:1;transform-origin:0 0;transform:perspective(800px)rotateY(0)translateZ(0)}to{opacity:0;transform-origin:50% 0;transform:perspective(800px)rotateY(-180deg)translateZ(300px)}}.rotateRight{animation-name:rotateRight}@keyframes rotateRight{0%{opacity:1;transform-origin:0 0;transform:perspective(800px) rotateY(0deg) translate3d(0px)}to{opacity:0;transform-origin:50% 0;transform:perspective(800px)rotateY(180deg)translateZ(150px)}}.rotateUp{animation-name:rotateUp}@keyframes rotateUp{0%{opacity:1;transform-origin:0 0;transform:perspective(800px)rotateX(0)translateZ(0)}to{opacity:0;transform-origin:50% 0;transform:perspective(800px)rotateX(180deg)translateZ(100px)}}.slideDown{animation-name:slideDown}@keyframes slideDown{0%{transform-origin:0 0;transform:translateY(0%)}to{transform-origin:0 0;transform:translateY(100%)}}.slideDownReturn{animation-name:slideDownReturn}@keyframes slideDownReturn{0%{transform-origin:0 0;transform:translateY(100%)}to{transform-origin:0 0;transform:translateY(0%)}}.slideLeft{animation-name:slideLeft}@keyframes slideLeft{0%{transform-origin:0 0;transform:translate(0%)}to{transform-origin:0 0;transform:translate(-100%)}}.slideLeftReturn{animation-name:slideLeftReturn}@keyframes slideLeftReturn{0%{transform-origin:0 0;transform:translate(-100%)}to{transform-origin:0 0;transform:translate(0%)}}.slideRight{animation-name:slideRight}@keyframes slideRight{0%{transform-origin:0 0;transform:translate(0%)}to{transform-origin:0 0;transform:translate(100%)}}.slideRightReturn{animation-name:slideRightReturn}@keyframes slideRightReturn{0%{transform-origin:0 0;transform:translate(100%)}to{transform-origin:0 0;transform:translate(0%)}}.slideUp{animation-name:slideUp}@keyframes slideUp{0%{transform-origin:0 0;transform:translateY(0%)}to{transform-origin:0 0;transform:translateY(-100%)}}.slideUpReturn{animation-name:slideUpReturn}@keyframes slideUpReturn{0%{transform-origin:0 0;transform:translateY(-100%)}to{transform-origin:0 0;transform:translateY(0%)}}.openDownLeft{animation-name:openDownLeft}@keyframes openDownLeft{0%{transform-origin:0 100%;animation-timing-function:ease-out;transform:rotate(0)}to{transform-origin:0 100%;animation-timing-function:ease-in-out;transform:rotate(-110deg)}}.openDownLeftReturn{animation-name:openDownLeftReturn}@keyframes openDownLeftReturn{0%{transform-origin:0 100%;animation-timing-function:ease-in-out;transform:rotate(-110deg)}to{transform-origin:0 100%;animation-timing-function:ease-out;transform:rotate(0)}}.openDownRight{animation-name:openDownRight}@keyframes openDownRight{0%{transform-origin:100% 100%;animation-timing-function:ease-out;transform:rotate(0)}to{transform-origin:100% 100%;animation-timing-function:ease-in-out;transform:rotate(110deg)}}.openDownRightReturn{animation-name:openDownRightReturn}@keyframes openDownRightReturn{0%{transform-origin:100% 100%;animation-timing-function:ease-in-out;transform:rotate(110deg)}to{transform-origin:100% 100%;animation-timing-function:ease-out;transform:rotate(0)}}.openUpLeft{animation-name:openUpLeft}@keyframes openUpLeft{0%{transform-origin:0 0;animation-timing-function:ease-out;transform:rotate(0)}to{transform-origin:0 0;animation-timing-function:ease-in-out;transform:rotate(110deg)}}.openUpLeftReturn{animation-name:openUpLeftReturn}@keyframes openUpLeftReturn{0%{transform-origin:0 0;animation-timing-function:ease-in-out;transform:rotate(110deg)}to{transform-origin:0 0;animation-timing-function:ease-out;transform:rotate(0)}}.openUpRight{animation-name:openUpRight}@keyframes openUpRight{0%{transform-origin:100% 0;animation-timing-function:ease-out;transform:rotate(0)}to{transform-origin:100% 0;animation-timing-function:ease-in-out;transform:rotate(-110deg)}}.openUpRightReturn{animation-name:openUpRightReturn}@keyframes openUpRightReturn{0%{transform-origin:100% 0;animation-timing-function:ease-in-out;transform:rotate(-110deg)}to{transform-origin:100% 0;animation-timing-function:ease-out;transform:rotate(0)}}.openDownLeftOut{animation-name:openDownLeftOut}@keyframes openDownLeftOut{0%{opacity:1;transform-origin:0 100%;animation-timing-function:ease-out;transform:rotate(0)}to{opacity:0;transform-origin:0 100%;animation-timing-function:ease-in-out;transform:rotate(-110deg)}}.openDownRightOut{animation-name:openDownRightOut}@keyframes openDownRightOut{0%{opacity:1;transform-origin:100% 100%;animation-timing-function:ease-out;transform:rotate(0)}to{opacity:0;transform-origin:100% 100%;animation-timing-function:ease-in-out;transform:rotate(110deg)}}.openUpLeftOut{animation-name:openUpLeftOut}@keyframes openUpLeftOut{0%{opacity:1;transform-origin:0 0;animation-timing-function:ease-out;transform:rotate(0)}to{opacity:0;transform-origin:0 0;animation-timing-function:ease-in-out;transform:rotate(110deg)}}.openUpRightOut{animation-name:openUpRightOut}@keyframes openUpRightOut{0%{opacity:1;transform-origin:100% 0;animation-timing-function:ease-out;transform:rotate(0)}to{opacity:0;transform-origin:100% 0;animation-timing-function:ease-in-out;transform:rotate(-110deg)}}.tinDownIn{animation-name:tinDownIn}@keyframes tinDownIn{0%{opacity:0;transform:scale(1)translateY(900%)}50%,70%,90%{opacity:1;transform:scale(1.1)translateY(0)}60%,80%,to{opacity:1;transform:scale(1)translateY(0)}}.tinDownOut{animation-name:tinDownOut}@keyframes tinDownOut{0%,20%,40%,50%{opacity:1;transform:scale(1)translateY(0)}10%,30%{opacity:1;transform:scale(1.1)translateY(0)}to{opacity:0;transform:scale(1)translateY(900%)}}.tinLeftIn{animation-name:tinLeftIn}@keyframes tinLeftIn{0%{opacity:0;transform:scale(1)translate(-900%)}50%,70%,90%{opacity:1;transform:scale(1.1)translate(0)}60%,80%,to{opacity:1;transform:scale(1)translate(0)}}.tinLeftOut{animation-name:tinLeftOut}@keyframes tinLeftOut{0%,20%,40%,50%{opacity:1;transform:scale(1)translate(0)}10%,30%{opacity:1;transform:scale(1.1)translate(0)}to{opacity:0;transform:scale(1)translate(-900%)}}.tinRightIn{animation-name:tinRightIn}@keyframes tinRightIn{0%{opacity:0;transform:scale(1)translate(900%)}50%,70%,90%{opacity:1;transform:scale(1.1)translate(0)}60%,80%,to{opacity:1;transform:scale(1)translate(0)}}.tinRightOut{animation-name:tinRightOut}@keyframes tinRightOut{0%,20%,40%,50%{opacity:1;transform:scale(1)translate(0)}10%,30%{opacity:1;transform:scale(1.1)translate(0)}to{opacity:0;transform:scale(1)translate(900%)}}.tinUpIn{animation-name:tinUpIn}@keyframes tinUpIn{0%{opacity:0;transform:scale(1)translateY(-900%)}50%,70%,90%{opacity:1;transform:scale(1.1)translateY(0)}60%,80%,to{opacity:1;transform:scale(1)translateY(0)}}.tinUpOut{animation-name:tinUpOut}@keyframes tinUpOut{0%,20%,40%,50%{opacity:1;transform:scale(1)translateY(0)}10%,30%{opacity:1;transform:scale(1.1)translateY(0)}to{opacity:0;transform:scale(1)translateY(-900%)}}.magictime{animation-duration:1s;animation-fill-mode:both}@media (print),(prefers-reduced-motion){.magictime{-webkit-animation:unset!important;animation:unset!important;transition:none!important}}.main-shell[data-v-0907b8a4]{background:radial-gradient(1100px 560px at 88% -8%,#fff9,#0000 60%),radial-gradient(900px 520px at -8% 108%,#9be0cd8c,#0000 60%),linear-gradient(135deg,#d9f5ef 0%,#c8edf7 48%,#e4f8ec 100%);position:fixed;inset:0;overflow-y:auto}.main-content[data-v-0907b8a4]{box-sizing:border-box;flex-direction:column;min-height:100%;padding:9.5vh 6vw 4vh;display:flex}.no-select[data-v-0907b8a4]{-webkit-user-select:none;user-select:none}body{overflow:hidden}[data-v-651c0ad2]{box-sizing:border-box;margin:0;padding:0}.splash[data-v-651c0ad2]{--text-size:5vh;--row-gap:4vh;justify-content:center;align-items:center;gap:var(--row-gap);background:#000;flex-direction:column;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:fixed;inset:0}.logo-wrap[data-v-651c0ad2]{transform:translateY(calc((var(--text-size) + var(--row-gap)) / 2));animation:.7s cubic-bezier(.65,0,.35,1) 2s forwards logo-up-651c0ad2}.logo-enter[data-v-651c0ad2]{animation-delay:.8s}.logo-wrap img[data-v-651c0ad2]{width:12vw;height:auto;display:block}.domain[data-v-651c0ad2]{color:#fff;font-size:var(--text-size);letter-spacing:.05em;opacity:0;font-weight:600;line-height:1;animation:.6s cubic-bezier(.33,1,.68,1) 2.2s forwards text-pop-651c0ad2}@keyframes logo-up-651c0ad2{to{transform:translateY(0)}}@keyframes text-pop-651c0ad2{0%{opacity:0;transform:translateY(-3vh)}to{opacity:1;transform:translateY(0)}}.enter-btn[data-v-651c0ad2]{letter-spacing:.15em;color:#fff;cursor:pointer;background:0 0;border:5px solid #fff;border-radius:999px;padding:.7em 2.6em;font-family:inherit;font-size:clamp(14px,1.8vh,20px);position:absolute;bottom:8vh;left:50%;transform:translate(-50%)}.enter-btn[data-v-651c0ad2]:hover{color:#000;background:#fff}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translate(0,0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);width:100%;left:0}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);display:inline-block}button.swiper-pagination-bullet{box-shadow:none;appearance:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity,1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size,4px);height:100%;top:0;left:0}.swiper-pagination-lock{display:none}.mySwiper[data-v-e9fda998]{width:90%;padding-top:30px;padding-bottom:46px}.swiper-slide[data-v-e9fda998]{width:48%}.slide-card[data-v-e9fda998]{aspect-ratio:16/9;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 12px 32px #1f5e5433}.slide-card img[data-v-e9fda998]{object-fit:cover;width:100%;height:100%;display:block}.slide-caption[data-v-e9fda998]{color:#000;text-align:left;background:linear-gradient(#0000,#000000b8);padding:2.4em 1.4em 1.2em;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;position:absolute;bottom:0;left:0;right:0}.slide-title[data-v-e9fda998]{letter-spacing:.06em;margin:0 0 .3em;font-size:clamp(16px,2.2vh,21px);font-weight:700}.slide-desc[data-v-e9fda998]{letter-spacing:.04em;color:#000000e0;margin:0;font-size:clamp(12px,1.6vh,14px);line-height:1.5}.mySwiper[data-v-e9fda998] .swiper-pagination-bullet{opacity:1;background:#1f3a354d;width:8px;height:8px;transition:all .25s}.mySwiper[data-v-e9fda998] .swiper-pagination-bullet-active{background:#0f705f;border-radius:999px;width:22px}.home[data-v-b742b79a]{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2.2vh;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.title[data-v-b742b79a]{letter-spacing:.04em;color:#1f3a35;margin:0;font-size:clamp(38px,7vh,76px);font-weight:700}.subtitle[data-v-b742b79a]{letter-spacing:.2em;color:#1f3a358c;margin:0;font-size:clamp(15px,2.1vh,20px)}.cta-btn[data-v-b742b79a]{letter-spacing:.2em;color:#fff;background:#0f705f;border-radius:999px;margin-top:1.5vh;padding:.8em 3em;font-size:clamp(14px,1.9vh,18px);text-decoration:none;transition:transform .25s,box-shadow .25s,background-color .25s;box-shadow:0 8px 22px #0f705f47}.cta-btn[data-v-b742b79a]:hover{background:#0d5f51;transform:translateY(-2px);box-shadow:0 12px 28px #0f705f59}.replay-link[data-v-b742b79a]{letter-spacing:.15em;color:#1f3a3573;text-underline-offset:.35em;font-size:clamp(12px,1.6vh,15px);text-decoration:underline;transition:color .25s}.replay-link[data-v-b742b79a]:hover{color:#0f705f}.mySwiper[data-v-8d64874b]{width:100%;padding-top:30px;padding-bottom:46px}.swiper-slide[data-v-8d64874b]{width:35%;height:25%}.slide-card[data-v-8d64874b]{aspect-ratio:4/3;border-radius:18px;width:100%;position:relative;overflow:hidden}.slide-card img[data-v-8d64874b]{object-fit:cover;width:100%;height:100%;display:block}.slide-caption[data-v-8d64874b]{color:#000;text-align:left;padding:2.4em 1.4em 1.2em;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;position:absolute;bottom:0;left:0;right:0}.slide-title[data-v-8d64874b]{letter-spacing:.06em;margin:0 0 .3em;font-size:clamp(16px,2.2vh,21px);font-weight:700}.slide-desc[data-v-8d64874b]{letter-spacing:.04em;color:#000000e0;margin:0;font-size:clamp(12px,1.6vh,14px);line-height:1.5}.mySwiper[data-v-8d64874b] .swiper-pagination-bullet{opacity:1;width:8px;height:8px;transition:all .25s}.mySwiper[data-v-8d64874b] .swiper-pagination-bullet-active{border-radius:999px;width:22px}.modal-overlay[data-v-54ceb00b]{z-index:1000;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);background:#143c3752;justify-content:center;align-items:center;padding:4vh 4vw;display:flex;position:fixed;inset:0}.modal-window[data-v-54ceb00b]{box-sizing:border-box;-webkit-backdrop-filter:blur(26px)saturate(180%);background:#ffffffa8;border:1px solid #fffc;border-radius:26px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:2.2em;width:min(1240px,96vw);max-height:90vh;padding:2.4em 2.4em 2.2em;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:grid;position:relative;overflow-y:auto;box-shadow:0 30px 80px #0f3c344d}.modal-window.window-stopped[data-v-54ceb00b]{background:#fff4f2b8;border-color:#c0392b38}.modal-close[data-v-54ceb00b]{color:#3f5d58;cursor:pointer;background:#ffffffb3;border:none;border-radius:50%;width:2.2em;height:2.2em;font-size:16px;line-height:1;transition:background-color .2s,color .2s,transform .2s;position:absolute;top:1.1em;right:1.1em}.modal-close[data-v-54ceb00b]:hover{color:#fff;background:#0f705f;transform:rotate(90deg)}.modal-left[data-v-54ceb00b]{min-width:0}.modal-head[data-v-54ceb00b]{align-items:center;gap:.8em;margin-bottom:1.2em;display:flex}.modal-badge[data-v-54ceb00b]{color:#fff;background:linear-gradient(135deg,#0f705f,#2fa98f);border-radius:12px;justify-content:center;align-items:center;min-width:2.6em;height:2.6em;padding:0 .5em;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #0f705f4d}.modal-name[data-v-54ceb00b]{letter-spacing:.04em;color:#1f3a35;margin:0 0 .25em;font-size:clamp(24px,3.4vh,32px);font-weight:700}.modal-slogan[data-v-54ceb00b]{color:#0f705f;margin:0 0 1.4em;font-size:15px;font-weight:600}.modal-section-title[data-v-54ceb00b]{letter-spacing:.2em;color:#1f3a3580;margin:0 0 .7em;font-size:14px;font-weight:700}.modal-detail p[data-v-54ceb00b]{letter-spacing:.03em;color:#1f3a35c7;margin:0 0 .9em;font-size:14.5px;line-height:1.9}.card-status[data-v-54ceb00b]{letter-spacing:.12em;border-radius:999px;padding:.3em 1em;font-size:12px;font-weight:600}.card-status.status-dev[data-v-54ceb00b]{color:#0f705f;background:#0f705f1f}.card-status.status-stopped[data-v-54ceb00b]{color:#c0392b;background:#c0392b1a}.tag-list[data-v-54ceb00b]{flex-wrap:wrap;gap:.5em;margin:1.2em 0 0;padding:0;list-style:none;display:flex}.tag[data-v-54ceb00b]{letter-spacing:.08em;color:#3f5d58;background:#ffffffbf;border:1px solid #0f705f2e;border-radius:999px;padding:.3em 1em;font-size:12px}.modal-right[data-v-54ceb00b]{flex-direction:column;align-items:center;display:flex}.video-frame[data-v-54ceb00b]{aspect-ratio:16/9;background:#102925;border-radius:18px;width:100%;margin:0 auto;overflow:hidden;box-shadow:0 12px 32px #0f3c3440}.video-frame iframe[data-v-54ceb00b]{border:0;width:100%;height:100%;display:block;overflow:hidden}.video-empty[data-v-54ceb00b]{color:#ffffff8c;background:linear-gradient(160deg,#173f38,#0e2a26);flex-direction:column;justify-content:center;align-items:center;gap:.8em;width:100%;height:100%;display:flex}.video-empty-icon[data-v-54ceb00b]{background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:2.6em;height:2.6em;font-size:18px;display:inline-flex}.video-empty p[data-v-54ceb00b]{letter-spacing:.12em;margin:0;font-size:13px}.video-hint[data-v-54ceb00b]{letter-spacing:.18em;color:#1f3a3573;margin:.9em 0 0;font-size:12px}.modal-enter-active[data-v-54ceb00b],.modal-leave-active[data-v-54ceb00b]{transition:opacity .28s}.modal-enter-active .modal-window[data-v-54ceb00b],.modal-leave-active .modal-window[data-v-54ceb00b]{transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .28s}.modal-enter-from[data-v-54ceb00b],.modal-leave-to[data-v-54ceb00b]{opacity:0}.modal-enter-from .modal-window[data-v-54ceb00b],.modal-leave-to .modal-window[data-v-54ceb00b]{opacity:0;transform:scale(.95)translateY(14px)}@media (width<=900px){.modal-window[data-v-54ceb00b]{grid-template-columns:1fr;gap:1.4em;padding:1.8em 1.4em 1.6em}.video-frame[data-v-54ceb00b]{aspect-ratio:9/16;max-width:320px}}.projects[data-v-3a24d968]{flex-direction:column;flex:1;align-items:center;width:100%;max-width:1080px;margin:0 auto;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.page-head[data-v-3a24d968]{text-align:center;margin-bottom:4vh}.title[data-v-3a24d968]{letter-spacing:.06em;color:#1f3a35;margin:0 0 1.4vh;font-size:clamp(34px,6vh,60px);font-weight:700}.lead[data-v-3a24d968]{letter-spacing:.05em;color:#1f3a35a6;margin:0;font-size:clamp(14px,2vh,18px);line-height:1.8}.project-carousel[data-v-3a24d968]{margin-bottom:3vh}.card-grid[data-v-3a24d968]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.2vw;width:100%;display:grid}.card[data-v-3a24d968]{-webkit-backdrop-filter:blur(16px)saturate(160%);background:#ffffff80;border:1px solid #ffffffb3;border-radius:20px;flex-direction:column;padding:2em 1.8em 1.8em;transition:transform .28s,box-shadow .28s;display:flex;box-shadow:0 8px 28px #1f5e541a}.card[data-v-3a24d968]:hover{transform:translateY(-6px);box-shadow:0 16px 38px #1f5e542e}.card[data-v-3a24d968]{cursor:pointer;outline:none}.card[data-v-3a24d968]:focus-visible{box-shadow:0 0 0 3px #0f705f59,0 8px 28px #1f5e541a}.card.card-stopped[data-v-3a24d968]{background:#ffeeec8c;border-color:#c0392b38;box-shadow:0 8px 28px #c0392b14}.card.card-stopped[data-v-3a24d968]:hover{box-shadow:0 16px 38px #c0392b29}.card-top[data-v-3a24d968]{justify-content:space-between;align-items:center;margin-bottom:1.4em;display:flex}.card-top-right[data-v-3a24d968]{align-items:center;gap:.5em;display:flex}.card-version[data-v-3a24d968]{letter-spacing:.06em;color:#3f5d58;background:#ffffffb3;border:1px solid #0f705f2e;border-radius:999px;padding:.3em .8em;font-size:11.5px;font-weight:600}.card-badge[data-v-3a24d968]{letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#0f705f,#2fa98f);border-radius:12px;justify-content:center;align-items:center;width:2.6em;height:2.6em;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #0f705f4d}.card-status[data-v-3a24d968]{letter-spacing:.12em;border-radius:999px;padding:.3em 1em;font-size:12px;font-weight:600}.card-status.status-dev[data-v-3a24d968]{color:#0f705f;background:#0f705f1f}.card-status.status-stopped[data-v-3a24d968]{color:#c0392b;background:#c0392b1a}.card-name[data-v-3a24d968]{letter-spacing:.04em;color:#1f3a35;margin:0 0 .3em;font-size:23px;font-weight:700}.card-slogan[data-v-3a24d968]{letter-spacing:.04em;color:#0f705f;margin:0 0 1em;font-size:14px;font-weight:600}.card-desc[data-v-3a24d968]{color:#1f3a35b3;flex:1;margin:0 0 1.6em;font-size:14px;line-height:1.8}.tag-list[data-v-3a24d968]{flex-wrap:wrap;gap:.5em;margin:0;padding:0;list-style:none;display:flex}.tag[data-v-3a24d968]{letter-spacing:.08em;color:#3f5d58;background:#ffffffb3;border:1px solid #0f705f2e;border-radius:999px;padding:.3em 1em;font-size:12px}.card-foot[data-v-3a24d968]{justify-content:space-between;align-items:center;gap:.8em;margin-top:1.3em;display:flex}.card-more[data-v-3a24d968]{letter-spacing:.1em;color:#0f705fb3;font-size:12.5px;transition:transform .25s,color .25s}.card:hover .card-more[data-v-3a24d968]{color:#0f705f;transform:translate(4px)}.card-stopped .card-more[data-v-3a24d968]{color:#c0392ba6}.card-stopped:hover .card-more[data-v-3a24d968]{color:#c0392b}.card-download[data-v-3a24d968]{letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,#0f705f,#2fa98f);border-radius:999px;flex:none;align-items:center;gap:.4em;padding:.5em 1.1em;font-size:12.5px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px #0f705f47}.card-download svg[data-v-3a24d968]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.card-download[data-v-3a24d968]:hover{transform:translateY(-1px);box-shadow:0 9px 22px #0f705f66}.card-download.is-offline[data-v-3a24d968]{color:#1f3a3573;box-shadow:none;cursor:default;background:#1f3a3514}.back-home[data-v-3a24d968]{letter-spacing:.15em;color:#1f3a358c;margin-top:4.5vh;font-size:clamp(13px,1.7vh,15px);text-decoration:none;transition:color .25s}.back-home[data-v-3a24d968]:hover{color:#0f705f}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:bottom;backface-visibility:hidden;overflow:hidden}.team-swiper[data-v-0ac19a5a]{width:min(320px,78vw);height:min(440px,62vh)}.team-swiper[data-v-0ac19a5a] .swiper-slide{background:0 0;border-radius:26px}.member-card[data-v-0ac19a5a]{box-sizing:border-box;text-align:center;-webkit-backdrop-filter:blur(22px)saturate(180%);background:#fff;border:1px solid #ffffffd9;border-radius:26px;flex-direction:column;align-items:center;width:100%;height:100%;padding:2.4em 1.8em 2em;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex;box-shadow:0 18px 46px #0f3c3433}.avatar-ring[data-v-0ac19a5a]{background:linear-gradient(135deg,#0f705f,#2fa98f);border-radius:50%;flex:none;width:118px;height:118px;padding:4px;box-shadow:0 8px 22px #0f705f4d}.avatar[data-v-0ac19a5a]{object-fit:cover;box-sizing:border-box;background:#d8eee9;border:3px solid #ffffffe6;border-radius:50%;width:100%;height:100%;display:block}.member-name[data-v-0ac19a5a]{letter-spacing:.06em;color:#1f3a35;margin:1.1em 0 .25em;font-size:23px;font-weight:700}.member-role[data-v-0ac19a5a]{letter-spacing:.18em;color:#0f705f;margin:0 0 1em;font-size:13px;font-weight:600}.member-intro[data-v-0ac19a5a]{letter-spacing:.03em;color:#1f3a35bf;margin:0;font-size:14px;line-height:1.85;overflow-y:auto}.member-intro.is-empty[data-v-0ac19a5a]{color:#1f3a3552;letter-spacing:.14em}.magictime[data-v-770769b2]{animation:2s ease-in-out slideRightReturn}.history[data-v-770769b2]{width:100%;max-width:760px;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.history-title[data-v-770769b2]{text-align:center;letter-spacing:.08em;color:#1f3a35;margin:0 0 .6vh;font-size:clamp(24px,3.6vh,34px);font-weight:700}.history-subtitle[data-v-770769b2]{text-align:center;letter-spacing:.05em;color:#1f3a3599;margin:0 0 3.4vh;font-size:clamp(13px,1.8vh,15px)}.timeline[data-v-770769b2]{margin:0;padding:0 0 0 2.2em;list-style:none;position:relative}.timeline[data-v-770769b2]:before{content:"";background:linear-gradient(#0f705f80,#2fa98f26);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-item[data-v-770769b2]{margin-bottom:1.8em;position:relative}.timeline-item[data-v-770769b2]:last-child{margin-bottom:0}.timeline-dot[data-v-770769b2]{box-sizing:border-box;background:#fff;border:3px solid #0f705f;border-radius:50%;width:16px;height:16px;position:absolute;top:1.8em;left:-2.2em;box-shadow:0 0 0 4px #0f705f1f}.timeline-card[data-v-770769b2]{-webkit-backdrop-filter:blur(16px)saturate(160%);background:#ffffff80;border:1px solid #ffffffb3;border-radius:18px;padding:1.4em 1.6em 1.5em;transition:transform .25s,box-shadow .25s;box-shadow:0 8px 26px #1f5e541a}.timeline-card[data-v-770769b2]:hover{transform:translate(4px);box-shadow:0 12px 32px #1f5e5429}.timeline-date[data-v-770769b2]{letter-spacing:.12em;color:#0f705f;background:#0f705f1a;border-radius:999px;padding:.25em .9em;font-size:12px;font-weight:600;display:inline-block}.timeline-date.is-empty[data-v-770769b2]{color:#1f3a3561;background:#1f3a350f}.timeline-name[data-v-770769b2]{letter-spacing:.04em;color:#1f3a35;margin:.7em 0 .5em;font-size:19px;font-weight:700}.timeline-placeholder[data-v-770769b2]{letter-spacing:.12em;color:#1f3a3552;margin:0;font-size:13px}.markdown-body[data-v-770769b2]{letter-spacing:.03em;color:#1f3a35d1;word-break:break-word;font-size:14px;line-height:1.85}.markdown-body[data-v-770769b2] p{margin:.5em 0}.markdown-body[data-v-770769b2] p:first-child{margin-top:0}.markdown-body[data-v-770769b2] p:last-child{margin-bottom:0}.markdown-body[data-v-770769b2] strong{color:#0f705f;font-weight:700}.markdown-body[data-v-770769b2] a{color:#0f705f;text-underline-offset:3px;text-decoration:underline}.markdown-body[data-v-770769b2] ul,.markdown-body[data-v-770769b2] ol{margin:.5em 0;padding-left:1.4em}.markdown-body[data-v-770769b2] li{margin:.25em 0}.markdown-body[data-v-770769b2] li::marker{color:#0f705f}.markdown-body[data-v-770769b2] h1,.markdown-body[data-v-770769b2] h2,.markdown-body[data-v-770769b2] h3,.markdown-body[data-v-770769b2] h4{color:#1f3a35;margin:.8em 0 .4em;line-height:1.4}.markdown-body[data-v-770769b2] h1{font-size:19px}.markdown-body[data-v-770769b2] h2{font-size:17px}.markdown-body[data-v-770769b2] h3{font-size:15px}.markdown-body[data-v-770769b2] h4{font-size:14px}.markdown-body[data-v-770769b2] blockquote{color:#1f3a35b3;background:#0f705f0f;border-left:3px solid #0f705f66;border-radius:0 8px 8px 0;margin:.6em 0;padding:.3em 1em}.markdown-body[data-v-770769b2] code{color:#0a5a4d;background:#0f705f1a;border-radius:6px;padding:.15em .45em;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:.9em}.markdown-body[data-v-770769b2] pre{background:#102925;border-radius:12px;margin:.6em 0;padding:1em 1.2em;overflow-x:auto}.markdown-body[data-v-770769b2] pre code{color:#d6efe9;background:0 0;padding:0}.markdown-body[data-v-770769b2] img{border-radius:10px;max-width:100%}.markdown-body[data-v-770769b2] hr{border:0;border-top:1px solid #0f705f33;margin:1em 0}.markdown-body[data-v-770769b2] table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:13px}.markdown-body[data-v-770769b2] th,.markdown-body[data-v-770769b2] td{text-align:left;border:1px solid #0f705f40;padding:.45em .7em}.markdown-body[data-v-770769b2] th{background:#0f705f14}.about[data-v-3bd58271]{flex-direction:column;flex:1;align-items:center;width:100%;max-width:1080px;margin:0 auto;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.page-head[data-v-3bd58271]{text-align:center;margin-bottom:4vh}.title[data-v-3bd58271]{letter-spacing:.06em;color:#1f3a35;margin:0 0 1.4vh;font-size:clamp(34px,6vh,60px);font-weight:700}.lead[data-v-3bd58271]{letter-spacing:.05em;color:#1f3a35a6;margin:0;font-size:clamp(14px,2vh,18px);line-height:1.8}.team-carousel[data-v-3bd58271]{margin-bottom:6vh}.software-history[data-v-3bd58271]{margin-bottom:4vh}.back-home[data-v-3bd58271]{letter-spacing:.1em;color:#1f3a3599;margin-top:2vh;font-size:14px;text-decoration:none;transition:color .25s}.back-home[data-v-3bd58271]:hover{color:#0f705f}.contact-card[data-v-54844020]{-webkit-backdrop-filter:blur(16px)saturate(160%);background:#ffffff80;border:1px solid #ffffffb3;border-radius:20px;flex-direction:column;padding:1.8em 1.7em 1.5em;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;transition:transform .28s,box-shadow .28s,border-color .28s;display:flex;box-shadow:0 8px 28px #1f5e541a}.contact-card[data-v-54844020]:hover{border-color:color-mix(in srgb, var(--brand) 30%, transparent);box-shadow:0 16px 40px color-mix(in srgb, var(--brand) 22%, #1f5e5414);transform:translateY(-6px)}.icon-tile[data-v-54844020]{background:linear-gradient(135deg, var(--brand), var(--brand2));width:58px;height:58px;box-shadow:0 8px 20px color-mix(in srgb, var(--brand) 35%, transparent);border-radius:16px;justify-content:center;align-items:center;margin-bottom:1.1em;display:flex}.icon-tile svg[data-v-54844020]{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.card-body[data-v-54844020]{flex:1}.card-name[data-v-54844020]{letter-spacing:.04em;color:#1f3a35;margin:0 0 .3em;font-size:19px;font-weight:700}.card-account[data-v-54844020]{letter-spacing:.05em;color:var(--brand);word-break:break-all;margin:0 0 .8em;font-size:13px}.card-desc[data-v-54844020]{letter-spacing:.03em;color:#1f3a35ad;margin:0;font-size:13.5px;line-height:1.8}.card-desc.is-empty[data-v-54844020]{color:#1f3a3552;letter-spacing:.12em}.card-actions[data-v-54844020]{align-items:center;gap:.8em;margin-top:1.3em;display:flex}.action-link[data-v-54844020]{letter-spacing:.06em;color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand2));box-shadow:0 6px 16px color-mix(in srgb, var(--brand) 30%, transparent);border-radius:999px;align-items:center;gap:.35em;padding:.5em 1.1em;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.action-link svg[data-v-54844020]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.action-link[data-v-54844020]:hover{box-shadow:0 9px 22px color-mix(in srgb, var(--brand) 42%, transparent);transform:translateY(-1px)}.action-pending[data-v-54844020]{letter-spacing:.08em;color:#1f3a3561;font-size:13px}.copy-btn[data-v-54844020]{border:1px solid color-mix(in srgb, var(--brand) 35%, transparent);background:color-mix(in srgb, var(--brand) 8%, #fff);color:var(--brand);letter-spacing:.05em;cursor:pointer;border-radius:999px;margin-left:auto;padding:.45em 1em;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .2s}.copy-btn[data-v-54844020]:hover{background:color-mix(in srgb, var(--brand) 16%, #fff)}@media (width<=560px){.contact-card[data-v-54844020]{padding:1.5em 1.3em 1.3em}}.contact[data-v-2c3c3fdb]{flex-direction:column;flex:1;align-items:center;width:100%;max-width:1080px;margin:0 auto;font-family:Segoe UI,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.page-head[data-v-2c3c3fdb]{text-align:center;margin-bottom:4vh}.title[data-v-2c3c3fdb]{letter-spacing:.06em;color:#1f3a35;margin:0 0 1.4vh;font-size:clamp(34px,6vh,60px);font-weight:700}.lead[data-v-2c3c3fdb]{letter-spacing:.05em;color:#1f3a35a6;margin:0;font-size:clamp(14px,2vh,18px);line-height:1.8}.contact-grid[data-v-2c3c3fdb]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6em;width:100%;margin-bottom:4vh;display:grid}.back-home[data-v-2c3c3fdb]{letter-spacing:.1em;color:#1f3a3599;margin-top:1vh;font-size:14px;text-decoration:none;transition:color .25s}.back-home[data-v-2c3c3fdb]:hover{color:#0f705f}
