/* 角色人物设计器（LPC）共用的样式：素材工坊、本地生成器、专业版都用这一份，避免各页面各写一套跑偏 */
.lpc-wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.lpc-left{flex:1 1 430px;min-width:300px}
.lpc-right{flex:0 0 296px;display:flex;flex-direction:column;gap:2px}
.lpc-headrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.lpc-headrow .model-cats{margin:0;flex:1 1 auto}
.lpc-headrow .model-cats .btn{padding:6px 11px;font-size:12.5px}
.lpc-headrow .lib-tools-select{max-width:104px}
.lpc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:330px;overflow:auto;padding:2px}
.lpc-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.035);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.lpc-card:hover{background:rgba(255,255,255,.07);transform:translateY(-1px)}
.lpc-card canvas{image-rendering:pixelated;width:56px;height:56px;background:radial-gradient(circle at 50% 62%,rgba(200,240,75,.10),transparent 62%),#0d1116;border-radius:9px}
.lpc-card span{font-size:11px;color:var(--muted);max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lpc-card.is-active{border-color:var(--accent);background:rgba(200,240,75,.08);box-shadow:0 0 0 1px var(--accent) inset}
.lpc-card.is-active span{color:var(--text)}
.lpc-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.lpc-stage{position:relative;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 40%),#0d1116;padding:10px;display:flex;justify-content:center}
.lpc-stage::after{content:"";position:absolute;inset:10px;border-radius:8px;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:16px 16px;pointer-events:none}
.lpc-stage canvas{image-rendering:pixelated;width:256px;height:256px;position:relative;z-index:1}
.lpc-stage-tag{position:absolute;top:14px;left:16px;font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;z-index:2}
.lpc-right .cover-hint{margin-top:8px}
.lpc-entry-box{background:rgba(200,240,75,.05);border:1px solid rgba(200,240,75,.25);border-radius:14px;padding:12px 14px;margin-bottom:10px}
.lpc-entry-box .lpc-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lpc-entry-box .lpc-entry-head b{color:var(--gold)}
