.poster-dialog{border:0;padding:0;border-radius:22px;width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-shadow:0 30px 80px #0f17333a;color:#18253e;background:#fff}
.poster-dialog::backdrop{background:#121a33a6;backdrop-filter:blur(4px)}
.poster-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);max-height:calc(100vh - 32px)}
.poster-stage{background:#eef1f8;display:flex;align-items:center;justify-content:center;padding:28px;position:relative;min-height:420px}
.poster-stage img{max-width:100%;max-height:calc(100vh - 100px);border-radius:12px;box-shadow:0 14px 40px #1b264a2b;background:#fff}
.poster-busy{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:#18253e;color:#fff;font-size:12px;padding:6px 12px;border-radius:99px}
.poster-busy[hidden]{display:none}
.poster-side{padding:26px 26px 22px;overflow:auto;display:flex;flex-direction:column;gap:16px}
.poster-head{display:flex;justify-content:space-between;align-items:flex-start}
.poster-head h2{margin:6px 0 0;font-size:22px}
.poster-eyebrow{font-size:10px;letter-spacing:2.4px;color:#8c9cb7;font-weight:650}
.poster-x{border:0;background:#f0f2f8;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;color:#596782}
.poster-group{display:flex;flex-direction:column;gap:8px;font-size:13px}
.poster-group>span{font-size:12px;font-weight:650;color:#5c6a85}
.poster-group>span small{font-weight:400;color:#97a2b6;margin-left:6px}
.poster-group label{display:flex;gap:8px;align-items:center;color:#3c4a66;cursor:pointer}
.poster-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.poster-seg button{border:1px solid #e3e7f1;background:#fff;border-radius:10px;padding:9px 6px;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-size:13px;color:#3c4a66}
.poster-seg button small{font-size:10px;color:#97a2b6}
.poster-seg button.on{border-color:#4d6bfe;background:#f0f3ff;color:#3150d8;box-shadow:0 0 0 1px #4d6bfe inset}
.poster-code{display:flex;gap:6px;align-items:stretch}
.poster-code code{flex:1;min-width:0;font-size:11px;background:#f4f6fb;border:1px solid #e6e9f2;border-radius:8px;padding:8px 10px;word-break:break-all;color:#4b5a77;line-height:1.5}
.poster-code button,.poster-actions button{border:1px solid #e0e5f0;background:#fff;border-radius:10px;padding:10px 14px;font-size:13px;cursor:pointer;color:#2f3d5a}
.poster-note{font-size:11px;line-height:1.7;color:#9a8a5a;background:#fff8e6;border-radius:8px;padding:8px 10px;margin:0}
.poster-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.poster-actions .poster-primary{background:#4d6bfe;border-color:#4d6bfe;color:#fff;font-weight:650;flex:1}
.poster-status{min-height:18px;margin:0;font-size:12px;color:#3d9a5b}
@media (max-width:760px){.poster-wrap{grid-template-columns:1fr;overflow:auto}.poster-stage{min-height:0;padding:16px}.poster-stage img{max-height:55vh}.poster-side{overflow:visible}}

.poster-dialog [hidden]{display:none!important}
.poster-dialog>.poster-head{padding:16px 20px;border-bottom:1px solid #e5e9f2;align-items:center;gap:12px}
.poster-dialog>.poster-head h2{font-size:18px;margin:0;min-width:0;overflow-wrap:anywhere}
.poster-wrap{max-height:calc(100dvh - 110px)}.poster-side{gap:12px;min-width:0}
.poster-intro{font-size:12px;color:#75829a;line-height:1.8;margin:0}
.poster-link{border:1px solid #4d6bfe;border-radius:10px;background:#4d6bfe;color:white;font-size:13px;font-weight:600;padding:13px;cursor:pointer}
.poster-dialog button:disabled{opacity:.5;cursor:default}
.poster-actions{margin-top:0}.poster-actions>a,.poster-actions>button{flex:1;text-align:center;white-space:nowrap;min-width:0}
.poster-actions>a{border:1px solid #e0e5f0;border-radius:10px;padding:10px 8px;font-size:13px;text-decoration:none;color:#2f3d5a}
.poster-settings{border-top:1px solid #e5e9f2;padding-top:12px;font-size:12px;color:#75829a}
.poster-settings summary{cursor:pointer}.poster-settings .poster-group,.poster-settings .poster-actions{margin-top:16px}
.poster-manual{background:#f7f9ff;border:1px solid #d9e1f4;border-radius:10px;padding:10px}
.poster-manual p{font-size:12px;color:#65758e;line-height:1.6;margin:0 0 8px}
.poster-manual input{width:100%;box-sizing:border-box;min-width:0;border:1px solid #e5e9f2;border-radius:8px;padding:10px;font-size:11px}
.work-link-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));border:1px solid #e5e9f2;border-radius:18px;padding:22px;color:#17243c}
.work-link-dialog::backdrop{background:#17243c70}.work-link-dialog h2{font-size:18px}.work-link-dialog p{font-size:12px;line-height:1.8;color:#75829a}
.work-link-dialog input{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #d9e1f4;border-radius:8px;font-size:12px}
.work-link-dialog button{display:block;margin:14px 0 0 auto;border:0;border-radius:10px;background:#4d6bfe;color:white;padding:10px 20px}
.poster-dialog.compact{width:min(850px,calc(100vw - 32px))}.compact .poster-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.compact .poster-stage{padding:22px;min-height:0}.compact .poster-stage img{width:100%;max-height:70vh;object-fit:contain}
.compact .poster-side{justify-content:center}
@media(max-width:760px){
 .poster-wrap{max-height:calc(100dvh - 105px)}.poster-dialog .poster-side{padding:18px}
 .poster-seg button{min-width:0}.poster-seg button small{overflow-wrap:anywhere}
 .poster-dialog.compact{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:22px 22px 0 0}
 .compact .poster-wrap{display:block;overflow:auto;max-height:calc(94dvh - 64px)}
 .compact .poster-stage{padding:16px 18px 0;background:#fff}.compact .poster-stage img{width:auto;max-width:100%;max-height:295px;border:12px solid #eef1f7;box-sizing:content-box}
 .compact .poster-side{padding:16px 18px 22px}.compact .poster-intro{text-align:center;font-size:11px}
 .compact .poster-note{font-size:10px}.compact .poster-link{min-height:44px}
}
