.card-edit-action svg {width:14px;height:14px}
.card-overlay,.card-overlay canvas {position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.stage.showing-card .hero-play {inset:auto 12px 12px auto;transform:none;width:35px;height:35px}
.stage.showing-card .hero-play svg {width:17px;height:17px}
.shot .card-shot {object-fit:contain;opacity:1}
.card-dialog {width:min(806px,calc(100vw - 28px));padding:24px}
.card-heading {display:flex;gap:10px;align-items:center}
.card-heading .icon-btn {margin-left:auto;align-self:flex-start}
.card-heading h2 {font-size:26px}
.card-dialog>p {margin-top:10px}
.card-workspace {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-top:20px;align-items:stretch}
.card-screen {min-width:0;display:flex;flex-direction:column;border:1px solid #43483c;border-radius:7px;overflow:hidden;background:#161915}
.card-screen-heading {display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:8px;border-bottom:1px solid var(--line)}
.card-screen-heading strong {font-size:11px;font-weight:600}
.card-screen-heading .tiny-mono {font-size:9px}
.card-mat {padding:12px;display:grid;place-items:center;flex:1;min-height:200px;background:#141714}
.card-mat canvas {display:block;max-width:100%;width:auto;height:auto;max-height:242px;outline:1px solid #53584c}
.card-fields {display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0}
.card-field {min-width:0;border:0;margin:0;padding:0}
.card-field>legend,.card-field>label {display:block;padding:0;margin:0 0 8px;font-size:12px;font-weight:610;color:var(--ink)}
.card-mark-options,.card-file-row,.card-colors {display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.card-mark-options button,.card-upload,#uploadedMark {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;padding:0 10px;font-size:11px;background:#262a23;border:1px solid #454a3e;border-radius:5px;color:#d8dece}
.card-mark-options img {width:13px;height:16px;object-fit:contain}
.card-mark-options button[aria-pressed="true"],#uploadedMark[aria-pressed="true"] {background:#333e29;border-color:#9aa96f;color:var(--accent)}
.card-mark-options button:hover,.card-upload:hover,#uploadedMark:hover {border-color:#99a581}
.card-file-row {margin-top:7px;min-width:0;flex-wrap:nowrap}
.card-upload {position:relative;overflow:hidden;cursor:pointer;flex:none}
.card-upload svg {width:13px;height:13px}
.card-upload input,.custom-color input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.card-upload:focus-within,.custom-color:focus-within {outline:2px solid var(--accent);outline-offset:2px}
#uploadedMark {min-width:0;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap}
.card-hint {margin-top:5px;font-size:10px;color:var(--muted)}
#cardCta {width:100%;min-height:37px;padding:7px 10px;border-radius:5px;border:1px solid #505746;background:#181b16;color:var(--ink);font-size:13px}
.card-colors {gap:8px}
.color-token {background:var(--swatch);position:relative;width:26px;height:26px;border:1px solid #84887a;border-radius:50%}
.color-token[aria-pressed="true"] {outline:2px solid var(--accent);outline-offset:2px}
.custom-color {position:relative;display:flex;align-items:center;min-height:27px;padding:0 7px;border-radius:4px;border:1px solid #48503e;color:#c7cfba;font:10px var(--mono);overflow:hidden}
.card-footer {display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.card-reset {margin-right:auto;padding:4px 0;background:transparent;color:#c6d0b8;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.card-dialog .issue {padding:8px 10px;border-radius:5px}
@media(max-width:700px) {
  .lock-group>.settings-label {display:flex}
  .card-edit-action {font-size:10px}
}
@media(max-width:620px) {
  .card-dialog {padding:16px}
  .card-workspace {grid-template-columns:1fr;gap:16px;margin-top:14px}
  .card-screen {max-width:none}
  .card-mat {min-height:82px;padding:7px}
  .card-mat canvas {max-height:135px}
  .card-fields {gap:13px}
  .card-footer {margin-top:15px;padding-top:12px}
}
