/* One unobtrusive action entry point in both shared-card layouts. */
.collection-asset-grid > [data-collection-asset] { position: relative; }
.collection-asset-grid .collection-card-more {
  position: absolute; z-index: 4; top: 8px; right: 8px;
  display: grid; place-items: center; width: 40px; height: 40px; padding: 9px;
  border: 1px solid var(--palette-line); border-radius: var(--radius-surface);
  background: var(--palette-white); color: var(--palette-ink); cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease;
}
.collection-asset-grid .collection-card-more:is(:hover,[aria-expanded='true']) { background: var(--palette-gray); border-color: var(--palette-ink); }
.collection-card-more svg,.collection-card-dialog svg,.collection-card-notice svg { display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
.collection-asset-grid.is-rows > [data-collection-asset] { padding-right: 48px; }
.collection-asset-grid.is-rows .collection-card-more { top: calc(50% - 20px); }
.collection-card-state { align-self:flex-start; margin-top:6px; padding:3px 8px; background:var(--palette-gray);color:var(--palette-body);font:500 12px/18px var(--font-body);border-radius:var(--radius-surface); }
body .collection-card-dialog {
  position:fixed; inset:auto; margin:0; width:340px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px);
  box-sizing:border-box; overflow:auto; padding:12px; border:1px solid var(--palette-line); border-radius:var(--radius-surface);
  background:var(--palette-white);color:var(--palette-ink);box-shadow:0 16px 48px color-mix(in srgb,var(--palette-shadow) 18%,transparent);
  font-family:var(--font-body);
}
.collection-card-dialog::backdrop { background:color-mix(in srgb,var(--palette-shadow) 8%,transparent); }
.collection-card-menu-head { display:flex;align-items:center;gap:10px;padding:4px 0 14px;margin-bottom:4px;border-bottom:1px solid var(--palette-line); }
.collection-card-menu-head>img { width:46px;height:58px;object-fit:contain;border-radius:var(--radius-surface);background:var(--palette-photo); }
.collection-card-menu-head>div { flex:1;min-width:0; }
body .collection-card-dialog h2 { margin:0;font:700 16px/21px var(--font-body);letter-spacing:0; }
.collection-card-menu-head p { margin:3px 0 0;font:400 12px/18px var(--font-body);color:var(--palette-mute); }
.collection-card-dialog .collection-card-close { display:grid;place-items:center;align-self:flex-start;flex-shrink:0;width:36px;height:36px;padding:8px;border:0;border-radius:var(--radius-surface);background:transparent;color:var(--palette-ink);cursor:pointer; }
.collection-card-dialog .collection-card-option {
  display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:48px;
  border:0;border-radius:var(--radius-surface);margin:2px 0;padding:12px;text-align:left;text-decoration:none;
  color:var(--palette-ink);background:transparent;cursor:pointer;transition:background-color 150ms ease;
}
.collection-card-option span { display:flex;flex-direction:column;gap:2px;min-width:0; }
.collection-card-option strong { font:600 14px/20px var(--font-body); }
.collection-card-option small { font:400 12px/17px var(--font-body);color:var(--palette-mute); }
.collection-card-dialog :is(.collection-card-option,.collection-card-close):hover { background:var(--palette-gray); }
.collection-card-dialog .collection-card-option.is-danger { color:var(--palette-secondary-coral-text);border-top:1px solid var(--palette-line);margin-top:6px; }
.collection-card-dialog .collection-card-option:disabled { opacity:.5;cursor:not-allowed;background:transparent; }
:is(.collection-card-more,.collection-card-dialog a,.collection-card-dialog button,.collection-card-dialog input,.collection-card-dialog select,.collection-card-dialog textarea):focus-visible { outline:2px solid var(--palette-ink);outline-offset:2px; }
.collection-card-dialog .collection-card-error { margin:0;padding:0 12px;color:var(--palette-secondary-coral-text);font:500 13px/19px var(--font-body); }
.collection-card-error:empty { display:none; }
body .collection-card-dialog.is-editor { width:400px; }
.collection-card-form { display:grid;gap:16px;padding:12px 4px 4px; }
.collection-card-form label { display:flex;flex-direction:column;gap:6px;font:600 14px/20px var(--font-body); }
.collection-card-form label>span { font:400 12px/16px var(--font-body);color:var(--palette-mute); }
.collection-card-form :is(input,select,textarea) { box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--palette-line);border-radius:var(--radius-surface);background:var(--palette-white);color:var(--palette-ink);font:400 16px/22px var(--font-body); }
.collection-card-form textarea { resize:vertical; }
.collection-card-form-actions { display:flex;justify-content:flex-end;gap:8px; }
.collection-card-form-actions button { min-height:44px;padding:10px 16px;border:1px solid var(--palette-line);border-radius:var(--radius-surface);background:var(--palette-white);color:var(--palette-ink);font:600 14px/20px var(--font-body);cursor:pointer; }
.collection-card-form-actions .is-primary { background:var(--palette-ink);color:var(--palette-white);border-color:var(--palette-ink); }
.collection-card-confirm { margin:16px 12px;font:400 14px/22px var(--font-body); }
.collection-card-notice { position:fixed;z-index:200;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;padding:14px 16px;border:1px solid var(--palette-line);border-radius:var(--radius-surface);background:var(--palette-white);color:var(--palette-ink);box-shadow:0 8px 24px color-mix(in srgb,var(--palette-shadow) 14%,transparent);font:500 14px/20px var(--font-body); }
.collection-card-notice[hidden] { display:none; }
.collection-card-notice button { min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:600 14px/20px var(--font-body);cursor:pointer; }
.collection-card-notice [data-card-undo] { text-decoration:underline; }
@media(max-width:600px) {
  .collection-asset-grid .collection-card-more { width:44px;height:44px;padding:11px;top:6px;right:6px; }
  body .collection-card-dialog,body .collection-card-dialog.is-editor { inset:auto 8px 8px;width:auto;max-width:none;max-height:calc(100dvh - 24px);padding:16px 12px max(16px,env(safe-area-inset-bottom)); }
  .collection-card-dialog::backdrop { background:color-mix(in srgb,var(--palette-shadow) 32%,transparent); }
  .collection-card-option strong { font-size:15px; }
  .collection-card-menu-head { padding-bottom:12px; }
  .collection-card-notice { bottom:16px;gap:10px; }
  .collection-asset-grid.is-rows .collection-card-more { top:calc(50% - 22px); }
}
@media(prefers-reduced-motion:reduce) { .collection-card-more,.collection-card-option { transition:none!important; } }
