.clickable-username{color:#0079d3;cursor:pointer;display:inline-block;font-weight:500;text-decoration:none;transition:color .2s ease}.clickable-username:hover{color:#005fa3;text-decoration:underline}.clickable-username:active{color:#004080}.clickable-username.disabled{color:#6b7280;cursor:default;pointer-events:none}.clickable-username.disabled:hover{color:#6b7280;text-decoration:none}.view-count-badge{align-items:center;background:#fffffff2;border-radius:4px;color:#1a1a1b;display:flex;font-size:12px;gap:6px;justify-content:center;margin:20px auto;padding:8px 12px;position:relative;transition:background-color .2s ease,border-color .2s ease;width:-webkit-fit-content;width:fit-content}.view-count-badge:hover{background:#fff;border-color:#d7dadc}.view-count-icon{color:#878a8c;flex-shrink:0;font-size:14px;line-height:1}.view-count-text{color:#1a1a1b;font-weight:400;white-space:nowrap}@media (max-width:768px){.view-count-badge{font-size:11px;margin:16px auto;padding:6px 10px}.view-count-icon{font-size:12px}}.auth-title{color:#1c1c1c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:500;margin-bottom:24px;text-align:center}.form-group{margin-bottom:20px}.form-group input.input-error{border-color:#dc3545}.error-text{color:#dc3545;display:block;font-size:13px;margin-top:4px}.password-input-wrapper{align-items:center;display:flex}.auth-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:16px}.link-button{background:none;border:none;border-radius:4px;color:#0079d3;cursor:pointer;font-size:13px;font-weight:600;padding:4px 8px;text-decoration:none;transition:all .2s ease}.link-button:hover:not(:disabled){color:#0060a8;text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:480px){.auth-title{font-size:20px}.form-group input{font-size:16px;padding:10px 14px}.auth-button{font-size:15px;padding:12px}}.auth-message{font-weight:400;line-height:18px}.auth-message.info{background-color:#cce5ff;border:1px solid #0079d3;color:#0079d3}.form-group input{font-family:inherit}.form-group input::placeholder{color:#7c7c7c}.form-group input:disabled{background-color:#f6f7f8;color:#7c7c7c;cursor:not-allowed}.password-input{align-items:center;display:flex;position:relative}.password-input input{padding-right:45px}.auth-button,.btn-primary{background-color:#0079d3;border:none;border-radius:20px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;transition:all .2s ease;width:100%}.auth-button:hover:not(:disabled),.btn-primary:hover:not(:disabled){background-color:#0060a8}.auth-button:disabled,.btn-primary:disabled{background-color:#d7dadc;color:#7c7c7c;cursor:not-allowed}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.btn-back{background-color:initial;border:none;border-radius:20px;color:#878a8c;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:10px 16px;text-align:center;transition:all .2s ease;width:100%}.btn-back:hover:not(:disabled){background-color:#0000000d;color:#1c1c1c}.btn-back:disabled{cursor:not-allowed;opacity:.5}.auth-link{color:#7c7c7c;font-size:14px;margin-top:20px;text-align:center}.link-btn{background:none;border:none;color:#0079d3;cursor:pointer;font-weight:600;padding:0 4px;text-decoration:none;transition:color .2s ease}.link-btn:hover{color:#0060a8;text-decoration:underline}.step-indicator{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.step-dot{background-color:#edeff1;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.step-dot.active{background-color:#0079d3;border-radius:4px;width:24px}@media (max-width:480px){.auth-form h2{font-size:18px}.form-group input{border-radius:16px;font-size:16px;padding:10px 14px}.auth-button,.btn-primary,.btn-secondary{border-radius:16px;font-size:13px;padding:10px 14px}.btn-back{font-size:13px;padding:10px 14px}.code-input-group{flex-direction:column}.btn-send-code{padding:10px 14px;width:100%}}.field-error{align-items:center;color:#dc3545;display:flex;font-size:12px;gap:4px;margin-top:4px}.field-error:before{content:"⚠️";font-size:14px}.required{color:#dc3545;font-weight:700;margin-left:2px}.optional{font-weight:400;margin-left:4px}.optional,.password-hint{color:#6c757d;font-size:12px}.password-hint{margin-top:4px}.code-input-group{align-items:stretch;display:flex;gap:8px}.code-input-group input{flex:1 1;min-width:0}.btn-send-code{background-color:#f6f7f8;border:1px solid #edeff1;border-radius:20px;color:#0079d3;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.btn-send-code:hover:not(:disabled){background-color:#e9ecef;border-color:#d7dadc}.btn-send-code:disabled{background-color:#f6f7f8;color:#878a8c;cursor:not-allowed;opacity:.6}.form-hint{color:#878a8c;font-size:12px;line-height:1.4;margin-top:6px}.auth-form-container{position:relative;width:100%}.auth-form-header{display:flex;justify-content:flex-end;margin-bottom:8px}.auth-form-header .nav-btn{background:none;border:none;border-radius:2px;color:#878a8c;cursor:pointer;padding:6px;transition:background-color .1s ease,color .1s ease}.auth-form-header .nav-btn:hover{background-color:#0000000d;color:#1c1c1c}.auth-form{width:100%}.auth-form h2{color:#1c1c1c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:500;margin-bottom:24px;text-align:center}.auth-message{border-radius:4px;margin-bottom:16px}.auth-message.success{background-color:#d7f0d7;border:1px solid #46d160;color:#2a6f2a}.auth-message.error{background-color:#ffe7e7;border:1px solid #ea0027;color:#ea0027}.form-group{margin-bottom:16px}.form-group label{color:#1c1c1c;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.form-group input{background-color:#f6f7f8;border:1px solid #edeff1;border-radius:20px;box-sizing:border-box;color:#1c1c1c;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:hover{background-color:#fff;border-color:#d7dadc}.form-group input:focus{background-color:#fff;border-color:#0079d3;box-shadow:0 0 0 1px #0079d3;outline:none}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:45px}.password-toggle{align-items:center;background:none;border:none;border-radius:2px;color:#878a8c;cursor:pointer;display:flex;font-size:18px;justify-content:center;line-height:1;padding:6px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:background-color .1s ease,color .1s ease}.password-toggle:hover{background-color:#0000000d;color:#1c1c1c}.password-toggle:active{background-color:#0000001a}.btn-secondary{background-color:initial;border:1px solid #0079d3;border-radius:20px;color:#0079d3;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background-color:#0079d31a}.auth-button{background-color:#0079d3;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;transition:all .2s ease;width:100%}.auth-button:hover:not(:disabled){background-color:#0060a8}.auth-button:disabled{background-color:#d7dadc;color:#7c7c7c;cursor:not-allowed}@media (max-width:480px){.auth-form h2{font-size:18px}.form-group input{border-radius:16px;font-size:16px}}.auth-page{align-items:center;background-color:#dae0e6;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-container{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0000001a;max-width:420px;padding:24px;position:relative;width:100%}.auth-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;min-height:28px}.auth-header .nav-btn{background:none;border:none;border-radius:2px;color:#878a8c;cursor:pointer;padding:6px;transition:background-color .1s ease,color .1s ease}.auth-header .nav-btn:hover{background-color:#0000000d;color:#1c1c1c}.auth-back-button{align-items:center;background:none;border:none;border-radius:2px;box-shadow:none;color:#0079d3;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:4px;margin-bottom:0;margin-top:0;padding:4px 8px;transition:color .15s ease}.auth-back-button:hover:not(:disabled){color:#0060a8}.auth-back-button:disabled{cursor:not-allowed;opacity:.5}.auth-message{animation:fadeIn .3s ease;border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.auth-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.auth-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.auth-message.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}@media (max-width:768px){.auth-page{padding:12px}.auth-container{padding:24px}}@media (max-width:480px){.auth-container{border-radius:12px;padding:20px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.back-btn{align-items:center;background:#fff;border:1px solid #ccc;border-radius:20px;box-shadow:0 1px 2px #0000000d;color:#1a1a1b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;text-decoration:none;transition:all .15s ease}.back-btn:hover{background:#f6f7f8;border-color:#0079d3;box-shadow:0 2px 4px #0000001a;color:#0079d3}.back-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(1px)}.nav-btn{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.nav-btn:hover{background-color:#f3f4f6}.back-nav-btn{color:#374151}.back-nav-btn:hover{color:#1f2937}.close-nav-btn{color:#6b7280}.close-nav-btn:hover{color:#374151}.search-box{margin:0;position:relative;width:100%}.search-input{background:#fff;border:2px solid #e5e7eb;border-radius:25px;box-shadow:0 2px 8px #0000000f;color:#1f2937;font-family:inherit;font-size:16px;font-weight:400;height:45px;letter-spacing:-.01em;outline:none;padding:5px 15px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a,0 4px 12px #0000001a}.search-input::placeholder{color:#9ca3af;font-family:inherit;font-size:16px;font-weight:400;letter-spacing:-.01em}.clear-search-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:600;height:28px;justify-content:center;position:absolute;right:48px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:28px;z-index:2}.clear-search-btn:hover{background:#e5e7eb;color:#374151;transform:translateY(-50%) scale(1.05)}.search-btn{align-items:center;border:1px solid #e5e7eb;border-radius:50%;color:#0079d3;cursor:pointer;display:flex;font-family:inherit;font-size:14px;height:28px;justify-content:center;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:28px;z-index:2}.search-btn:hover{transform:translateY(-50%) scale(1.05)}.search-btn:disabled{cursor:not-allowed}.search-btn:disabled,.search-btn:disabled:hover{background:#9ca3af;transform:translateY(-50%)}.search-spinner{animation:spin 1s linear infinite;color:#fff;font-size:14px}.participation-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.participation-modal{animation:modalSlideIn .2s ease-out;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000040;max-width:350px;padding:24px;position:relative;text-align:center;width:90%}.participation-modal-close{position:absolute;right:8px;top:8px}.participation-modal-icon{font-size:64px;line-height:1;margin-bottom:16px}.participation-modal-title{color:#1a1a1b;font-size:18px;font-weight:500;margin:0 0 8px}.participation-modal-description,.participation-modal-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.participation-modal-description{color:#7c7c7c;font-size:14px;line-height:1.4;margin:0 0 24px}.participation-modal-buttons{align-items:center;display:flex;flex-direction:column;gap:12px}.participation-login-btn{align-items:center;background:#ff4500;border:none;border-radius:9999px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.5px;padding:12px 16px;transition:all .1s ease;width:150px}.participation-login-btn:hover{background:#ff5414}.participation-login-btn:active{background:#cc3700}.participation-guest-btn{align-items:center;background:#0000;border:1px solid #0079d3;border-radius:9999px;color:#0079d3;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.5px;padding:12px 16px;transition:all .1s ease}.participation-guest-btn:hover{background:#e9f5fd}.participation-guest-btn:active{background:#cfe8fc;border-color:#0066b3}.participation-btn-subtext{font-size:11px;font-weight:400;opacity:.9}.participation-disclaimer{color:#7c7c7c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:12px;margin-top:16px}@media (max-width:640px){.participation-modal{margin:16px;padding:20px}.participation-modal-icon{font-size:56px}.participation-modal-title{font-size:16px}.participation-modal-description{font-size:13px}.participation-guest-btn,.participation-login-btn{font-size:13px;padding:10px 16px}}.wechat-debug-button-container{bottom:20px;position:fixed;right:20px;z-index:9999}.wechat-debug-button{align-items:center;background-color:#07c160;border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:24px;height:56px;justify-content:center;transition:all .3s ease;width:56px}.wechat-debug-button:hover{background-color:#06ad56;transform:scale(1.1)}.wechat-debug-button:active{transform:scale(.95)}.loading-fallback{width:100%}.loading-content{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.loading-spinner{border-top-color:#4a90e2;height:40px;width:40px}.loading-spinner-small{animation:spin 1s linear infinite;border-radius:50%;display:inline-block}.loading-message{color:#666;font-size:14px;font-weight:500;margin:0}.skeleton-loader{display:flex;flex-direction:column;gap:12px;padding:16px;width:100%}.skeleton-item{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.loading-spinner{border-width:2px;height:32px;width:32px}.loading-message{font-size:13px}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;width:100%}body{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}#root{height:100%}#root,.app{overflow:hidden;width:100%}.app{background-color:#f5f5f5;height:100vh}button{border:none;cursor:pointer;font-family:inherit;outline:none}button:disabled{cursor:not-allowed}input{font-family:inherit}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:24px;margin:20px auto;width:24px}.error-message{background-color:#ffebee;color:#d32f2f}.error-message,.success-message{border-radius:8px;margin:20px;padding:20px;text-align:center}.success-message{background-color:#e8f5e9;color:#2e7d32}
/*# sourceMappingURL=main.2ddb37fb.css.map*/