:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400;-webkit-tap-highlight-color:transparent}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:0;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}@media (min-width: 1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}:root{--color-primary: #ff6b35;--color-primary-dark: #e55a2b;--color-primary-light: #ff7a4a;--color-secondary: #8bc5ff;--color-secondary-dark: #6ba8e8;--color-secondary-light: #9dd0ff;--color-highlight: #ff4444;--color-text-primary: #000000;--color-text-normal: #333333;--color-text-secondary: #666666;--color-text-muted: #999999;--color-bg-white: #ffffff;--color-bg-gray: #f5f5f5;--color-border: rgba(102, 102, 102, .16);--color-shadow: rgba(0, 0, 0, .1);--color-shadow-primary: rgba(139, 197, 255, .3);--color-shadow-secondary: rgba(255, 107, 53, .3);--color-overlay: rgba(0, 0, 0, .5);--font-size-title: 18px;--font-size-normal: 14px;--font-size-small: 12px;--font-size-large: 24px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-xxl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 2px 4px;--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px;--shadow-xl: 0 4px 20px rgba(0, 0, 0, .2);--transition-base: all .3s ease;--theme-card-radius: var(--radius-lg);--theme-button-radius: var(--radius-md);--theme-card-shadow: var(--shadow-md);--theme-primary-hover-shadow: 0 4px 12px rgba(255, 107, 53, .4);--theme-secondary-hover-shadow: 0 4px 12px rgba(139, 197, 255, .4);--theme-submit-shadow: 0 4px 12px rgba(255, 107, 53, .3);--theme-submit-hover-shadow: 0 6px 16px rgba(255, 107, 53, .4);--theme-header-gradient-start: #a8d5ff;--theme-header-gradient-end: #8bc5ff;--theme-notice-icon-color: var(--color-primary);--theme-notice-bg: var(--color-bg-white);--theme-notice-border-color: transparent;--theme-notice-shadow: var(--shadow-md);--theme-soft-panel-bg: rgba(139, 197, 255, .06);--theme-soft-panel-border: rgba(139, 197, 255, .22);--theme-upload-border-color: rgba(102, 102, 102, .22);--theme-upload-hover-border: rgba(139, 197, 255, .42);--theme-upload-hover-bg: rgba(139, 197, 255, .04);--theme-submit-gradient-start: var(--color-primary);--theme-submit-gradient-end: var(--color-primary-light)}.common-card{background:var(--color-bg-white);border-radius:var(--theme-card-radius);padding:var(--spacing-md);width:100%;box-sizing:border-box;box-shadow:var(--theme-card-shadow)}.section-container{padding:0 6px 6px;margin:0;width:100%;box-sizing:border-box}.section-title{font-size:var(--font-size-title);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;padding:0}.modal-title{font-size:var(--font-size-title);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;padding:0;text-align:center}.text-normal{font-size:var(--font-size-normal);color:var(--color-text-normal);line-height:1.6}.text-desc{font-size:var(--font-size-normal);color:var(--color-text-normal);line-height:1.6;margin:0 0 var(--spacing-sm) 0;padding:0}.text-small{font-size:var(--font-size-small);color:var(--color-text-secondary)}.highlight-red{color:var(--color-highlight);font-weight:500}.common-btn{border:none;border-radius:var(--theme-button-radius);padding:var(--spacing-md) var(--spacing-xxl);font-size:var(--font-size-normal);font-weight:500;cursor:pointer;transition:var(--transition-base);color:var(--color-bg-white);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);position:relative}.common-btn:disabled{opacity:.7;cursor:not-allowed}.common-btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-primary);box-shadow:var(--shadow-sm) var(--color-shadow-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-light);box-shadow:var(--shadow-lg) #8bc5ff66}.btn-primary:active{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);box-shadow:var(--shadow-sm) var(--color-shadow-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-light);box-shadow:var(--shadow-lg) #ff6b3566}.btn-secondary:active{background-color:var(--color-secondary-dark)}.btn-group{display:flex;gap:var(--spacing-md)}.btn-group .common-btn{flex:1}.modal-overlay{position:fixed;inset:0;background-color:var(--color-overlay);display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--spacing-lg);animation:fadeIn .3s ease}.modal-overlay-bottom{align-items:flex-end;padding:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-white);border-radius:var(--theme-card-radius);padding:var(--spacing-xl);max-width:90%;width:400px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl)}.modal-content-bottom{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;z-index:10}.modal-close-btn:hover{color:var(--color-text-normal)}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--color-bg-gray)}.loading-text{font-size:var(--font-size-title);color:var(--color-text-secondary)}.page-container{min-height:100vh;background-color:var(--color-bg-gray);margin:0;padding:0}.toast-message[data-v-92e324b6]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10001;animation:toastFadeIn-92e324b6 .3s ease-out}.toast-content[data-v-92e324b6]{background:#000c;border-radius:12px;padding:16px 24px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #0000004d;min-width:260px;max-width:80vw;justify-content:center}.toast-icon[data-v-92e324b6]{width:40px;height:40px;flex-shrink:0;transition:all .2s ease}.toast-content.single-line .toast-icon[data-v-92e324b6]{width:20px;height:20px}.toast-text[data-v-92e324b6]{font-size:14px;color:#fff;font-weight:500;line-height:1.5;word-break:break-word}@keyframes toastFadeIn-92e324b6{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.loading-overlay[data-v-9e3a20d5]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.loading-box[data-v-9e3a20d5]{background:#000c;border-radius:12px;padding:30px 40px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 4px 12px #0000004d}.loading-spinner[data-v-9e3a20d5]{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-9e3a20d5 .8s linear infinite}@keyframes spin-9e3a20d5{to{transform:rotate(360deg)}}.loading-text[data-v-9e3a20d5]{font-size:14px;color:#fff;text-align:center}.bottom-tabbar[data-v-4698fa13]{position:fixed;left:0;right:0;bottom:0;display:grid;align-items:start;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#fffffff0,#fffffffa);border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -8px 24px #0f172a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:900}.tab-item[data-v-4698fa13]{border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 0;color:var(--color-text-secondary);transition:var(--transition-base)}.tab-item[data-v-4698fa13]:active{transform:scale(.96)}.tab-item.active[data-v-4698fa13]{color:var(--color-primary)}.tab-icon[data-v-4698fa13]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.tab-icon[data-v-4698fa13] svg{width:100%;height:100%}.tab-label[data-v-4698fa13]{font-size:12px;line-height:1;font-weight:500}:root{--app-tabbar-height: 74px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background-color:var(--color-bg-gray)}.app-container,.page-shell{min-height:100vh}.loading-screen{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center;padding:20px}.loading-spinner{width:30px;height:30px;margin:0 auto 15px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--color-text-secondary);font-size:14px;font-weight:400;text-align:center}.login-container[data-v-b6a1c430]{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--color-bg-gray)}.loading-text[data-v-b6a1c430]{font-size:var(--font-size-title);color:var(--color-text-secondary)}.auth-denied-container[data-v-b6a1c430]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:var(--spacing-lg);background-color:var(--color-bg-gray)}.auth-denied-content[data-v-b6a1c430]{background:var(--color-bg-white);border-radius:var(--radius-lg);padding:var(--spacing-xxl);max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.auth-icon[data-v-b6a1c430]{font-size:64px;margin-bottom:var(--spacing-md)}.auth-title[data-v-b6a1c430]{font-size:var(--font-size-title);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.auth-message[data-v-b6a1c430]{font-size:var(--font-size-normal);color:var(--color-text-normal);line-height:1.6;margin:0 0 var(--spacing-sm) 0}.auth-tip[data-v-b6a1c430]{font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--spacing-lg) 0}.auth-retry-btn[data-v-b6a1c430]{width:100%;background:linear-gradient(135deg,#a8d5ff 0%,var(--color-primary) 100%);color:var(--color-bg-white);border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-normal);font-weight:500;cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-md)}.auth-retry-btn[data-v-b6a1c430]:hover{opacity:.95;box-shadow:var(--shadow-lg)}.auth-retry-btn[data-v-b6a1c430]:active{opacity:.9;transform:scale(.98)}.auth-container[data-v-d818d870]{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--color-bg-gray)}.loading-text[data-v-d818d870]{font-size:var(--font-size-title);color:var(--color-text-secondary)}
