.oblique-deck { 
  max-width: 640px; 
  margin: 1rem auto; 
  padding: 1rem; 
  background: #ffffff; 
  border-radius: 12px; 
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
.oblique-deck__title { 
  margin: 0 0 .75rem 0; 
  text-align: center; 
  font-size: 1.4rem; 
  color: #004080;
}
.oblique-deck__controls { 
  display: flex; 
  gap: .5rem; 
  align-items: center; 
  justify-content: center; 
  flex-wrap: wrap;
  margin-bottom: .75rem;
}
.oblique-deck__select, .oblique-deck__btn { 
  padding: .6rem .9rem; 
  border-radius: 8px; 
  border: 1px solid #cfd7df; 
  font-size: 1rem;
}
.oblique-deck__select { 
  background: #fff; 
  color: #004080;
}
.oblique-deck__btn { 
  background: #004080; 
  color: #fff; 
  border: none;
}
.oblique-deck__btn:hover { 
  background: #003366;
}
.oblique-deck__card { 
  min-height: 120px; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  text-align: center; 
  font-size: 1.35rem; 
  padding: 1.25rem; 
  border-radius: 12px; 
  border: 1px solid #e6ecf1; 
  background: #f8fafc;
  color: #333;
}
.oblique-deck__label { 
  font-size: .95rem;
  color: #0077cc;
}
.oblique-deck__footnote {
  margin-top: .75rem;
  text-align: center;
  font-size: .85rem;
  color: #555;
}

/* Size variants */
.oblique-deck--compact .oblique-deck__card { 
  padding: .75rem; 
  font-size: 1.05rem; 
  min-height: 80px;
}
.oblique-deck--compact .oblique-deck__btn, 
.oblique-deck--compact .oblique-deck__select { 
  padding: .45rem .7rem; 
  font-size: .95rem;
}

.oblique-deck--large .oblique-deck__card { 
  padding: 1.75rem; 
  font-size: 1.6rem; 
  min-height: 150px;
}
.oblique-deck--large .oblique-deck__btn, 
.oblique-deck--large .oblique-deck__select { 
  padding: .8rem 1.1rem; 
  font-size: 1.05rem;
}
