.tab-bar[data-v-21cce0cd]{background:var(--card-bg);border-top:1px solid var(--divider);z-index:100;width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar-inner[data-v-21cce0cd]{align-items:center;height:56px;display:flex}.tab-item[data-v-21cce0cd]{color:var(--text-secondary);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0;font-size:10px;text-decoration:none;transition:color .2s;display:flex}.tab-item.active[data-v-21cce0cd]{color:var(--primary)}.tab-item[data-v-21cce0cd]:active{opacity:.8}.tab-icon[data-v-21cce0cd]{width:22px;height:22px}.checkin-btn[data-v-21cce0cd]{position:relative}.checkin-circle[data-v-21cce0cd]{background:var(--primary-gradient);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-top:-20px;transition:all .2s;display:flex;box-shadow:0 4px 12px #4d80f059}.checkin-btn:active .checkin-circle[data-v-21cce0cd]{transform:scale(.95);box-shadow:0 2px 6px #4d80f040}.checkin-icon[data-v-21cce0cd]{color:#fff;width:20px;height:20px}#app{background:var(--bg);width:100%;max-width:480px;min-height:100vh;margin:0 auto;position:relative}:root{--primary:#4d80f0;--primary-light:#e8eeff;--primary-gradient:linear-gradient(135deg, #4d80f0, #6c9bf2);--primary-hover:#3d6fe0;--success:#52c41a;--success-light:#f0fff0;--warning:#ff6b35;--warning-light:#fff3ed;--danger:#ff4d4f;--danger-light:#fff1f0;--info:#1890ff;--info-light:#e6f7ff;--bg:#f0f2f5;--card-bg:#fff;--input-bg:#f7f8fa;--text:#333;--text-secondary:#999;--text-placeholder:#c0c4cc;--text-white:#fff;--border:#eee;--divider:#f0f0f0;--shadow-card:0 2px 12px #4d80f014;--shadow-hover:0 4px 16px #4d80f01f;--shadow-popup:0 8px 24px #0000001f;--radius-lg:12px;--radius-md:8px;--radius-sm:6px;--radius-xs:4px;--radius-full:999px;--spacing-page:16px;--spacing-card:12px;--spacing-element:8px;--spacing-tight:4px;--font-title:18px;--font-body:14px;--font-small:12px;--font-amount:20px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:4.26667vw}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:var(--primary);text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn{border-radius:var(--radius-lg);font-size:var(--font-body);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary-gradient);color:var(--text-white);box-shadow:0 4px 12px #4d80f040}.btn-primary:active{transform:scale(.97);box-shadow:0 2px 6px #4d80f026}.btn-secondary{background:var(--card-bg);color:var(--primary);border:1px solid var(--primary)}.btn-secondary:active{background:var(--primary-light);transform:scale(.97)}.btn-danger{background:var(--danger);color:var(--text-white)}.btn-wechat{background:var(--card-bg);color:#07c160;border:1px solid #07c160}.btn-wechat:active{background:#f0fff0;transform:scale(.97)}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-outline:active{background:var(--primary-light);transform:scale(.97)}.btn-disabled{background:var(--input-bg);color:var(--text-secondary);cursor:not-allowed;opacity:.7}.btn-disabled:active{transform:none}.btn-lg{height:48px;padding:0 var(--spacing-page);font-size:16px}.btn-md{height:44px;font-size:var(--font-body);padding:0 16px}.btn-sm{height:36px;font-size:var(--font-small);border-radius:var(--radius-sm);padding:0 12px}.input-field{background:var(--input-bg);border-radius:var(--radius-lg);width:100%;height:44px;font-size:var(--font-body);color:var(--text);padding:0 16px;transition:all .2s;position:relative}.input-field::placeholder{color:var(--text-placeholder)}.input-field:focus{background:var(--card-bg);outline:none;box-shadow:0 0 0 2px #4d80f01a}.input-field:focus-within:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-card);box-shadow:var(--shadow-card)}.card:hover{box-shadow:var(--shadow-hover)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;padding:var(--spacing-page);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);width:100%;max-width:340px;box-shadow:var(--shadow-popup);border-radius:16px;padding:24px;animation:.2s fadeIn}.tag{border-radius:var(--radius-xs);font-size:var(--font-small);align-items:center;padding:2px 8px;font-weight:500;display:inline-flex}.tag-image{background:var(--success-light);color:var(--success)}.tag-video{background:var(--warning-light);color:var(--warning)}.tag-text,.tag-active{background:var(--primary-light);color:var(--primary)}.tag-pending{background:var(--warning-light);color:var(--warning)}.tag-reviewing{background:var(--info-light);color:var(--info)}.tag-posted{background:var(--success-light);color:var(--success)}.tag-rejected{background:var(--danger-light);color:var(--danger)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.page{padding:0 var(--spacing-page) 80px;animation:.2s fadeIn}.status-bar{width:100%;max-width:480px;height:env(safe-area-inset-bottom,0);background:var(--card-bg);z-index:100;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.upload-box{border:1.5px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-secondary);font-size:var(--font-small);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;transition:all .2s;display:flex}.upload-box:hover,.upload-box.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.text-primary{color:var(--primary)}.text-warning{color:var(--warning)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-secondary{color:var(--text-secondary)}.text-white{color:var(--text-white)}.text-center{text-align:center}.text-right{text-align:right}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.overflow-hidden{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-bar{background:var(--primary-gradient);z-index:50;justify-content:center;align-items:center;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.back-btn{cursor:pointer;background:#ffffff40;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.back-btn:active{background:#fff6}.back-btn svg{width:16px;height:16px;color:var(--text-white)}.nav-title{color:var(--text-white);white-space:nowrap;font-size:16px;font-weight:600}.nav-spacer{flex-shrink:0;width:32px}.page-header{background:var(--primary-gradient);border-radius:0 0 12px 12px;margin-bottom:16px;padding:16px}.page-title{color:var(--text-white);text-align:center;font-size:20px;font-weight:700}.page-title--decorated{border-bottom:2px solid #ffffff80;padding-bottom:8px;display:inline-block}.page-header--flex{align-items:center;gap:10px;display:flex}
