[hidden]{display:none!important}
/* 登录界面 */
.login-wrap{min-height:100vh;display:grid;place-items:center;background:#0e0e0f;padding:20px}
.login-box{width:100%;max-width:380px;background:#1c1c1e;border:1px solid #2c2c2e;border-radius:18px;padding:36px 32px;display:flex;flex-direction:column;gap:16px}
.login-logo{text-align:center;margin-bottom:4px}
.login-logo .brand-mark{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#34d399,#3b82f6);display:grid;place-items:center;color:#fff;font-weight:900;font-size:26px;margin:0 auto 12px}
.login-logo h1{font-size:20px;margin:0;background:linear-gradient(135deg,#34d399,#3b82f6);-webkit-background-clip:text;color:transparent}
.login-logo p{font-size:12px;color:#6b7280;margin:4px 0 0}
.login-box label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#9ca3af}
.login-box input{padding:11px 14px;background:#111113;border:1px solid #3c3c3e;border-radius:9px;color:#e5e7eb;font-size:14px;outline:none;transition:.15s}
.login-box input:focus{border-color:#34d399;box-shadow:0 0 0 2px #34d39930}
.login-box .primary{padding:12px;border-radius:9px;background:linear-gradient(135deg,#34d399,#3b82f6);color:#fff;font-size:14px;font-weight:700;cursor:pointer;border:none;margin-top:4px}
.login-box .primary:hover{filter:brightness(1.1)}
.login-divider{display:flex;align-items:center;gap:10px;color:#4b5563;font-size:11px}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:#2c2c2e}
.ioa-login-btn{display:block;text-align:center;padding:11px;border-radius:9px;background:#252527;border:1px solid #3c3c3e;color:#9ca3af;font-size:12px;text-decoration:none;transition:.15s}
.ioa-login-btn:hover{border-color:#34d399;color:#34d399}
.ioa-redirect-hint{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}
.ioa-redirect-hint p{font-size:12px;color:#6b7280;margin:0}
.spinner{width:32px;height:32px;border:3px solid #2c2c2e;border-top-color:#34d399;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.login-err{background:#3f1d24;border:1px solid #6b2b38;color:#fca5a5;border-radius:8px;padding:10px 12px;font-size:12px}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#e5e7eb;background:#0e0e0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0e0e0f}main{min-height:100vh}.app-shell{display:flex;min-height:100vh}.control-panel{width:292px;position:fixed;inset:0 auto 0 0;background:#1c1c1e;border-right:1px solid #2c2c2e;display:flex;flex-direction:column;z-index:2}.workspace{margin-left:292px;padding:26px 30px;width:calc(100% - 292px);max-width:1450px}.panel-header{padding:18px 20px;border-bottom:1px solid #2c2c2e;display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#34d399,#3b82f6);display:grid;place-items:center;color:white;font-weight:900;font-size:20px;box-shadow:0 8px 24px #34d39933}.panel-header h1{font-size:16px;margin:0;background:linear-gradient(135deg,#34d399,#3b82f6);-webkit-background-clip:text;color:transparent}.panel-header p{font-size:11px;color:#6b7280;margin:3px 0 0}.user-bar{display:flex;align-items:center;gap:10px;padding:13px 18px;background:#1a1a1c;border-bottom:1px solid #2c2c2e}.user-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#34d399,#3b82f6);display:grid;place-items:center;font-weight:800;color:white;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.user-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info>span:not(.ioa-badge){font-size:9px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ioa-badge{font-size:9px;width:max-content;padding:2px 6px;border-radius:10px}.ioa-badge.verified{color:#34d399;background:#064e3b}.ioa-badge.pending{color:#fbbf24;background:#422006}.user-logout{padding:5px 9px;border-radius:5px;font-size:10px;background:#2c2c2e;color:#9ca3af;border:1px solid #3c3c3e}.points-card{margin:16px 18px;padding:16px;border-radius:12px;background:linear-gradient(145deg,#143d32,#182d45);border:1px solid #2f5d55}.points-card>span{font-size:11px;color:#9ca3af}.points-card>strong{display:block;font-size:30px;color:#fff;margin:3px 0 12px}.points-card>div{display:flex;gap:14px}.points-card small{color:#9ca3af;font-size:9px}.points-card small b{color:#34d399}.side-nav{padding:4px 12px;display:grid;gap:5px}.side-nav a{padding:11px 13px;border-radius:8px;color:#9ca3af;text-decoration:none;font-size:13px}.side-nav a.active,.side-nav a:hover{background:#29292c;color:#fff}.side-nav a b{float:right;color:#34d399}.side-foot{margin-top:auto;border-top:1px solid #2c2c2e;padding:15px 18px;color:#6b7280;font-size:10px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;margin-right:6px}.card{background:#18181a;border:1px solid #2c2c2e;border-radius:14px;padding:22px;box-shadow:0 12px 30px #0003}.login{max-width:390px;margin:12vh auto;display:grid;gap:14px;background:#1c1c1e}.login h1{margin:0;background:linear-gradient(135deg,#34d399,#3b82f6);-webkit-background-clip:text;color:transparent}.login p,.login small{color:#6b7280}input,select,textarea{width:100%;border:1px solid #3c3c3e;background:#101011;color:#e5e7eb;border-radius:8px;padding:10px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#34d399}button{border:0;border-radius:8px;padding:10px 16px;background:linear-gradient(135deg,#34d399,#3b82f6);color:#fff;font-weight:700;cursor:pointer}.ghost{background:#2c2c2e;color:#9ca3af;border:1px solid #3c3c3e}button.sm{padding:5px 10px;font-size:11px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}header b{font-size:20px}header span{color:#6b7280;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stats article{background:#18181a;border:1px solid #2c2c2e;padding:16px;border-radius:12px}.stats span{color:#6b7280;font-size:11px}.stats strong{display:block;font-size:24px;margin-top:5px;color:#34d399}.grid{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(420px,1.1fr);gap:16px;margin-bottom:16px}h2{margin-top:0;font-size:16px}h3{font-size:14px}label{display:block;font-size:12px;color:#9ca3af;margin:12px 0}label input,label select,label textarea{margin-top:6px}.row{display:flex;gap:9px}.row>*{flex:1}.estimate{background:#122e29;color:#34d399;padding:11px;border-radius:8px}.mode-tabs{display:flex;gap:6px;margin:13px 0}.mode-tabs button{flex:1;background:#252527;color:#9ca3af}.mode-tabs button.active{background:linear-gradient(135deg,#34d399,#3b82f6);color:white}.materials-panel{border:1px dashed #3c3c3e;background:#131315;border-radius:10px;padding:12px;margin:12px 0}.material-help{font-size:11px;color:#6b7280;line-height:1.5}.material-item{display:flex;justify-content:space-between;padding:9px;background:#1d1d20;border:1px solid #2c2c2e;border-radius:7px;margin:6px 0}.material-item small{display:block;color:#6b7280}.checks{display:flex;gap:18px}.checks label{display:flex;align-items:center;gap:6px}.checks input{width:auto;margin:0}.task{padding:14px 0;border-bottom:1px solid #2c2c2e}.task-done{background:#10251f;border-radius:9px;padding:14px;margin:7px 0;border:1px solid #245b49}.task-top{display:flex;justify-content:space-between}.task-prompt{color:#9ca3af;font-size:12px;line-height:1.5}.task small{color:#6b7280}.badge{padding:3px 9px;border-radius:12px;font-size:10px}.badge.success{background:#064e3b;color:#34d399}.badge.running{background:#172554;color:#60a5fa}.badge.fail{background:#450a0a;color:#f87171}.badge.pending{background:#422006;color:#fbbf24}.empty{color:#4b5563;text-align:center;padding:28px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid #2c2c2e;white-space:nowrap;font-size:11px}td input{width:90px;padding:6px}.apikey-section{background:#141e24;border:1px solid #28414d;border-radius:10px;padding:16px;margin-bottom:18px}.toast{position:fixed;right:24px;top:24px;background:#20293a;color:white;padding:13px 18px;border-radius:10px;z-index:5;transform:translateX(130%);transition:.3s}.toast.show{transform:none}.toast.error{background:#7f1d1d}.toast.success{background:#065f46}.toast.info{background:#1e3a5f}@media(max-width:980px){.control-panel{position:relative;width:100%;height:auto}.app-shell{display:block}.workspace{margin:0;width:100%;padding:16px}.grid,.stats,.admin-grid{grid-template-columns:1fr}.side-nav,.side-foot{display:none}}@media(max-width:600px){.row,.checks{flex-wrap:wrap}.row>*{min-width:120px}}
/* 双栏创作工作台：左侧积分与创建，右侧任务网格 */
.control-panel{width:430px;overflow:hidden}.workspace{margin-left:430px;width:calc(100% - 430px);max-width:none;min-height:100vh}.sidebar-scroll{flex:1;overflow-y:auto;padding:14px 16px 20px}.sidebar-scroll .stats{grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 12px}.sidebar-scroll .stats article{padding:10px}.sidebar-scroll .stats span{font-size:9px}.sidebar-scroll .stats strong{font-size:18px}.sidebar-scroll .creator{padding:16px;box-shadow:none}.sidebar-scroll .creator h2{margin-bottom:8px}.sidebar-scroll .creator textarea{min-height:86px}.sidebar-scroll .creator>.row{display:grid;grid-template-columns:repeat(4,1fr)}.sidebar-scroll .creator>.row label{min-width:0}.sidebar-scroll .creator .checks{gap:10px}.side-nav{display:none}.side-foot{margin-top:0}.tasks-board{width:100%}.tasks-card{background:transparent;border:0;box-shadow:none;padding:0}.tasks-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.tasks-heading h2{font-size:18px;margin:0}.tasks-heading p{font-size:11px;color:#6b7280;margin:4px 0 0}.tasks-heading span{color:#34d399;font-size:12px}#tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;align-items:start}.task,.task-done{margin:0;padding:16px;background:#18181a;border:1px solid #2c2c2e;border-radius:12px;min-width:0}.task-done{background:#10251f;border-color:#245b49}.task-prompt{min-height:38px}.video-result video{width:100%;aspect-ratio:16/9;max-height:none;object-fit:cover;border-radius:9px}.empty{grid-column:1/-1;background:#18181a;border:1px dashed #2c2c2e;border-radius:12px}.points-card{margin:12px 16px}.panel-header{padding:14px 18px}.user-bar{padding:10px 18px}@media(max-width:1100px){.control-panel{width:380px}.workspace{margin-left:380px;width:calc(100% - 380px)}#tasks{grid-template-columns:1fr}.sidebar-scroll .creator>.row{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.control-panel{position:relative;width:100%;height:auto}.app-shell{display:block}.workspace{margin:0;width:100%;padding:16px}.sidebar-scroll{overflow:visible}.side-foot{display:block}#tasks{grid-template-columns:1fr}}
/* 统一作品网格与详情预览 */
#tasks{grid-auto-rows:390px}.task,.task-done{height:390px;display:flex;flex-direction:column;padding:0;overflow:hidden;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.task:hover,.task-done:hover{transform:translateY(-3px);border-color:#34d399;box-shadow:0 12px 30px #0006}.video-result,.video-placeholder{height:210px;min-height:210px;margin:0;position:relative;background:#0b0b0c;display:grid;place-items:center;overflow:hidden}.video-result video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}.video-placeholder{color:#4b5563;font-size:12px;background:linear-gradient(135deg,#111827,#151515)}.play-overlay{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;padding-left:3px;background:#0009;color:#fff;font-size:17px;border:1px solid #ffffff33}.task-content{padding:14px;display:flex;flex-direction:column;flex:1;min-height:0}.task-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%}.task-prompt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:10px 0;min-height:36px}.task-meta{color:#6b7280;font-size:10px;margin-top:auto}.polling-hint{display:block;margin:7px 0 0}.modal-open{overflow:hidden}.video-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.video-modal-backdrop{position:absolute;inset:0;background:#000c;backdrop-filter:blur(8px)}.video-modal-dialog{position:relative;width:min(1180px,96vw);max-height:92vh;overflow:auto;background:#18181a;border:1px solid #343438;border-radius:16px;box-shadow:0 30px 90px #000;display:grid;grid-template-columns:minmax(420px,1.3fr) minmax(360px,.9fr)}.video-modal-close{position:absolute;right:14px;top:14px;z-index:2;width:34px;height:34px;padding:0;border-radius:50%;font-size:23px;background:#000a}.detail-preview{background:#070708;min-height:560px;display:grid;place-items:center}.detail-preview video{width:100%;height:100%;max-height:86vh;object-fit:contain}.detail-preview .video-placeholder{width:100%;height:100%;min-height:560px}.detail-main{padding:28px;overflow:auto}.detail-title{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding-right:30px;margin-bottom:20px}.detail-title h2{font-size:20px;margin:0 0 8px}.detail-title p{font-size:12px;color:#9ca3af;line-height:1.6;margin:0;max-height:76px;overflow:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-row{background:#111113;border:1px solid #29292c;border-radius:8px;padding:10px;min-width:0}.detail-row span{display:block;color:#6b7280;font-size:9px;margin-bottom:4px}.detail-row b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-download{display:block;margin-top:16px;text-align:center;padding:11px;border-radius:8px;background:linear-gradient(135deg,#34d399,#3b82f6);color:#fff;text-decoration:none;font-size:12px;font-weight:700}@media(max-width:900px){.video-modal-dialog{grid-template-columns:1fr}.detail-preview{min-height:280px}.detail-preview .video-placeholder{min-height:280px}.detail-main{padding:20px}}@media(max-width:520px){.detail-grid{grid-template-columns:1fr}#tasks{grid-auto-rows:370px}.task,.task-done{height:370px}.video-result,.video-placeholder{height:190px;min-height:190px}}
/* 详情预览二次优化：纵向满宽布局、无原生丑滚动条 */
.video-modal{padding:18px}.video-modal-dialog{width:min(1100px,96vw);height:min(920px,94vh);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#161618}.detail-preview{width:100%;height:min(58vh,610px);min-height:360px;flex:0 0 auto;background:radial-gradient(circle at center,#19191d 0,#070708 70%)}.detail-preview video{width:100%;height:100%;max-height:none;object-fit:contain}.detail-preview .video-placeholder{min-height:360px;height:100%}.detail-main{flex:1;min-height:0;padding:20px 24px 24px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3f4448 transparent}.detail-main::-webkit-scrollbar,.detail-title p::-webkit-scrollbar{width:5px;height:5px}.detail-main::-webkit-scrollbar-track,.detail-title p::-webkit-scrollbar-track{background:transparent}.detail-main::-webkit-scrollbar-thumb,.detail-title p::-webkit-scrollbar-thumb{background:linear-gradient(#34d399,#3b82f6);border-radius:10px}.detail-title{align-items:center;margin-bottom:14px;padding-right:38px}.detail-title>div{min-width:0;flex:1}.detail-title h2{font-size:18px}.detail-title p{max-height:48px;overflow:auto;margin-right:12px}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.detail-row{padding:9px 11px}.detail-row b{font-size:11px}.detail-download{width:max-content;min-width:190px;margin:14px 0 0 auto;padding:10px 18px}.video-modal-close{right:16px;top:16px;background:#111d;border:1px solid #ffffff20;backdrop-filter:blur(5px)}@media(max-width:900px){.video-modal-dialog{height:94vh;display:flex}.detail-preview{height:42vh;min-height:260px}.detail-preview .video-placeholder{min-height:260px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-main{padding:17px}.detail-download{width:100%}}@media(max-width:520px){.video-modal{padding:0}.video-modal-dialog{width:100vw;height:100vh;max-height:100vh;border-radius:0}.detail-preview{height:35vh;min-height:220px}.detail-grid{grid-template-columns:1fr 1fr}.detail-title{align-items:flex-start}.detail-row{padding:8px}}
/* 素材附件、品牌 Logo 与侧栏滚动条 */
.brand-mark{overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;display:none;background:#fff}.material-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.material-action{padding:7px 10px;background:#252527;border:1px solid #3c3c3e;color:#d1d5db;font-size:10px}.material-action:hover{border-color:#34d399;color:#34d399}.material-drop{border:1px dashed #3c5650;border-radius:9px;padding:13px;text-align:center;background:#101817;cursor:pointer;transition:.2s;margin-bottom:9px}.material-drop:hover,.material-drop.dragover{border-color:#34d399;background:#123029;box-shadow:inset 0 0 0 1px #34d39955}.material-drop b{display:block;font-size:11px;color:#d1fae5}.material-drop span{display:block;font-size:9px;color:#6b7280;margin-top:4px}.material-item{position:relative;display:flex;align-items:center;gap:9px;padding:7px}.material-thumb{width:58px;height:44px;border-radius:6px;overflow:hidden;position:relative;flex:0 0 auto;background:#0b0b0c;display:grid;place-items:center}.material-thumb img,.material-thumb video{width:100%;height:100%;object-fit:cover}.media-kind{position:absolute;right:2px;bottom:2px;background:#000b;color:#fff;font-size:7px;padding:1px 3px;border-radius:3px}.audio-preview{font-size:22px;color:#34d399}.material-info{min-width:0;flex:1}.material-info b{display:block;font-size:10px}.material-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;font-size:8px}.material-info em{display:block;color:#34d399;font-size:8px;font-style:normal;margin-top:2px}.material-remove{width:24px;height:24px;padding:0;border-radius:50%;background:#3f1d24;color:#fca5a5;font-size:16px}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:#2fbf9b transparent}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#34d399,#3b82f6);border-radius:10px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6ee7b7,#60a5fa)}
/* 作品详情：参考素材站的大舞台、信息卡与底部操作栏 */
.video-modal-dialog{width:min(1240px,96vw);height:min(900px,94vh);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,.75fr);background:#151517}
.detail-preview{height:100%;min-height:0;background:radial-gradient(circle at 50% 45%,#24242a,#070708 72%);border-right:1px solid #2b2b2f}
.detail-preview video{width:100%;height:100%;object-fit:contain}
.detail-main{padding:28px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.detail-head{display:flex;align-items:center;justify-content:space-between;padding-right:34px}.detail-user{display:flex;align-items:center;gap:10px}.detail-user img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#27272a}.detail-user b,.detail-user small{display:block}.detail-user small{color:#71717a;font-size:9px;margin-top:3px}
.detail-title{margin:0;padding:0}.detail-title h2{font-size:22px;margin:0}.detail-tags{display:flex;gap:7px;flex-wrap:wrap}.detail-tags span{padding:5px 9px;border:1px solid #31443f;background:#14211e;color:#6ee7b7;border-radius:999px;font-size:9px}
.detail-prompt{background:#101012;border:1px solid #29292d;border-radius:12px;padding:14px}.detail-prompt>div{display:flex;justify-content:space-between;align-items:center}.detail-prompt button{padding:4px 9px;font-size:9px;background:#252529}.detail-prompt p{font-size:11px;line-height:1.7;color:#c4c4cc;margin:10px 0 0;max-height:110px;overflow:auto;scrollbar-width:thin;scrollbar-color:#34d399 transparent}
.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.detail-row{background:#111113}.detail-actions{position:sticky;bottom:-28px;margin:4px -28px -28px;padding:15px 28px;background:linear-gradient(180deg,#151517e8,#151517 25%);border-top:1px solid #29292d;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-actions button,.detail-actions a{padding:11px 16px;border-radius:9px;font-size:10px;text-decoration:none;text-align:center;font-weight:700;white-space:nowrap}.detail-actions .primary{background:linear-gradient(135deg,#34d399,#3b82f6);color:#fff;flex:1}.detail-actions .secondary,.detail-actions a{background:#252529;color:#d4d4d8;border:1px solid #39393e}
@media(max-width:900px){.video-modal-dialog{display:flex}.detail-preview{height:42vh;min-height:250px;border-right:0;border-bottom:1px solid #2b2b2f}.detail-main{padding:18px}.detail-actions{bottom:-18px;margin:2px -18px -18px;padding:13px 18px}}
@media(max-width:520px){.detail-grid{grid-template-columns:1fr 1fr}.detail-actions{flex-wrap:wrap;justify-content:center}.detail-actions .primary{order:-1;flex-basis:auto}.detail-actions button,.detail-actions a{padding:9px 12px;font-size:9px}}
/* 修复：实际双栏内容位于 #videoModalBody 内 */
.video-modal-dialog{display:block!important}
#videoModalBody{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,.75fr);overflow:hidden}
#videoModalBody>.detail-preview,#videoModalBody>.detail-main{min-width:0;min-height:0}
@media(max-width:900px){#videoModalBody{display:flex;flex-direction:column}.detail-preview{flex:0 0 42vh}.detail-main{flex:1}}
/* 再次创作：左侧快速定位与参数恢复提示 */
.reuse-task-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;padding:9px 10px;border:1px solid #2d6a59;border-radius:9px;background:linear-gradient(135deg,#10342b,#142b3d);color:#b7f7df;font-size:10px}.reuse-task-bar span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reuse-task-bar button{flex:0 0 auto;padding:4px 8px;background:#ffffff12;border:1px solid #ffffff1f;color:#a7f3d0;font-size:9px}.creator.reuse-focus{animation:reusePulse 1.35s ease-out;box-shadow:0 0 0 1px #34d399,0 0 32px #34d39935}@keyframes reusePulse{0%{transform:translateX(-8px);box-shadow:0 0 0 2px #34d399,0 0 46px #34d39975}100%{transform:none}}
/* 任务卡片操作按钮（删除 & 可见性）*/
.task{position:relative}
.task-delete-btn,.task-vis-btn{position:absolute;width:28px;height:28px;padding:0;border-radius:50%;font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s}
.task:hover .task-delete-btn,.task:hover .task-vis-btn{opacity:1}
.task-delete-btn{bottom:8px;right:8px;background:#3f1d24cc;border:1px solid #6b2b38;color:#fca5a5;font-size:10px;padding:3px 8px;border-radius:5px;height:auto;width:auto}
.task-delete-btn:hover{background:#7f1d1d;border-color:#ef4444}
.task-vis-btn{bottom:8px;right:56px;background:#1a2a1acc;border:1px solid #2d4d2d;color:#86efac;font-size:10px;padding:3px 8px;border-radius:5px;height:auto;width:auto}
.task-vis-btn.vis-public{background:#1a2440cc;border-color:#2d4070;color:#93c5fd}
.task-vis-btn:hover{opacity:1!important;filter:brightness(1.2)}
/* 危险操作按钮 */
.detail-actions .danger,.danger{background:#3f1d24;border:1px solid #6b2b38;color:#fca5a5}
.detail-actions .danger:hover{background:#7f1d1d}
/* 广场 Tab */
.board-tabs{display:flex;gap:6px;margin-bottom:14px}
.board-tab{padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;background:#252527;border:1px solid #3c3c3e;color:#9ca3af;cursor:pointer;transition:.15s}
.board-tab.active{background:linear-gradient(135deg,#34d399,#3b82f6);border-color:transparent;color:#fff}
.board-tab:hover:not(.active){border-color:#34d399;color:#34d399}
/* 作品卡片作者标签（我的和公共均使用） */
.card-author{display:flex;align-items:center;gap:5px;margin-top:6px;margin-bottom:2px;min-width:0}
.card-author img{width:20px;height:20px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#34d399,#3b82f6);flex:0 0 auto;display:block}
.card-author span{font-size:10px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}
.card-author-id{font-size:9px;color:#4b5563!important;max-width:70px!important}
/* 提示词 @ 素材菜单 */
.prompt-wrap{position:relative}
.at-menu{position:absolute;z-index:200;background:#1e1e22;border:1px solid #34d39966;border-radius:10px;box-shadow:0 8px 24px #0009;overflow:hidden;min-width:200px;max-width:280px}
.at-menu button{display:flex;align-items:center;gap:7px;width:100%;text-align:left;padding:8px 12px;background:none;border:none;color:#e5e7eb;font-size:11px;cursor:pointer;transition:.12s;border-bottom:1px solid #2c2c2e}
.at-menu button:last-child{border-bottom:0}
.at-menu button:hover,.at-menu button.at-active{background:#132e26;color:#34d399}
.at-role{font-size:9px;background:#132e26;color:#6ee7b7;padding:2px 6px;border-radius:10px;flex:0 0 auto}
.at-alias{font-weight:700;color:#34d399;flex:0 0 auto}
.at-name{color:#6b7280;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
/* 素材卡 @ 按钮 */
.material-btn-at{width:22px;height:22px;padding:0;border-radius:5px;font-size:12px;font-weight:700;background:#132e26;border:1px solid #34d39966;color:#34d399;line-height:1;flex:0 0 auto;margin-right:2px}
.material-btn-at:hover{background:#34d399;color:#000}
.mat-alias{display:inline-block;background:#132e26;color:#6ee7b7;border-radius:4px;padding:1px 5px;font-size:9px;margin-bottom:1px;font-weight:700;letter-spacing:.3px}
/* 视频右键菜单 */
.video-ctx-menu{background:#1e1e20;border:1px solid #3c3c3e;border-radius:8px;box-shadow:0 8px 24px #0009;overflow:hidden;min-width:150px}
.video-ctx-menu button{display:block;width:100%;text-align:left;padding:9px 14px;background:none;border:none;color:#e5e7eb;font-size:12px;cursor:pointer;transition:.15s}
.video-ctx-menu button:hover{background:#2a2a2e;color:#34d399}
/* 详情弹窗分享按钮 */
.detail-actions .secondary{background:#252529;color:#d4d4d8;border:1px solid #39393e}
/* 后台操作按钮 */
.admin-act-row{display:flex;gap:6px;margin-top:8px}
.admin-act-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:.15s}
.btn-vis-pri{background:#1a2a1a;border-color:#2d4d2d;color:#86efac}.btn-vis-pri:hover{background:#243524;border-color:#34d399}
.btn-vis-pub{background:#1a2440;border-color:#2d4070;color:#93c5fd}.btn-vis-pub:hover{background:#1e2f5a;border-color:#3b82f6}
.btn-danger{background:#3f1d24;border-color:#6b2b38;color:#fca5a5}.btn-danger:hover{background:#7f1d1d;border-color:#ef4444}
/* 详情内参考素材回显 */
.detail-materials{border:1px solid #29292d;border-radius:12px;background:#101012;padding:12px}.detail-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.detail-section-title b{font-size:11px}.detail-section-title span{font-size:9px;color:#34d399}.detail-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-material-card{min-width:0;overflow:hidden;border:1px solid #2d2d31;border-radius:9px;background:#18181b}.detail-material-card>video,.detail-material-image{display:block;width:100%;height:105px;border:0;padding:0;border-radius:0;background:#09090b}.detail-material-card>video{object-fit:cover}.detail-material-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.detail-material-image:hover img{transform:scale(1.04)}.detail-material-card>div:last-child{padding:8px;min-width:0}.detail-material-card b,.detail-material-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-material-card b{font-size:10px;color:#d1fae5}.detail-material-card small{font-size:8px;color:#71717a;margin-top:3px}.detail-audio-card{grid-column:1/-1;display:flex;align-items:center;padding:10px}.detail-audio-icon{width:44px;height:44px!important;padding:0!important;border-radius:9px;background:#133b31;display:grid!important;place-items:center;color:#34d399;font-size:22px;flex:0 0 auto}.detail-audio-card>div:last-child{flex:1}.detail-audio-card audio{display:block;width:100%;height:30px;margin-top:7px}.detail-material-empty{padding:10px;border-radius:8px;background:#2a2415;color:#fbbf24;font-size:9px;line-height:1.6}@media(max-width:520px){.detail-material-grid{grid-template-columns:1fr}.detail-audio-card{grid-column:auto}}
/* 提示词中的已引用素材与悬浮预览 */
.prompt-reference-strip{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px;padding:6px;border:1px solid #2d3835;border-radius:8px;background:#111715}
.prompt-reference-strip[hidden]{display:none}
.prompt-ref-chip{position:relative;display:flex;align-items:center;gap:6px;max-width:150px;padding:4px 7px;background:#17231f;border:1px solid #2d5548;border-radius:7px;color:#a7f3d0;font-size:9px;font-weight:700}
.prompt-ref-chip>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.material-inline-visual{position:relative;display:block;flex:0 0 auto;width:30px;height:30px}
.material-inline-thumb{display:block;width:30px;height:30px;object-fit:cover;border-radius:5px;background:#09090b;border:1px solid #3f4b47}
.material-inline-audio{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:5px;background:#20352e;color:#86efac;font-size:8px}
.material-hover-preview{display:none;position:absolute;left:calc(100% + 8px);top:0;width:240px;height:180px;padding:6px;border:1px solid #3d5f54;border-radius:10px;background:#090b0a;box-shadow:0 16px 38px #000c;z-index:800;pointer-events:none}
.material-hover-preview img,.material-hover-preview video{width:100%;height:100%;object-fit:contain;border-radius:6px;background:#050505}
.material-inline-visual:hover .material-hover-preview{display:block}
.prompt-ref-chip .material-hover-preview{left:0;top:auto;bottom:calc(100% + 8px)}
.at-menu{overflow:visible}
.at-menu button{position:relative;background:#1e1e22}
.at-menu .material-inline-thumb{width:34px;height:34px}
.at-menu .material-inline-visual{width:34px;height:34px}
@media(max-width:760px){.material-hover-preview{width:190px;height:145px;left:0;top:calc(100% + 7px)}}
/* 纯文字状态与预览微调 */
.play-overlay{font-size:10px;padding-left:0}.detail-audio-icon{font-size:10px}.at-menu .material-hover-preview{left:0;top:calc(100% + 7px)}

.detail-actions .primary{white-space:nowrap}

/* 行内素材富文本提示词 */
.prompt-editor{width:100%;min-height:108px;max-height:220px;margin-top:6px;overflow-y:auto;border:1px solid #3c3c3e;background:#101011;color:#e5e7eb;border-radius:8px;padding:10px;font:inherit;font-size:12px;line-height:2;outline:none;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;scrollbar-width:thin;scrollbar-color:#34d399 transparent}
.prompt-editor:focus{border-color:#34d399;box-shadow:0 0 0 1px #34d39922}
.prompt-editor:empty:before{content:attr(data-placeholder);color:#5d626b;pointer-events:none}
.prompt-inline-chip,.detail-inline-chip{position:relative;display:inline-flex;align-items:center;gap:5px;vertical-align:middle;height:28px;margin:1px 3px;padding:2px 7px 2px 3px;border:1px solid #395a50;border-radius:6px;background:#1a2522;color:#c7d2d9;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;user-select:none}
.prompt-inline-chip{cursor:default}
.prompt-inline-chip .material-inline-visual,.detail-inline-chip .material-inline-visual{width:22px;height:22px}
.prompt-inline-chip .material-inline-thumb,.detail-inline-chip .material-inline-thumb{width:22px;height:22px;border-radius:4px}
.prompt-inline-chip .material-inline-audio,.detail-inline-chip .material-inline-audio{width:22px;height:22px;font-size:7px}
.prompt-chip-label{max-width:82px;overflow:hidden;text-overflow:ellipsis}
.prompt-inline-chip .material-hover-preview,.detail-inline-chip .material-hover-preview{left:0;top:calc(100% + 7px);width:280px;height:210px}
.detail-prompt-content{margin-top:10px;max-height:150px;overflow:auto;color:#c4c4cc;font-size:11px;line-height:2;white-space:normal;scrollbar-width:thin;scrollbar-color:#34d399 transparent}
.detail-inline-chip{height:26px;margin:2px 4px}
.detail-inline-chip:hover .material-hover-preview{display:block}
@media(max-width:520px){.prompt-inline-chip .material-hover-preview,.detail-inline-chip .material-hover-preview{width:210px;height:158px}}
/* 修正详情提示词布局，并将素材大图提升到页面顶层避免裁切 */
.detail-prompt>.detail-prompt-content{display:block;justify-content:initial;align-items:initial;width:100%;word-break:normal;overflow-wrap:break-word;white-space:normal}
.detail-prompt-content .detail-inline-chip{display:inline-flex;vertical-align:middle}
.material-hover-preview{display:none!important}
.material-hover-portal{position:fixed;width:min(460px,calc(100vw - 32px));height:min(360px,calc(100vh - 32px));padding:10px;border:1px solid #49665d;border-radius:12px;background:#080a09;box-shadow:0 24px 70px #000e;z-index:12000;pointer-events:none;overflow:hidden;animation:materialPortalIn .14s ease-out}
.material-hover-portal[hidden]{display:none}
.material-hover-portal img,.material-hover-portal video{display:block;width:100%;height:100%;object-fit:contain;border-radius:7px;background:#050505}
@keyframes materialPortalIn{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){.material-hover-portal{width:min(360px,calc(100vw - 24px));height:min(300px,calc(100vh - 24px))}}
/* 快捷预设 */
.preset-panel{margin:10px 0;padding:10px;border:1px solid #2d3835;border-radius:10px;background:#111715}
.preset-panel[hidden]{display:none}.preset-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.preset-head b{font-size:11px;color:#d1fae5}.preset-head span{font-size:9px;color:#6b7280}
.preset-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:156px;overflow:auto;scrollbar-width:thin;scrollbar-color:#34d399 transparent}
.preset-item{display:flex;align-items:center;gap:8px;min-width:0;padding:7px;text-align:left;border:1px solid #303b37;border-radius:8px;background:#181d1b;color:#e5e7eb;cursor:pointer}.preset-item:hover{border-color:#34d399;background:#17241f}.preset-item>img,.preset-item>video,.preset-kind{width:36px;height:36px;flex:0 0 auto;border-radius:6px;object-fit:cover;background:#0b0d0c}.preset-kind{display:grid;place-items:center;color:#86efac;font-size:9px}.preset-item>span:last-child{min-width:0}.preset-item b,.preset-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-item b{font-size:10px}.preset-item small{margin-top:3px;color:#71717a;font-size:8px}
@media(max-width:520px){.preset-list{grid-template-columns:1fr}}
/* 后台可配置的模型标签 */
.model-select-wrap{display:flex;align-items:center;gap:7px;margin-top:6px}.model-select-wrap select{margin-top:0;min-width:0;flex:1}.model-tag{flex:0 0 auto;padding:4px 8px;border:1px solid #34d39966;border-radius:999px;background:#123129;color:#6ee7b7;font-size:9px;font-weight:700;white-space:nowrap}.model-tag[hidden]{display:none}
/* 管理员自定义作品封面 */
.task-custom-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.video-result .play-overlay{z-index:2}

/* 详情视频安全区：横竖屏都按完整画面显示，避免被双栏网格裁切 */
.detail-preview{position:relative!important;overflow:hidden!important;isolation:isolate}
.detail-preview>video{display:block;position:absolute!important;inset:0;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;background:#050506}
.detail-preview-portrait{display:flex!important;align-items:center;justify-content:center;padding:14px;background:radial-gradient(ellipse at center,#222228 0,#0b0b0d 52%,#050506 100%)}
.detail-preview-portrait>video{position:relative!important;inset:auto!important;width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:9/16;flex:0 1 auto}
@media(max-width:900px){.detail-preview-portrait{padding:10px}.detail-preview-portrait>video{width:auto!important;height:100%!important}}
@media(max-width:520px){.detail-preview-portrait{padding:6px}}

/* 卡片播放按钮：使用纯 CSS 三角箭头，不显示文字或表情图标 */
.play-overlay{display:grid!important;place-items:center!important;padding:0!important;font-size:0!important}
.play-overlay::before{content:"";display:block;width:0;height:0;margin-left:3px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid #fff;filter:drop-shadow(0 1px 2px #0008)}
.admin-task-media>span{font-size:0!important}
.admin-task-media>span::before{content:"";display:block;width:0;height:0;margin-left:3px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #fff}

/* 卡片视频按需加载：刷新时不请求视频，悬停当前卡片后才加载预览 */
.video-result:has(.card-preview-video){background:radial-gradient(circle at 50% 42%,#20272d 0,#11161b 48%,#08090a 100%)}
.card-preview-video{opacity:0;transition:opacity .22s ease}
.video-result.preview-ready .card-preview-video,.video-result.preview-playing .card-preview-video{opacity:1}
.task-custom-cover{transition:opacity .22s ease}
.video-result.preview-playing .task-custom-cover{opacity:0}
.play-overlay{transition:opacity .18s ease,transform .18s ease}
.video-result.preview-loading .play-overlay{opacity:.55}
.video-result.preview-playing .play-overlay{opacity:0;transform:translate(-50%,-50%) scale(.88)}
.video-result.poster-loading:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#11161b 25%,#20272d 40%,#11161b 55%);background-size:220% 100%;animation:card-poster-loading 1.25s linear infinite}
@keyframes card-poster-loading{to{background-position:-220% 0}}
.panel-header .brand-mark.has-logo{width:var(--brand-logo-width,auto);min-width:44px;max-width:190px;height:48px;border-radius:0;background:transparent;box-shadow:none;overflow:visible;flex:0 0 auto}
.panel-header .brand-mark.has-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;background:transparent}
.detail-loop-toggle{position:absolute;right:14px;bottom:58px;z-index:4;padding:7px 11px;border:1px solid #ffffff2e;border-radius:999px;background:#09090bcc;color:#d1d5db;font-size:10px;font-weight:700;backdrop-filter:blur(8px)}
.detail-loop-toggle:hover,.detail-loop-toggle.is-loop{border-color:#34d39988;color:#6ee7b7;background:#09251dcc}
/* privacy toggle button active state */
#privacyToggle[data-private='1']{background:#0a2a1f;color:#34d399;border-color:#34d39966}

/* 参考图页内预览：缩放/拖拽/空白关闭 */
.image-preview-overlay{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;background:#000e0;backdrop-filter:blur(6px);cursor:zoom-out}
.image-preview-overlay[hidden]{display:none!important}
.image-preview-img{max-width:90vw;max-height:90vh;object-fit:contain;user-select:none;-webkit-user-drag:none;cursor:grab;transition:transform .05s ease-out;will-change:transform}
