/* Colour coding with more variation, 2 shades per group */
.my-dark { background-color: #B71C1C; } /* Mine O-category (dark red) */
.my-light { background-color: #FF8A80; } /* Mine A-category (light red) */
.your-dark { background-color: #0D47A1; } /* Yours O-category (dark blue) */
.your-light { background-color: #64B5F6; } /* Yours A-category (light blue) */
.his-dark { background-color: #1B5E20; } /* Theirs O-category (dark green) */
.his-light { background-color: #81C784; } /* Theirs A-category (light green) */
.youandi-dark { background-color: #4A148C; } /* Inclusive O-category (dark purple) */
.youandi-light { background-color: #BA68C8; } /* Inclusive A-category (light purple) */
.friends-dark { background-color: #E65100; } /* Exclusive O-category (dark orange) */
.friends-light { background-color: #FFB74D; } /* Exclusive A-category (light orange) */
.youplural-dark { background-color: #0D47A1; } /* You(2+/3+) O-category (dark blue) */
.youplural-light { background-color: #64B5F6; }/* You(2+/3+) A-category (light blue) */
.they-dark { background-color: #1B5E20; } /* They O-category (dark green) */
.they-light { background-color: #81C784; } /* They A-category (light green) */
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Te Reo Māori Possessive Pronoun Flash Cards</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f0f8ff;
padding: 20px;
text-align: center;
}
.controls {
margin-bottom: 16px;
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
}
button {
padding: 8px 14px;
border: none;
border-radius: 6px;
background-color: #4682b4;
color: white;
font-weight: bold;
cursor: pointer;
}
button:hover { background-color: #315f7d; }
.status { margin: 8px 0 16px; font-size: 0.95rem; color: #333; }
.card-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 15px;
}
.card {
width: 160px;
height: 110px;
perspective: 1000px;
flex: 0 1 auto;
}
.card-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.6s;
transform-style: preserve-3d;
cursor: pointer;
}
.card:hover .card-inner { transform: rotateY(180deg); }
.card-front, .card-back {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
color: white;
font-size: 16px;
font-weight: bold;
padding: 10px;
box-sizing: border-box;
}
.card-back {
background-color: #32cd32; /* keep your original back colour */
transform: rotateY(180deg);
color: black;
}
</style>
</head>
<body>
<h2>Ngā Kārāti – Possessive Pronouns (A & O Categories)</h2>
<div class="controls">
<button onclick="resetFilters()">All</button>
<button onclick="setFilter('category','A')">A-category</button>
<button onclick="setFilter('category','O')">O-category</button>
<button onclick="setFilter('number','singular')">Single thing</button>
<button onclick="setFilter('number','plural')">Plural things</button>
<button onclick="setFilter('group','mine')">Mine</button>
<button onclick="setFilter('group','yours')">Yours</button>
<button onclick="setFilter('group','theirs')">Theirs</button>
<button onclick="setFilter('group','exclusive')">Ours (exclusive)</button>
<button onclick="setFilter('group','inclusive')">Us (inclusive)</button>
</div>
<div class="status" id="status"></div>
<div class="card-container" id="cards"></div>
<script>
// Data: COMPLETE set, with metadata for filters.
// category: 'A' or 'O' | number: 'singular' or 'plural'
// group: 'mine' | 'yours' | 'theirs' | 'inclusive' | 'exclusive'
const flashCards = [
// My (mine)
{ front: "tāku", back: "My (1 person), singular item, A-category", class: "my-light", category:"A", number:"singular", group:"mine" },
{ front: "tōku", back: "My (1 person), singular item, O-category", class: "my-dark", category:"O", number:"singular", group:"mine" },
{ front: "āku", back: "My (1 person), plural items, A-category", class: "my-light", category:"A", number:"plural", group:"mine" },
{ front: "ōku", back: "My (1 person), plural items, O-category", class: "my-dark", category:"O", number:"plural", group:"mine" },
// Your (singular) → yours
{ front: "tāu", back: "Your (1 person), singular item, A-category", class: "your-light", category:"A", number:"singular", group:"yours" },
{ front: "tōu", back: "Your (1 person), singular item, O-category", class: "your-dark", category:"O", number:"singular", group:"yours" },
{ front: "āu", back: "Your (1 person), plural items, A-category", class: "your-light", category:"A", number:"plural", group:"yours" },
{ front: "ōu", back: "Your (1 person), plural items, O-category", class: "your-dark", category:"O", number:"plural", group:"yours" },
// His/Her → treat as THEIRS (same colour family as they)
{ front: "tāna", back: "His/Her/Their (1), singular item, A-category", class: "his-light", category:"A", number:"singular", group:"theirs" },
{ front: "tōna", back: "His/Her/Their (1), singular item, O-category", class: "his-dark", category:"O", number:"singular", group:"theirs" },
{ front: "āna", back: "His/Her/Their (1), plural items, A-category", class: "his-light", category:"A", number:"plural", group:"theirs" },
{ front: "ōna", back: "His/Her/Their (1), plural items, O-category", class: "his-dark", category:"O", number:"plural", group:"theirs" },
// You and I (tāua) → inclusive
{ front: "tā tāua", back: "You and I (2), singular item, A-category", class: "youandi-light", category:"A", number:"singular", group:"inclusive" },
{ front: "tō tāua", back: "You and I (2), singular item, O-category", class: "youandi-dark", category:"O", number:"singular", group:"inclusive" },
{ front: "ā tāua", back: "You and I (2), plural items, A-category", class: "youandi-light", category:"A", number:"plural", group:"inclusive" },
{ front: "ō tāua", back: "You and I (2), plural items, O-category", class: "youandi-dark", category:"O", number:"plural", group:"inclusive" },
// Friends and I (māua) → exclusive
{ front: "tā māua", back: "Friends and I (2), singular item, A-category", class: "friends-light", category:"A", number:"singular", group:"exclusive" },
{ front: "tō māua", back: "Friends and I (2), singular item, O-category", class: "friends-dark", category:"O", number:"singular", group:"exclusive" },
{ front: "ā māua", back: "Friends and I (2), plural items, A-category", class: "friends-light", category:"A", number:"plural", group:"exclusive" },
{ front: "ō māua", back: "Friends and I (2), plural items, O-category", class: "friends-dark", category:"O", number:"plural", group:"exclusive" },
// You (2 people) → yours
{ front: "tā kōrua", back: "You (2), singular item, A-category", class: "youplural-light", category:"A", number:"singular", group:"yours" },
{ front: "tō kōrua", back: "You (2), singular item, O-category", class: "youplural-dark", category:"O", number:"singular", group:"yours" },
{ front: "ā kōrua", back: "You (2), plural items, A-category", class: "youplural-light", category:"A", number:"plural", group:"yours" },
{ front: "ō kōrua", back: "You (2), plural items, O-category", class: "youplural-dark", category:"O", number:"plural", group:"yours" },
// They (2 people) → theirs
{ front: "tā rāua", back: "They (2), singular item, A-category", class: "they-light", category:"A", number:"singular", group:"theirs" },
{ front: "tō rāua", back: "They (2), singular item, O-category", class: "they-dark", category:"O", number:"singular", group:"theirs" },
{ front: "ā rāua", back: "They (2), plural items, A-category", class: "they-light", category:"A", number:"plural", group:"theirs" },
{ front: "ō rāua", back: "They (2), plural items, O-category", class: "they-dark", category:"O", number:"plural", group:"theirs" },
// You and I (3+ – tātou) → inclusive
{ front: "tā tātou", back: "You and I (3+), singular item, A-category", class: "youandi-light", category:"A", number:"singular", group:"inclusive" },
{ front: "tō tātou", back: "You and I (3+), singular item, O-category", class: "youandi-dark", category:"O", number:"singular", group:"inclusive" },
{ front: "ā tātou", back: "You and I (3+), plural items, A-category", class: "youandi-light", category:"A", number:"plural", group:"inclusive" },
{ front: "ō tātou", back: "You and I (3+), plural items, O-category", class: "youandi-dark", category:"O", number:"plural", group:"inclusive" },
// Friends and I (3+ – mātou) → exclusive
{ front: "tā mātou", back: "Friends and I (3+), singular item, A-category", class: "friends-light", category:"A", number:"singular", group:"exclusive" },
{ front: "tō mātou", back: "Friends and I (3+), singular item, O-category", class: "friends-dark", category:"O", number:"singular", group:"exclusive" },
{ front: "ā mātou", back: "Friends and I (3+), plural items, A-category", class: "friends-light", category:"A", number:"plural", group:"exclusive" },
{ front: "ō mātou", back: "Friends and I (3+), plural items, O-category", class: "friends-dark", category:"O", number:"plural", group:"exclusive" },
// You (3+ – koutou) → yours
{ front: "tā koutou", back: "You (3+), singular item, A-category", class: "youplural-light", category:"A", number:"singular", group:"yours" },
{ front: "tō koutou", back: "You (3+), singular item, O-category", class: "youplural-dark", category:"O", number:"singular", group:"yours" },
{ front: "ā koutou", back: "You (3+), plural items, A-category", class: "youplural-light", category:"A", number:"plural", group:"yours" },
{ front: "ō koutou", back: "You (3+), plural items, O-category", class: "youplural-dark", category:"O", number:"plural", group:"yours" },
// They (3+ – rātou) → theirs
{ front: "tā rātou", back: "They (3+), singular item, A-category", class: "they-light", category:"A", number:"singular", group:"theirs" },
{ front: "tō rātou", back: "They (3+), singular item, O-category", class: "they-dark", category:"O", number:"singular", group:"theirs" },
{ front: "ā rātou", back: "They (3+), plural items, A-category", class: "they-light", category:"A", number:"plural", group:"theirs" },
{ front: "ō rātou", back: "They (3+), plural items, O-category", class: "they-dark", category:"O", number:"plural", group:"theirs" }
];
const container = document.getElementById("cards");
const status = document.getElementById("status");
const active = { category: null, number: null, group: null };
function renderCards(list) {
container.innerHTML = "";
list.forEach(card => {
container.innerHTML += `
<div class="card" data-cat="${card.category}" data-num="${card.number}" data-group="${card.group}">
<div class="card-inner">
<div class="card-front ${card.class}">${card.front}</div>
<div class="card-back">${card.back}</div>
</div>
</div>
`;
});
}
function applyFilters() {
const filtered = flashCards.filter(c =>
(!active.category || c.category === active.category) &&
(!active.number || c.number === active.number) &&
(!active.group || c.group === active.group)
);
renderCards(filtered);
updateStatus();
}
function setFilter(type, value) {
// cumulative: set or overwrite that dimension only
active[type] = value;
applyFilters();
}
function resetFilters() {
active.category = active.number = active.group = null;
applyFilters();
}
function updateStatus() {
const parts = [];
if (active.category) parts.push(`${active.category}-category`);
if (active.number) parts.push(active.number === 'singular' ? 'single thing' : 'plural things');
if (active.group) {
const label = active.group === 'inclusive' ? 'us (inclusive)'
: active.group === 'exclusive' ? 'ours (exclusive)'
: active.group;
parts.push(label);
}
status.textContent = parts.length ? `Filters: ${parts.join(' + ')}` : 'Filters: (none)';
}
// initial render
applyFilters();
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Te Reo Māori Possessive Pronoun Flash Cards</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f0f8ff;
padding: 20px;
text-align: center;
}
.controls {
margin-bottom: 16px;
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
}
button {
padding: 8px 14px;
border: none;
border-radius: 6px;
background-color: #4682b4;
color: white;
font-weight: bold;
cursor: pointer;
}
button:hover { background-color: #315f7d; }
.status { margin: 8px 0 16px; font-size: 0.95rem; color: #333; }
.card-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 15px;
}
.card {
width: 160px;
height: 110px;
perspective: 1000px;
flex: 0 1 auto;
}
.card-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.6s;
transform-style: preserve-3d;
cursor: pointer;
}
.card:hover .card-inner { transform: rotateY(180deg); }
.card-front, .card-back {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
color: white;
font-size: 16px;
font-weight: bold;
padding: 10px;
box-sizing: border-box;
}
.card-back {
background-color: #32cd32; /* keep your original back colour */
transform: rotateY(180deg);
color: black;
}
</style>
</head>
<body>
<h2>Ngā Kārāti – Possessive Pronouns (A & O Categories)</h2>
<div class="controls">
<button onclick="resetFilters()">All</button>
<button onclick="setFilter('category','A')">A-category</button>
<button onclick="setFilter('category','O')">O-category</button>
<button onclick="setFilter('number','singular')">Single thing</button>
<button onclick="setFilter('number','plural')">Plural things</button>
<button onclick="setFilter('group','mine')">Mine</button>
<button onclick="setFilter('group','yours')">Yours</button>
<button onclick="setFilter('group','theirs')">Theirs</button>
<button onclick="setFilter('group','exclusive')">Ours (exclusive)</button>
<button onclick="setFilter('group','inclusive')">Us (inclusive)</button>
</div>
<div class="status" id="status"></div>
<div class="card-container" id="cards"></div>
<script>
// Data: COMPLETE set, with metadata for filters.
// category: 'A' or 'O' | number: 'singular' or 'plural'
// group: 'mine' | 'yours' | 'theirs' | 'inclusive' | 'exclusive'
const flashCards = [
// My (mine)
{ front: "tāku", back: "My (1 person), singular item, A-category", class: "my-light", category:"A", number:"singular", group:"mine" },
{ front: "tōku", back: "My (1 person), singular item, O-category", class: "my-dark", category:"O", number:"singular", group:"mine" },
{ front: "āku", back: "My (1 person), plural items, A-category", class: "my-light", category:"A", number:"plural", group:"mine" },
{ front: "ōku", back: "My (1 person), plural items, O-category", class: "my-dark", category:"O", number:"plural", group:"mine" },
// Your (singular) → yours
{ front: "tāu", back: "Your (1 person), singular item, A-category", class: "your-light", category:"A", number:"singular", group:"yours" },
{ front: "tōu", back: "Your (1 person), singular item, O-category", class: "your-dark", category:"O", number:"singular", group:"yours" },
{ front: "āu", back: "Your (1 person), plural items, A-category", class: "your-light", category:"A", number:"plural", group:"yours" },
{ front: "ōu", back: "Your (1 person), plural items, O-category", class: "your-dark", category:"O", number:"plural", group:"yours" },
// His/Her → treat as THEIRS (same colour family as they)
{ front: "tāna", back: "His/Her/Their (1), singular item, A-category", class: "his-light", category:"A", number:"singular", group:"theirs" },
{ front: "tōna", back: "His/Her/Their (1), singular item, O-category", class: "his-dark", category:"O", number:"singular", group:"theirs" },
{ front: "āna", back: "His/Her/Their (1), plural items, A-category", class: "his-light", category:"A", number:"plural", group:"theirs" },
{ front: "ōna", back: "His/Her/Their (1), plural items, O-category", class: "his-dark", category:"O", number:"plural", group:"theirs" },
// You and I (tāua) → inclusive
{ front: "tā tāua", back: "You and I (2), singular item, A-category", class: "youandi-light", category:"A", number:"singular", group:"inclusive" },
{ front: "tō tāua", back: "You and I (2), singular item, O-category", class: "youandi-dark", category:"O", number:"singular", group:"inclusive" },
{ front: "ā tāua", back: "You and I (2), plural items, A-category", class: "youandi-light", category:"A", number:"plural", group:"inclusive" },
{ front: "ō tāua", back: "You and I (2), plural items, O-category", class: "youandi-dark", category:"O", number:"plural", group:"inclusive" },
// Friends and I (māua) → exclusive
{ front: "tā māua", back: "Friends and I (2), singular item, A-category", class: "friends-light", category:"A", number:"singular", group:"exclusive" },
{ front: "tō māua", back: "Friends and I (2), singular item, O-category", class: "friends-dark", category:"O", number:"singular", group:"exclusive" },
{ front: "ā māua", back: "Friends and I (2), plural items, A-category", class: "friends-light", category:"A", number:"plural", group:"exclusive" },
{ front: "ō māua", back: "Friends and I (2), plural items, O-category", class: "friends-dark", category:"O", number:"plural", group:"exclusive" },
// You (2 people) → yours
{ front: "tā kōrua", back: "You (2), singular item, A-category", class: "youplural-light", category:"A", number:"singular", group:"yours" },
{ front: "tō kōrua", back: "You (2), singular item, O-category", class: "youplural-dark", category:"O", number:"singular", group:"yours" },
{ front: "ā kōrua", back: "You (2), plural items, A-category", class: "youplural-light", category:"A", number:"plural", group:"yours" },
{ front: "ō kōrua", back: "You (2), plural items, O-category", class: "youplural-dark", category:"O", number:"plural", group:"yours" },
// They (2 people) → theirs
{ front: "tā rāua", back: "They (2), singular item, A-category", class: "they-light", category:"A", number:"singular", group:"theirs" },
{ front: "tō rāua", back: "They (2), singular item, O-category", class: "they-dark", category:"O", number:"singular", group:"theirs" },
{ front: "ā rāua", back: "They (2), plural items, A-category", class: "they-light", category:"A", number:"plural", group:"theirs" },
{ front: "ō rāua", back: "They (2), plural items, O-category", class: "they-dark", category:"O", number:"plural", group:"theirs" },
// You and I (3+ – tātou) → inclusive
{ front: "tā tātou", back: "You and I (3+), singular item, A-category", class: "youandi-light", category:"A", number:"singular", group:"inclusive" },
{ front: "tō tātou", back: "You and I (3+), singular item, O-category", class: "youandi-dark", category:"O", number:"singular", group:"inclusive" },
{ front: "ā tātou", back: "You and I (3+), plural items, A-category", class: "youandi-light", category:"A", number:"plural", group:"inclusive" },
{ front: "ō tātou", back: "You and I (3+), plural items, O-category", class: "youandi-dark", category:"O", number:"plural", group:"inclusive" },
// Friends and I (3+ – mātou) → exclusive
{ front: "tā mātou", back: "Friends and I (3+), singular item, A-category", class: "friends-light", category:"A", number:"singular", group:"exclusive" },
{ front: "tō mātou", back: "Friends and I (3+), singular item, O-category", class: "friends-dark", category:"O", number:"singular", group:"exclusive" },
{ front: "ā mātou", back: "Friends and I (3+), plural items, A-category", class: "friends-light", category:"A", number:"plural", group:"exclusive" },
{ front: "ō mātou", back: "Friends and I (3+), plural items, O-category", class: "friends-dark", category:"O", number:"plural", group:"exclusive" },
// You (3+ – koutou) → yours
{ front: "tā koutou", back: "You (3+), singular item, A-category", class: "youplural-light", category:"A", number:"singular", group:"yours" },
{ front: "tō koutou", back: "You (3+), singular item, O-category", class: "youplural-dark", category:"O", number:"singular", group:"yours" },
{ front: "ā koutou", back: "You (3+), plural items, A-category", class: "youplural-light", category:"A", number:"plural", group:"yours" },
{ front: "ō koutou", back: "You (3+), plural items, O-category", class: "youplural-dark", category:"O", number:"plural", group:"yours" },
// They (3+ – rātou) → theirs
{ front: "tā rātou", back: "They (3+), singular item, A-category", class: "they-light", category:"A", number:"singular", group:"theirs" },
{ front: "tō rātou", back: "They (3+), singular item, O-category", class: "they-dark", category:"O", number:"singular", group:"theirs" },
{ front: "ā rātou", back: "They (3+), plural items, A-category", class: "they-light", category:"A", number:"plural", group:"theirs" },
{ front: "ō rātou", back: "They (3+), plural items, O-category", class: "they-dark", category:"O", number:"plural", group:"theirs" }
];
const container = document.getElementById("cards");
const status = document.getElementById("status");
const active = { category: null, number: null, group: null };
function renderCards(list) {
container.innerHTML = "";
list.forEach(card => {
container.innerHTML += `
<div class="card" data-cat="${card.category}" data-num="${card.number}" data-group="${card.group}">
<div class="card-inner">
<div class="card-front ${card.class}">${card.front}</div>
<div class="card-back">${card.back}</div>
</div>
</div>
`;
});
}
function applyFilters() {
const filtered = flashCards.filter(c =>
(!active.category || c.category === active.category) &&
(!active.number || c.number === active.number) &&
(!active.group || c.group === active.group)
);
renderCards(filtered);
updateStatus();
}
function setFilter(type, value) {
// cumulative: set or overwrite that dimension only
active[type] = value;
applyFilters();
}
function resetFilters() {
active.category = active.number = active.group = null;
applyFilters();
}
function updateStatus() {
const parts = [];
if (active.category) parts.push(`${active.category}-category`);
if (active.number) parts.push(active.number === 'singular' ? 'single thing' : 'plural things');
if (active.group) {
const label = active.group === 'inclusive' ? 'us (inclusive)'
: active.group === 'exclusive' ? 'ours (exclusive)'
: active.group;
parts.push(label);
}
status.textContent = parts.length ? `Filters: ${parts.join(' + ')}` : 'Filters: (none)';
}
// initial render
applyFilters();
</script>
</body>
</html>