
.studio-resource-card{display:flex;flex-direction:column;min-width:0;gap:3px}.studio-resource-card .studio-thumb{width:100%;min-width:0}.studio-resource-delete{position:static;align-self:stretch;min-height:28px;border:1px solid var(--line,#cbd2e4);border-radius:5px;background:var(--st-raised,#f1f3f8);color:var(--st-text,#202a3d);font-size:10px;padding:3px 5px}.studio-resource-delete:hover{background:var(--st-danger-bg,#ffedf1);color:var(--st-danger,#b52241);border-color:var(--st-danger,#b52241)}.studio-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px;max-height:60dvh;overflow:auto;padding:4px 2px 8px;margin-top:16px}
.studio-library-item{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;transition:box-shadow .15s,border-color .15s}
.studio-library-item:hover,.studio-library-item:focus-within{border-color:#c7bdf5;box-shadow:0 6px 18px #1c123014}
.studio-library-thumb{aspect-ratio:4/3;background:#f2f0f9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.studio-library-thumb img{width:100%;height:100%;object-fit:cover}
.studio-library-kind-icon{display:flex;color:#7d6ad6}
.studio-library-kind-icon .icon{width:30px;height:30px}
.studio-library-kind-icon[data-kind=document]{color:#c2542f}
.studio-library-kind-icon[data-kind=audio]{color:#1f9d7c}
.studio-library-kind-icon[data-kind=font]{color:#4a5673}
.studio-library-meta{padding:9px 10px 11px;min-width:0}
.studio-library-meta strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-library-meta small{display:block;color:var(--muted);margin-top:3px;font-size:11px}
.studio-library-delete{position:absolute;top:6px;right:6px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #ffffffb0;border-radius:8px;background:#1c1730b3;color:#fff;opacity:0;transform:translateY(-2px);transition:opacity .15s,transform .15s,background .15s}
.studio-library-delete .icon{width:15px;height:15px}
.studio-library-item:hover .studio-library-delete,.studio-library-item:focus-within .studio-library-delete,.studio-library-delete:focus-visible{opacity:1;transform:translateY(0)}
.studio-library-delete:hover{background:#b52241}
.studio-library-delete:disabled{opacity:0;pointer-events:none}
.studio-library-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:44px 20px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:12px}
.studio-library-empty .icon{width:30px;height:30px;color:#a99ae0}
.studio-library-empty strong{color:var(--ink);font-size:14px}
.studio-upload-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1.5px dashed #c7bdf5;border-radius:12px;padding:28px 16px;cursor:pointer;color:var(--ink);transition:border-color .15s,background .15s}
.studio-upload-drop:hover,.studio-upload-drop:focus-within{border-color:#8a6bff;background:#f8f6ff}
.studio-upload-drop .icon{width:26px;height:26px;color:#7d6ad6}
.studio-upload-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.studio-oauth-connect{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-bottom:6px}
.studio-oauth-connect .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-size:14px;padding:13px 18px;box-shadow:0 6px 16px #6235dd2e;transition:box-shadow .15s,transform .15s}
.studio-oauth-connect .btn:hover{box-shadow:0 8px 20px #6235dd3d;transform:translateY(-1px)}
.studio-oauth-connect .btn:visited{color:#fff}
.studio-oauth-connect .studio-social-logo{width:20px;height:20px;background:#fff;border-radius:5px;padding:2px}
.studio-oauth-connect .studio-social-logo{width:18px;height:18px;flex-shrink:0}.studio-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.studio-saved-banners{display:grid;gap:10px;margin-bottom:12px}.studio-saved-banners article{border:1px solid var(--line);padding:8px;border-radius:8px;display:grid;gap:8px}.studio-banner-choice{text-align:left;border:0;background:none;color:var(--ink);font-size:13px;overflow-wrap:anywhere;padding:4px;min-height:36px}.studio-banner-choice[aria-pressed=true]{color:var(--purple,#6235dd);font-weight:600}.studio-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.studio-overlay-management{margin-top:16px}.studio-overlay-row{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:6px 0}.studio-overlay-row>span{min-width:0;overflow-wrap:anywhere}.studio-overlay-row button{flex-shrink:0}.studio-overlay-handle{position:absolute;aspect-ratio:16/9;border:1px solid transparent;background:none;pointer-events:auto;cursor:move;touch-action:none}.studio-overlay-handle:hover,.studio-overlay-handle:focus-within{border-color:#b6a2ff;background:#6235dd0d}.studio-overlay-resize{position:absolute;bottom:0;right:0;min-width:25px;height:25px;border:1px solid white;border-radius:4px;background:#6235dd;color:white;cursor:ew-resize;opacity:0;touch-action:none}.studio-overlay-handle:hover .studio-overlay-resize,.studio-overlay-handle:focus-within .studio-overlay-resize{opacity:1}.studio-demo-overlays{position:absolute;inset:0;pointer-events:none;z-index:10}.studio-demo-overlays>*{position:absolute;object-fit:contain}.studio-editor-actions{flex-wrap:wrap}.studio-role-label{font-size:11px;color:var(--muted);margin-left:8px}
@media(max-width:600px){.studio-editor-actions{gap:6px}.studio-editor-actions .btn{min-height:34px;padding:6px 10px;font-size:11px}.studio-overlay-resize{opacity:1}.studio-resource-delete{min-height:32px}}

@media(max-width:650px){.studio-reference .studio-header{height:auto;min-height:60px;padding:8px;gap:6px;flex-wrap:wrap}.studio-reference .studio-header>.row{width:100%;min-width:0;flex-wrap:wrap}.studio-reference .studio-header>.row:last-child{justify-content:flex-end}.studio-reference .studio-role-label{margin-left:auto;font-size:10px}.studio-reference #studio-demo-guest{font-size:11px;min-height:36px;padding:6px 9px}}
