body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-wrapper{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px 32px;width:100%}.login-title{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:8px;text-align:center}.login-subtitle{color:#64748b;font-size:14px;margin-bottom:32px;text-align:center}.login-form{gap:20px}.input-field,.login-form{display:flex;flex-direction:column}.input-field{gap:8px}.input-field label{color:#475569;font-size:14px;font-weight:500}.input-control{border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;outline:none;padding:12px 16px;transition:all .2s;width:100%}.input-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-message{animation:slideIn .3s ease-out;border-radius:8px;font-size:14px;font-weight:500;padding:12px 16px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-message.error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.login-message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#059669}.action-btn{align-items:center;border-radius:10px;display:flex;font-size:16px;font-weight:600;justify-content:center;padding:14px;transition:all .3s;width:100%}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.action-btn:disabled{cursor:not-allowed;opacity:.6}.action-btn.google-btn{background:#fff;border:1.5px solid #dadce0;color:#3c4043;font-weight:500;gap:10px}.action-btn.google-btn:hover:not(:disabled){background:#f8f9fa;border-color:#dadce0;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.google-icon{flex-shrink:0}.divider{align-items:center;color:#94a3b8;display:flex;font-size:14px;margin:8px 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #e2e8f0;content:"";flex:1 1}.divider span{padding:0 12px}.login-links{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.forgot-link,.register-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:0;text-decoration:none;transition:color .2s}.forgot-link:hover,.register-link:hover{color:#764ba2}.modal-overlay{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:32px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header h3{font-size:22px;font-weight:700}.modal-close{padding:0}.modal-form{gap:20px}.login-wrapper{background:radial-gradient(circle at 50% 42%,#0000 0 120px,#ffffff1f 121px 124px,#0000 125px),linear-gradient(90deg,#0000 0 49.9%,#ffffff21 50%,#0000 50.1%),linear-gradient(90deg,#ffffff0f 1px,#0000 0) 0 0 /96px 96px,linear-gradient(0deg,hsla(0,0%,100%,.045) 1px,#0000 0) 0 0 /96px 96px,linear-gradient(135deg,#052e16,#0f6b3d 52%,#07351f);overflow:hidden;position:relative}.login-wrapper:after,.login-wrapper:before{content:"";inset:auto;pointer-events:none;position:absolute}.login-wrapper:before{border:3px solid #ffffff21;border-radius:0 0 160px 160px;border-top:0;height:160px;left:50%;top:0;transform:translateX(-50%);width:320px}.login-wrapper:after{border:3px solid #ffffff1c;border-radius:999px;bottom:-80px;height:240px;max-width:560px;right:-120px;width:44vw}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #bbf7d042;border-radius:18px;box-shadow:0 26px 70px #031f145c;max-width:440px;position:relative;z-index:1}.login-card:before{background:radial-gradient(circle at center,#0000 0 10px,#064e3bd1 11px 12px,#0000 13px),linear-gradient(90deg,#0000 47%,#064e3bb8 48% 52%,#0000 53%),linear-gradient(0deg,#0000 47%,#064e3bb8 48% 52%,#0000 53%),linear-gradient(135deg,#bbf7d0,#22c55e);border:2px solid #064e3be6;border-radius:50%;box-shadow:0 14px 28px #16a34a42;content:"";display:block;height:54px;margin:0 auto 16px;width:54px}.login-title{color:#052e16}.login-subtitle{color:#3f6212}.input-field label{color:#14532d}.input-control{background:#fffffff5;border-color:#15803d2e}.input-control:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.action-btn.primary{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 14px 28px #16a34a47}.action-btn.primary:hover:not(:disabled){box-shadow:0 16px 32px #16a34a57}.forgot-link,.register-link{color:#047857}.forgot-link:hover,.register-link:hover{color:#065f46}.login-card:before{display:none}.login-logo{background:#fff;border-radius:28px;box-shadow:0 18px 38px #064e3b3d;display:block;height:112px;margin:0 auto 18px;object-fit:cover;padding:8px;width:112px}.generation-container{margin:0 auto;max-width:1100px}.generation-container h2{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:24px}.generation-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.generation-main,.generation-side{height:100%}.generation-form{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:20px;height:100%;padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#475569;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.textarea-control{border:1.5px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:15px;padding:12px 16px;resize:vertical;transition:all .2s;width:100%}.textarea-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.radio-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.radio-option{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s}.radio-option:hover{background:#f9fafb;border-color:#c7d2fe}.radio-option input[type=radio]{accent-color:#667eea;cursor:pointer;margin:0}.radio-option input[type=radio]:checked+span{color:#667eea;font-weight:500}.radio-option:has(input[type=radio]:checked){background:#f0f4ff;border-color:#667eea}.upload-area{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.upload-card{align-items:center;background:#f9fafb;border:2px dashed #c7d2fe;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:140px;min-width:140px;padding:24px 20px;transition:all .3s}.upload-card:hover{background:#f5f7ff;border-color:#a5b4fc;transform:translateY(-2px)}.upload-icon{align-items:center;background:#6366f1;border-radius:50%;color:#fff;display:flex;font-size:0;height:40px;justify-content:center;margin-bottom:12px;position:relative;width:40px}.upload-icon:after,.upload-icon:before{background:#fff;border-radius:2px;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.upload-icon:before{height:3px;width:20px}.upload-icon:after{height:20px;width:3px}.upload-header{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:12px;width:100%}.upload-text{font-size:16px;font-weight:600}.upload-hint{display:block;margin:8px auto 0;max-width:90%;overflow:visible;text-overflow:clip;white-space:normal;width:100%}.video-upload-hint{font-size:10px}.upload-text{color:#6366f1;font-size:14px;font-weight:500;margin-bottom:8px;white-space:nowrap}.upload-hint{color:#9ca3af;font-size:12px;line-height:1.5;max-width:180px;text-align:center}.image-preview-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;max-height:160px;max-width:160px;min-height:140px;min-width:140px;overflow:hidden;position:relative}.image-preview-card img{height:100%;object-fit:cover;width:100%}.remove-btn{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;transition:all .2s;width:28px}.remove-btn:hover{background:#dc2626e6;transform:scale(1.1)}.error-message{background:#fee2e2;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px;padding:12px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;font-weight:600;transition:all .3s;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.submit-btn:disabled{opacity:.6}.loading-box{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:40px;text-align:center}.loading-box.side{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:420px}.image-loading-simple{gap:18px}.image-loading-icon{animation:spin 1s linear infinite;border-color:#a855f7 #7c3aed #e2e8f0 #e2e8f0;border-radius:50%;border-style:solid;border-width:6px;box-shadow:0 8px 20px #7c3aed40;height:84px;position:relative;width:84px}.image-loading-icon span{background:radial-gradient(circle at 30% 30%,#ede9fe,#c4b5fd);border-radius:50%;inset:14px;opacity:.9;position:absolute}.image-loading-tip{color:#475569;font-size:16px;font-weight:500}.loading-box.side .video-placeholder-mask{background:#0f172a url(/static/media/video-placeholder.5c744bb1567aa43b3f08.svg) 50%/cover no-repeat;border-radius:20px;box-shadow:0 20px 40px #0f172a40;height:280px;max-width:520px;overflow:hidden;position:relative;width:100%}.loading-box.side .video-placeholder-mask:before{background:#0f172a99;content:"";inset:0;position:absolute}.loading-box.side .video-placeholder-mask:after{animation:videoWave 4.5s linear infinite;background:radial-gradient(circle at 20% 20%,#ffffff40,#fff0 55%),linear-gradient(120deg,#ffffff40,#ffffff0d,#fff0);content:"";inset:-50%;opacity:.6;position:absolute}.loading-box.side .video-placeholder-mask.with-source{background-position:50%;background-size:cover}.enhance-loading .spinner{margin-bottom:20px}.timer-display{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;font-size:18px;font-weight:600;gap:8px;margin-top:16px;padding:12px 20px}.timer-label{font-size:14px;font-weight:500;opacity:.9}.timer-display.compact{font-size:14px;margin-top:12px;padding:8px 12px}.timer-value{font-feature-settings:"tnum";font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:1px}.enhance-status{border-radius:10px;display:flex;flex-direction:column;font-weight:600;gap:10px;margin-bottom:16px;padding:12px 16px;width:100%}.enhance-status.success{background:#ecfdf5;border:1px solid #6ee7b7;color:#047857}.enhance-status.failed{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.enhance-status.processing{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.enhance-status.centered{justify-content:center;text-align:center}.action-btn.retry-btn{background:#ef4444}.action-btn.retry-btn:hover{background:#dc2626}.retry-enhance-btn{align-self:flex-start;background:#fff;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:12px;font-weight:600;margin-top:8px;padding:6px 12px}.retry-enhance-btn:hover{background:#fee2e2}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}.spinner.small{border-width:3px;height:24px;margin-bottom:8px;width:24px}@keyframes videoWave{0%{transform:translate(-20%,-20%) rotate(0deg)}50%{transform:translate(10%,10%) rotate(5deg)}to{transform:translate(40%,40%) rotate(10deg)}}.result-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:420px;padding:24px}.result-card h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:16px}.video-preview-card{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#475569;font-weight:600;margin-bottom:20px;padding:40px 20px;text-align:center;width:100%}.video-preview-card .preview-icon{font-size:48px;margin-bottom:12px}.result-images{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px}.result-image{background:#0000;border:none;border-radius:0;height:auto;max-width:100%;object-fit:contain;width:auto}.result-actions{display:flex;gap:12px;justify-content:center}.action-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.action-btn:hover{background:#5568d3;transform:translateY(-1px)}.action-btn.download{background:#f5576c}.action-btn.download:hover{background:#e04558}.video-thumbnail-wrapper{border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;margin:20px auto;max-width:280px;overflow:hidden;position:relative;width:100%}.video-thumbnail{background:#000;display:block;height:auto;width:100%}.video-play-overlay{align-items:center;background:#0000004d;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;transition:all .3s ease;width:100%}.video-play-overlay:hover{background:#00000080}.video-thumbnail-wrapper.playing .video-play-overlay{display:none}.video-thumbnail-wrapper.with-overlay{pointer-events:none}.video-overlay{background:#0f172aa6;color:#fff;flex-direction:column;font-weight:600;gap:8px;height:100%;left:0;position:absolute;top:0;width:100%}.play-icon,.video-overlay{align-items:center;display:flex;justify-content:center}.play-icon{background:#ffffffe6;border-radius:50%;color:#667eea;font-size:24px;height:60px;padding-left:4px;transition:all .3s ease;width:60px}.play-icon:hover{background:#fff;transform:scale(1.1)}.image-result-wrapper{background:#0000;border:none;display:inline-block;max-width:100%;overflow:visible;position:relative}.image-status-overlay{align-items:center;background:#0f172a8c;bottom:0;display:flex;flex-direction:column;font-size:13px;gap:8px;justify-content:center;left:0;padding:12px;right:0;text-align:center;top:0}.image-status-overlay,.image-status-tag{color:#fff;font-weight:500;position:absolute}.image-status-tag{border-radius:999px;bottom:12px;box-shadow:0 6px 16px #0f172a40;font-size:12px;padding:6px 14px;right:12px}.image-status-tag.success{background:linear-gradient(135deg,#34d399,#10b981)}.image-status-tag.failed{background:linear-gradient(135deg,#f97373,#ef4444)}.result-placeholder{align-items:center;background:#f9fafc;border:2px dashed #6366f133;border-radius:20px;color:#94a3b8;display:flex;flex-direction:column;font-size:15px;gap:12px;height:100%;justify-content:center;min-height:420px;text-align:center}.placeholder-icon{font-size:32px}@media (max-width:1024px){.generation-layout{grid-template-columns:1fr}.generation-side{order:2}}.view-btn{background:#667eea}.view-btn:hover{background:#5568d3}.download-btn{background:#f5576c}.download-btn:hover{background:#e04558}.image-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.image-modal-content{animation:zoomIn .3s ease-out;background:#0000;border-radius:0;box-shadow:none;max-height:90vh;max-width:90vw;padding:0;position:relative}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.image-modal-close{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;top:10px;transition:all .2s;width:36px;z-index:1}.image-modal-close:hover{background:#000c;transform:rotate(90deg)}.image-modal-img{background:#0000;border:none;border-radius:0;display:block;max-height:90vh;max-width:100%;object-fit:contain}.generation-form-inner{display:flex;flex:1 1;flex-direction:column;gap:20px}.batch-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:24px}.batch-header,.batch-info{align-items:center;display:flex;gap:16px}.batch-info{color:#64748b;font-size:14px}.add-group-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.add-group-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.batch-groups{display:flex;flex-direction:column;gap:24px}.batch-group-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:24px;transition:all .2s}.batch-group-card:hover{box-shadow:0 4px 12px #00000014}.group-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.group-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.remove-group-btn{background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.remove-group-btn:hover:not(:disabled){background:#fecaca;transform:translateY(-1px)}.remove-group-btn:disabled{cursor:not-allowed;opacity:.5}.group-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.group-form-side,.group-result-side{height:100%}.group-form{display:flex;flex-direction:column;gap:20px}.group-result-side .result-card{align-items:flex-start;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:16px;min-height:420px;padding:24px}.group-result-side .result-card h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:0;text-align:left}.group-result-side .result-images{align-items:flex-start;display:flex;flex-direction:column;gap:16px;width:100%}.group-result-side .image-result-wrapper{background:#0000;border:none;border-radius:0;display:inline-block;max-width:100%;overflow:visible;position:relative;width:auto}.group-result-side .image-result-wrapper .result-image{border-radius:0;display:block;height:auto;max-width:100%;object-fit:contain;width:auto}.group-result-side .image-actions{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;bottom:12px;display:flex;filter:none;-webkit-filter:none;gap:8px;left:50%;opacity:0;position:absolute;text-rendering:optimizeLegibility;transform:translateX(-50%) translateZ(0);transition:opacity .2s;will-change:opacity}.group-result-side .image-result-wrapper:hover .image-actions{opacity:1}.group-result-side .image-actions .action-btn{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:none;border-radius:8px;cursor:pointer;filter:none;-webkit-filter:none;font-size:14px;font-weight:600;line-height:1.4;padding:10px 18px;position:relative;text-rendering:optimizeLegibility;text-shadow:none;transform:translateZ(0);transition:all .2s}.group-result-side .image-actions .view-btn{background:#fff;box-shadow:0 2px 8px #0003;color:#667eea}.group-result-side .image-actions .view-btn:hover{background:#f8f9ff;box-shadow:0 4px 12px #00000040;transform:translateY(-1px) translateZ(0)}.group-result-side .image-actions .download-btn{background:#667eea;box-shadow:0 2px 8px #667eea66;color:#fff}.group-result-side .image-actions .download-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea80;transform:translateY(-1px) translateZ(0)}@media (max-width:768px){.batch-header{align-items:flex-start;flex-direction:column}.group-layout,.group-result-side .result-images{grid-template-columns:1fr}}.points-page{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1008px;padding:32px 24px 80px;width:100%}.fund-recharge-page{gap:22px;max-width:1320px}.points-header h2{color:#111827;font-size:24px;margin:0 0 8px}.points-header p{color:#6b7280;font-size:14px;margin:0}.fund-balance-card{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.fund-balance-card>div,.fund-section-card{background:#fffffff2;border:1px solid #15803d24;border-radius:22px;box-shadow:0 20px 46px #064e3b1f}.fund-balance-card>div{display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:140px;padding:24px}.fund-card-label{color:#64748b;font-size:13px}.fund-balance-card strong{color:#052e16;font-size:28px;line-height:1}.fund-balance-card small{color:#86a38e;font-size:12px}.fund-section-card{padding:26px}.fund-section-title{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.fund-section-title h3{color:#052e16;font-size:17px;margin:0}.fund-section-title span{color:#64748b;font-size:13px}.fund-payment-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.fund-payment-option{grid-gap:14px;align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;cursor:pointer;display:grid;gap:14px;grid-template-columns:18px 52px minmax(0,1fr);min-height:124px;padding:18px;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.fund-payment-option.active,.fund-payment-option:hover{background:#ecfdf5;border-color:#22c55e;box-shadow:0 14px 30px #22c55e29;transform:translateY(-1px)}.fund-payment-radio{background:#fff;border:1.5px solid #cbd5e1;border-radius:999px;height:16px;width:16px}.fund-payment-option.active .fund-payment-radio{border:5px solid #22c55e}.fund-payment-logo{align-items:center;background:#f8fafc;border-radius:14px;color:#15803d;display:inline-flex;font-size:22px;font-weight:800;height:52px;justify-content:center;width:52px}.fund-payment-logo img{height:42px;object-fit:contain;width:42px}.fund-payment-option.active .fund-payment-logo{background:#fff}.fund-payment-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.fund-payment-copy strong{color:#052e16;font-size:15px}.fund-payment-copy small{color:#64748b;font-size:12px;line-height:1.5}.fund-amount-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:minmax(220px,440px) 150px}.fund-amount-input{align-items:center;background:#fff;border:1.5px solid #dbe4e7;border-radius:14px;display:flex;height:48px;overflow:hidden}.fund-amount-input:focus-within{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e24}.fund-amount-input span{color:#64748b;font-weight:700;padding-left:16px}.fund-amount-input input{background:#0000;border:none;flex:1 1;font-size:13px;height:100%;outline:none;padding:0 14px}.fund-primary-btn{background:linear-gradient(135deg,#22c55e,#15803d);border:none;border-radius:14px;box-shadow:0 14px 28px #16a34a47;color:#fff;cursor:pointer;font-size:13px;font-weight:800;height:48px}.fund-module-message{background:#ecfdf5;border:1px solid #15803d29;border-radius:14px;color:#047857;font-size:14px;margin-top:16px;padding:14px 16px}.points-top-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.points-card{background:#fff;border-radius:20px;box-shadow:0 15px 40px #0f172a14;padding:20px}.points-card .label{color:#9ca3af;font-size:14px;margin-bottom:8px}.points-card .value{color:#111827;font-size:28px;font-weight:700}.points-card.costs ul{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.points-card.costs li{color:#4b5563;display:flex;font-size:14px;justify-content:space-between}.points-content{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:minmax(0,420px) minmax(0,1fr)}.points-history,.points-recharge-form{background:#fff;border-radius:24px;box-shadow:0 20px 45px #0f172a14;padding:24px}.points-history h3,.points-recharge-form h3{color:#111827;font-size:18px;margin:0 0 16px}.points-recharge-form form{display:flex;flex-direction:column;gap:12px}.points-recharge-form input{border:1.5px solid #e5e7eb;border-radius:16px;font-size:16px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.points-recharge-form input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e24}.expected-points{color:#4b5563;font-size:14px}.quick-recharge-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;display:none;flex-direction:column;gap:12px;margin:8px 0 4px;padding:16px}.quick-recharge-copy{color:#334155;display:flex;flex-direction:column;font-size:14px;gap:6px}.quick-recharge-copy strong{color:#111827;font-size:16px}.quick-submit-btn{margin-top:0}.points-divider{align-items:center;color:#94a3b8;display:flex;font-size:13px;justify-content:center;margin:8px 0 4px}.secondary-action-btn{background:#fff;border:1px solid #cbd5e1;border-radius:14px;color:#334155;cursor:pointer;display:none;font-size:14px;margin-top:4px;padding:12px 14px}.channel-options{display:flex;gap:12px}.channel-btn{background:#fff;border:1.5px solid #e5e7eb;border-radius:999px;cursor:pointer;flex:1 1;font-size:15px;padding:10px;transition:all .2s}.channel-btn.active{border-color:#22c55e;box-shadow:0 8px 20px #22c55e38;color:#15803d}.submit-btn{background:linear-gradient(135deg,#22c55e,#15803d);border:none;border-radius:16px;box-shadow:0 14px 28px #16a34a47;color:#fff;cursor:pointer;font-size:16px;margin-top:8px;padding:14px;transition:transform .2s ease,box-shadow .2s ease}.submit-btn:hover:not(:disabled){box-shadow:0 18px 34px #16a34a57;transform:translateY(-1px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.65}.points-error,.points-success{border-radius:14px;font-size:14px;padding:12px 14px}.points-error{background:#fef2f2;color:#b91c1c}.points-success{background:#ecfdf5;color:#047857}.points-history ul{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.points-history li{border:1px solid #f1f5f9;border-radius:16px;display:flex;flex-direction:column;gap:6px;padding:14px 16px}.tx-main{color:#111827;display:flex;font-weight:600;justify-content:space-between}.tx-change.plus{color:#16a34a}.tx-change.minus{color:#ef4444}.tx-info{color:#94a3b8;display:flex;font-size:13px;justify-content:space-between}.points-empty,.points-loading{color:#94a3b8;text-align:center}.payment-methods{display:flex;gap:12px;margin-bottom:12px}.payment-method{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:16px 12px;transition:all .2s}.payment-method:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.payment-method.active{background:#ecfdf5;border-color:#22c55e;box-shadow:0 8px 20px #22c55e33}.payment-icon{align-items:center;display:flex;height:40px;justify-content:center;width:40px}.payment-icon.alipay-icon,.payment-icon.paypal-icon,.payment-icon.wechat-icon{background:none;border:none}.alipay-icon,.wechat-icon{height:40px;object-fit:contain;width:40px}.paypal-icon{height:48px;object-fit:contain;width:64px}.payment-method span{color:#374151;font-size:14px;font-weight:600}.payment-method.active span{color:#15803d}.paypal-input-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:8px;padding:16px}.paypal-input-section label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.paypal-email-input{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;font-size:15px;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.paypal-email-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e24}.paypal-hint{color:#6b7280;font-size:13px;line-height:1.5;margin:12px 0 0}@media (max-width:960px){.fund-amount-row,.fund-balance-card,.fund-payment-grid,.points-content{grid-template-columns:1fr}.payment-methods{flex-direction:column}.payment-method{flex-direction:row;justify-content:flex-start;padding:14px 16px}.payment-icon{font-size:18px;height:36px;width:36px}.paypal-icon{height:42px;width:58px}}.points-ledger-page{display:flex;flex-direction:column;gap:22px;margin:0 auto;max-width:1320px;padding:28px 24px 72px;width:100%}.points-ledger-header h2{color:#052e16;font-size:24px;font-weight:800;margin:0 0 8px}.points-ledger-header p{color:#3f6212;font-size:14px;line-height:1.6;margin:0}.points-ledger-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(150px,1fr))}.ledger-summary-card{background:#fffffff0;border:1px solid #15803d24;border-radius:20px;box-shadow:0 18px 40px #064e3b1a;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:130px;padding:20px}.ledger-summary-card span{color:#64748b;font-size:13px}.ledger-summary-card strong{color:#052e16;font-size:24px;line-height:1}.ledger-summary-card small{color:#86a38e;font-size:12px}.ledger-summary-card.balance,.ledger-summary-card.income{background:linear-gradient(135deg,#ecfdf5,#fff)}.points-ledger-table-card{background:#fffffff5;border:1px solid #15803d24;border-radius:24px;box-shadow:0 20px 46px #064e3b1f;padding:24px}.ledger-table-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.ledger-table-title h3{color:#052e16;font-size:17px;margin:0}.ledger-table-title span{color:#64748b;font-size:13px}.ledger-table-wrap{border:1px solid #e2e8f0;border-radius:16px;overflow:auto}.ledger-table{background:#fff;border-collapse:collapse;min-width:880px;width:100%}.ledger-table td,.ledger-table th{border-bottom:1px solid #e5e7eb;color:#0f172a;font-size:12px;padding:15px 18px;text-align:left;white-space:nowrap}.ledger-table th{background:#f8fafc;color:#475569;font-weight:700}.ledger-table tr:last-child td{border-bottom:none}.ledger-change.minus{color:#dc2626;font-weight:700}.ledger-empty{background:#f8fafc;border-radius:16px;color:#64748b;padding:60px 16px;text-align:center}@media (max-width:1180px){.points-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.sports-prediction-page{--sports-match-card-height:132px;--sports-match-list-gap:12px;color-scheme:light;display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:1440px;min-height:0;overflow-x:hidden;overflow-y:hidden}.sports-prediction-header{align-items:flex-start;background:#f8fafc;display:flex;flex-shrink:0;gap:24px;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.sports-language-switcher{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 10px 24px #0f172a0f;display:inline-flex;gap:10px;padding:8px 10px}.sports-language-switcher span{color:#475569;font-size:13px;font-weight:600}.language-pill{background:#0000;border:none;border-radius:999px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.language-pill.active{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff}.sports-prediction-header h2{color:#0f172a;font-size:28px;font-weight:700;margin:0 0 8px}.sports-prediction-header p{color:#64748b;line-height:1.6;margin:0;max-width:720px}.sports-type-switcher{display:flex;flex-shrink:0;gap:10px}.sport-tab{background:#fff;border:1px solid #dbe4ff;border-radius:999px;color:#4f46e5;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .2s ease}.sport-tab:hover{border-color:#a5b4fc;transform:translateY(-1px)}.sport-tab.active{background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:#0000;box-shadow:0 12px 24px #4f46e538;color:#fff}.sports-prediction-layout{grid-gap:24px;align-items:start;display:grid;flex:1 1;gap:24px;grid-template-columns:390px minmax(0,1fr);min-height:0;overflow:visible}.sports-editor-panel,.sports-match-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 16px 40px #0f172a0f}.sports-match-sidebar{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.sports-panel-heading{align-items:flex-start;border-bottom:1px solid #eef2f7;display:flex;gap:12px;justify-content:space-between;padding:22px 22px 18px}.sports-panel-heading.compact{border-bottom:none;padding:0 0 8px}.sports-panel-heading strong{color:#0f172a;display:block;font-size:16px;margin-bottom:0}.sports-panel-heading span{color:#94a3b8;font-size:13px}.sports-panel-heading em{background:#fef3c7;border-radius:999px;color:#b45309;font-size:12px;font-style:normal;padding:6px 10px;white-space:nowrap}.sports-panel-message{border-radius:14px;font-size:13px;line-height:1.5;margin:16px 22px 0;padding:12px 14px}.sports-panel-message.warning{background:#fff7ed;border:1px solid #fdba74;color:#c2410c}.sports-filter-bar{align-items:center;display:flex;gap:12px;padding:16px 22px 0}.sports-filters{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr}.sports-day-switcher{flex:1 1 auto;gap:12px;padding:0}.sports-day-switcher .sport-tab{flex:1 1;text-align:center}.sports-day-toolbar{align-items:center;display:flex;gap:12px;padding:22px 22px 0}.sports-refresh-btn{background:#fff;border:1px solid #dbe4ff;border-radius:999px;color:#4f46e5;cursor:pointer;flex:0 0 auto;font-size:14px;font-weight:600;min-height:42px;padding:0 16px;transition:all .2s ease}.sports-refresh-btn:hover:not(:disabled){border-color:#a5b4fc;transform:translateY(-1px)}.sports-refresh-btn:disabled{cursor:not-allowed;opacity:.6}.sports-sidebar-meta{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 22px 4px}.sports-sidebar-meta span{color:#94a3b8;font-size:13px}.sports-sidebar-meta em{background:#fef3c7;border-radius:999px;color:#b45309;font-size:12px;font-style:normal;padding:6px 10px;white-space:nowrap}.sports-filter-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.sports-filter-bar label{color:#475569;font-size:13px;font-weight:600;white-space:nowrap}.sports-filter-bar select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;color-scheme:light;font-size:14px;padding:10px 14px;width:100%}.sports-filter-bar select option{background-color:#fff;color:#0f172a}.sports-dropdown{position:relative;width:100%}.sports-dropdown-trigger{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;cursor:pointer;display:flex;font-size:14px;gap:12px;justify-content:space-between;min-height:44px;padding:10px 14px;text-align:left;width:100%}.sports-dropdown-trigger.open,.sports-dropdown-trigger:hover{border-color:#818cf8}.sports-dropdown-search:focus,.sports-dropdown-trigger:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f124;outline:none}.sports-dropdown-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sports-dropdown-trigger-icon{color:#64748b;flex-shrink:0;font-size:12px}.sports-dropdown-panel{background:#fff;border:1px solid #dbe4ff;border-radius:16px;box-shadow:0 20px 40px #0f172a2e;display:flex;flex-direction:column;gap:10px;left:0;padding:12px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.sports-dropdown-search{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:14px;padding:10px 12px;width:100%}.sports-dropdown-options{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.sports-dropdown-option{background:#fff;border:none;border-radius:12px;color:#0f172a;cursor:pointer;font-size:14px;padding:10px 12px;text-align:left;width:100%}.sports-dropdown-option:hover{background:#eef2ff}.sports-dropdown-option.active{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca;font-weight:600}.sports-dropdown-empty{background:#f8fafc;border-radius:12px;color:#64748b;font-size:13px;padding:12px}.sports-match-list{display:flex;flex:1 1;flex-direction:column;gap:10px;max-height:none;min-height:0;overflow-y:auto;padding:14px 18px 18px;scrollbar-gutter:stable}.sports-match-list::-webkit-scrollbar{width:10px}.sports-match-list::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}.sports-match-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c7d2fe,#818cf8);border:2px solid #eef2f7;border-radius:999px}.sports-match-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a5b4fc,#6366f1)}.sports-match-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;cursor:pointer;padding:12px 14px;text-align:left;transition:all .2s ease}.sports-match-card:hover{background:#eef2ff;border-color:#c7d2fe;transform:translateY(-2px)}.sports-match-card.active{background:linear-gradient(180deg,#eef2ff,#fff);border-color:#4f46e5;box-shadow:0 12px 24px #6366f11f}.sports-match-meta,.sports-match-subline{align-items:center;color:#64748b;display:flex;font-size:12px;gap:8px;justify-content:space-between}.sports-match-teams{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto 1fr;margin:10px 0 8px}.sports-team{align-items:center;display:flex;gap:10px;min-width:0}.sports-team-right{justify-content:flex-end}.team-logo{background:#fff;border:1px solid #dbe4ff;border-radius:999px;flex-shrink:0;height:30px;object-fit:contain;width:30px}.team-logo-placeholder{align-items:center;background:#eef2ff;color:#4338ca;display:inline-flex;font-size:12px;font-weight:700;justify-content:center}.sports-match-teams strong{color:#0f172a;font-size:14px;font-weight:700;min-width:0}.sports-team-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sports-match-teams strong:last-child{text-align:right}.sports-match-teams span{color:#6366f1;font-size:11px;font-weight:700;letter-spacing:.08em}.sports-editor-panel{grid-gap:20px;display:grid;gap:20px;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px}.sports-editor-top{display:block;min-height:0;overflow:visible}.sports-article-preview{background:#fbfdff;border:1px solid #e2e8f0;border-radius:20px;min-height:0;padding:20px}.sports-selected-badge{align-items:center;background:#e0e7ff;border-radius:999px;color:#4338ca;display:inline-flex;font-size:12px;font-weight:700;margin-bottom:14px;padding:6px 10px}.sports-selected-badge.muted{background:#e2e8f0;color:#475569}.sports-selected-match h3{color:#0f172a;font-size:28px;line-height:1.2;margin:0 0 12px}.sports-selected-teams{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:auto auto auto;justify-content:center;margin-bottom:10px}.sports-selected-team{align-items:center;display:flex;gap:12px;min-width:0}.sports-selected-team:last-child{justify-content:flex-start}.sports-selected-team span{color:#0f172a;font-size:18px;font-weight:700}.sports-selected-match p{color:#64748b;line-height:1.7;margin:0}.sports-article-preview{display:flex;flex-direction:column;gap:16px}.sports-article-match-card{background:#fbfdff;border:1px solid #e2e8f0;border-radius:18px;padding:20px}.sports-article-match-card-inline{align-items:center;display:flex;flex-direction:column;gap:12px;margin:0 auto 20px;max-width:760px;text-align:center}.sports-article-match-card-inline .sports-selected-badge{align-self:center}.sports-article-match-card-inline .sports-selected-team{justify-content:center}.sports-article-match-card-inline .sports-selected-team span{text-align:center}.sports-article-match-card-inline p{color:#64748b;line-height:1.7;margin:0}.sports-article-match-empty h3{color:#0f172a;font-size:28px;line-height:1.2;margin:0 0 12px}.sports-article-match-empty p{color:#64748b;line-height:1.7;margin:0}.sports-article-box{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #edf2f7;border-radius:18px;display:flex;flex:1 1;flex-direction:column;min-height:360px;overflow-y:auto;padding:20px}.sports-article-list{display:flex;flex-direction:column;gap:24px}.sports-article-item{background:#fff;border:1px solid #e7eef8;border-radius:18px;padding:24px}.sports-article-item .sports-article-match-card-inline{margin-bottom:22px}.sports-article-preview .sports-article-match-card-inline{display:none}.sports-article-box p{color:#1e293b;font-size:15px;line-height:1.85;margin:0}.sports-article-text{display:flex;flex-direction:column;gap:0}.sports-article-spacer{height:14px}.sports-editor-bottom label{color:#475569;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.sports-editor-frame{background:#fff;border:1px solid #dbe4ff;border-radius:24px;box-shadow:inset 0 1px 0 #fffc;overflow:visible}.sports-editor-match-card{align-items:center;background:radial-gradient(circle at 50% 50%,#0000 0 58px,#22c55e14 59px 61px,#0000 62px),linear-gradient(90deg,#0000 0 49.8%,#22c55e1f 50%,#0000 50.2%),linear-gradient(180deg,#fff,#f0fdf4);border:1px solid #15803d29;border-radius:20px;display:flex;flex-direction:column;gap:14px;margin:18px 24px 0;min-height:132px;padding:22px 20px;text-align:center}.sports-editor-match-card .sports-selected-badge{margin-bottom:0}.sports-editor-match-card p{color:#3f6212;line-height:1.7;margin:0}.sports-editor-match-empty{background:#f7fee7;border:1px dashed #15803d38;border-radius:20px;color:#3f6212;font-weight:700;margin:18px 24px 0;min-height:132px;padding:42px 20px;text-align:center}.sports-prompt-input{background:#0000;border:none;color:#0f172a;font-family:inherit;font-size:15px;line-height:1.75;min-height:96px;padding:14px 24px 10px;resize:vertical;width:100%}.sports-prompt-input:focus{outline:none}.sports-editor-actions{align-items:center;background:linear-gradient(180deg,#f1f5f900,#f8fafc);border-top:1px solid #eef2ff;display:flex;gap:16px;justify-content:space-between;padding:14px 18px 18px}.sports-model-picker{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:600;gap:12px}.sports-pickers{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.sports-model-dropdown{max-width:150px;min-width:150px;width:150px}.sports-model-dropdown-model{max-width:180px;min-width:180px;width:180px}.sports-model-dropdown-effect,.sports-model-dropdown-target{max-width:150px;min-width:150px;width:150px}.sports-model-dropdown .sports-dropdown-panel{z-index:60}.sports-generate-btn{background:linear-gradient(135deg,#2563eb,#4f46e5);border:none;border-radius:14px;box-shadow:0 16px 24px #2563eb38;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 22px;transition:all .2s ease}.sports-generate-btn:hover:not(:disabled){transform:translateY(-2px)}.sports-generate-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.sports-empty-state{color:#94a3b8;line-height:1.7;padding:40px 16px;text-align:center}.sports-empty-copy{padding-top:8px}@media (max-width:1280px){.sports-editor-top{grid-template-columns:1fr}}@media (max-width:1024px){.sports-prediction-layout{grid-template-columns:1fr}.sports-prediction-header{flex-direction:column}.sports-match-sidebar{max-height:none}.sports-filter-row{gap:0;grid-template-columns:1fr}}@media (max-width:768px){.sports-type-switcher{width:100%}.sports-day-toolbar{align-items:stretch;flex-direction:column}.sports-refresh-btn{width:100%}.sport-tab{flex:1 1}.sports-editor-actions{align-items:stretch;flex-direction:column}.sports-model-picker,.sports-pickers{justify-content:space-between}.sports-pickers{width:100%}}@media (min-width:1200px){.sports-prediction-page{--sports-match-card-height:108px;--sports-match-list-gap:9px;max-width:1260px}.sports-prediction-header{margin-bottom:12px;padding-bottom:6px;z-index:5}.sports-prediction-header h2{font-size:24px;margin-bottom:4px}.sports-prediction-header p{font-size:13px;line-height:1.45}.sports-language-switcher{gap:6px;padding:6px 8px}.language-pill{font-size:12px;padding:7px 10px}.sports-prediction-layout{gap:20px;grid-template-columns:320px minmax(0,1fr)}.sports-editor-panel,.sports-match-sidebar{border-radius:20px}.sports-day-toolbar{gap:10px;padding:16px 18px 0}.sport-tab{font-size:13px;padding:8px 14px}.sports-refresh-btn{font-size:13px;min-height:36px;padding:0 12px}.sports-sidebar-meta{padding:10px 18px 2px}.sports-sidebar-meta em,.sports-sidebar-meta span{font-size:12px}.sports-filter-bar{gap:10px;padding:12px 18px 0}.sports-filter-bar label{font-size:12px}.sports-dropdown-trigger{font-size:12px;min-height:38px;padding:8px 12px}.sports-match-list{gap:var(--sports-match-list-gap);padding:12px 16px 16px}.sports-match-card{border-radius:15px;min-height:var(--sports-match-card-height);padding:10px 12px}.sports-match-meta,.sports-match-subline{font-size:11px}.sports-match-teams{gap:6px;margin:8px 0 6px}.sports-team{gap:8px}.team-logo{height:26px;width:26px}.sports-match-teams strong{font-size:13px}.sports-match-teams span{font-size:10px}.sports-editor-panel{gap:14px;padding:18px}.sports-article-preview{border-radius:18px;gap:12px;padding:16px}.sports-editor-frame{border-radius:20px}.sports-editor-match-card{gap:10px;padding:16px}.sports-editor-match-card,.sports-editor-match-empty{border-radius:16px;margin:14px 18px 0;min-height:104px}.sports-editor-match-empty{padding:34px 16px}.sports-selected-badge{font-size:11px;margin-bottom:10px;padding:5px 9px}.sports-selected-teams{gap:8px;margin-bottom:6px}.sports-selected-team{gap:8px}.sports-selected-team span{font-size:15px}.sports-article-match-card-inline p,.sports-article-match-empty p,.sports-editor-match-card p{font-size:12px;line-height:1.45}.sports-editor-actions{gap:12px;padding:12px 16px 14px}.sports-pickers{gap:18px}.sports-model-picker{font-size:12px;gap:10px}.sports-model-dropdown{max-width:140px;min-width:140px;width:140px}.sports-model-dropdown-model{max-width:168px;min-width:168px;width:168px}.sports-model-dropdown-effect,.sports-model-dropdown-target{max-width:140px;min-width:140px;width:140px}.sports-generate-btn{border-radius:12px;font-size:13px;min-height:38px;padding:0 18px}.sports-article-box{border-radius:16px;min-height:260px;padding:16px}.sports-empty-state{font-size:13px;padding:32px 12px}}.sports-prediction-page{font-size:13px}.sports-prediction-header h2{font-size:24px}.language-pill,.sport-tab,.sports-article-preview,.sports-dropdown-option,.sports-dropdown-trigger,.sports-empty-state,.sports-generate-btn,.sports-language-switcher span,.sports-match-card,.sports-match-meta,.sports-match-subline,.sports-panel-heading span,.sports-panel-message,.sports-prediction-header p,.sports-preview-empty,.sports-refresh-btn,.sports-selected-match p,.sports-sidebar-meta{font-size:12px}.sports-editor-panel label,.sports-panel-heading strong,.sports-selected-team span,.sports-selected-teams>strong,.sports-team-name{font-size:13px}.sports-selected-badge{font-size:11px}.prediction-automation{background:#0000;border:none;box-shadow:none;color:#0f1f3d;font-size:13px;padding:16px 18px 24px}.automation-hero,.automation-summary,.automation-table-card{background:#fffffff0;border:1px solid #15803d29;border-radius:18px;box-shadow:0 20px 46px #064e3b1f}.automation-hero{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;gap:20px;justify-content:space-between;padding:0 0 16px}.automation-hero h2{font-size:26px;font-weight:900;letter-spacing:0;margin:0 0 8px}.automation-hero p{color:#6f819c;font-size:13px;line-height:1.55;margin:0}.automation-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.automation-danger,.automation-primary,.automation-row-btn,.automation-secondary{border:none;border-radius:14px;cursor:pointer;font-weight:800;transition:transform .2s ease,opacity .2s ease}.automation-danger,.automation-primary{color:#fff;font-size:13px;min-width:150px;padding:12px 18px}.automation-primary{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 14px 28px #16a34a47}.automation-danger{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 14px 28px #b91c1c38}.automation-secondary{background:#ecfdf5;border:1px solid #16a34a38;box-shadow:0 10px 22px #064e3b14;color:#166534;font-size:13px;padding:12px 16px}.automation-row-btn{background:linear-gradient(135deg,#16a34a,#047857);box-shadow:0 10px 20px #16a34a38;color:#fff;font-size:12px;padding:8px 12px;white-space:nowrap}.automation-danger:disabled,.automation-primary:disabled,.automation-row-btn:disabled,.automation-secondary:disabled{cursor:not-allowed;opacity:.55}.automation-danger:not(:disabled):hover,.automation-primary:not(:disabled):hover,.automation-row-btn:not(:disabled):hover,.automation-secondary:not(:disabled):hover{filter:brightness(1.04);transform:translateY(-1px)}.automation-summary{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;padding:14px}.automation-summary span{align-items:center;background:#ecfdf5;border-radius:999px;color:#064e3b;display:inline-flex;font-size:13px;font-weight:800;min-height:34px;padding:0 12px}.automation-message{border-radius:14px;font-weight:700;margin-bottom:16px;padding:14px 16px}.automation-message.error{background:#fff1f3;border:1px solid #ffc9d2;color:#a12335}.automation-message.success{background:#effcf6;border:1px solid #bfead7;color:#0a7b4f}.automation-table-card{overflow:hidden}.automation-row,.automation-table-head{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:140px 1.1fr 1.6fr 110px 130px 110px}.automation-table-head{background:linear-gradient(180deg,#ecfdf5,#f7fee7);color:#064e3b;font-size:13px;font-weight:900;padding:14px 16px}.automation-table-body{max-height:calc(100vh - 360px);min-height:280px;overflow:auto}.automation-row{background:linear-gradient(180deg,#fff,#f8fff9);border:1px solid #15803d24;border-radius:16px;font-size:13px;margin:10px 14px;padding:14px}.automation-row small,.automation-row strong{display:block}.automation-row small{color:#7e91ad;font-size:12px;margin-top:4px}.automation-teams{align-items:center;display:flex;font-weight:850;gap:10px;min-width:0}.automation-teams span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automation-teams b{color:#16a34a}.automation-status{align-items:center;display:inline-flex;font-weight:850;gap:8px}.automation-status.generating{color:#0f766e}.automation-status.success{color:#0d8a58}.automation-status.failed{color:#c72c44}.automation-status.idle,.automation-status.skipped{color:#7487a4}.automation-spinner{animation:automation-spin .75s linear infinite;border:3px solid #bbf7d0;border-radius:999px;border-top-color:#16a34a;height:16px;width:16px}.automation-empty{color:#8495ad;font-weight:800;padding:80px 20px;text-align:center}@keyframes automation-spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.automation-hero{align-items:flex-start;flex-direction:column}.automation-table-head{display:none}.automation-row{grid-template-columns:1fr}}.prediction-records-page-header{margin-bottom:16px;padding-bottom:10px}.prediction-records-page-header h2{color:#0f172a;font-size:24px;font-weight:700;margin:0 0 8px}.prediction-records-page{grid-gap:16px;color:#0f172a;display:grid;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px;gap:16px;grid-template-columns:360px minmax(0,1fr);min-height:720px}.prediction-records-editor,.prediction-records-list{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.prediction-records-list{display:flex;flex-direction:column;min-height:0}.prediction-records-toolbar{align-items:center;display:flex;gap:10px;margin-bottom:10px}.prediction-records-toolbar button{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-size:13px;padding:6px 10px}.prediction-records-filter{flex:1 1}.prediction-records-filter input{border:1px solid #cbd5e1;border-radius:10px;font-size:13px;padding:9px 11px;width:100%}.prediction-records-items{display:flex;flex-direction:column;gap:10px;max-height:780px;overflow-y:auto;padding-right:4px}.prediction-record-card .accuracy-badge{color:#4338ca;display:block;font-size:12px;font-weight:600;margin:4px 0 2px}.prediction-record-card{background:#f8fafc;border:1px solid #dbe2ec;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px;text-align:left}.prediction-record-card.active{background:#eef2ff;border-color:#6366f1}.prediction-record-card strong{color:#0f172a;font-size:13px;font-weight:500;line-height:1.6}.prediction-record-card span{color:#475569;font-size:13px;font-weight:400;line-height:1.6}.prediction-record-card .time{color:#64748b}.prediction-record-card .effect{color:#334155}.prediction-records-editor{display:flex;flex-direction:column;gap:12px;min-height:0}.editor-row{display:flex;flex-direction:column;gap:8px}.title-effect-row{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(240px,280px)}.title-effect-item{display:flex;flex-direction:column;gap:8px;min-width:0}.title-effect-item--title .editor-tip{margin-top:-2px}.title-effect-item--effect .readonly-value,.title-effect-item--title .readonly-value{align-items:center;display:flex;min-height:48px}.editor-row.grow{flex:1 1;min-height:320px}.editor-row label{color:#334155;font-size:13px;font-weight:500;line-height:1.6}.editor-row input,.editor-row textarea{border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;font-family:inherit;font-size:13px;font-weight:400;line-height:1.5;padding:10px 12px;resize:vertical;width:100%}.readonly-value{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-family:inherit;font-size:13px;line-height:1.6;padding:10px 12px}.prediction-article-match-card{align-items:center;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e2e8f0;border-radius:18px;display:flex;flex-direction:column;gap:12px;padding:18px 20px;text-align:center}.prediction-article-match-badge{align-items:center;background:#e0e7ff;border-radius:999px;color:#4338ca;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;padding:6px 12px}.prediction-article-match-teams{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%}.prediction-article-match-team{align-items:center;display:flex;gap:10px;justify-content:center;min-width:0}.prediction-article-match-team span{color:#0f172a;font-size:13px;font-weight:700;line-height:1.5;word-break:break-word}.prediction-article-match-teams strong{color:#0f172a;font-size:15px;font-weight:800}.prediction-match-card-logo{border-radius:999px;flex-shrink:0;height:34px;object-fit:contain;width:34px}.prediction-match-card-logo.placeholder{align-items:center;background:#e2e8f0;color:#475569;display:inline-flex;font-size:14px;font-weight:700;justify-content:center}.prediction-article-match-meta{color:#64748b;font-size:12px;line-height:1.7;margin:0}.prediction-result-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(180px,.8fr)}.prediction-result-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px 12px}.prediction-result-item--compact{justify-content:center}.prediction-result-label{color:#64748b;font-size:12px;font-weight:500;line-height:1.4}.prediction-result-value{color:#0f172a;font-size:13px;line-height:1.6;word-break:break-word}.prediction-result-value--strong{color:#4338ca;font-weight:700}.article-textarea{flex:1 1;min-height:320px}.editor-actions{display:flex;gap:10px;justify-content:flex-end}.editor-actions button{background:#ecfdf5;border:1px solid #16a34a47;border-radius:999px;box-shadow:0 10px 22px #064e3b14;color:#166534;cursor:pointer;font-size:13px;font-weight:800;padding:10px 22px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.editor-actions button.secondary{background:linear-gradient(135deg,#22c55e,#15803d);border-color:#0000;box-shadow:0 14px 28px #16a34a3d;color:#fff}.editor-actions button:hover:not(:disabled){box-shadow:0 16px 30px #064e3b24;transform:translateY(-1px)}.editor-actions button:disabled{cursor:not-allowed;opacity:.58}.prediction-records-empty{color:#64748b;font-size:14px;padding:20px 6px}.editor-tip{color:#64748b;font-size:12px}@media (max-width:1100px){.prediction-article-match-teams,.prediction-result-row,.title-effect-row{grid-template-columns:1fr}}.sports-hotspot-page{background:#0000;display:flex;flex-direction:column;font-size:13px;height:100%;margin:0 auto;max-width:1440px;min-height:0;overflow:hidden;position:relative}.sports-hotspot-header{align-items:flex-start;background:#0000;box-shadow:none;display:flex;justify-content:space-between;margin-bottom:0;padding:0 0 14px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.sports-hotspot-header h2{color:#0f172a;font-size:24px;font-weight:700;margin:0 0 8px}.sports-hotspot-layout{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:360px 520px minmax(0,1fr);margin-top:0;min-height:0;overflow:hidden}.sports-hotspot-editor,.sports-hotspot-result,.sports-hotspot-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:18px;min-height:0;overflow:hidden}.sports-hotspot-sidebar{display:flex;flex-direction:column;height:100%;overflow:visible}.sports-hotspot-sidebar .sports-match-list{flex:1 1;max-height:none;min-height:0;overflow-y:auto;padding-bottom:20px}.sports-hotspot-editor{overflow-x:visible;overflow-y:auto;padding:14px}.sports-hotspot-selected-wrap{margin-bottom:12px}.sports-hotspot-selected-card{min-height:162px;padding:14px 16px}.sports-hotspot-selected-card .sports-selected-badge{font-size:12px;margin-bottom:8px;padding:4px 10px}.sports-hotspot-selected-card .sports-selected-teams{gap:8px;margin-bottom:8px}.sports-hotspot-selected-card .sports-selected-team span,.sports-hotspot-selected-card .sports-selected-teams>strong{font-size:13px}.sports-hotspot-selected-card p{font-size:12px;line-height:1.5;margin:0}.sports-hotspot-editor input,.sports-hotspot-editor textarea{border:1px solid #cbd5e1;border-radius:10px;font-family:inherit;font-size:12px;padding:8px 10px;width:100%}.sports-hotspot-controls{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,84px)) minmax(104px,1fr);margin-top:12px;position:relative;z-index:2}.sports-hotspot-controls label{display:block;font-size:12px;margin-bottom:6px}.sports-hotspot-control-field{min-width:0;width:100%}.sports-hotspot-control-dropdown .sports-dropdown-panel{z-index:40}.sports-hotspot-control-dropdown .sports-dropdown-options{max-height:220px}.sports-hotspot-controls .sports-generate-btn{border-radius:12px;font-size:12px;line-height:1.2;min-height:40px;padding:8px 10px;white-space:nowrap;width:100%}.sports-hotspot-result-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;overflow-y:visible;padding:14px}.sports-hotspot-result-grid.scrollable{max-height:calc(100vh - 260px);overflow-y:auto}.sports-hotspot-result-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.sports-hotspot-result-grid img{display:block;width:100%}.sports-hotspot-result-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:8px 10px}.sports-hotspot-result-actions a{align-items:center;border:1px solid #cbd5e1;border-radius:10px;color:#334155;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-width:56px;padding:6px 10px;text-decoration:none}.sports-hotspot-result-actions a:hover{background:#fff;border-color:#94a3b8}.sports-hotspot-generation-mode-card{background:#fbfdff;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:12px;padding:14px}.sports-hotspot-generation-mode-header{align-items:center;display:flex;gap:14px;margin-bottom:12px}.sports-hotspot-generation-mode-header strong{color:#0f172a;flex:0 0 auto;font-size:13px}.sports-hotspot-mode-switcher{flex:1 1 auto;margin-bottom:0}.sports-hotspot-upload-box{background:#fff;border:1px dashed #cbd5e1;border-radius:16px;padding:14px}.sports-hotspot-file-input{display:none}.sports-hotspot-upload-content{margin-top:12px}.sports-hotspot-upload-empty{align-items:center;background:#f8fafc;border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:14px}.sports-hotspot-upload-preview{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:104px minmax(0,1fr)}.sports-hotspot-upload-preview img{background:#fff;border:1px solid #dbe4ff;border-radius:14px;height:104px;object-fit:cover;width:104px}.sports-hotspot-upload-meta{display:flex;flex-direction:column;gap:8px}.sports-hotspot-upload-meta strong{color:#0f172a;font-size:12px}.sports-hotspot-upload-meta span{color:#64748b;font-size:12px;line-height:1.5}.sports-hotspot-sidebar .sports-filter-row .sports-dropdown{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:72px minmax(0,1fr)}.sports-hotspot-sidebar .sports-filter-row .sports-dropdown>label{margin:0}.sports-hotspot-sidebar .sports-filter-row .sports-dropdown-field.inline-label{min-width:0;position:relative}.sports-hotspot-sidebar .sports-filter-row .sports-dropdown-field.inline-label .sports-dropdown-panel{left:0;right:0}.sports-hotspot-editor-block{margin-bottom:12px}.sports-hotspot-editor-block label{color:#0f172a;display:block;font-size:12px;font-weight:600;margin-bottom:8px}.app-wrapper{background:#f8fafc;display:flex;height:100vh}.sidebar{background:linear-gradient(180deg,#1e293b,#0f172a);color:#fff;display:flex;flex-direction:column;padding:24px 0;width:200px}.sidebar-logo{border-bottom:1px solid #ffffff1a;font-size:17px;font-weight:700;margin-bottom:16px;padding:0 14px 18px;text-align:center}.menu{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:0 8px}.menu-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#ffffffb3;cursor:pointer;display:flex;font-size:15px;justify-content:center;padding:11px 12px;position:relative;text-align:center;transition:all .2s;width:100%}.menu-item:hover{background:#ffffff1a;color:#fff}.menu-item.active{background:#667eea33}.menu-group{display:flex;flex-direction:column}.group-toggle .arrow{display:inline-block;transition:transform .2s}.group-toggle .arrow.open{transform:rotate(90deg)}.submenu{display:flex;flex-direction:column;gap:6px;margin-top:6px}.submenu-item{background:#0000;border:none;border-radius:8px;color:#fff9;cursor:pointer;font-size:14px;min-height:40px;padding:9px 16px;text-align:left;transition:all .2s;width:100%}.group-toggle .arrow{position:absolute;right:10px}.submenu-item:hover{background:#ffffff14;color:#ffffffe6}.submenu-item.active{background:#667eea26;color:#fff}.main-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.top-bar{background:#fff;border-bottom:1px solid #e2e8f0;gap:16px;height:64px;justify-content:flex-end;overflow:visible;padding:0 32px;position:relative;z-index:1000}.points-badge,.top-bar{align-items:center;display:flex}.points-badge{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;font-size:14px;gap:12px;margin-right:12px;padding:8px 18px}.points-value{color:#111827;font-size:18px;font-weight:700}.points-action{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px}.user-menu{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 16px;position:relative;transition:all .2s}.user-menu:after{color:#64748b;content:"▼";font-size:10px;transition:transform .2s}.user-menu:hover{background:#f1f5f9}.user-menu:hover:after{transform:translateY(2px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.user-name{color:#1e293b;font-size:15px;font-weight:600;-webkit-user-select:none;user-select:none}.user-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:8px;min-width:140px;position:absolute;right:0;top:100%;z-index:1200}.dropdown-item{background:#0000;border:none;color:#475569;cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:all .2s;width:100%}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.dropdown-item:hover{background:#f1f5f9;color:#667eea}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:24px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal-header h3{color:#1e293b;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.modal-close:hover{background:#e2e8f0;color:#1e293b}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form .form-group{display:flex;flex-direction:column;gap:8px}.modal-form .form-group label{color:#475569;font-size:14px;font-weight:500}.modal-form .form-group input{border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;outline:none;padding:12px 16px;transition:all .2s;width:100%}.modal-form .form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-form .error-message{background:#fee2e2;border-radius:8px;color:#dc2626;font-size:14px;padding:12px}.modal-form .success-message{background:#d1fae5;border-radius:8px;color:#059669;font-size:14px;padding:12px}.modal-form .submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .3s;width:100%}.modal-form .submit-btn:hover{box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.content-area{flex:1 1;overflow-y:auto;padding:32px}.view-panel{display:none;height:100%}.view-panel.active{display:block}.app-wrapper{background:linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,#0000 0) 0 0 /84px 84px,linear-gradient(0deg,hsla(0,0%,100%,.028) 1px,#0000 0) 0 0 /84px 84px,radial-gradient(circle at 58% 18%,#34d3992e,#0000 32%),linear-gradient(135deg,#062f22,#0d4f32 45%,#07351f);color:#ecfdf5}.sidebar{background:linear-gradient(180deg,#094a2df7,#083d26f7);border-right:1px solid #bbf7d038;box-shadow:inset -1px 0 0 #ffffff0a;width:230px}.sidebar-logo{border-bottom-color:#bbf7d024;color:#f8fafc;font-size:18px;letter-spacing:0;padding:8px 18px 24px;position:relative}.sidebar-logo:before{background:radial-gradient(circle at center,#0000 0 9px,#ecfdf5d9 10px 11px,#0000 12px),linear-gradient(90deg,#0000 47%,#ecfdf5b3 48% 52%,#0000 53%),linear-gradient(0deg,#0000 47%,#ecfdf5b3 48% 52%,#0000 53%),linear-gradient(135deg,#22c55e,#15803d);border:2px solid #ecfdf5e6;border-radius:50%;box-shadow:0 12px 26px #22c55e47;content:"";display:block;height:44px;margin:0 auto 12px;width:44px}.menu{gap:8px;padding:0 12px}.menu-item{border:1px solid #0000;border-radius:8px;color:#dcfce7c2;font-weight:650;justify-content:flex-start;min-height:46px;padding:12px 16px}.menu-item:hover{background:#22c55e1f;border-color:#bbf7d029;color:#f8fafc}.menu-item.active{background:linear-gradient(135deg,#22c55ef2,#15803df2);border-color:#bbf7d05c;box-shadow:0 12px 28px #16a34a52;color:#fff}.main-content{background:radial-gradient(circle at 50% 42%,#0000 0 90px,#ffffff14 91px 93px,#0000 94px),linear-gradient(90deg,#0000 0 49.9%,#ffffff14 50%,#0000 50.1%),linear-gradient(180deg,#ecfdf5f2,#f0fdf4e6)}.top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#ffffff12 1px,#0000 0) 0 0 /86px 86px,linear-gradient(180deg,#0f7647f5,#0a5b38f5);border-bottom:1px solid #bbf7d038;box-shadow:0 10px 28px #064e3b1f;height:72px}.points-badge{background:#fff;border-color:#15803d2e;color:#166534}.points-value{color:#052e16}.modal-form .submit-btn,.points-action{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 10px 24px #16a34a47;color:#fff}.modal-form .submit-btn:hover,.points-action:hover{box-shadow:0 12px 28px #16a34a57}.user-menu{background:#ffffffb8;border:1px solid #15803d1f}.user-menu:hover{background:#fff}.user-avatar{background:linear-gradient(135deg,#16a34a,#065f46)}.user-name{color:#064e3b}.dropdown-item:hover{background:#ecfdf5;color:#047857}.content-area{padding:40px}.modal-dialog,.user-dropdown{border-color:#15803d24;box-shadow:0 22px 60px #065f462e}.modal-form .form-group input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.prediction-automation,.prediction-records-page,.sports-hotspot-page,.sports-prediction-page{max-width:1480px}.prediction-automation,.prediction-records-page-header,.sports-hotspot-header,.sports-hotspot-page,.sports-prediction-header{background:#0000}.prediction-automation h2,.prediction-records-page-header h2,.sports-hotspot-header h2,.sports-prediction-header h2{color:#052e16;font-weight:800}.sports-prediction-header p{color:#3f6212}.prediction-records-editor,.prediction-records-list,.sports-editor-panel,.sports-hotspot-editor,.sports-hotspot-result,.sports-hotspot-sidebar,.sports-match-sidebar{background:#fffffff0;border:1px solid #15803d29;box-shadow:0 20px 46px #064e3b1f}.generate-btn,.language-pill.active,.primary-btn,.records-primary-button,.sport-tab.active,.sports-refresh-btn.primary{background:linear-gradient(135deg,#22c55e,#15803d)!important;border-color:#0000!important;box-shadow:0 12px 24px #16a34a42!important;color:#fff!important}.language-pill,.sport-tab,.sports-refresh-btn{border-color:#15803d2e;color:#166534}.language-pill:hover,.sport-tab:hover,.sports-refresh-btn:hover:not(:disabled){border-color:#22c55e}.article-card.selected,.match-card.selected,.sports-match-card.selected{border-color:#22c55e!important;box-shadow:0 14px 30px #16a34a2e!important}.sidebar-logo{align-items:center;display:flex;flex-direction:column;gap:12px}.sidebar-logo:before{display:none}.sidebar-logo-image{background:#fff;border-radius:22px;box-shadow:0 18px 34px #00000038;height:82px;object-fit:cover;padding:6px;width:82px}.sidebar-logo span{display:block}.top-bar{background:linear-gradient(180deg,#094a2df7,#083d26f7);border-bottom-color:#bbf7d038;box-shadow:0 14px 34px #031f1429}.points-badge{background:#04785747;border-color:#bbf7d042;color:#dcfce7}.points-value{color:#fff}.points-action{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 10px 22px #22c55e42}.user-menu{background:#04785747;border-color:#bbf7d03d}.user-menu:hover{background:#0478576b}.user-menu:after,.user-name{color:#dcfce7}.user-avatar{background:linear-gradient(135deg,#22c55e,#047857)}.sports-language-switcher{background:#052e16eb;border-color:#bbf7d038;box-shadow:0 18px 34px #031f1429}.language-pill,.sports-language-switcher span{color:#dcfce7}.language-pill.active{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important}.sports-editor-actions{background:linear-gradient(180deg,#ecfdf56b,#ffffffeb);border-top-color:#15803d24}.sports-generate-btn{background:linear-gradient(135deg,#22c55e,#15803d)!important;box-shadow:0 14px 30px #16a34a4d!important;color:#fff!important}.sports-generate-btn:hover:not(:disabled){box-shadow:0 18px 34px #16a34a5c!important}@media (min-width:1200px){.sidebar{padding:16px 0;width:188px}.sidebar-logo{font-size:16px;gap:8px;margin-bottom:12px;padding:0 12px 16px}.sidebar-logo-image{border-radius:18px;height:68px;padding:5px;width:68px}.menu{gap:6px;padding:0 10px}.menu-item,.submenu-item{font-size:14px;min-height:40px;padding:9px 14px}.top-bar{height:58px;padding:0 20px}.points-badge{font-size:13px;gap:9px;padding:6px 12px}.points-value{font-size:16px}.points-action{font-size:13px;padding:5px 12px}.user-menu{padding:6px 12px}.user-avatar{height:28px;width:28px}.user-avatar,.user-name{font-size:14px}.content-area{padding:26px 34px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.loading-screen{align-items:center;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-screen .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:50px;margin-bottom:16px;width:50px}.loading-screen p{color:#64748b;font-size:16px}@keyframes spin{to{transform:rotate(1turn)}}