:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.modal-mask[data-v-dbdc7dfe]{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:9999}.modal-box[data-v-dbdc7dfe]{background:#fff;padding:26px 24px;border-radius:16px;width:340px;position:relative;box-shadow:0 10px 24px #0003}.modal-title[data-v-dbdc7dfe]{text-align:center;margin-bottom:14px;color:#444}label[data-v-dbdc7dfe]{display:block;font-size:14px;margin-top:10px}input[data-v-dbdc7dfe]{width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;margin-top:4px}.primary-btn[data-v-dbdc7dfe]{width:100%;margin-top:14px;padding:10px;background:#ff7eb9;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.primary-btn[data-v-dbdc7dfe]:hover{background:#ff5ea6}.back-btn[data-v-dbdc7dfe]{margin-top:10px;background:none;border:none;color:#888;cursor:pointer}.question-box[data-v-dbdc7dfe]{background:#fff2f7;border:1px solid #f8cce2;padding:8px 10px;border-radius:8px;color:#c85b89;margin-bottom:8px}.switch[data-v-dbdc7dfe]{margin-top:14px;text-align:center;font-size:14px;color:#ff7eb9;cursor:pointer}.close-btn[data-v-dbdc7dfe]{position:absolute;top:10px;right:12px;background:none;border:none;font-size:22px;color:#888;cursor:pointer}.close-btn[data-v-dbdc7dfe]:hover{color:#ff7eb9}.header-bar[data-v-9a7b0b50]{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 16px;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px}button[data-v-9a7b0b50]{border:none;padding:6px 10px;border-radius:6px;background:#007bff;color:#fff;cursor:pointer}button[data-v-9a7b0b50]:hover{background:#0056b3}.upload[data-v-de110421]{max-width:500px;margin:20px auto;padding:20px 25px;background:#fafafa;border-radius:12px;box-shadow:0 4px 12px #00000014}.upload h2[data-v-de110421]{text-align:center;margin-bottom:20px}.upload-form[data-v-de110421]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-de110421]{display:flex;flex-direction:column;text-align:left}.form-group label[data-v-de110421]{font-weight:600;margin-bottom:6px;color:#444}.form-group input[data-v-de110421],.form-group textarea[data-v-de110421],.form-group select[data-v-de110421]{padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;transition:border-color .2s ease}.form-group input[data-v-de110421]:focus,.form-group textarea[data-v-de110421]:focus,.form-group select[data-v-de110421]:focus{border-color:#72ddca;outline:none}.upload-btn[data-v-de110421]{background:#72ddca;color:#fff;border:none;padding:10px;font-size:16px;border-radius:6px;cursor:pointer;transition:background .2s ease}.upload-btn[data-v-de110421]:hover{background:#5fc2b2}.message[data-v-de110421]{margin-top:20px;text-align:center;font-size:15px}small[data-v-de110421]{color:#e67e22;margin-top:4px}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.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{transform:translateZ(0);backface-visibility:hidden}.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{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.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-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.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{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.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)}}#gallery-container[data-v-fa5dcc9d]{border:2px solid #ccc;padding:16px;margin:20px 0;min-height:360px;overflow:hidden}.slide-card[data-v-fa5dcc9d]{text-align:center;transition:transform .25s ease,opacity .25s ease}.slide-card.active img[data-v-fa5dcc9d]{transform:scale(1.05)}.slide-card[data-v-fa5dcc9d]:not(.active){opacity:.9}.delete-btn[data-v-fa5dcc9d]{margin-top:8px;background:#e74c3c;color:#fff;border:none;padding:4px 10px;cursor:pointer;border-radius:6px}.prev-page-card[data-v-fa5dcc9d],.next-page-card[data-v-fa5dcc9d],.end-card[data-v-fa5dcc9d]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:520px;width:100%;border-radius:12px;cursor:pointer;font-size:20px;transition:all .3s ease;box-shadow:0 6px 16px #00000026}.prev-page-card[data-v-fa5dcc9d]{background:#f0f0f0}.prev-page-card[data-v-fa5dcc9d]:hover{background:#3498db;color:#fff}.next-page-card[data-v-fa5dcc9d]{background:#f0f0f0}.next-page-card[data-v-fa5dcc9d]:hover{background:#3498db;color:#fff}.end-card[data-v-fa5dcc9d]{background:#e8e8e8;color:#555;cursor:default}@media(min-width:1024px){.swiper[data-v-fa5dcc9d]{padding-left:10vw;padding-right:10vw}.swiper-slide[data-v-fa5dcc9d]{width:420px;display:flex;justify-content:center}.slide-card img[data-v-fa5dcc9d]{width:100%;height:520px;object-fit:cover;border-radius:12px;box-shadow:0 8px 20px #00000059}}@media(min-width:768px)and (max-width:1023px){.swiper[data-v-fa5dcc9d]{padding-left:12vw;padding-right:12vw}.swiper-slide[data-v-fa5dcc9d]{width:360px;display:flex;justify-content:center}.slide-card img[data-v-fa5dcc9d]{width:100%;height:460px;object-fit:cover;border-radius:12px;box-shadow:0 6px 16px #0000004d}.prev-page-card[data-v-fa5dcc9d],.next-page-card[data-v-fa5dcc9d],.end-card[data-v-fa5dcc9d]{height:460px}}@media(max-width:767px){.swiper[data-v-fa5dcc9d]{padding-left:15vw;padding-right:15vw}.swiper-slide[data-v-fa5dcc9d]{width:70vw;display:flex;justify-content:center}.slide-card img[data-v-fa5dcc9d]{width:100%;height:94.5vw;object-fit:cover;border-radius:12px;box-shadow:0 5px 14px #00000040}.prev-page-card[data-v-fa5dcc9d],.next-page-card[data-v-fa5dcc9d],.end-card[data-v-fa5dcc9d]{height:94.5vw}}.filters[data-v-41985ad6]{margin:10px 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.field[data-v-41985ad6]{display:flex;flex-direction:column;font-size:13px;align-items:flex-start}.field label[data-v-41985ad6]{margin-bottom:4px;color:#555;font-weight:500}.field select[data-v-41985ad6],.field input[data-v-41985ad6],.clear-btn[data-v-41985ad6]{padding:6px 10px;font-size:14px;border-radius:6px;border:1px solid #ccc;background:#fff;min-width:120px}.clear-btn[data-v-41985ad6]{background:#e74c3c;color:#fff;cursor:pointer;border:none;font-size:14px}.clear-btn[data-v-41985ad6]:hover{background:#c0392b}@media(max-width:767px){.filters[data-v-41985ad6]{flex-direction:column;align-items:stretch}.field[data-v-41985ad6]{width:100%}.field select[data-v-41985ad6],.field input[data-v-41985ad6],.clear-btn[data-v-41985ad6]{width:100%;font-size:16px}}.pagination.end[data-v-a442ecec]{color:#777;text-align:center;margin-top:16px}.preview-btn[data-v-a442ecec]{position:fixed;top:80%;transform:translateY(-50%);border:none;border-radius:50%;width:54px;height:54px;font-size:22px;font-weight:700;color:#fff;cursor:pointer;z-index:3000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #00000059;transition:all .25s ease;display:flex;align-items:center;justify-content:center}.close-btn[data-v-a442ecec]{right:40px;background:#ffffff26;border:2px solid rgba(255,255,255,.8)}.delete-btn[data-v-a442ecec]{left:40px;background:#e74c3ce6}.publish-btn[data-v-a442ecec]{left:120px;background:#3498dbe6}.preview-btn[data-v-a442ecec]:hover{transform:translateY(-50%) scale(1.08)}.preview-overlay[data-v-a442ecec]{position:fixed;inset:0;background:#000000e0;display:flex;justify-content:center;align-items:center;z-index:2000}.preview-content[data-v-a442ecec]{background:#fff;padding:20px;border-radius:12px;max-width:90%;max-height:90%;text-align:center;position:relative}.preview-content img.zoomable[data-v-a442ecec]{max-width:100%;max-height:80vh;cursor:grab;-webkit-user-select:none;user-select:none}.photo-frame[data-v-2fc1d5a7]{position:relative;border-radius:12px;padding:5px;background:linear-gradient(160deg,var(--frame-color, #ccc) 0%,#fafafa 100%);box-shadow:0 6px 18px #00000040;transition:transform .3s ease,box-shadow .3s ease;will-change:transform,box-shadow}.photo-img[data-v-2fc1d5a7]{width:100%;height:94.5vw;border-radius:8px;object-fit:cover;display:block;filter:contrast(1.05) brightness(1.04);transition:transform .3s ease;will-change:transform}.mobile-swiper-wrap[data-v-82eda310]{width:100%;overflow-x:hidden}.mobile-swiper[data-v-82eda310]{padding:20px 15vw 0;overflow:hidden;box-sizing:border-box}.swiper-slide[data-v-82eda310]{width:70vw;display:flex;justify-content:center}.slide-card[data-v-82eda310]{text-align:center;margin-top:10px}.slide-card p[data-v-82eda310]{margin:10px 0}.info[data-v-82eda310]{font-size:13px;color:#666;opacity:.85}.uploader-name[data-v-82eda310]{font-weight:600;color:#222}.status-text[data-v-82eda310]{font-size:13px;margin-top:4px;display:flex;justify-content:center;align-items:center;gap:4px}.status-value[data-v-82eda310]{font-weight:600}.status-value.approved[data-v-82eda310]{color:#2ecc71}.status-value.pending[data-v-82eda310]{color:#f1c40f}.status-value.private[data-v-82eda310]{color:#e67e22}.type[data-v-82eda310]{font-size:13px;color:var(--frame-color, #666);font-style:italic;opacity:.85;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px}.dot[data-v-82eda310]{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 3px #0003}.image-loading[data-v-82eda310]{height:94.5vw;display:flex;justify-content:center;align-items:center;color:#888;background:#f4f4f4;border-radius:12px}.swiper-slide-active img[data-v-82eda310]{transform:scale(1.05)}.mobile-container[data-v-a33b0c51]{width:100%;overflow-x:hidden;text-align:center}.pagination[data-v-a33b0c51]{display:flex;justify-content:center;align-items:center;gap:12px;margin:16px 0}.pagination button[data-v-a33b0c51]{padding:8px 16px;border:none;border-radius:8px;background-color:#e74c3c;color:#fff;cursor:pointer;font-size:15px;transition:background .2s}.pagination button[data-v-a33b0c51]:hover:enabled{background-color:#c0392b}.pagination button[data-v-a33b0c51]:disabled{opacity:.5;cursor:not-allowed}.end-tip[data-v-a33b0c51]{color:#999;font-size:14px;margin-top:10px}.loading[data-v-a33b0c51]{color:#888;font-size:14px;margin-top:10px}.preview-overlay[data-v-a33b0c51]{position:fixed;inset:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;overflow:hidden}.close-btn[data-v-a33b0c51]{position:fixed;right:20px;top:75%;transform:translateY(-50%);border:2px solid rgba(255,255,255,.85);width:50px;height:50px;border-radius:50%;background:#ffffff26;color:#fff;font-size:22px;font-weight:600;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:3000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .25s ease}.close-btn[data-v-a33b0c51]:hover{background:#ffffff40;transform:translateY(-50%) scale(1.05)}.action-btn[data-v-a33b0c51]{position:fixed;top:75%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;font-size:22px;color:#fff;border:none;cursor:pointer;z-index:3000;display:flex;align-items:center;justify-content:center}.action-btn.delete[data-v-a33b0c51]{left:20px;background:#e74c3ce6}.action-btn.publish[data-v-a33b0c51]{left:95px;background:#3498dbe6}.preview-content[data-v-a33b0c51]{background:#fff;padding:10px;border-radius:12px;max-width:95%;max-height:90%;text-align:center;overflow:hidden}.preview-content img.zoomable[data-v-a33b0c51]{max-width:100%;max-height:70vh;object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform}.support-container[data-v-4e1d6bd0]{margin:16px 0;text-align:center;position:relative}.arrow[data-v-4e1d6bd0]{font-size:50px;color:red;margin-bottom:5px;animation:bounce-4e1d6bd0 1s infinite}@keyframes bounce-4e1d6bd0{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.support-btn[data-v-4e1d6bd0]{padding:10px 20px;background:#e74c3c;border:none;border-radius:6px;cursor:pointer;color:#fff;font-size:18px;font-weight:700}.support-btn[data-v-4e1d6bd0]:hover{background:#c0392b}.support-count[data-v-4e1d6bd0]{margin-left:12px;font-weight:700}.survey-link[data-v-4e1d6bd0]{margin-top:12px}.survey-link a[data-v-4e1d6bd0]{color:#1a63a1;text-decoration:none;font-size:15px}.survey-link a[data-v-4e1d6bd0]:hover{text-decoration:underline}.donate-section[data-v-9acc847d]{margin-top:40px;padding:30px 10px;background:#fafafa;border-radius:12px;box-shadow:0 2px 8px #0000000d;text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.donate-section h3[data-v-9acc847d]{margin-bottom:10px;font-size:20px;color:#e74c3c}.donate-text[data-v-9acc847d]{color:#555;margin-bottom:20px;font-size:14px}.qr-container[data-v-9acc847d]{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.qr-item[data-v-9acc847d]{display:flex;flex-direction:column;align-items:center}.qr-item img[data-v-9acc847d]{width:160px;height:160px;border-radius:16px;border:3px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(to right,#f093fb,#5771f5);background-origin:border-box;background-clip:content-box,border-box;box-shadow:0 4px 12px #0000001a;object-fit:cover;transition:transform .25s ease,box-shadow .25s ease}.qr-item img[data-v-9acc847d]:hover{transform:scale(1.05);box-shadow:0 6px 16px #f093fb66}.qr-item p[data-v-9acc847d]{margin-top:8px;font-size:14px;color:#333}.thanks[data-v-9acc847d]{margin-top:16px;font-size:13px;color:#999}@media(max-width:600px){.qr-item img[data-v-9acc847d]{width:130px;height:130px}.qr-container[data-v-9acc847d]{gap:20px}}html,body,#app{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;background:#f8f9fa;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*,*:before,*:after{box-sizing:border-box}.app-container{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box;padding:0 16px 60px;display:flex;flex-direction:column;align-items:center}.app-container>*{width:100%;max-width:900px}.divider{width:100%;max-width:900px;margin:30px 0;border:none;border-top:1px solid #ddd}h1{text-align:center;color:#333;font-weight:600;margin:30px 0 20px;font-size:28px}@media(max-width:768px){.app-container{padding:0 10px 40px}h1{font-size:22px;margin:20px 0 10px}.divider{margin:20px 0}}
