/* T19 · shared site tokens, magazine/classic and light/dark. */
.vc-page{display:grid;gap:20px;padding:20px;min-width:0}
.vc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.vc-card,.vp-card,.ap-row,.vc-dialog{background:var(--surface-solid);color:var(--text);border:2px solid var(--ink);border-radius:var(--r-card);box-shadow:5px 5px 0 var(--ink);padding:20px;min-width:0;overflow-wrap:anywhere}
.vc-page h1,.vc-card h2,.vc-dialog h2,.vp-panel h2,.ap-panel h2{font-family:var(--display);text-transform:uppercase}
.vc-bar,.vp-controls,.ap-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.vc-card{display:grid;align-content:start;gap:16px}
.vc-card audio{width:100%;min-width:0}
.vc-version{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:1px solid var(--line-strong);border-radius:var(--r-ctl)}
.vc-status,.vp-status,.ap-status{white-space:pre-wrap;min-height:1.5em;color:var(--muted)}
.vc-target{outline:3px solid var(--accent);outline-offset:5px}
.vc-bind-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;max-height:45vh;overflow:auto}
.vc-bind-option{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line-strong);border-radius:var(--r-ctl);overflow-wrap:anywhere}
.vc-bind-option img,.vc-locked-image{width:64px;height:64px;object-fit:cover;border-radius:var(--r-ctl)}
.vc-voice-missing{color:var(--st-fail);font-weight:700}
.vc-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.vc-dialog:modal{overscroll-behavior:contain}
.vc-dialog::backdrop{background:color-mix(in srgb,var(--ink) 40%,transparent);overflow:hidden;overscroll-behavior:contain}
.vc-drawer{margin-inline-end:16px;min-height:calc(100dvh - 32px)}
.vc-form,.vc-field,.vp-cards,.ap-apps{display:grid;gap:12px}
.vc-field>input,.vc-field>select,.vc-field>textarea,.ap-controls select{width:100%;min-width:0;background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-ctl);padding:10px;font:inherit}
.vc-field>textarea{resize:vertical}
.vc-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono)}
.vp-cards{list-style:none;padding:0;gap:18px}
.vp-card,.ap-row{margin-block:12px}
.vp-card p,.ap-row p{color:var(--muted)}
.ap-controls>label{display:grid;gap:6px;flex:1;min-width:140px}
:root[data-style=classic] :is(.vc-card,.vp-card,.ap-row,.vc-dialog){border:1px solid var(--line-strong);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 10%,transparent)}
@media(max-width:640px){.vc-page{padding:12px}.vc-grid{grid-template-columns:1fr}.vc-bar{align-items:stretch}.vc-card,.vp-card,.ap-row{padding:14px}.vc-drawer{margin:16px auto}.vc-bar>.vc-field{width:100%}.ap-controls{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.vc-page *,.vc-dialog *,.vp-panel *,.ap-panel *{scroll-behavior:auto;animation:none;transition:none}}
/* W2 · role toolbar and consistent card rhythm. */
.vc-page{width:100%;box-sizing:border-box;max-width:1600px;margin-inline:auto;padding-bottom:24px;gap:20px;align-content:start}
.vc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:20px;align-content:start}
.vc-toolbar{align-items:center;gap:12px}
.vc-toolbar>h1,.vc-toolbar>.vc-status{margin:0}
.vc-toolbar>.vc-field{display:flex;align-items:center;gap:8px;width:auto}
.vc-toolbar>.vc-field>span{white-space:nowrap}
.vc-toolbar select,.vc-toolbar>.btn{box-sizing:border-box;min-height:var(--ctl,40px);height:var(--ctl,40px)}
.vc-toolbar select{width:auto;max-width:200px}
.vc-toolbar>.vc-status:empty{display:none}
.vc-card{display:flex;flex-direction:column;gap:12px}
.vc-card>:is(h2,p,details,div){margin:0}
.vc-card details>p{margin:12px 0 0}
.vc-actions,.vc-reference,.vc-import-images,.vc-import-modes{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.vc-actions>.btn{min-height:32px}
.vc-reference>.vc-locked-image,.vc-import-images .vc-locked-image{width:64px;height:64px;aspect-ratio:1/1;object-fit:cover;flex:none}
.vc-voice-bound,.vc-voice-missing{font-size:inherit;font-weight:700}
.vc-voice-bound{color:var(--st-ok,var(--text))}
.vc-more{position:relative}
.vc-more>button{margin-top:8px}
.vc-import-list,.vc-import-card{display:grid;gap:12px;min-width:0}
.vc-import-card{border:1px solid var(--line-strong);border-radius:var(--r-card);padding:12px}
.vc-import-card>:is(h3,p){margin:0}
.vc-import-card .vc-bind-option:has(input:disabled){color:var(--muted)}
.vc-import-modes{border:1px solid var(--line-strong);margin:0;min-width:0}
.vc-import-images>div{flex:1 1 120px;min-width:0}
@media(max-width:640px){.vc-page{padding:16px 16px 24px;gap:16px}.vc-grid{gap:16px}.vc-toolbar{align-items:center}.vc-toolbar>.vc-field{width:auto}.vc-toolbar>.btn{height:auto;min-height:var(--ctl,40px);max-width:100%;white-space:normal}.vc-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.vc-actions>.btn{height:100%}}

