:root{--ink:#17233f;--muted:#7f8ba3;--line:#f0dbe3;--pink:#ed1e61;--pink2:#ff5b8d;--paper:#fff;--soft:#fff6f9;--green:#0ca66b;--shadow:0 18px 50px rgba(111,34,67,.10)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(circle at 80% 4%,#ffe6ef 0,transparent 34%),linear-gradient(180deg,#fff8fb,#f7f9ff 55%,#fff)}button,input,textarea,select{font:inherit}.shell{width:min(1480px,calc(100% - 40px));margin:20px auto 70px}.hero{position:relative;overflow:hidden;min-height:230px;padding:38px 44px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;color:#fff;border-radius:28px;background:linear-gradient(125deg,#1c2457 0%,#792963 46%,#ed2866 100%);box-shadow:0 22px 60px rgba(92,27,66,.24)}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:50%}.hero:before{width:330px;height:330px;right:110px;top:-180px;box-shadow:0 0 0 45px rgba(255,255,255,.04),0 0 0 92px rgba(255,255,255,.025)}.hero:after{width:190px;height:190px;left:48%;bottom:-145px}.hero>*{position:relative;z-index:1}.back{display:inline-flex;margin-bottom:24px;color:#fff;text-decoration:none;opacity:.82}.kicker{margin:0 0 8px;letter-spacing:4px;font-weight:800;font-size:12px;color:#ffb4ce}.hero h1{margin:0;font-size:42px}.hero p{margin:10px 0 0;color:rgba(255,255,255,.76)}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.sync-state{padding:11px 15px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:13px}.button{height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:800;transition:.18s}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:linear-gradient(135deg,var(--pink),var(--pink2));box-shadow:0 10px 24px rgba(237,30,97,.22)}.hero .button.primary{color:#d51450;background:#fff}.button.secondary{color:#c91b55;background:#fff;border-color:#efc6d5}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat{padding:22px 24px;border-radius:20px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow)}.stat span{font-size:13px;color:var(--muted)}.stat strong{display:block;margin-top:7px;font-size:30px}.panel{margin-top:18px;padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #f3e2e8}.panel-head h2{margin:1px 0 4px;font-size:22px}.panel-head p{margin:0;color:var(--muted);font-size:13px}.section-index{font-weight:900!important;color:var(--pink)!important;letter-spacing:2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.form-grid label,.editor-card label{display:flex;flex-direction:column;gap:8px}.form-grid label span,.editor-card label span{font-size:13px;font-weight:700;color:#59657b}.form-grid .wide{grid-column:1/-1}input,textarea,select{width:100%;border:1px solid #e4dce3;border-radius:12px;padding:12px 14px;color:var(--ink);background:#fff;outline:none;transition:.16s}input:focus,textarea:focus,select:focus{border-color:#f05a8a;box-shadow:0 0 0 4px rgba(240,62,119,.08)}textarea{resize:vertical}.switch{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800}.switch input{display:none}.switch span{position:relative;width:50px;height:28px;border-radius:20px;background:#d9dce5;transition:.2s}.switch span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.16);transition:.2s}.switch input:checked+span{background:linear-gradient(135deg,var(--pink),var(--pink2))}.switch input:checked+span:after{transform:translateX(22px)}.switch em{font-style:normal}.editor-list{display:grid;gap:12px;margin-top:20px}.editor-card{display:grid;grid-template-columns:90px 1fr 1.4fr 155px 120px 110px 74px;gap:12px;align-items:end;padding:16px;border:1px solid #f0e1e7;border-radius:16px;background:linear-gradient(180deg,#fff,#fff9fb)}.editor-card.reward{grid-template-columns:90px 1fr 1.4fr 130px 110px 74px}.editor-card .toggle-row{height:44px;display:flex;align-items:center;gap:8px}.editor-card .toggle-row input{width:auto}.delete{height:44px;border:0;border-radius:10px;color:#dc315f;background:#ffeaf0;cursor:pointer}.search{display:flex;align-items:center;gap:8px;width:min(360px,100%);padding:0 12px;border:1px solid #eadde4;border-radius:12px;background:#fff}.search input{border:0;box-shadow:none;padding-left:0}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;min-width:960px}th,td{padding:15px 12px;border-bottom:1px solid #f2e5ea;text-align:left;font-size:13px}th{color:#7c879c;background:#fff9fb}.user-title{font-weight:800}.user-sub{margin-top:4px;font-size:12px;color:#8c96aa}.chip{display:inline-flex;padding:4px 8px;border-radius:8px;color:#c31f55;background:#fff0f5;font-weight:800}.row-actions{display:flex;gap:6px}.row-actions button{height:32px;padding:0 10px;border-radius:8px;border:1px solid #efd5df;background:#fff;color:#bf1d50;cursor:pointer}.empty{text-align:center!important;color:#98a1b3;padding:42px!important}.toast{position:fixed;z-index:20;left:50%;bottom:40px;transform:translate(-50%,25px);padding:13px 20px;border-radius:12px;color:#fff;background:rgba(20,28,50,.94);box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.hero{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.editor-card,.editor-card.reward{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head{align-items:flex-start;flex-direction:column}.search{width:100%}}

.editor-card.reward{position:relative;grid-template-columns:220px minmax(0,1fr) 96px;align-items:stretch;padding:20px;gap:20px;background:linear-gradient(145deg,#fff 0%,#fff8fb 100%)}
.reward-media{min-height:224px;padding:12px;display:flex;flex-direction:column;gap:10px;border:1px solid #f0dce4;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(112,43,72,.06)}
.reward-media img,.reward-image-placeholder{width:100%;height:160px;border-radius:12px;object-fit:cover;background:linear-gradient(145deg,#fff0f6,#f5f3ff)}
.reward-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#a76a82}
.reward-image-placeholder b{display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:20px;color:#fff;font-size:28px;background:linear-gradient(145deg,var(--pink),#8a56ee);box-shadow:0 10px 24px rgba(220,43,103,.22)}
.reward-image-placeholder span{font-size:12px}
.reward-media-actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.reward-media-actions button{height:38px;padding:0 12px;border:0;border-radius:10px;color:#fff;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--pink),var(--pink2))}
.reward-media-actions button.is-light{color:#bd2455;border:1px solid #f0d6df;background:#fff}
.reward-file-input{display:none}
.reward-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-content:start}
.reward-fields .reward-wide{grid-column:span 2}
.reward-fields textarea{min-height:70px}
.reward-delete{align-self:end}
@media(max-width:1180px){.editor-card.reward{grid-template-columns:190px minmax(0,1fr)}.reward-delete{position:absolute;right:20px;bottom:20px}.reward-fields{padding-bottom:56px;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.editor-card.reward{grid-template-columns:1fr}.reward-media{min-height:0}.reward-media img,.reward-image-placeholder{height:210px}.reward-fields{grid-template-columns:1fr}.reward-fields .reward-wide{grid-column:auto}.reward-delete{position:static;width:100%}}

.challenge-player-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:1}.challenge-tabs{display:flex;padding:4px;border:1px solid #f0dce4;border-radius:12px;background:#fff8fb}.challenge-tabs button{height:36px;padding:0 15px;border:0;border-radius:9px;color:#7d879b;background:transparent;font-weight:800;cursor:pointer}.challenge-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--pink),var(--pink2));box-shadow:0 7px 18px rgba(237,30,97,.18)}.challenge-player-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.challenge-player-summary span{padding:8px 12px;border-radius:10px;color:#707b91;background:#fff4f8;font-size:12px}.challenge-player-summary b{color:#d9235b;font-size:15px}.challenge-player-list{display:grid;gap:12px;margin-top:14px}.challenge-player-card{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(360px,1.7fr) 130px auto;align-items:center;gap:18px;padding:17px 18px;border:1px solid #f0e0e6;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fffafd 100%);transition:.18s}.challenge-player-card:hover{border-color:#edbed0;box-shadow:0 12px 28px rgba(122,41,73,.08);transform:translateY(-1px)}.challenge-player-main{display:flex;align-items:center;min-width:0;gap:12px}.challenge-avatar{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;border-radius:15px;color:#fff;font-size:19px;font-weight:900;background:linear-gradient(145deg,#f02e6d,#8751ee)}.challenge-avatar img{width:100%;height:100%;object-fit:cover}.challenge-player-name{min-width:0}.challenge-player-name>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.challenge-player-name strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.challenge-player-name p{margin:5px 0 0;color:#8b95a8;font-size:12px;overflow-wrap:anywhere}.challenge-status,.personality{padding:3px 7px;border-radius:7px;color:#a04766;background:#fff0f5;font-style:normal;font-size:10px;font-weight:800}.challenge-status.completed{color:#087d57;background:#e9faf3}.personality{color:#6b4dd0;background:#f0ebff}.challenge-player-meta{display:grid;grid-template-columns:1fr 1fr .8fr;gap:10px}.challenge-player-meta span{min-width:0;color:#9aa2b3;font-size:11px}.challenge-player-meta b{display:block;margin-top:5px;color:#536077;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.challenge-chance{padding:10px 14px;border-left:1px solid #f0e2e7}.challenge-chance span{display:block;color:#9aa2b3;font-size:11px}.challenge-chance strong{display:block;margin-top:2px;color:#d8225a;font-size:25px}.challenge-grants{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.challenge-grants span{width:100%;color:#8d96a9;font-size:11px;text-align:right}.challenge-grants button{height:34px;min-width:42px;padding:0 10px;border:0;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--pink),var(--pink2));font-weight:800;cursor:pointer}.challenge-grants button.deduct{color:#a84968;border:1px solid #efcfda;background:#fff}.challenge-grants button:disabled,.row-actions button:disabled{opacity:.48;cursor:wait}.challenge-empty{padding:42px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;border:1px dashed #ead8df;border-radius:16px;color:#98a1b3;background:#fffafb;text-align:center}.challenge-empty b{color:#59657b}.challenge-empty span{font-size:12px}
.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.panel-switches{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.form-grid input[readonly]{color:#bc2253;background:#fff4f8;font-weight:800;cursor:default}
.contact-qr-editor{min-height:220px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #eddce4;border-radius:18px;background:linear-gradient(145deg,#fffafb,#f7f8ff)}.contact-qr-editor strong{font-size:15px}.contact-qr-editor p{max-width:620px;margin:8px 0 18px;color:#8a94a7;font-size:12px;line-height:1.6}.contact-qr-actions{display:flex;gap:10px;flex-wrap:wrap}.button.is-danger{color:#a74968;background:#fff;border-color:#efd3de}.contact-qr-preview{width:178px;height:178px;flex:0 0 178px;padding:10px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px dashed #e3cbd5;border-radius:18px;color:#a49baa;background:#fff;text-align:center;font-size:12px}.contact-qr-preview img{width:100%;height:100%;object-fit:contain;border-radius:10px}
@media(max-width:1280px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.contact-qr-editor{align-items:stretch;flex-direction:column}.contact-qr-preview{width:100%;height:260px}}
@media(max-width:1220px){.challenge-player-card{grid-template-columns:1fr 1.4fr 105px}.challenge-grants{grid-column:1/-1;justify-content:flex-start;padding-top:12px;border-top:1px solid #f2e5ea}.challenge-grants span{width:auto;margin-right:auto;text-align:left}.challenge-player-tools{width:100%;justify-content:space-between}}
@media(max-width:760px){.challenge-player-tools{align-items:stretch;flex-direction:column}.challenge-tabs{display:grid;grid-template-columns:1fr 1fr}.challenge-player-card{grid-template-columns:1fr}.challenge-player-meta{grid-template-columns:1fr 1fr}.challenge-player-meta span:last-child{grid-column:1/-1}.challenge-chance{padding:10px 0;border-left:0;border-top:1px solid #f2e5ea}.challenge-grants{grid-column:auto}.challenge-grants span{width:100%}.challenge-grants button{flex:1}.challenge-player-summary span{flex:1;min-width:130px}}

.question-version-tip{display:flex;align-items:center;gap:12px;margin-top:18px;padding:13px 16px;border:1px solid #eadffc;border-radius:14px;color:#75688e;background:linear-gradient(135deg,#fbf8ff,#fff8fb);font-size:12px}.question-version-tip strong{flex:0 0 auto;color:#6849c8}.question-editor-list{display:grid;gap:16px;margin-top:16px}.question-editor-card{padding:20px;border:1px solid #eedee5;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fff9fb 100%)}.question-editor-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #f2e5ea}.question-editor-head>div{display:flex;align-items:center;gap:12px;min-width:0}.question-editor-head b{display:flex;align-items:center;justify-content:center;min-width:72px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#6944e7,#ed3471)}.question-editor-head span{color:#8b95a8;font-size:12px}.question-editor-head .delete,.question-option .delete{padding:0 14px}.delete:disabled,.is-light:disabled{opacity:.42;cursor:not-allowed}.question-fields{display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1.8fr);gap:14px;margin-top:16px}.question-fields label,.question-option label{display:flex;flex-direction:column;gap:7px}.question-fields label span,.question-option label span{color:#59657b;font-size:12px;font-weight:700}.question-options{margin-top:18px;padding:16px;border-radius:15px;background:#fff}.question-options-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.question-options-title b{font-size:14px}.question-options-title .is-light{height:34px;padding:0 12px;border:1px solid #e1d7f4;border-radius:9px;color:#6c4dd2;background:#f8f5ff;font-weight:800;cursor:pointer}.question-option{display:grid;grid-template-columns:38px minmax(180px,1fr) minmax(220px,1.25fr) 130px 88px;gap:11px;align-items:end;padding:11px 0;border-top:1px solid #f4e9ed}.question-option-index{display:flex;align-items:center;justify-content:center;width:34px;height:44px;border-radius:10px;color:#794fe1;background:#f0eaff;font-weight:900}.question-type select{font-weight:800;color:#6945cc}.question-option-delete{height:44px}.question-editor-card input,.question-editor-card select{padding:10px 12px;border-radius:10px}
@media(max-width:1050px){.question-option{grid-template-columns:38px 1fr 1fr}.question-type,.question-option-delete{grid-column:auto}.question-option-delete{grid-column:3}.question-fields{grid-template-columns:1fr}}
@media(max-width:680px){.question-version-tip,.question-editor-head,.question-editor-head>div{align-items:flex-start;flex-direction:column}.question-editor-head .delete{width:100%}.question-option{grid-template-columns:34px 1fr}.question-option label,.question-option-delete{grid-column:2}.question-option-delete{width:100%}}

.share-config-panel{background:radial-gradient(circle at 90% 10%,rgba(255,103,156,.12),transparent 32%),linear-gradient(145deg,#fff 0%,#fff9fc 52%,#f8f5ff 100%)}.share-config-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.share-config-fields{margin-top:22px}.share-card-preview{margin-top:22px;padding:16px;border:1px solid #ead9e5;border-radius:20px;background:#fff;box-shadow:0 16px 34px rgba(110,39,78,.1)}.share-cover-preview{height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:15px;color:#a78a9a;background:linear-gradient(135deg,#ffe7f0,#efe7ff);text-align:center;font-size:12px;line-height:1.6}.share-cover-preview img{width:100%;height:100%;object-fit:cover}.share-card-preview strong{display:block;margin-top:14px;font-size:16px;line-height:1.5}.share-card-preview p{margin:7px 0 0;color:#778299;font-size:12px;line-height:1.6}.share-card-preview em{display:block;margin-top:13px;padding:10px;border-radius:10px;color:#a93a63;background:#fff0f5;font-size:11px;font-style:normal;line-height:1.5}@media(max-width:980px){.share-config-layout{grid-template-columns:1fr}.share-card-preview{max-width:480px}}

.challenge-task-controls{grid-column:1/-1;margin-top:2px;padding-top:15px;border-top:1px solid #f1e4e9}.challenge-task-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:11px}.challenge-task-heading>div{display:flex;align-items:baseline;gap:10px;min-width:0}.challenge-task-heading b{color:#27324a;font-size:13px}.challenge-task-heading span{color:#929bad;font-size:11px}.challenge-task-heading em{flex:0 0 auto;padding:5px 9px;border-radius:8px;color:#a04766;background:#fff1f6;font-size:11px;font-style:normal;font-weight:800}.challenge-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.challenge-task-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px;border:1px solid #efe6ea;border-radius:13px;background:#fff}.challenge-task-item.completed{border-color:#cbeade;background:#f8fffb}.challenge-task-item.claimed{border-color:#d8e2fb;background:#f8faff}.challenge-task-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#d9235b;background:#fff0f5;font-size:13px;font-weight:900}.challenge-task-item.completed .challenge-task-icon{color:#087d57;background:#e5f8ef}.challenge-task-item.claimed .challenge-task-icon{color:#4066c4;background:#eaf0ff}.challenge-task-copy{min-width:0}.challenge-task-copy>div{display:flex;align-items:center;gap:7px;min-width:0}.challenge-task-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3b465d;font-size:12px}.challenge-task-status{flex:0 0 auto;padding:2px 6px;border-radius:6px;color:#9a6b7d;background:#fff2f6;font-size:9px;font-weight:800}.challenge-task-item.completed .challenge-task-status{color:#087d57;background:#e4f7ee}.challenge-task-item.claimed .challenge-task-status{color:#4066c4;background:#e8efff}.challenge-task-copy p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9aa2b3;font-size:10px}.challenge-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.challenge-task-actions button{height:28px;padding:0 9px;border-radius:8px;font-size:10px;font-weight:800;cursor:pointer}.task-state-action{color:#fff;border:0;background:linear-gradient(135deg,var(--pink),var(--pink2))}.task-state-action.revoke{color:#a84968;border:1px solid #efcfda;background:#fff}.task-state-auto{color:#64718a;border:1px solid #dce1eb;background:#fff}.challenge-task-actions button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.challenge-task-heading,.challenge-task-heading>div{align-items:flex-start;flex-direction:column;gap:4px}.challenge-task-grid{grid-template-columns:1fr}.challenge-task-item{grid-template-columns:34px minmax(0,1fr)}.challenge-task-actions{grid-column:1/-1;justify-content:stretch}.challenge-task-actions button{flex:1}}

/* 玩家实时状态：按玩家展开任务管理，复用现有任务状态数据。 */
.row-actions{flex-wrap:wrap}
.row-actions .task-toggle{color:#fff;border-color:transparent;background:linear-gradient(135deg,#ef3974,#bd3f8d);box-shadow:0 6px 15px rgba(219,41,101,.16)}
.row-actions .task-toggle.active{color:#b61e51;border-color:#eccbd7;background:#fff;box-shadow:none}
.user-row.task-open td{border-bottom-color:transparent;background:#fffafd}
.user-task-expanded td{padding:0 12px 18px;background:#fffafd}
.user-task-panel{padding:16px;border:1px solid #f0dce4;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(122,41,73,.06)}
.user-task-panel .challenge-task-controls{grid-column:auto;margin:0;padding:0;border-top:0}

/* 七夕翻牌卡：报名后仅可抽取一次，后台集中配置充值基数、赠送额度和权重。 */
.flip-card-editor{position:relative;margin-top:22px;padding:24px;overflow:hidden;border:1px solid #f0d8e2;border-radius:20px;background:linear-gradient(140deg,#fffafd 0%,#fff 48%,#f7f2ff 100%);box-shadow:0 14px 38px rgba(115,45,87,.07)}
.flip-card-editor:before{content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(236,58,118,.14),rgba(114,78,214,.04) 48%,transparent 70%);pointer-events:none}
.flip-card-editor-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:19px;border-bottom:1px solid #f1e1e8}
.flip-card-editor-head>div:first-child{min-width:0}.flip-card-editor-head span{color:#e52e69;font-size:10px;font-weight:900;letter-spacing:2.2px}.flip-card-editor-head h3{margin:5px 0 3px;color:#222c49;font-size:21px}.flip-card-editor-head p{max-width:760px;margin:0;color:#8790a4;font-size:12px;line-height:1.65}
.flip-card-probability{min-width:108px;padding:11px 14px;border:1px solid #eadff3;border-radius:15px;background:#fff;text-align:center;box-shadow:0 8px 20px rgba(72,52,122,.07)}.flip-card-probability small{display:block;color:#9299aa;font-size:10px}.flip-card-probability strong{display:block;margin-top:2px;color:#139265;font-size:21px}.flip-card-probability.invalid{border-color:#f1b4c7;background:#fff4f7}.flip-card-probability.invalid strong{color:#db2b5d}
.flip-card-basic{position:relative;margin-top:19px}.flip-option-title{position:relative;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.flip-option-title>div{min-width:0;display:flex;align-items:baseline;gap:12px}.flip-option-title strong{color:#323b54;font-size:13px}.flip-option-title span{color:#9aa1b0;font-size:11px}.flip-option-add{height:34px;flex:0 0 auto;padding:0 14px;border:1px solid #efc9d8;border-radius:10px;color:#d92d67;background:#fff;box-shadow:0 6px 16px rgba(193,48,99,.08);font-size:11px;font-weight:900;cursor:pointer}.flip-option-add:hover{border-color:#e94b7d;background:#fff5f8}.flip-option-add:disabled{opacity:.45;cursor:not-allowed}
.flip-option-grid{position:relative;margin-top:11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.flip-option-row{position:relative;min-width:0;padding:24px 12px 12px;display:grid;grid-template-columns:32px minmax(0,1fr) 22px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #eee2e8;border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 7px 18px rgba(80,45,65,.04)}.flip-option-row:hover{border-color:#eccbd8;box-shadow:0 9px 22px rgba(113,45,77,.08)}.flip-option-delete{position:absolute;right:9px;top:7px;height:22px;padding:0 8px;border:0;border-radius:7px;color:#d83a68;background:#fff0f5;font-size:9px;font-weight:900;cursor:pointer}.flip-option-delete:hover{color:#fff;background:#e73b70}.flip-option-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#ef3d76,#9a50c6);font-size:10px;font-weight:900}.flip-option-field{min-width:0}.flip-option-field small{display:block;margin-bottom:5px;color:#989faf;font-size:9px}.flip-option-field>span{height:34px;padding:0 8px;display:flex;align-items:center;gap:3px;box-sizing:border-box;border:1px solid #e9e1e6;border-radius:9px;background:#fff}.flip-option-field input{min-width:0;width:100%;padding:0;border:0;outline:0;color:#30384f;background:transparent;font-size:13px;font-weight:800}.flip-option-field b{color:#e43b6c;font-size:11px}.flip-option-arrow{color:#b3a9c1;font-size:13px;text-align:center}
@media(max-width:1120px){.flip-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.flip-card-editor{padding:18px}.flip-card-editor-head{align-items:stretch;flex-direction:column}.flip-card-probability{width:100%;box-sizing:border-box}.flip-option-title{align-items:stretch;flex-direction:column;gap:9px}.flip-option-title>div{align-items:flex-start;flex-direction:column;gap:3px}.flip-option-add{width:100%}.flip-option-grid{grid-template-columns:1fr}}

/* 里程碑转盘：触发数字与真实奖项权重集中配置。 */
.wheel-config-panel{background:radial-gradient(circle at 96% 3%,rgba(118,80,235,.12),transparent 26%),linear-gradient(145deg,#fff,#fff9fc)}.wheel-trigger-editor{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:18px;margin-top:18px;padding:18px;border:1px solid #eadff0;border-radius:18px;background:linear-gradient(135deg,#fff,#fbf7ff)}.wheel-trigger-editor>label{display:flex;flex-direction:column;gap:8px}.wheel-trigger-editor>label span,.wheel-trigger-editor>div>b{color:#4e5870;font-size:12px;font-weight:900}.wheel-trigger-editor input{height:46px;padding:0 15px;border-color:#d9cdf7;background:#fff;font-size:15px;font-weight:800;letter-spacing:.5px}.wheel-position-chips{min-height:46px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.wheel-position-chip{min-width:42px;height:34px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#ee3472,#7650e9);box-shadow:0 6px 13px rgba(126,72,185,.2);font-size:13px;font-weight:900}.wheel-position-chip.is-invalid{color:#c52557;border:1px solid #f3b3c7;background:#fff0f5;box-shadow:none}.wheel-position-empty{color:#9aa2b2;font-size:12px}.wheel-config-tip{display:flex;align-items:center;gap:12px;margin-top:12px;padding:13px 16px;border:1px solid #e5dcfa;border-radius:14px;color:#706583;background:#faf7ff;font-size:12px}.wheel-config-tip b{color:#6946ce}.wheel-config-list{display:grid;gap:16px;margin-top:16px}.wheel-config-card{overflow:hidden;border:1px solid #eadfec;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(83,54,111,.07)}.wheel-config-head{padding:17px 19px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;background:linear-gradient(135deg,#fff7fb,#f7f4ff)}.wheel-shared-mark{width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:17px;color:#fff;background:linear-gradient(145deg,#ee3472,#7650e9);box-shadow:0 8px 18px rgba(168,54,134,.22);font-size:14px;font-weight:900}.wheel-config-head b{font-size:16px}.wheel-config-head p{margin:4px 0 0;color:#8993a7;font-size:11px}.wheel-shared-count{padding:7px 12px;border-radius:10px;color:#714bd4;background:#eee8ff;font-size:12px;font-weight:900}.wheel-basic-fields{padding:16px 18px;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:end;gap:12px;border-top:1px solid #f2e8ec}.wheel-basic-fields label,.wheel-prize-row label{display:flex;flex-direction:column;gap:7px}.wheel-basic-fields label span,.wheel-prize-row label span{color:#59657b;font-size:11px;font-weight:800}.wheel-prize-summary{padding:0 18px 11px;display:flex;align-items:baseline;gap:10px}.wheel-prize-summary b{font-size:13px}.wheel-prize-summary span{color:#969eae;font-size:10px}.wheel-prize-list{padding:0 18px 18px;display:grid;gap:8px}.wheel-prize-row{padding:10px;display:grid;grid-template-columns:34px 112px minmax(145px,1fr) 130px 100px 110px minmax(180px,1.3fr) 70px 95px 105px 64px;align-items:end;gap:8px;border:1px solid #eee6ec;border-radius:14px;background:#fffafd}.wheel-prize-order{width:34px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#704dd2;background:#eee8ff;font-size:10px;font-weight:900}.wheel-prize-row input,.wheel-prize-row select{padding:9px 10px;border-radius:9px;font-size:12px}.wheel-prize-row .toggle-row{height:38px;display:flex;align-items:center;gap:5px;font-size:10px}.wheel-prize-row .toggle-row input{width:auto}.wheel-prize-row label span em{color:#e13268;font-size:9px;font-style:normal}.wheel-prize-row .delete{height:38px}.wheel-prize-row .delete:disabled{opacity:.35}.wheel-prize-copy{min-width:0}.wheel-prize-media{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:7px}.wheel-prize-preview{width:44px;height:44px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e6daf2;border-radius:12px;color:#704dd2;background:linear-gradient(145deg,#fff,#f0e9ff);font-weight:900}.wheel-prize-preview img{width:100%;height:100%;object-fit:cover}.wheel-prize-media-actions{display:grid;gap:4px}.wheel-prize-media-actions button{height:20px;padding:0 6px;border:0;border-radius:6px;color:#fff;background:#7650e9;font-size:9px;font-weight:800;cursor:pointer}.wheel-prize-media-actions button.is-light{color:#b93063;border:1px solid #edd8e1;background:#fff}
@media(max-width:1380px){.wheel-prize-row{grid-template-columns:34px 112px repeat(4,minmax(120px,1fr))}.wheel-prize-copy{grid-column:3/6}.wheel-prize-row .delete{grid-column:6}.wheel-basic-fields{grid-template-columns:1fr 1.5fr}.wheel-basic-fields .button{grid-column:1/-1}}
@media(max-width:800px){.wheel-trigger-editor{grid-template-columns:1fr}.wheel-config-tip,.wheel-config-head{align-items:flex-start;grid-template-columns:58px 1fr}.wheel-shared-count{grid-column:1/-1}.wheel-basic-fields{grid-template-columns:1fr}.wheel-prize-row{grid-template-columns:34px 1fr}.wheel-prize-row label,.wheel-prize-row .delete,.wheel-prize-copy{grid-column:2}.wheel-prize-row .delete{width:100%}}

.dice-probability-panel{overflow:hidden}.dice-probability-total{min-width:152px;padding:10px 14px;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 10px;border:1px solid #efdce5;border-radius:14px;background:linear-gradient(145deg,#fff,#fff4f8);transition:.18s}.dice-probability-total small{color:#8b93a5;font-size:10px;font-weight:800}.dice-probability-total strong{color:#db245d;font-size:22px}.dice-probability-total span{grid-column:1/-1;color:#7b8498;font-size:11px}.dice-probability-total.invalid{border-color:#ff6f87;background:#fff0f3;box-shadow:0 0 0 4px rgba(255,83,117,.08)}.dice-probability-total.invalid strong{color:#f0445e}.dice-probability-toolbar{margin-top:20px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #f1e3e9;border-radius:16px;background:linear-gradient(90deg,#fff9fb,#f8f6ff)}.dice-probability-toolbar div{display:grid;gap:4px}.dice-probability-toolbar strong{font-size:14px}.dice-probability-toolbar span{color:#8992a6;font-size:11px}.dice-probability-grid{margin-top:14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.dice-probability-card{position:relative;overflow:hidden;min-height:126px;padding:13px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;border:1px solid #eadde5;border-radius:17px;background:linear-gradient(155deg,#fff 10%,#fff6f9 100%);transition:.18s}.dice-probability-card:hover{transform:translateY(-2px);border-color:#f0a5bd;box-shadow:0 10px 24px rgba(156,50,88,.08)}.dice-probability-card.is-zero{opacity:.58;filter:saturate(.55)}.dice-probability-face{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#ed2866,#8851dd);box-shadow:0 8px 18px rgba(218,39,103,.2);font-size:29px;line-height:1}.dice-probability-copy{display:grid;gap:2px}.dice-probability-copy strong{font-size:14px}.dice-probability-copy span{color:#929aab;font-size:10px}.dice-probability-card label{grid-column:1/-1;height:38px;padding:0 11px;display:flex;align-items:center;border:1px solid #eadfe5;border-radius:11px;background:#fff}.dice-probability-card label:focus-within{border-color:#ed5a88;box-shadow:0 0 0 3px rgba(237,72,128,.08)}.dice-probability-card label input{min-width:0;height:36px;padding:0;border:0;border-radius:0;box-shadow:none!important;background:transparent;font-size:17px;font-weight:900}.dice-probability-card label b{color:#c73568;font-size:12px}.dice-probability-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#f3e8ed}.dice-probability-bar i{display:block;height:100%;width:0;border-radius:0 4px 4px 0;background:linear-gradient(90deg,#ed2866,#9d52e6);transition:width .22s}.dice-probability-note{margin-top:14px;padding:11px 14px;border-radius:12px;color:#7c8497;background:#f8f7fc;font-size:11px}.dice-probability-note span{margin-right:8px;padding:3px 7px;border-radius:7px;color:#0b8d67;background:#e5f8f1;font-weight:900}
@media(max-width:1100px){.dice-probability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.dice-probability-total{width:100%}.dice-probability-toolbar{align-items:flex-start;flex-direction:column}.dice-probability-toolbar .button{width:100%}.dice-probability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 照片转动漫：人工处理队列。 */
.photo-anime-admin-list{display:grid;gap:13px;margin-top:15px}.photo-anime-admin-card{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(310px,1.25fr) minmax(180px,.8fr) minmax(170px,.7fr);align-items:center;gap:18px;padding:18px;border:1px solid #eaddec;border-radius:19px;background:radial-gradient(circle at 92% 8%,rgba(122,83,231,.08),transparent 30%),linear-gradient(135deg,#fff,#fff9fc);box-shadow:0 9px 24px rgba(92,42,82,.06)}.photo-anime-admin-person{display:flex;align-items:center;min-width:0;gap:12px}.photo-anime-admin-person>div:last-child{min-width:0}.photo-anime-admin-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.photo-anime-admin-person p{margin:5px 0;color:#8a94a8;font-size:11px;overflow-wrap:anywhere}.photo-anime-admin-person em{display:inline-flex;padding:4px 8px;border-radius:8px;color:#6b4bca;background:#f0eaff;font-size:10px;font-style:normal;font-weight:800}.photo-anime-admin-media{display:flex;gap:10px;min-width:0}.photo-anime-admin-image{position:relative;width:136px;height:104px;flex:0 0 136px;display:block;overflow:hidden;border:1px solid #e8ddec;border-radius:14px;background:#f5f1fb;text-decoration:none}.photo-anime-admin-image img{width:100%;height:100%;object-fit:cover}.photo-anime-admin-image small{position:absolute;left:6px;right:6px;bottom:6px;padding:5px 6px;border-radius:7px;color:#fff;background:rgba(31,31,54,.72);font-size:9px;text-align:center}.photo-anime-admin-image.is-result{border-color:#bfe7d7}.photo-anime-admin-image.is-result small{background:rgba(9,137,91,.82)}.photo-anime-admin-detail{min-width:0}.photo-anime-admin-detail>div{display:flex;align-items:center;gap:9px}.photo-anime-admin-detail b{font-size:12px}.photo-anime-admin-detail p{margin:7px 0 0;color:#8c96a9;font-size:10px}.photo-anime-admin-detail p.is-error{color:#c84a69}.photo-anime-admin-status{padding:5px 9px;border-radius:8px;font-size:10px;font-weight:900}.photo-anime-admin-status.pending{color:#b46d11;background:#fff3da}.photo-anime-admin-status.processing{color:#6245c1;background:#eee9ff}.photo-anime-admin-status.completed{color:#087c56;background:#e4f8ef}.photo-anime-admin-status.rejected{color:#b14160;background:#ffedf2}.photo-anime-admin-actions{display:grid;gap:7px}.photo-anime-admin-actions button{height:36px;padding:0 12px;border:0;border-radius:10px;font-size:11px;font-weight:900;cursor:pointer}.photo-anime-process-button{color:#6748ca;background:#eee9ff}.photo-anime-upload-button{color:#fff;background:linear-gradient(135deg,#ee3472,#7650e9);box-shadow:0 7px 16px rgba(151,59,152,.17)}.photo-anime-upload-button.is-light{color:#744bcf;border:1px solid #ddd1f5;background:#fff;box-shadow:none}.photo-anime-reject-button{color:#b34262;background:#ffedf2}.photo-anime-admin-actions button:disabled{opacity:.5;cursor:not-allowed}.photo-anime-result-input{display:none}.photo-anime-refund{padding:11px;border-radius:10px;color:#927f89;background:#f7f3f5;font-size:11px;text-align:center}.photo-anime-admin-panel{background:radial-gradient(circle at 96% 6%,rgba(122,79,227,.11),transparent 30%),linear-gradient(145deg,#fff,#fff9fc)}
@media(max-width:1150px){.photo-anime-admin-card{grid-template-columns:1fr 1.3fr}.photo-anime-admin-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.photo-anime-admin-card{grid-template-columns:1fr}.photo-anime-admin-media{overflow:auto}.photo-anime-admin-image{width:150px;flex-basis:150px}.photo-anime-admin-actions{grid-template-columns:1fr}}

/* 玩家照片转动漫次数 */
.challenge-photo-credits{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #e3dcf7;border-radius:15px;background:radial-gradient(circle at 94% 10%,rgba(124,83,228,.12),transparent 30%),linear-gradient(135deg,#fbf9ff,#f5f1ff)}.challenge-photo-credit-copy{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 12px;min-width:0}.challenge-photo-credit-copy>span{color:#5d4b91;font-size:12px;font-weight:900}.challenge-photo-credit-copy>strong{color:#7049db;font-size:24px}.challenge-photo-credit-copy>strong small{font-size:11px}.challenge-photo-credit-copy>p{grid-column:1/-1;margin:3px 0 0;color:#8b84a1;font-size:10px}.challenge-photo-credit-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.challenge-photo-credit-actions>span{margin-right:4px;color:#8a82a1;font-size:11px}.challenge-photo-credit-actions button{height:34px;min-width:42px;padding:0 11px;border:0;border-radius:9px;color:#fff;background:linear-gradient(135deg,#7650e9,#a152e1);box-shadow:0 5px 12px rgba(112,73,219,.16);font-weight:900;cursor:pointer}.challenge-photo-credit-actions button.deduct{color:#6d53bc;border:1px solid #d9cff3;background:#fff;box-shadow:none}.challenge-photo-credit-actions button:disabled{opacity:.48;cursor:wait}
@media(max-width:760px){.challenge-photo-credits{align-items:stretch;flex-direction:column}.challenge-photo-credit-actions{display:grid;grid-template-columns:repeat(4,1fr)}.challenge-photo-credit-actions>span{grid-column:1/-1}.challenge-photo-credit-actions button{width:100%}}
