// Lightweight mixins for reps (weapon/summon/character) // Keep grid and aspect utilities in one place for consistency. @mixin aspect($w, $h) { // Use calc to avoid unit issues and keep intent clear. aspect-ratio: calc(#{$w} / #{$h}); } @mixin grid($rows, $cols, $gap) { display: grid; grid-template-rows: repeat(#{$rows}, 1fr); grid-template-columns: repeat(#{$cols}, 1fr); gap: $gap; } // Common proportions and ratios for reps // Chosen to match legacy visual geometry without redesign. $rep-body-ratio: 2.03; // width / height for GridRep body; ensures no content cut-off // Column proportions for weapon/summon layouts $weapon-cols-proportion: 3.55; // mainhand : grid width proportion (1 : 3.55) $summon-cols-proportion: 2.25; // main : grid width proportion (1 : 2.25) // Aspect pairs (w, h) for key cells $weapon-main-w: 73; $weapon-main-h: 153; $weapon-cell-w: 280; $weapon-cell-h: 160; $summon-main-w: 56; $summon-main-h: 97; $summon-cell-w: 184; $summon-cell-h: 138; $char-protag-w: 32; $char-protag-h: 66; $char-cell-w: 16; $char-cell-h: 33;