/* Minted — GrowthFi Matrix Tool matrix. Built from the cell state table and the cell
   ID / state class contract in minted-design-system.md (sections 7 and 8); the
   tool's own CSS does not exist yet, so this is the reference implementation.
   .is-hover / .is-focus / .is-active are documentation hooks only and never ship. */
.gg-grid{display:grid;gap:1px;background:var(--minted-stroke-grid);border:1px solid var(--minted-stroke-grid)}
.gg-grid__head{display:grid;gap:1px;background:var(--minted-stroke-grid)}
.gg-pillar-head{background:var(--minted-bg-surface);padding:14px 16px;font-family:var(--minted-font-mono);font-size:var(--minted-size-label);font-weight:500;letter-spacing:var(--minted-track-label);text-transform:uppercase;color:var(--minted-text-label)}

.gg-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--minted-cell);aspect-ratio:1;padding:12px;background:var(--minted-bg-cell);border:1px solid var(--minted-stroke-grid);border-radius:var(--minted-radius);cursor:pointer;text-align:center;transition:background-color var(--minted-dur-fast) var(--minted-ease-state),border-color var(--minted-dur-fast) var(--minted-ease-state)}
.gg-cell__label{font-family:var(--minted-font-mono);font-size:var(--minted-size-label);font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--minted-text-muted);line-height:1.35}
.gg-cell:hover,.gg-cell.is-hover{border-color:var(--minted-stroke-divider)}
.gg-cell:focus-visible,.gg-cell.is-focus{outline:var(--minted-focus-ring);outline-offset:-2px}
.gg-cell.is-selected{background-color:var(--minted-bg-cell-strong);border-color:var(--minted-stroke-divider)}
.gg-cell.is-selected .gg-cell__label{color:var(--minted-text-primary)}
.gg-cell.is-selected:hover{border-color:var(--minted-green-300)}
/* Selection and recommendation must survive grayscale: fill is never the only signal. */
.gg-cell.is-selected::after{content:"";position:absolute;top:8px;right:8px;width:8px;height:8px;background:var(--minted-green-300)}
.gg-cell.is-recommended{border:1px dashed var(--minted-stroke-divider)}
.gg-cell.is-recommended::after{content:"";position:absolute;top:8px;right:8px;width:8px;height:8px;border:1px solid var(--minted-green-300)}
.gg-cell.is-busy{opacity:0.6;cursor:progress}
.gg-cell[disabled],.gg-cell.is-disabled{background-color:var(--minted-bg-page);border-color:var(--minted-stroke-grid);cursor:not-allowed}
.gg-cell[disabled] .gg-cell__label,.gg-cell.is-disabled .gg-cell__label{color:var(--minted-text-faint)}

.gg-legend{display:flex;flex-wrap:wrap;gap:var(--minted-space-4);align-items:center}
.gg-legend__item{display:flex;align-items:center;gap:10px;font-family:var(--minted-font-mono);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--minted-text-faint)}
.gg-legend__swatch{width:22px;height:22px;background:var(--minted-bg-cell);border:1px solid var(--minted-stroke-grid);position:relative;flex:none}
.gg-legend__swatch--selected{background:var(--minted-bg-cell-strong);border-color:var(--minted-stroke-divider)}
.gg-legend__swatch--selected::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;background:var(--minted-green-300)}
.gg-legend__swatch--recommended{border:1px dashed var(--minted-stroke-divider)}
.gg-legend__swatch--recommended::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border:1px solid var(--minted-green-300)}
@media (hover:none){.gg-cell{min-height:56px}}


/* ============ AMENDMENT 01 · recessed plane ============
   The matrix is the one place depth carries meaning rather than decoration:
   cells are pressed INTO the panel, so selecting one is a physical act.
   The grid container becomes the raised ground the cells are cut out of. */
.gg-grid{background:var(--minted-surface-raised)}
.gg-cell{background-image:var(--minted-recessed-face);box-shadow:var(--minted-press)}
.gg-cell.is-selected{box-shadow:var(--minted-press)}
.gg-cell:hover,.gg-cell.is-hover{border-color:var(--minted-stroke-active)}
.gg-legend__swatch{background-image:var(--minted-recessed-face);box-shadow:var(--minted-press)}
