/* Layout contract v2. Every selector is scoped; legacy blocks retain their theme layout. */
.ac-app-card[data-ac-presentation="2"] {
    container: ac-card / inline-size;
    display:block; min-width:0; max-width:100%; box-sizing:border-box; margin:0;
    padding:var(--ac-card-padding,16px); background:var(--ac-card-bg,transparent);
    color:var(--ac-card-text,inherit); border:1px solid var(--ac-card-border,transparent);
    border-radius:var(--ac-card-radius,0); box-shadow:var(--ac-card-shadow,none);
}
[data-ac-presentation="2"] .ac-card-layout { display:grid; gap:var(--ac-card-gap,12px); align-items:start; min-width:0; grid-template-columns:minmax(0,1fr); }
[data-ac-presentation="2"] .ac-card-layout > [data-ac-field] { margin:0; min-width:0; max-width:100%; position:static; float:none; overflow-wrap:anywhere; box-sizing:border-box; }
[data-ac-presentation="2"] .ac-card-layout > [data-ac-field="name"] { font-size:var(--ac-title-size,1.15em); line-height:1.3; font-weight:var(--ac-title-weight,700); }
[data-ac-presentation="2"] .ac-card-layout a { color:var(--ac-link-color,inherit); }
[data-ac-presentation="2"] .ac-card-layout img { max-width:100%; height:auto; display:block; }
[data-ac-presentation="2"] [data-ac-field="icon"] img { width:var(--ac-icon-size,80px); border-radius:var(--ac-icon-radius,16px); }
[data-ac-presentation="2"] [data-ac-field="screenshots"] { display:flex; gap:8px; overflow-x:auto; }
[data-ac-presentation="2"] [data-ac-field="screenshots"] img { max-width:min(200px,80%); object-fit:contain; flex-shrink:0; }
[data-ac-presentation="2"] [data-ac-field="links"] { list-style:none; padding:0; display:flex; flex-direction:column; gap:8px; }
[data-ac-presentation="2"] [data-ac-field="links"] li { margin:0; padding:0; min-width:0; }
[data-ac-presentation="2"] [data-ac-field="links"] a { display:block; padding:8px 12px; border-radius:var(--ac-button-radius,6px); background:var(--ac-button-bg,#1559b7); color:var(--ac-button-text,#fff); text-decoration:none; overflow-wrap:anywhere; }
[data-ac-presentation="2"] .ac-app-card__label { color:var(--ac-field-label-color,inherit); }
[data-ac-presentation="2"] .ac-field-icon { display:inline-block; width:1em; height:1em; vertical-align:-.12em; margin-inline-end:.3em; color:var(--ac-field-icon-color,currentColor); }
[data-ac-presentation="2"] .ac-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
[data-ac-presentation="2"] .ac-card-layout:is([data-layout="horizontal"],[data-layout="compact"]) { grid-template-columns:minmax(0,var(--ac-icon-size,80px)) minmax(0,1fr); }
[data-ac-presentation="2"] .ac-card-layout:is([data-layout="horizontal"],[data-layout="compact"]) > [data-ac-field] { grid-column:2; }
[data-ac-presentation="2"] .ac-card-layout:is([data-layout="horizontal"],[data-layout="compact"]) > [data-ac-field="icon"] { grid-column:1; grid-row:span 3; }
[data-ac-presentation="2"] .ac-card-layout[data-layout="compact"] { --ac-icon-size:48px; gap:8px; }
[data-ac-presentation="2"] .ac-card-layout[data-layout="horizontal"] { grid-template-columns:var(--ac-horizontal-columns); grid-template-rows:var(--ac-horizontal-rows); }
[data-ac-presentation="2"] .ac-card-layout[data-layout="horizontal"] > [data-ac-field] { grid-column:var(--ac-info-column); }
[data-ac-presentation="2"] .ac-card-layout[data-layout="horizontal"] > [data-ac-field="icon"] { grid-column:1; grid-row:1 / -1; }
[data-ac-presentation="2"] .ac-card-layout[data-layout="horizontal"] > [data-ac-field="links"] { grid-column:-2 / -1; grid-row:1 / -1; }
[data-ac-presentation="2"] .ac-card-layout[data-layout="custom"] { grid-template-columns:var(--ac-card-columns); }
[data-ac-presentation="2"] .ac-card-layout[data-layout="custom"] > [data-ac-field] { grid-row:var(--ac-field-row) / span var(--ac-field-row-span); grid-column:var(--ac-field-column) / span var(--ac-field-column-span); justify-self:var(--ac-field-align); align-self:var(--ac-field-valign); }
.ac-collection[data-ac-presentation="2"] { container:ac-collection / inline-size; min-width:0; max-width:100%; }
[data-ac-presentation="2"] .ac-collection__items { display:grid; grid-template-columns:repeat(var(--ac-columns-mobile),minmax(0,1fr)); gap:var(--ac-row-gap) var(--ac-column-gap); align-items:start; list-style:none; margin:0; padding:0; }
[data-ac-presentation="2"] .ac-collection__items > li { display:block; min-width:0; margin:0; padding:0; list-style:none; }
[data-ac-presentation="2"] .ac-collection__items[data-equal-height="true"] { align-items:stretch; }
[data-ac-presentation="2"] .ac-collection__items[data-equal-height="true"] > li { display:flex; }
[data-ac-presentation="2"] .ac-collection__items[data-equal-height="true"] > li > article { width:100%; }
@container ac-collection (min-width:640px) { [data-ac-presentation="2"] .ac-collection__items { grid-template-columns:repeat(var(--ac-columns-tablet),minmax(0,1fr)); } }
@container ac-collection (min-width:1024px) { [data-ac-presentation="2"] .ac-collection__items { grid-template-columns:repeat(var(--ac-columns-desktop),minmax(0,1fr)); } }
@container ac-card (width < 480px) {
    [data-ac-presentation="2"] .ac-card-layout[data-mobile-layout] { grid-template-columns:minmax(0,1fr); grid-template-rows:none; }
    [data-ac-presentation="2"] .ac-card-layout > [data-ac-field] { grid-column:auto!important; grid-row:auto!important; justify-self:stretch!important; align-self:start!important; }
    [data-ac-presentation="2"] .ac-card-layout:is([data-mobile-layout="horizontal"],[data-mobile-layout="compact"]) { grid-template-columns:minmax(0,var(--ac-icon-size,64px)) minmax(0,1fr); }
    [data-ac-presentation="2"] .ac-card-layout:is([data-mobile-layout="horizontal"],[data-mobile-layout="compact"]) > [data-ac-field] { grid-column:2!important; }
    [data-ac-presentation="2"] .ac-card-layout:is([data-mobile-layout="horizontal"],[data-mobile-layout="compact"]) > [data-ac-field="icon"] { grid-column:1!important; grid-row:span 3!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-mobile-layout="compact"] { --ac-icon-size:40px; gap:6px; }
    [data-ac-presentation="2"] .ac-card-layout[data-mobile-layout="horizontal"] { --ac-icon-size:48px; grid-template-columns:var(--ac-horizontal-columns); grid-template-rows:var(--ac-horizontal-rows); }
    [data-ac-presentation="2"] .ac-card-layout[data-mobile-layout="horizontal"] > [data-ac-field] { grid-column:var(--ac-info-column)!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-mobile-layout="horizontal"] > [data-ac-field="icon"] { grid-column:1!important; grid-row:1 / -1!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-mobile-layout="horizontal"] > [data-ac-field="links"] { grid-column:-2 / -1!important; grid-row:1 / -1!important; }
}

[data-ac-presentation="2"] [data-ac-field="rank"] { font-weight:700; color:var(--ac-field-icon-color,currentColor); }
[data-ac-presentation="2"] [data-ac-field="screenshots"] button { flex:0 0 auto; max-width:80%; padding:0; border:0; background:transparent; cursor:pointer; }
[data-ac-presentation="2"] [data-ac-field="screenshots"] button img { width:160px; max-width:100%; }

/* Composed cards keep fields in source order; container names are editor-only. */
[data-ac-presentation="2"] .ac-card-layout[data-layout="composition"] { display:flex; flex-direction:column; align-items:stretch; }
[data-ac-presentation="2"] .ac-composition-group { display:flex; min-width:0; max-width:100%; gap:var(--ac-node-gap); align-items:var(--ac-node-align); justify-content:var(--ac-node-justify); }
[data-ac-presentation="2"] .ac-composition-group[data-direction="row"] { flex-direction:row; flex-wrap:var(--ac-node-wrap); }
[data-ac-presentation="2"] .ac-composition-group[data-direction="column"] { flex-direction:column; }
[data-ac-presentation="2"] .ac-composition-group[data-direction="row"] > * { flex:var(--ac-node-flex,0 1 auto); }
[data-ac-presentation="2"] .ac-composition-group > [data-ac-field] { margin:0; min-width:0; max-width:100%; position:static; float:none; overflow-wrap:anywhere; box-sizing:border-box; }
[data-ac-presentation="2"] .ac-composition-group [data-ac-field="name"] { font-size:var(--ac-title-size,1.15em); line-height:1.3; font-weight:var(--ac-title-weight,700); }
[data-ac-presentation="2"] .ac-composition-group [data-ac-field="links"] { width:var(--ac-actions-width,180px); }
@container ac-card (width < 480px) {
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"] { display:grid; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"] .ac-composition-group { display:contents; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"] [data-ac-field] { grid-row:auto!important; grid-column:auto!important; justify-self:stretch!important; align-self:start!important; width:auto; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="compact"] [data-ac-field] { grid-column:2!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="compact"] [data-ac-field="icon"] { grid-column:1!important; grid-row:span 3!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="horizontal"] [data-ac-field] { grid-column:var(--ac-info-column)!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="horizontal"] [data-ac-field="icon"] { grid-column:1!important; grid-row:1 / -1!important; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="horizontal"] [data-ac-field="links"] { grid-column:-2 / -1!important; grid-row:1 / -1!important; }
}

/* User overrides live inside the card query container, so preview widths and frontend match. */
.ac-app-card[data-ac-presentation="2"]:has(> [data-ac-styled="true"]) { padding:0; border:0; background:transparent; box-shadow:none; }
[data-ac-presentation="2"] .ac-card-layout[data-ac-styled="true"] { box-sizing:border-box; padding:var(--ac-card-padding,16px); background:var(--ac-card-bg,transparent); color:var(--ac-card-text,inherit); border:1px solid var(--ac-card-border,transparent); border-radius:var(--ac-card-radius,0); box-shadow:var(--ac-card-shadow,none); }
[data-ac-presentation="2"] .ac-composition-group { box-sizing:border-box; }
[data-ac-presentation="2"] .ac-composition-group[data-direction="free"] { position:relative; display:block; isolation:isolate; min-height:240px; width:100%; }
[data-ac-presentation="2"] .ac-composition-group[data-direction="free"] > [data-ac-node] { position:absolute!important; width:max-content; left:var(--ac-free-x,0%); top:var(--ac-free-y,0%); transform:translate(calc(-1 * var(--ac-free-x,0%)),calc(-1 * var(--ac-free-y,0%))); }
[data-ac-presentation="2"] [data-ac-field="links"] a { box-sizing:border-box; max-width:100%; }
@container ac-card (width < 480px) {
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="preserve"] { display:flex; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"][data-mobile-layout="preserve"] .ac-composition-group { display:flex; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"] .ac-composition-group[data-direction="free"] { position:static; min-height:0; height:auto!important; flex-direction:column; }
    [data-ac-presentation="2"] .ac-card-layout[data-layout="composition"] .ac-composition-group[data-direction="free"] > [data-ac-node] { position:static!important; transform:none; }
}
